CompSci 108
Spring 2012
The Software Studio

Breakout is a popular extension to the game of Pong that was described at the time of its invention as "the ultimate in Pong". Breakout was designed by Steve Jobs, current CEO of Apple Computer. But it was Job's friend Steve Wozniak who did most of the work on Breakout, not Jobs. However, when Jobs received a $5,000 bonus for the work, he told Wozniak it was only $700 and gave Wozniak his "half" --- $350. Years later this truth would come out and it would add to the already increasing friction between the two which eventually lead to Steve Wozniak quitting Apple.

The original Breakout was such a big hit that, to this day, it is still spawning additional game spin-offs in the form of the game Arkanoid. These games build on the basic premise of Breakout, clearing a field of bricks, but add elements of every other game imaginable. Like these games, you should create a game that is an off-shoot of a current popular game rather than striking off on your own to create an "artisitc" game, like Passage.

Specifications

Write a Java program to play a 2D game of your design. The main point of this project is to get yourself familiar with how to use the Golden T game framework and the difficulties of building a game in that framework. As a result, the game does not need to be the greatest ever created but it does have to meet a few basic requirements:

  1. Your game should be a recognizible member of a particular genre of video game. The genres allowed are:
    • 2-D Platformer, Example: Super Mario Brothers
    • Top Down Shooter, Example: Raptor but this should be a game that scrolls not one like asteroids or Space Invaders where there's just one screen sized board
    • Real Time Strategy, Example: Warcraft
    • Turn-Based Stategy, Example: Civilization 2
    • Role Playing Game, Example: Final Fantasy 2
    • Fighting Game, Example: Street Fighter 2
    • Puzzle Game, Example: Atomix. BUT (and this is a big but...the puzzle game should not be something like tetris or bejeweled that uses randomly generated levels. It needs to be a game with preconstructed puzzles like the example.
  2. The game does not need to be complete but you should have characters that move about the game, it should be possible for the player to interact with the game (the controls can be crude), and you should have a least several of the tropes of your game. For example, the Real Time Strategy game could let you place buildings that construct units, the RPG could have rudementary turn based combat, etc.
  3. Your game should have either two distinct game "modes" or two distinct levels. By "modes" I mean two different interaction styles - maybe a turn based combat mode and a walk around the map mode. Game menus with stuff like "start game" does not count as a mode. By "levels", I mean two levels that play differently - and not simply that there are more bad guy or the bad guys are faster.
  4. Focus on gameplay mechanics, not graphics or dialog or anything else. Your game can use stick figure graphics or crudely cropped images stolen from existing games. Just make sure the images are recognizable enough so we can tell what's happening in your game.

You will use an open source project, Golden T, as a starting point for building your game. You are welcome to look at any of the tutorial information available about the engine, but your game should be distinctly different from the given examples (i.e., code a game, do not simply copy one). This will give you a chance to read someone else's code and documentation before starting to write your own (and it relieves us of the burden of writing some of the low level code ourselves).

Grading

This is to get you started building games so you can see how it all works. Therefore, you will be only evaluated on if your game is functional. We will not be looking at the design of your code. That said, if you make a nice design you might be able to reuse that code in the larger Game project.

Part Percent of Grade
Acts like a game. Code runs, you can interact with it, there is some challenge or goal. 40%
Your game is recogniziable as being from a particular genre and has additional gameplay features appropiate to the genre 30%
You have two distinct levels or two distinct modes
30%

The game is worth 10% of your final Vooga project grade. It is due at 8am 3/26. It can be turned in up to 48 hours late for 75% of the credit. After that, no late credit will be given.

Resources