Build-a-Game

Working in pairs, write a Java program that allows the user to play a game against a bouncing ball. The exact details of the goals of the game (i.e., how to win or lose, and how the score is kept) will be up to you, but it must include a bouncing ball as the protagonist or one of the potentially unbounded number of antagonists.
For example, Pong (named after its distinctive sound) is generally considered the first popular computer game. It was developed by Atari in 1972 and had only two instructions: deposit quarter and avoid missing the ball for high score. It was an incredible hit and marked the beginning of the "arcade revolution".
Each team will use one of the following open source "game" engines 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).
Resources
- The Game Loop by Koen Witters
- Wikipedia on Game Programming
- History of Arcade Games
Deliverables
- Thursday, September 2. API preview and Game description (one submission per team)
- In a paragraph or two of your own words, describe how to create a game using your engine
- Describe the resources available to learn about your engine
- List any questions you still have about how to build a game using your engine
- Describe the game your team intends to implement
- Sunday, September 5. Game demo (one submission per team)
- A final version of your team's game
- Monday, September 6. API review (one submission per team)
- Compare the final version of your game with the one you proposed, discuss specifically how your game engine helped or got in the way of you completing your ideal (simple) game
- In about a page, review the good and bad aspects of your game engine
- Finally, rate your game engine - specifically should we build the semester project using it