I have implemented a web-based client for the board game Go.

It can be found here.

Go is a surprisingly simple board game, even simpler to program than checkers (I would think. Haven't programmed checkers before, but the fact that each piece on each side has two different states (king'd and unking'd) and that the pieces actually move makes the game seem more daunting). Actually, there are only really two rules in Go, and I only implemented the first one. The second (Ko fights) was not implemented, but can be easily resolved by a war of attrition.

But even with two rules, Go is one of the most complex games for computers, mainly due to the sheer size of the possibility space. Still unsolved, unlike checkers, but I feel that one can intuitively grasp how to play, and all the strategies included thereof. A slow, complex game, a game of thinking many moves ahead, but simple enough that every move is the same. No pieces move.

No accounts, either, so you can play as both sides, and the game trusts that you don't play for your opponents. You can start a new game with a name of your choosing by sending a GET request to the page with the name, but if the name is already in use, it automatically sends you to the game in progress. It also randomly generates an alphanumeric name if you don't input one, which is nice as well (that has the ability to overwrite, but I don't think that we'll see many problems with that).

No garbage collection, no move recording, no emails sent when it's your move. No scoring system, no endgame. Just barebones online Go, so you can send a link to a friend and revisit the page every once in a while to make the next move. Or you can yell at them through another communications channel.

Do people want accounts/password protection/email notifications/move recording/custom board sizes? If yes, I can implement them, but as with all things on this site, I don't think it'll be getting much use. Do with it what you will.

Although move recording would be nice. For data collection reasons.

Tagged with gaming, programming
Posted on2015-01-16 05:40
Last modified on2015-07-01 05:44

Comments (0)