Invented by Chris St. Clair
Help page by Bill St. Clair
To start a new game, ensure that the "remote" radio button is selected, select "2" or "4" for "Players" near the bottom of the page, fill in your "Name", ensure that the server "URL" is correct (it will be), and click the "New Game" button. The "Game ID" will be filled in with a string you can give to the other player(s) to join.
If you want the game to be visible to anyone who goes to the "Public" page, check the "public" checkbox before clicking on "New Game".
To join a game already in process, select the "remote" radio button, fill in your "Name", paste in the "Game ID" given to you by the person who started the game, ensure that the "URL" is correct, and click the "Join Game" button.
To join a public game that has started, but still needs players, click the "Public" link, near the top of the page or below the game controls, fill in your "Name", if you haven't already on the main page, and click one of the "Join" buttons in a listed game.
After the "New Game" or "Join Game" request has been returned by the server, you can "Resign" at any time. Otherwise, the server will notice when the game is over, either because after placement it is not possible to resolve, or because one of the player's home circles cannot be changed."
You can also use the page as a board for a local game, and control all players locally. To do this, select the "local" radio button, fill in the "Names" with a comma-separated list of player names (or let it default), and click "New Game".
In a local game, if you check "Place Only", you will be able to place as many stones as you want without resolving. When you uncheck "Place Only", you'll switch back to resolution phase, if there's anything to resolve, or regular placement phase otherwise.
Your nodes are colored green. In four-player games, the resolver's nodes, if you are not the resolver, are colored red.
Each turn begins with the Placement phase. You must place one stone on an empty square. You can do this either by typing the color and node name into the box next to your name (e.g. "wb1" puts a White stone on node "B1") and pressing the "Place" button, or by selecting "white" or "black" for the "Placement Click Color" and clicking on an empty node.
In a "local" game, you need to fill in all the boxes and press "Place" or click once per player.
If there are resolutions to be made, those stones will be outlined in red. If there are not, play will proceed with placement for the next turn.
To make a resolution, click on one of the red-outlined stones. It's outline will be changed to orange, and the places it can move will be outlined in green. Click on one of the green-outlined locations to make the move. Click on the orange-outlined selected stone to cancel the selection. Continue until there are no longer any red-outlined stones, and the game switches to placement phase for the next turn.
The code that detects a full home circle for one player isn't perfect, but I think it's good enough. If you find a problem with it, send me a screen shot of the board where end of game was wrongly decided (either no end of game when there should have been or end of game when there shouldn't), and I'll fix it.
Sometimes, after placement, the board cannot be resolved. If each player clicks the "Unresolvable" check box for his/her name, the resolver will do final resolution. In this mode, regular stone-sliding resolutions may be done, but the player may also click a destination that is NOT circled in green, to remove the orange-circled stone from the board. Once there are no longer any red-circled (unresolved) stones, the game is over.
Since there may be disagreement about whether a removed stone is part of an unbreakable loop, if the resolver says to remove a stone, all the other players will be asked to agree or disagree. This appears on the same line as the "Unresolvable" votes, allowing each player to click the "No" button to disagree, or his labelled check box to agree.
Before all players have clicked their "Unresolvable" check boxes, a player may click it again to change his/her mind, and mark the game as once again resolvable.
At the bottom of the screen is a table containing the history of the game. Click the "Undo" button to undo the last resolution move or placement.
The numbers in parentheses next to the input boxes are the score for each player. The first number is the number of stones in the (outer) home circle for that player's region. The second number is the total number of stones in that player's region (only relevant if there is a tie in the home circle).
Below the "Game ID" line is a line containing a long text input box and a "Restore" button. The text box is a representation of the current state of the game, the board, the player names, and the resolver. It will be updated as you play. You can save it at any time, by selecting (triple-click will select the whole thing in most browsers) and copying, then pasting into a file or email.
To restore a saved game, enter your "Name", paste the saved string back into the text box, and click the "Restore" button. This will work exactly the same as the "New Game" button, except the initial board, number of players, and resolver will be taken from the saved string. If you check the "public" box, the game will be public. You will be player number 1, so if you were NOT player 1 when you saved the game, you will have changed players.
The history table at the bottom of the screen doesn't yet reflect that the game started with a saved state.
Clicking the "GitHub" link near the bottom of the page will open the source code repository in a new browser tab/window.
Bill St. Clair <billstclair@gmail.com>