Game Courier is a web-based system for playing games with other human opponents on-line. It lets you play by email or in real-time. It can also be used for playing a game by yourself, for displaying annotated games, and for setting up fairy chess problems. This guide describes the things you can do with it and how to do them.
The first thing you must do before using Game Courier to play games is to get a Chess Variant Pages userid. If you don't already have one, follow this link to get one:
Getting and keeping a userid is completely free. Game Courier uses userids and passwords for identity verification. This allows games to be stored in publicly viewable logs without letting anyone else move in your place. Identifying you by userid also lets Game Courier keep your email address safe from spammers. Instead of storing your email address in its logs, it stores only your userid, using it to retrieve your address from our database. Besides being used for playing Games with Game Courier, a userid can also be used for posting comments on pages and voting in polls.
To start a new game, you should select a game, go to its preset, then issue an invitation. The Games for Game Courier page will help you find the various games you can play on Game Courier. It features a small selection of the over 600 games Game Courier supports, and it provides links to browse through the rest. After you select a game, you will have to select a preset. Most games have only one preset, but some games offer you a choice. After you select a preset, it will show you the board with a set of buttons beneath it. Click on the "Invite" button. This will bring you to a form for inviting someone. Fill out the form and click "Invite" again.
You may issue a personal invitation or an open invitation. A personal invitation is directed to a single person. You should identify your intended opponent by his CVP userid. If you don't know this, you may use his CVP personid or his email address instead. As long as you use a userid or a personid, only your intended opponent will be able to accept your invitation. When someone lacks a userid, your only option may be to use your intended opponent's email address. But when you use an email address, no safeguards will be set up to stop someone else from accepting the invitation. In this case, you may wish to hide your game from public view, so that no one else will know of the invitation.
An open invitation is directed to the public at large and may be accepted by anyone. This is useful when you don't have a specific opponent in mind and just wish to play a game against anyone who is willing to accept. When issuing an open invitation, it is best to send it to a mailing list of people who are interested in receiving invitations to play Chess variants. One list set up for this purpose is The Chess Variants Gameroom. When you issue an open invitation and leave the opponent field empty, Game Courier will, if you have JavaScript running, offer to fill in this field with the posting address of the CV Gameroom. But you are free to use any other address you wish. For example, you might wish to send your invitation to a list devoted to the specific game your invitation is for. In most cases, you will need to be a member of the mailing list to send anything to it. Wherever you send your open invitation, it will also show up on the Logs page, so that people who check this page will also know of your invitation. Also, the What's New? page of the Chess Variant Pages keeps tabs on each new open invitation, letting viewers of the page know how recently the last open invitation was issued.
Game Courier offers a very flexible set of time controls. Besides offering four different types of time controls, it allows for any combination of the four basic types. The four basic types of time control make use of spare time (optionally used with pace setting), grace time, extra time, and bonus time. All four types of time control assume that each player has a reserve of time, measured in seconds. Spare time is the initial amount of reserve time each player gets. Used by itself, it sets a strict time limit on how long the game can last. When you use it with pace setting, your reserve time is kept from falling below it so long as you keep the desired pace. Grace time is the period of time after your opponent moves in which you can move without any loss of reserve time. Used by itself, it sets a strict limit on how long any player has to make a move. Extra time is an amount of time unconditionally added to your reserve each time you move. Unlike grace time, which is also given per move, extra time is given after your move and is intended for later, not immediate, use. When used only with an equal amount of surplus time, extra time enforces a strict average pace without setting the same strict limit on each move. Bonus time is an amount of additional time awarded to a player for moving within a certain time frame, known as the bonus period. When used only with an equal amount of surplus time, bonus time enforces an average pace even more strictly than using extra time does. Unlike extra time, which unconditionally allocates more time for each move made, bonus time awards additional time only when the preferred pace is kept. Both extra time and bonus time are awarded after a player completes his move, not before. Therefore, neither can be used entirely by itself. Each requires at least a small amount of spare time or grace time to get started.
Any one of these methods is suitable for a game played at one sitting, but online games are usually played in bits and pieces across several days or weeks between people who play at different times. To better accomodate the nature of online play, some combination of all four is recommended. Each is important for a different reason. Grace time is probably the most important, because it makes the time controls much fairer than they would be otherwise. Spare time gives a player flexibility. Extra time encourages better budgeting of one's time. And bonus time encourages each player to keep a fast pace. In more detail, here is why each is important.
One of the pitfalls for timing an online game is the inequity that may arise when two people play at the same pace but at different times of day. Suppose, for example, that two people each move once a day, but one normally moves an hour before the other. The one who moves an hour earlier is moving 23 hours since his opponent moved, while his opponent is moving only one hour after he moved. Without including a period of grace time after each move, a gross inequality would arise in how much time each player took to move. The player who moved an hour later would soon have a considerable advantage in time, and the other player could quickly run out of time. Since both players were moving at the same pace, this would be grossly unfair. But using grace time solves this problem. If there is a grace period of at least 24 hours after each move, during which a player may move without any time penalty, then schedule and time zone differences shouldn't have much effect on how much time a player loses. So long as a player moved within the grace period, he wouldn't lose any time at all.
Used by itself, grace time will enforce the same strict pace for every move. If a player ever takes longer than the grace time allows, he would immediately lose. This isn't fair or necessary. One reason it isn't fair is because a player might have legitimate reasons for taking longer than the grace period allows. Another reason is that a player may have been maintaining an average pace that is quicker than the strict pace set for each move. But with only grace time in use, this would not be taken into account. The player would be penalized for one discrepancy without his record of moving more quickly counting for anything. In terms of the game's duration, maintaining an average pace is more important than keeping the same pace for every move. One way to take this into account is to give out extra time with each move. Unlike grace time, extra time can be held in reserve when it isn't used immediately. Used together, grace time and extra time could be used to enforce an average pace of one move in the period that is the sum of the grace time and extra time for each move. When either is used by itself, the timing process is unfair. But when grace time and extra time are used together, each helps correct the unfairness of using the other alone.
But using grace time and extra time together does not eliminate all unfairness. If a player regularly moved quickly, it is only fair that he should be allowed to slow his pace down more than someone who regularly maintains a slower pace. A hare should be allowed to nap, while the tortoise must keep plodding along. When only grace time and extra time are used, a quick player may not always gain this luxury. One way to redress this is to award bonus time for moving within a certain time frame. With this purpose in mind, the bonus time awarded should be less than or equal to the grace time, and the time period in which a bonus can be won should also be less than or equal to the bonus time. One alternative is to give an amount of bonus time equal to the grace time for moving within the grace time. This is a way of giving back all the grace time if it doesn't get used up. Another alternative is to give the bonus time and bonus period values whose sum is equal to the grace time. This is suitable so long as the bonus period is at least 24 hours. Making it any less would bring back the unfairness that was solved by using grace time. When grace time is longer than 24 hours, the portion beyond 24 hours would frequently go unused. By setting the bonus period equal to 24 hours and the bonus time equal to the portion of grace time that exceeds 24 hours, that portion could be given back to anyone who doesn't use it.
Even with grace time, extra time, and bonus time being used together to enforce an average pace, there would be no provision for emergencies and other situations that take someone away from the game for an unusually long time. Spare time provides insurance for these situations. Given in one lump sum at the beginning of the game, it gives you a buffer you can dip into when you need it. Furthermore, it can be maintained by using it in combination with pace keeping. When it comes down to things, what is important is your average pace for the whole game, not your average pace at any single point in the game. Of course, this can't be measured until the game is over. But what can be done is to provide you with full insurance coverage so long as you maintain the average pace that is desired for the game. So, if a certain desired pace is set, your reserve time will be set to your spare time whenever it falls below it at the end of your move. Your pace is the average rate at which you have been making moves. For example, if the game has lasted three weeks, and you have moved nine times, then your pace is three moves per week. Your pace is not based merely on how much time you have used. It is based on the total duration of the game. If it were based only on the time you used, it would reintroduce the kind of inequalities that were redressed by using grace time. Although there will be variations, your pace and your opponent's pace will be nearly the same. This may seem unfair, but it really isn't. When one player's mismanagement of time slows down the pace too much, it hurts him much more than it does his opponent. In all likelihood, his opponent's reserve time will be well above his, and if either player runs out of time, it will be the one who has slowed down the pace for both players. And there are two further reasons for basing pace on the duration of the whole game. One is that it gives each player a more easily identifiable target to aim for. All a player has to do is compare how many turns the game has lasted with how long it has lasted. The more important reason is that it better satisfies the purpose behind setting a certain pace, which is to make sure that the game as a whole proceeds at that pace.
In deciding what settings to use, first decide whether you want the game to proceed at a certain pace or finish by a certain time. If you want it to finish by a certain time, just give each player enough surplus time and leave everything else at zero. This is most suitable for games played in real-time at one sitting. If it's to be a correspondence game, then you should decide on a pace for it. Naturally enough, set the pace to the desired pace. Give a moderate amount of surplus time, maybe a week's worth. Then do the more challenging part, which is to finetune grace time, extra time, and bonus time such that it will normally support the desired pace without significant loss or gain of time, and such that each player can add to his reserve by moving at a faster pace. Be careful to use grace time, extra time, and bonus time in amounts and proportions that redress the problems of using any by itself.
Here are some recommendations on how the time controls can be finetuned for different paces.
Pace: 3 moves per week Sparetime: 7 days Gracetime: 32 hours Extratime: 24 hours Bonustime: 8 hours Bonusperiod: 24 hours |
Pace: 4 moves per week Sparetime: 7 days Gracetime: 24 hours Extratime: 12 hours Bonustime: 8 hours Bonusperiod: 24 hours |
Pace: 5 moves per week Sparetime: 7 days Gracetime: 24 hours Extratime: none Bonustime: 12 hours Bonusperiod: 24 hours |
To join a game, you should accept an invitation offered by someone else. This should be an invitation directed to you personally or an open invitation. If the invitation has been sent to you personally, you should have received an email with a link for you to follow. But even if the email failed to reach you, you should see a link to the game when you view your games on the logs page. If you belong to the mailing list that an open invitation has been sent to, you should receive an email about it. Since most open invitations go to The Chess Variants Gameroom, this is the mailing list you want to join if you want to be regularly notified of new open invitations. You may also find a list of all currently open invitations on the logs page. Whenever you follow the "Your Games" link from one of your own games, you will find the current open invitations listed along with your own games. However you learn of an invitation, you can accept it by following the link for accepting it, fill out the form with your userid, password, and which side you want to play, then click on the "Accept" button. After you do this, it will notify your opponent that the invitation has been accepted, and if you chose to move first, it will immediately give you the opportunity to make your first move. Otherwise, it will notify your opponent that he is to move first.
Even before you begin playing, you may wish to change the board or pieces to something more to your liking. In the form you use for making your move, you will find some form fields for changing the appearance of your game. Which form fields you see may vary from game to game. Here are the various fields you may see:
You can use the Piece Set field to select a different set of pieces than the one you currently see. Click the "Preview" button to see the new piece set. Note that you will be able to change your piece set only if multiple piece sets have been mapped to the same pieces and grouped together. Some presets use a unique set that is not mapped to the same pieces as any other set.
When Game Courier draws the board, it will let you choose which colors it uses to draw the board. Colors may be entered as six-digit hexadecimal numbers or by name. Compare the colors you see listed with the colors of the board to tell which color is for what. Or just experiment with changing colors until you get something you like.
When Game Courier draws a hexagonal board as an HTML table, it lets you select colors from a more limited pallette. You must enter colors by name, and these are your choices: red, green, blue, orange, yellow, indigo, violet, cyan, magenta, black, white, firebrick, olivedrab, and royalblue. Nowadays, it is rare that you will ever play a game that uses the Hex Colors field, because it is better to display hexagonal boards as single images, and this allows you access to the full pallette of the Colors field.
This field lets you choose whether Game Courier will render the board with an HTML Table, images overlayed with CSS code, or as a single graphic image (JPG, GIF, or PNG). The CSS method requires the use of a graphic image for the board. The others may draw the board from scratch, though the JPG, GIF, and PNG methods can also make use of a graphic image for the board. If you have broadband, PNG is a good choice for any board. If you use dialup, JPG is good for boards with many colors, and GIF is good for boards with only a few colors.
This field lets you choose the background image used for the board. To use an image for your board, it must be rendered with CSS code or as a single graphic image (JPG, GIF, or PNG). When your board is rendered as an HTML Table, the value of this field will be ignored.
This field will let you resize the board when it is drawn as a single graphic image. The number in this field is the percentage of its normal size that it should be drawn in. This value will not affect the size of boards drawn as HTML Tables or with CSS. This field is mainly useful for reducing the size of the board when the full-size board will not fit on your monitor.
Whenever your opponent moves, the log will be immediately updated, and you will be sent an email notification that it is your turn. But you don't have to rely on getting email to know that it is your turn. You may instead go to the Logs page to find out whether it is your turn. In case you are playing any games that are not publicly viewable, you will need to enter your userid and password on the logs page to see all of your games. To move, first follow the link to your game. This link will be on the logs page, and it will also be in the email sent to you. You should then view your opponent's move, enter your own move, click the "Preview" button, then view your move. Then, if you entered the move you intended, you should confirm your move by giving your password and clicking the "Send" button. This will email the move to your opponent, who will then follow the same procedure. Whenever it is not your turn, you will be able to view the board, but you will not be able to move. The log of your game will keep track of whose turn it is, allowing each player to move only on his own turn.
If you and your opponent wish to play a game in one sitting, Game Courier will accomodate you. After you make a move, click the "Continue" button to return to the game. While you wait for your opponent to move, the page will periodically refresh itself. Once your opponent does move, this will be recorded in the log. Since the page reloads the log upon each refresh, it will be able to notify you when your opponent has moved. Once it is your turn again, the page will gain focus, which moves it in front of other windows, it will emit an audible beep, and it will show you your opponent's move and tell you that it is now your turn. The beeping sound will be continuous if your brower supports the EMBED tag. This is to better alert you in case you've stepped away from your computer. You can stop it by clicking on the stop button of the plug-in that will show up on the page. You then make your move, return to the game, and wait for your opponent's next move.
All games are automatically logged. A logname will be automatically generated for you. The log is a list of PHP variable assignments that includes such things as board and piece set parameters, the userids of both players, a record of whose turn it is, and a list of all moves and comments made during the game. The logfile cannot be accessed directly. Instead, it is read by Game Courier, which makes use of the variables to display the game and enable you to play it.
Besides playing against an on-line opponent, you may play a game with yourself, or you may use Game Courier to play a game with someone in the same room. You would do this by playing in solitaire mode. From the main menu for a preset, click on the "Move" button. Then make one move at a time. Since you don't send any moves in solitaire mode, you don't go through the extra step of verifying your move. Once you make a move, it shows you your move and lets you make your next one. If you did make the wrong move, you can correct it by using the Back button on your browser to return to the previous page.
Although this mode does not log games, it does retain a record of all your moves within each page it generates. You may, at any time, go from this mode to the Record mode, from which you can retrieve all your moves in a manner that you can include on a webpage to let others view your game.
If you have JavaScript enabled, you will be able to move with your mouse. Click on the piece you want to move. A square border should appear around it, and a partial move should appear in the Moves field. Then click the space you want to move to. This will write your full move in the Moves field and submit the form, allowing you to see your move when the next webpage loads. If you see the move you intended, click on Send. Otherwise, go back and try again. If you click on one piece and decide you do not want to move, click it again to make the square border disappear and clear the Moves field. Then click the piece you do want to move. Note that moving with mouse works well only when you are moving a single piece once. More complicated moves should be manually entered in the Moves field, as described in the next section. But also note that some complex moves, such as castling and en passant, have commonly been programmed in individual presets as the single move of one piece. So moving with the mouse can handle some complex moves.
Here's a video demonstrating how to move with the mouse:
You can make a move, or even a complex series of moves, by entering it in the Moves field. Technically, all moves are written as programming code in the GAME Code programming language. But this is not as forbidding as it sounds. Most moves are written with a very small subset of this language, using nothing more than piece labels, algebraic coordinates, a couple operators, and the occasional semicolon. In general, moves should simply be written as explicit algebraic notation, such as "P e2-e4". When a preset is not automated in any way, every move must be written explicitly. For example, a King-side castle for White would be written as "K e1-g1; R h1-f1". But more and more presets are being programmed for rule enforcement and the automation of some complex moves. For example, in the presets programmed to enforce the rules of Chess, the same castling move would be written as "K e1-g1", and the preset would automatically move the Rook. Most often, in such presets, castling and en passant are automated. Other presets automate events that don't happen in Chess, such as putting a captured piece in hand in Shogi. In general, a programmed preset should include a "Notation" section that explains any special notation you need to know for the game. Otherwise, you should write out any move explicitly.
Although it will not recognize shortcuts like "e4" for "e2-e4" or "Nc3" for "N b1-c3", Game Courier's notation is more powerful than regular algebraic notation. It allows six basic operations, half of which are never used in Chess. Five are performed with the hyphen operator, and the sixth is performed with the asterisk operator. Furthermore, it allows you to enter very complicated moves by using the semicolon operator to string together simple moves. In Chess, this ability would be used for castling, en passant, and promotions. In other Chess variants, this ability has many different uses. Besides its three operators, Game Courier also recognizes various commands. Most commands are intended for automation and rule enforcement and are covered in the Developer's Guide. Commands for playing with cards are covered futher below.
Every piece is identified by a piece label, and to make your moves easier to read, it is recommended that you place the appropriate piece label before each move. Piece labels are most frequently individual upper and lower case letters. Piece labels are case-sensitive, with uppercase normally being used for White pieces and lowercase normally being used for Black. For example, in Chess, the piece labels for White's pieces are K, Q, R, B, N, and P, and those for Black's pieces are k, q, r, b, n, and p. Other pieces will normally have other labels, and which label is used for a piece will depend upon the set of pieces used. This allows the same letter to be used for different pieces in different games, such as C/c for the Champion in Omega Chess and also for the Cannon in Chinese Chess. Some pieces will have longer labels. This is necessary for games with more than 26 different kinds of pieces, such as Xorix Shogi. To find out what labels are used to identify pieces in a game, you can hover your mouse over the piece on the board, consult the rules displayed underneath the board, or consult the display of pieces at the bottom of the page for your game.
Almost every board uses algebraic coordinates. On most boards, file and rank labels are displayed along two edges. The default is for letters to indicate the files and for arabic numerals to indicate the ranks, though this can be changed for individual games. The main thing to remember is that each coordinate is in file-rank format. For example, a1 means the coordinate at file a and rank 1. In Shogi, which does not use the defaults, 1a means the coordinate at file 1 and rank a, and a1 is not a coordinate. By putting together a positions file and rank, you get the coordinate for the space. One method of creating a board uses special labels for spaces, but most methods enforce the use of algebraic coordinates. Regardless of how a board's coordinates are defined, each position is known by a particular label. This label can be seen in the ALT text that shows up when you let the mouse pointer hover over it. No labels should ever contain spaces. For example, a1 is a valid coordinate, but "a 1" is not.
The hyphen is the most commonly used operator. All moves in Chess require it, and so do all moves in most variants. The hyphen can be used for five basic operations. Three of these are moving, adding, and removing a piece. The remaining two are adding and removing a space.
To move a piece, write its starting coordinate, a hyphen, and its destination. For example, e2-e4 indicates the King Pawn opening in Chess. Any time a piece moves, its starting position is emptied, and it replaces whatever was in the space it moves to. Contrary to the more usual algebraic notation, the hyphen is used for both capturing and non-capturing moves. The letter x, along with the entire alphabet, is reserved for identifying pieces used in Chess variants.
To add a piece, write the letter for the piece, a hyphen, and the destination. For example, N-f3 places a Knight on f3. If this is your first move in Chess, it will give you a third Knight, because this notation is not used for moving a piece from one place to another. This operation is commonly used for handling promotions. Adding a piece always replaces the contents of the space you add a piece to. It will not add multiple pieces to the same space. Although it is analogous to dropping a piece, as is done in Shogi, the asterisk operator, described further below, is better suited for that task.
There are two ways to remove a piece. One is to drop an at-sign, @, on the space, as in @-f3, because the internal code uses an at-sign to represent an empty space. The other way is to move a piece nowhere, as in f3-, because moving a piece always removes it from its starting position.
To add a space where there wasn't one, you can either add a piece there, which will automatically add a space too, or you can just drop an empty space on the location. You can do this by using the @ sign to represent an empty space. For example, @-a9 would add a new empty space at the location a9.
To remove a space, move nothing to it, as in -f3, which tells the program that neither a piece nor an empty space should occupy location f3.
There is also some primitive move checking. When you specify both the piece and the starting coordinate in a move, as in N g1-f3, it will check whether there is an N on g1. If there isn't, it will notify you that it couldn't make the move, asking you to go back and try again. Note that piece labels are case sensitive, and your pieces are normally the opposite case of your opponent's. Since Game Courier will not always check the legality of a move for you, it will generally be good practice to write your moves in this slightly longer format, because it will help keep you from making moves you didn't mean to make. It will also make it easier for your opponent to see what your move was. For parsing purposes, this notation requires a space between the piece and its coordinate. It would not know what to do with something like Ng1-f3.
The asterisk operator, *, is used to drop a piece held in hand onto the board. This task is done with information provided through automation. When a preset has been programmed to automatically process captured pieces, the command used for moving the captured piece to an off-board location also identifies what the off-board locations are. To use the asterisk operator, you should enter the notation for the piece, an asterisk, and the destination. For example, b*5e would drop a Black Bishop on 5e. It will then search the off-board areas for a piece of the specified sort and move it from its off-board location to the designated destination. If it cannot find a piece of the type designated, it will return an error message and not complete the move. Although it was designed for use with Shogi, it is not limited to dropping a piece on an empty space. It may drop a piece even on an occupied space. It is left to a rule-enforcing preset to prevent this in games where it is illegal.
To handle special moves, such as castling or en passant, you are allowed to string together move primitives into a single move. Separate each move primitive by a semicolon. Here are some examples of special moves. Note that automated presets may eliminate the need for entering some of these moves so explicitly. Check with the individual preset you're using to know which special moves it automates for you.
| Move | Notation |
|---|---|
| King-side Castling | K e1-g1; R h1-f1 |
| Queen-side Castling | K e1-c1; R a1-d1 |
| Pawn promotes to Queen | P f7-f8; Q-f8 |
| En passant | P f4-g3; p g4- |
| Rook merges with Knight as Marshall, as in Fusion Chess | R a1-b1; M-b1 |
| Knight moves away from Marshall at b1, leaving Rook behind, as in Fusion Chess | N-c3; R-b1 |
| 2. Nf3 follows 1. e3, d6 in Magnetic Chess | N g1-f3; P e3-a3; p f7-f4 |
| In Voidrider Chess, a Voidrider moves its space from b1 to d1 | V b1-d1; -b1 |
When you string simple moves together into a complicated move, you should know that each simple move is performed sequentially. Remember, this is all actually programming code, and programming code is normally performed sequentially. Two different simple moves are never performed simultaneously. Thus, if you were to swap two pieces, it would not be enough to move each piece to the other's location. One of the pieces would disappear this way. For example, on a board setup like the initial position in Chess, "e1-d1; d1-e1" would first move the King to d1, causing the Queen to go away, then move the King back to e1. Instead of swapping King and Queen, it would just remove the Queen. Instead of this, you should use something like "K e1-d1; Q-e1" to swap the King and Queen.
After you write a move, you may use the same field to include an inline comment. Unless it gets too long, this comment will appear on the same line as the move in the movelist, which will allow your opponent to read it without clicking on the movelist. To enter an inline comment, first enter two slashes, //. This symbol is commonly used in some programming languages, such as C++ and PHP, for inline comments. Everything appearing after the two slashes will be understood to be a comment rather than part of the move. So don't begin writing your comment before you finish writing your move. You ought to put a space before the two slashes, so that they won't be interpreted as part of a previous string. Inline comments are most useful for short game-related comments, such as calling check or providing an alternate notation for your move. Note that you don't need to use the // operator to enter comments in the Comments field.
You should never enter a short inline comment without preceding it with the two slashes. If what you type is not recognized as a move, your move won't go through, and you will get an error message. If it does get recognized as a move even though that wasn't your intent, it will probably do something that you do not want. So always precede inline comments with a pair of slashes.
Game Courier now allows you to make use of cards in your games. The main purpose behind this is to allow us to play games similar to Knightmare Chess and Chaos Chess online. These are games that make use of cards to alter the rules of the game. There is a deck of playing cards, made by Oxymoron, which are available for use under the GNU Public License. In time, I expect we can come up with other sets of cards. Here are the commands you can use in the Moves field to use cards:
In case you're wondering how this is possible, here's how. The game stores its own seed, based on the time when the game begins. This seed guarantees that the same sequence of random numbers is generated during the course of the game. So, when you load a log that your opponent has saved, it generates all the random numbers it generated for your opponent. Thus, it shuffles the cards in the same way, and deals out the same cards. By saving the seed, there is no need to save any record of the cards in the logs.
To take back a move, first go back to the last move your opponent made before the move you want to take back. You do this with the dropdown menu below the diagram. Select the move to go back to, then click on the Preview button. If the move to take back is yours, make a different move now. If the move to take back is your opponent's, repeat your last move, allowing your opponent to redo his response to your last move.
Since Game Courier does not let anyone move except the person whose turn it presently is, you must move before your opponent can correct an illegal move. Therefore, you should not simply notify your opponent by email and wait for him to correct it. He will be unable to correct it until you move. What you should do is go back to your opponent's last legal move, repeat the move you made after that move, use the comment area to tell your opponent that his move was illegal, and send your move, which makes it your opponent's turn again.
To resign, enter the resign command as your move. This is just the word resign.
In brief, you can use Game Courier to record and annotate a game, then get code that you can put on a webpage to share your annotated game with others.
First, click on the "Record" button to enter Record mode. Select whether you are recording a game or a fairy chess problem. You will see two texts boxes. In the top one, enter a brief description of your game or problem. You don't have to fill out this field if you are recording a game. But you must fill it out if you are doing a problem, because the contents of the other field will be hidden from your visitors when they visit your webpage. The important information to give about a fairy chess problem is what kind of problem it is, such as mate-in-one, figure out the last move, etc.
The second field is for entering moves and annotations. Enter the moves of the game or the solution to the fairy chess problem here. Put each move on a single line, and put all moves in order. You may place a turn number before each move. This will make it easier for another person to read, though the script will not factor this into its move calculations. Adding turn numbers will merely be for the convenience of your readers. You could enter a game without any turn numbers, and the script will be okay with that. Typically, the first two moves should be labeled "1.", the next two "2.", and so on, because each turn has one move by each player.
After any move, you may insert comments, typically annotations to your moves. The script recognizes the symbol // and anything following it on a line as a comment. This style of commenting is common to the programming languages C++ and PHP. It is appropriate to put short comments on the same line as the move. This is useful for brief annotations and for providing the reader with more descriptive notations of each move, since the script itself uses a very bare bones notational system. You may also put a comment on its own line. When you do this, put any comments about a move after the move, because the script will associate any comments immediately after a move with that move. It is alright to enter blank lines, because these will be treated the same as comments.
It is also possible to include alternate lines of play in an annotated game. This is useful when you want to examine moves that someone could have made but didn't. To introduce an alternate line of play, place a vertical bar, the | symbol, at the very beginning of the line. Include the bar at the very beginning of every line and comment in the alternate line of play. When you want to return to the previous line of play, stop adding the bar to the beginning of your line. You may include multiple alternate lines of play on the same move by nesting lines of play or by punctuating lines of play at the same level. To nest lines of play, add another bar for an alternate line of play that occurs in an alternate line of play. You may do this indefinately, adding as many nested lines of play as memory will allow. You may also separate alternate lines of play at the same level by punctuating them with a blank line or comment at a lower level.
To check your work, you can click on the "View" button to view the game you are recording. If you check nothing else, look at the last move of the game and make sure it matches the final position of pieces in the game, as originally played. If you include multiple lines of play, it is also important to test the termination of each line of play. When you are finished testing, use the Back button on your browser to go back to the game you are working on.
When you are ready to insert your game on a web page, click on the "Get Code" button to get the HTML code you should place on your webpage. By placing this code on your webpage, you will provide your readers with a record of the game that can be read from your webpage, as well as viewed move-by-move with the aid of the PBM script. As it appears on your webpage, your game will appear in one or two READONLY TEXTAREA boxes, along with a SUBMIT button that says "View". There may be a box with a brief description, and there will always be a box listing the moves in the game. When you put a fairy chess problem on your webpage, only the description box will be visible. The list of moves will be hidden. When someone views your game or problem, the script will convert the list of moves into a navigation menu, as described in the next section.
When someone provides a sample game, as described in the previous section, or a game is listed on the Logs page, you may use Game courier to view it. Begin by clicking on the button or link for viewing the game. This will take you to a display of the game in its starting position, or to the problem with the solution hidden. You will be provided with a menu of all the moves. For a game, the first move will automatically be selected for you. Whenever you view a move in a game, the next move will be selected in the menu. At the opening of the game, this is the first move. This is to make it easier for you to move through the game just by clicking on the "View" button. For fairy chess problems, it will not automatically update the navigation box to the next move. This is to keep the solution hidden from you until you are ready to look at it. Until you choose to look at it, the selected option in the navigation box will say "Look Here for Solution". You can use the navigation box to look at any move in the game or solution. Just select the move you want and click "View". Whenever you select a comment instead of a move, you will be shown the move associated with that comment. When you view a game or problem, you will not be able to edit anything. All you will be able to do is navigate through it.
You can find an example of an annotated game on my page for Voidrider Chess.
Depending on your background, you may be familiar with Chess problems or Shogi Tsumi. These give you a position in a game and a task to complete, such as checkmating Black in three moves, what would be called a mate-in-three. The same thing can be done with any Chess variant. In general, the field of Chess variant problems is known as fairy chess, and it includes not just problems for variants that people actually play together but also for sets of rules people don't actually play games with. Game Courier allows you to compose fairy Chess problems (see below), and once people have composed and published problems with Game Courier, others can try to solve them. Fairy chess problems are done in solitaire mode, which you can goto by clicking the Move button. Also, forms for fairy chess problems will normally take you directly there. You can then move the pieces for each side, trying to make the best move you can for each side. In case you cannot solve a problem, a solution might be provided. If one has been provided, a Solution button will appear on the page, and you can see the solution by clicking on it. This will replace any moves you have made with the solution.
You can compose fairy chess problems in composition mode, which you can enter by clicking on the Compose button. In this mode, you can freely move pieces around without rule enforcement, either with piece moves or with GAME Code commands. For GAME Code commands, see the Developer's Guide. As you move pieces around, Game Courier will create updated FEN code to represent the new board position, and it will include this in a form for the problem. To enter a solution for the problem, either type it into the Solution field, or click on the link provided to test out the problem and to enter its solution move by move. When you have entered the full solution, click the Compose button, which will bring you back to composition mode with the moves you made entered into the Solution field. You can then publish your problem by cutting and pasting the HTML code provided in a text box. You might post it on the page for the game it is for, or you might create a web page for your fairy chess problems and put it there.