Wednesday, January 17, 2007

Chess 4

For some reason people like to post their new year resolutions or TODO lists publicly. I assume it's not so much about attention as it is about permanence. Blogs are more robust than cocktail napkins (though I can only think of phone numbers fading from napkins, and those are different kinds of to-do lists).

Anyway, here's one bullet from my to-do list that's been carried over from past years. I want to make a 4-player chess computer game. I guess people like pictures, so here's one:



Yeah, this is not the most important thing in the world, but it seems like a good excuse to try other programming languages/frameworks. One good thing about delaying this production from 2005 and 2006 is advances in my own knowledge and available programming tools makes this easier to complete. E.g., if I make it a desktop app (like TetriNet), I'd probably write it in Erlang (language where network communication should be easy). Of course, as the years go on, my own time will be worth more. Hopefully, thee critical point has not passed yet.

Possible feature list:
  1. It would be cool to make the game extensible. I know at least two ways to play chess with 4 people (with different board shapes even) and it would be nice to support other variants with little effort. The rules/board description can be written in a domain-specific language and the core game/communication logic can be reused.
  2. On the extensibility front, the "community" should be able to submit other variants and chess end-games for these new variants. Yay, I think that covers a Web 2.0 paradigm.
  3. Save/load. Never lose a users data, right? It should be easy, since it's like loading end-games.
  4. Replays. Again, shouldn't be so hard if serialization is done right.
  5. Send game configurations to your friends to see what they would do in similar situations. They could reply with the replay.
  6. Should have chat. Bryon R. once said, "Every application should have chat".
  7. A wise-man once said something like "Before you think about making another application (e.g., a web calendar), ask yourself it will help you or others get laid". I suppose chess 4 doesn't cut it with just these features (except maybe chat). Whatever feature 7 is, it'd better help people get laid (or at least give that impression like Myspace).

UPDATE: Bah... looks like someone's already done Chess 4 and explored the variants idea 100x deeper than I had planned: http://www.pathguy.com/chess/ChessVar.htm. The problem is, his chess applets run on a single machine; you can't play against a distant opponent, and obviously there's no chat.

UPDATE2: Seems like most of the features are elements of Starcraft/Warcraft

No comments:

Post a Comment