As a part of my Bachelors of Computer Science program, I took part in the senior capstone software development course (SoftDev). Each spring seniors about to graduate are split up into groups and given a game develop (Checkers, Connect 4, etc.) and are then scored and ranked at the end of the semester. Teams are pretty much given free reign in the design and development aside from a small handful of requirements:
- Basic game rules
- Player vs AI (2 or more difficulties)
- Player vs Player over the Network (just with your own game)
- Game has to be able to be installed and run from the lab PCs
The game of choice for our class was Nine Men’s Morris. Generally I described the gameplay as a cross between Tic-Tac-Toe and Chinese Checkers, but you can find a full game description here. The teams each had 4 people one them, and we were expected to split up the main jobs of the development process (Engine/Core, User Interface, Artificial Intelligence, Networking). I volunteered to code the User Interface (UI) and ended up building a large portion of the engine as well.
We decided on the team name “HUMAN01D” and titled the game “Elemental Entrapment.”
We chose to develop a 2D game in XNA for Windows Desktop. Working closely together, our team designed the game with integration in mind so that our code would fit together nicely when it came time to put all the pieces together. We used Subversion for version control and made careful documentation of our changes both in the code and alongside commits.
My contributions to this project included the exhaustive UI, upper-most and lower-most portions of the game engine, all graphics (excluding particle effects), all music and sound effects, component design (XNA does not come with standard form components like Winforms), team branding and presentation, and integration architecture and management.
After a semester of averaging 20 hours a week on this project, our team came out with an overall score of 96/100 and took first place for the course.