I believe the poster roundabout2 is in fact Michael Katz, who is Alex Randolph's nephew. I am pleased to report that differences between Mr. Katz and Mr. Dolezal have been mostly resolved. They are now working together to bring Twixt to the market in 2018. I have invited both of them to participate in this thread.
So, I hope it is appropriate now to mention some possible issues with implementing Twixt on BGA. You can read the rules of Twixt on Wikipedia
and on the Twixt Wiki
. Twixt is already available for real time play on Game Center
and turn-based on Little Golem
(actually a variant called TwixtPP) and on Gamer
z as well as other servers.automatic linking
This is a convenience which makes the game interface much easier for players. Whenever a peg is placed on the board, all legal links to that peg are automatically added by the server. All the Twixt servers I know, with the single exception of the Vassal Twixt module
, use autolinking. Everyone is used to it, and to my knowledge no user has ever complained about it.
But strictly speaking, this could be regarded as a rules modification. It is, after all, the player's responsibility to add links, not the computer's. I could offer an alternative game setting where both players would have to manually add each link to the board. This would not
be the default setting. Anyone who joins such a game should probably be warned that manual linking is invoked, through a popup window that they would have to click OK on before the game starts. But I doubt that two people would ever both deliberately choose to play this way. I would particularly like to know from Mr. Katz if autolinking would be acceptable.resolving drawn positions
One criterion for implementing a game on BGA is, the game must end. Sometimes in Twixt, one player has blocked the other from any possible winning path, but has not himself formed a continuous chain, and is blocked from doing so. You can see a contrived example here
and an actual agreed draw here
. As far as I know, all the other servers deal with this issue by allowing players to propose and to accept a draw. So far, this has worked well.
But what would happen if one player refuses to agree to a draw? Would the game continue for 572 moves? Then what would happen? I have to code the server to recognize a draw. If, at the start of a player's move, all possible winning paths for the opponent have been blocked, a button should appear "claim draw" which would allow that player to end the game as a draw without the opponent's permission. Of course the player should not click this button if there is a win available.
If, at the end of a player's move, both sides are blocked from any winning path, the server should end the game and declare it a draw. This has not been necessary so far on any server because players strong enough to achieve a draw have also been strong enough to agree to a draw before all possible winning paths for both sides have been blocked.
Consider these two examples on a small grid.
The server should claim a draw here. The only winning path for the light color pieces would cross over itself, which is allowed in TwixtPP, but is not possible with a physical set and is not allowed under standard rules.
Here a button should be available to the light color to claim a draw, but that player can win by simply removing the H4-J3 link and adding a link from H3 to i5. So, here's my question.
How should the server resolve this game if the light player refuses to claim a draw or accept a draw offer, and refuses to win by rearranging links?