May 7, 2009

Simon .NET

So I got it into my head today that I'm going to build my own Simon game.

It should be relatively simple, to start with anyways. I'll start with 3 basic pieces, 1-2 of which are most likely going to be re-used.

  • A Simon Generator/Validator: really simple. Pass it the round number and it generates an random sequence of that many buttons. Pass in the sequence it sent out, plus the sequence the player it, and it verifies that the sequence matches.
  • A game logic piece: this will control starting/ending the game, flashing the lights/making sounds at the start of the sequence, validating the user's input in-place and using the validator piece whenever it thinks the user's turn has ended.
  • A GUI. 4 colored buttons that can flash and accept user clicks, plus a start game button and difficulty selector. Possibly also a game-mode selector, if I choose to to implement more that just the most basic game mode.
Here's the slightly insane part: I want to take this basic stuff and expanded it into a fully-logged, fully-networkable game. Play against your friends or play in ladder tournaments. That's the really crazy part.

Anyways, I plan on attempting to do this with TDD, or at least building some unit tests along the way. Wish me luck!


Anonymous said...

Best of luck! I've got so many pet projects right now I can't see straight. This evening, I'm working on deploying an ASP.NET MVC application to an openSUSE VM and running it under Mono. Fun stuff!