Project: Main Booth Game
Every year dozens of organizations take part in a festivus CMU tradition known as Carnival. One of the biggest competitions during Carnival is a building project known as Booth. Each participating organization builds, from scratch, a (usually two or three story) themed booth with several activity-filled rooms. Children from across Pittsburgh come and visit these Booths during Carnival, and at the end the Booths are rated by Carnival judges and awards are presented.
In the Spring of 2009, I played a major role in building the booth for my fraternity, Kappa Delta Rho. The theme for the 2009 Carnival was "Epic Adventures," and KDR chose to entitle our Booth "Journey to the Center of the Earth." As the Booth Game chair for KDR, I was in charge of designing and developing a game which was integrated with the rest of the booth and matched the theme as well. With the help of the brotherhood, I was able to come up with my largest Java Application I have built to date, and more importantly help KDR win the first place award in our category for Booth.
The game itself was in a way similar to PacMan, except that instead of a controlling a yellow head you were driving a rocket closer and closer to the center of the Earth. The first level is pictured below:
The rocket was controlled with a joystick, and the trigger on the joystick enabled a rocket boost. The objective was to get to the green goal at the end of each level, and along the way avoid the creatures and pick up the jewels. The levels got harder as the game progressed...
All in all, there were three levels in the game. Below is the third.
After finishing the game, the player was taken to a professional looking high scores list screen, below. Although I wasn't able to count exactly how many people played the game, just by checking the high scores log file, there were over 230 score entries over the period of Carnival.
Coding a project of this size taught me so much, both in technical knowledge and about working on large projects. For starters, writing a joystick handling package from scratch (JoystickEvent class, JoystickListener interface, and the whole works) was something I never even dreamed of doing before this Booth. On top of that really getting comfortable with Java's image and sound loading APIs was a plus as well (yes, the game had a sound track). But perhaps more importantly than all of that, working together on this Booth as a whole with an entire brotherhood of over 40 of my friends was an experience that I'll never forget.