The Chess Variants Game Courier
A customizable and programmable online server for strategy board games.
Features for Users
- Over 1000 games already available to play, including Chess, Shogi, Xiang Qi, Janggi, Ultima, Alice Chess, Pocket Mutation Chess, Kamikaze Mortal Shogi, Eurasian Chess, Chess with Different Armies, and many more.
- Secure Correspondence Play thanks to your own free password-protected account and server-side Game Logs that keep track of all moves. So, no one else can move as you, and there is a central record of all game moves, which also allows you to review past games and watch ongoing games.
- Fast Real-Time Play thanks to pages that update shortly after your opponent moves.
- Convenient Piece Movement by means of mouse, touch, or notation.
- Automation of complicated moves for selected games, so that all you have to do is move a piece.*
- Avoid Accidental Moves by previewing them before committing to them.
- Avoid Illegal Moves in selected games, thanks to rule enforcement.*
- See All Legal Moves in selected games, thanks to the highlighting of a piece's legal moves when you touch it or click on it.*
- Customizable graphics. Where available, you can choose the piece set, board images, or colors you prefer to use, even using different graphics than your opponent.† Multiple styles of Asian and western pieces are available for Shogi, Janggi, and Xiang Qi, and multiple styles are available for Chess and common fairy pieces.
- Platform independence. All you need is a web browser. Fully compatible with Windows, Apple, Linux, and Android. Play on your desktop, laptop, tablet, or phone.
- Solve and compose Chess variant problems. Even turn game positions into problems.
- Sophisticated Time controls.
- Game Courier ratings let you compare yourself against other players.
- User's Guide and FAQ available to help you get started.
* This feature is available only when programmed for a specific game by its developer.
† Customized graphics are normally available for any game, but when a game uses a specific board image, or there is only one piece set matching the pieces used in the game, customization options may be more limited or unavailable.
Features for Developers
- Design and program your own Chess variants and other strategy board games in Edit mode.
- For those who can program, you may program rule enforcement or automated moves with GAME Code, a Turing-complete, interpreted programming language with variables, constants, flags, control structures, functions, subroutines, and commands for piece and board manipulation.
- To help you get started in programming games for Game Courier, there are several tutorials to help you learn how. The more recent are the more relevant to recommended programming practices.
- Anatomy of a Preset (2004)
- GAME Code Tutorial (2013)
- How to Make Your Game Display Legal Moves in Game Courier (Nov 2015)
- How to Enforce Rules in Game Courier (Jan 2016)
- How to Program Piece Drops for Game Courier (May 2, 2016)
- How to Program Multi-Move Variants for Game Courier (May 5, 2016)
- The Fairychess Include File Tutorial (2020)
- If you don't want to do all the work of programming a game from scratch, you can modify existing code or use include files.
- You may also design and play games without any automation or rule-enforcement. This puts the responsibility for enforcing rules and entering notation for complicated rules on the players, but it lets non-programmers play the games they want, and it lets you play games too difficult to program.
- Several piece sets are already available, including multiple styles for Chess, Shogi, Janggi, and Xiang Qi, as well as sets with many common fairy pieces.
- Automatic generation of many types of boards, including circular boards and those with square or hexagonal spaces.
- Tiled graphic images can be used to automatically generate boards with square spaces.
- Graphic images of the whole board can be used for artistically crafted boards, boards with special markings, or boards with unusual topography.
- You can draw your own boards or pieces and have us add them to the site.
- For boards with very unusual topography, you can map spaces to specific coordinates.
- You may have boards rendered as HTML tables, CSS code, or image files.
- Developer's Guide available for detailed help and instructions
- If you don't already have an account with the Chess Variant Pages, Sign Up for one.
- If you are not already logged in, log in. You can do this from the Log In page or at the top of the menubar.
- Select a game from the Games for Game Courier page, or accept an open invitation already issued by someone else.
- A game begins once someone has accepted another's invitation.
- When it is your turn, move a piece. You can do this with mouse or touch. Alternately, you can enter notation and click the Preview button.
- Game Courier will then show you your move. Click the Send button if this is the move you want to make, or go back to the previous page if you want to make a different move.
- Once you have moved, wait for your opponent to move. You should get an email when your opponent has moved, but you can check when it your turn anytime, even when an email is slow to show up, by following the Your Games on Game Courier link in the menu under your name. If you are playing in real-time, click Continue and wait for the page to alert you when it is your turn.
- If you are playing by correspondence, you can check on other games you're playing after you move in one game. Click on the Your Games button, or follow the Your Games on Game Courier link in the menu under your name.
Comparison with other PBM systems
The main advantage Game Courier has over other play-by-mail systems is its versatility and customizability. Other PBM systems will lock you into a closed set of games, but Game Courier will let you play nearly any Chess variant. Even when no one has made a game available for Game Courier, you can still set it up yourself and begin playing it right away. One thing I wanted with Game Courier was an easy way to play my own games online. The features that let me play my games online are also available for you. You can design boards, program game rules with the GAME Code language, and start playing your games with anyone who is willing. You're also free to customize the graphics, to make modified clones of games programmed by other people, and to just setup a board and play games without programming them.
Because of its versality and customizability, Game Courier currently supports over 700 games. Most of these have been provided by users, not by me. There are also many top quality games here, including many of my own that you won't find on any other PBM system, such as Eurasian Chess, Extra Move Chess, and Kamikaze Mortal Shogi.
Game Courier's main drawback, compared with other PBM systems, is that it does not enforce the rules for all the games it supports. But it can and does enforce the rules for many games, and its ability to support games without rule enforcement allows it to support many more games than it otherwise would.
Comparison with Zillions of Games
Zillions of Games is an excellent program for playing Chess variants and other strategy board games. Like Game Courier, it is user-expandable, letting users design and program many different games. The main advantage of Zillions of Games over Game Courier is that it will provide you with a computer opponent. On this strength alone, Zillions of Games is worth getting if you have a Windows OS or can run Windows program with Wine or another Windows API. No other program for playing Chess variants against your computer is as versatile or as customizable as Zillions of Games. Game Courier is as versatile and as customizable as Zillions of Games, but it won't provide you with a computer opponent. Compared with Zillions of Games, its strengths lie mainly in how it is better for playing games against human opponents. It more reliably connects you with human opponents, allows you to play games with more people, and keeps track of all your games for you. Also, its programming language is more of a full-fledged programming language. It includes features lacking in the ZRF language and allows support for games that can't be played with Zillions of Games. For developers who aren't artists or programmers, Game Courier has the advantage of allowing dumb presets that don't enforce rules and of drawing your board for you. This makes development easier than it is for Zillions of Games.
When you play a game by emailing ZSG files, your game will be disrupted if an email isn't delivered. But with Game Courier, you can check on your games even if you don't get any email. When you use Zillions to play a game in real time, your game will be disrupted if your computer crashes or your opponent's does. But with Game Courier, you can play in real-time without worrying about this, because crashing your computer won't affect the log of your game. You can alternate between playing a game in real-time and playing it asynchronously. If your session is disprupted by a computer crash or another event, you can just continue it later. When you move in Zillions of Games while playing in real-time, it is possible to make the wrong move because of a slip of the mouse. With Game Courier, you can more reliably enter the move you intended, because it requires moves to preview and confirm your move before logging it.
Zillions of Games is a commercial Windows program. This limits your opponents to other people with the Zillions of Games program and a Windows OS. As a server-side web-based program, Game Courier will work for you no matter what operating system or web browser you use. This expands your range of potential opponents to Macintosh users, Linux users, Amiga users, etc.
GAME Code vs. ZRF
The ZRF language used by Zillions of Games is very limited in its capabilities. It has no math, no string manipulation, no functions, no subroutines, and limited control structures. In contrast, GAME Code is a Turing-complete programming language with math, boolean, and string operators, user-defined functions and subroutines, and all the usual control structures normally found in other languages, as well as various functions and commands designed specifically to aid rule-enforcement in Chess variants. It generally takes more programming skill to program game rules in GAME Code, but more can be done with it. It can be used to program rules for games that can't be programmed for Zillions of Games, such as Marseillais Chess. It can easily be used for games that could be done in Zillions of Games only with large, bloated code, such as Xorix Shogi. It can handle the finer details of rules that Zillions of Games can't, such as the Shogi rule against checkmating the King with a Pawn drop. It can easily be used for games with random elements, such as Vegas Fun Chess, and it has a set of commands for using cards, which can allow games similar to Knightmare Chess. This is not to say that it is more versatile in every respect. Game Courier cannot support multiplayer games, whereas Zillions of Games can. But other than that, Game Courier is more versatile than Zillions of Games.
Written by Fergus Duniho
WWW Page Created: 10 July 2001.