I am starting to learn XNA at the moment, so I am doing what everyone does when they learn a new language – remake their favourite game! I am making a simple remake of the windows version of Chips Challenge using the sprites from the open source clone of the game which can be found here – http://www.muppetlabs.com/~breadbox/software/tworld/ . Although this remake is by no means a full remake or compatible with the original, I am posting the source code so that someone else can learn from this experience. Keep in mind that this is my first game in XNA, so the code is a bit sloppy but it works.
Some of the features that I implemented for this tile based game are level saving and loading, an advanced menu system, power ups, a timer class, event handling and game state management. This remake is a simple one layer approach, as opposed to the original two layer version. I am implementing features as I go along and have finished the first level and I am working on the next levels. Progress might go a bit faster after I create a level editor, because hand coding levels is no fun! The core functionality of this game was completed in a day as a programming challenge that I set myself. The extra features / tiles took an extra day of coding (that I put off for far too long). At the moment, the code is quite messy, there are a few ugly hacks (especially the input detection), but I am working on improving it, adding a full input manager and possibly some enemies that move etc.
In the future I am looking at uploading more games that I can prototype quickly (for programming practice). So look forward to other classic remakes and newer stuff as well.
Here is a screen shot.
For people that are thinking of creating a tile based game, I suggest taking the time to make it work with the Tiled Map Editor level format. The Tiled Map Editor is a quick and easy way for creating tiled based levels (square and isometric). The tiles can have attributes associated with them which makes the code to load and save levels much cleaner. Wish I had used Tiled!
So check out the source code for this game and give it a bit of a play!