Skip to main content
  1. Teaching/
  2. Su2024 CS N324E/
  3. teaching/

Project 6: Game

Basic Requirements
#

This project explores combining interactive and graphics to create a video game. You will create a game with rules of play, a control scheme using the keyboard or mouse (or both!), a visual display, and a scoring system.

While I recommend doing this game in 2D, you may opt to do a 3D game as well. Note that 3D games will be much, much more difficult that 2D games.

Implement the following:

  • A game with at least three rules of play. For example, in a Breakout game, the rules might be:
    1. The ball bounces off the walls and the paddle.
    2. The ball breaks bricks.
    3. The player loses a life if the ball falls off the bottom of the screen.
  • A control scheme using the keyboard or mouse (or both!) to interact with the game. This control scheme should use at least three different keys or mouse inputs.
  • A visual display that shows the game state. For Breakout, this would show the bricks, the paddle, and the ball.
  • A scoring system that tracks the player’s progress in the game. You can make this as simple as how long the player survived, or track some sort of metric like points, lives, etc.
  • A GUI system consisting of at least one piece of display information and one interactable element. At its most basic, this can consist simply of an exit button and a score display.

Project Ideas
#

Many retro arcade games make a natural fit for this project, including:

While it hardly qualifies as retro, the cult hit “Flappy Bird” is also a reasonable starting point for this project.

If you do not have an idea for a game you want to implement, you may use one of these games. Note, however, that not all games naturally satisfy all the required criteria, so you may need to add additional features to meet the requirements.

A note on Tetris: A game conspicuously absent from the list above is Tetris. This is because Tetris is actually surprisingly difficult to implement. If you want to implement Tetris, I suggest working on a much simpler game first and trying Tetris for your final project if you enjoy the problems that come around.

Project Report
#

Create a project report as specified in the Project Report rules

Make sure your report includes the following information:

  • The game rules and controls
  • What classes you have designed and what they do
  • Any unexpected challenges you faced along the way
  • Any extra credit you implemented

Language Model Log
#

You should either submit a log of your language model interactions, or a statement that you did not use LMs for this project. In either case, you will need to submit a file in your project on your LLM usage. See the rules on language model logs for details.

Extra Credit
#

No designated extra credit is available for this project. However, if you would like to implement something particularly tricky, like a basic physics engine, a game with complex rules, or some other feature that is not required, you may ask me if it would qualify for extra credit.

Submission
#

Your submission should include the following:

  1. A Processing file named youreid_project6.pde that runs the simulation.
  2. All the necessary classes and subclasses for the Processing file to run.
  3. Any assets (images, sound, etc.) necessary for your game to run.
  4. Your project report, with the information specified above and the project report guidelines.
  5. Your language model log

Place this all into a directory named youreid_project6, zip the directory, and submit it to Canvas.