CompSci 190
Fall 2022
Programming Games
FOCUS Section

Final Project

Design and implement a complete game of your own design in Python program using the Arcade module. If you choose to start from an existing game, you must add something to the gameplay that makes your game unique. In either case, you should playtest your game with other students and be able to describe what principles your game has that will make it fun to play.

Your game should be more complex than, and distinct from, the games you have done so far, but not so complex that you cannot complete it by the end of the semester. Complexity can come from the number and variety of the levels in the game, from the gameplay itself, or from the generality of your program.

This can either be a lot of fun or very frustrating depending on how well you plan your project. For this reason, it is even more important that you think about your program carefully before you start coding, especially what classes you will make. It is also vital to build your program incrementally in small, manageable steps that keep things simple and focus on a Minimum Viable Product (MVP). For example, start by implementing your game's primary interactions (especially before adding levels, fancy graphics, or sounds) such as in this time-lapse video of making the game MetaGun as part of a Game Jam competition.

Whether the gameplay is simple or complex, aim for something you would be excited to show to your friends because they would think it is fun to play rather than something that looks flashy or is ready to deliver to an App Store.

If you having trouble thinking of your own game to create, consider doing a variation of Breakout that fulfills the specifications below.

Specifications

Complete these minimal requirements:

Beyond the basics, you must add at least one feature to make your game more fun to play, such as:

To accompany your game, provide the following materials:

You will regularly demo your progress to the class to get feedback.

Resources