Project 11: Video game

This is your last project in CS151! It will be more open ended than the previous projects. The goal is to create a video game using turtle. Be creative and have fun!


1. Create a video game

Implement a game other than Asteroids, using inheriting from the provided Abstract Class Game. The more detail, gameplay elements, and/or complexity the more extension credit. As usual, code organization and design play a big role and you should follow the standard best practices.

Your game should inherit from the Abstract Class Game. From a grading perspective, I should not see lots of duplicate code in Game and your other game class. Make use of inheritance and extend the basic game mechanics if it makes sense!

You can implement a standard game, a different game, or your own game.

Suggested Standard Games

You can choose to implement a standard game for up to 27/30 for the base game. To receive 30/30, you can add extensions like additional levels or the ability to replay your game.

Suggested Advanced Games

You can choose to implement an advanced game for up to 28.5/30 for the base game. To receive 30/30, you can add extensions like additional levels or the ability to replay your game.

Other games

You can choose to implement a game that is not listed above. Please meet with Professor Wolfe during their office hours to have your game approved. They will determine if it is a "standard" or "advanced" game.

Design your own game

You can choose to design your own game. Please meet with Professor Wolfe during their office hours to have your game approved. They will determine if it is a "standard" or "advanced" game.

New Game Guidelines

Game Demo

Everyone who completes their project "on-time" will be expected to demo their work to the class on Thursday May 9th. The goal is to have fun and give us an opportunity to celebrate your work!


2. Written Report

In addition to submitting your code, you will be expected to include at least the following elements in the report. Your report should be about the same length as a usual project report.

a. Abstract

The usual abstract — summary of what you made and what concepts you used to do it.

b. Design

Describe the game. Explain how the game is played and what the rules are. Include links to relevant resources about the game.

c. Implementation

Describe your implementation — how you organized your code (e.g. key classes, important methods) and made key parts of the game work (e.g. events, how you solved problems to get key elements of your game working).

d. Explanation of Gameplay

In your report, include at least three still images (Required Images 1, 2, and 3) — one image for each phase of your game: start, main, and end. If your game has multiple stages during the main game play or multiple game end screens, include an image for each stage/ending. For each image, explain what is happening in the image and how you implemented that portion of the game.

e. Gameplay testing

Explain how you tested the gameplay in your report, and describe any modifications you made to the program after having someone else try to use it.

This means playing your game! Iteratively refine the controls, rules, difficulty, and artwork. Try to partner with someone and test each other's implementations. Discuss how to improve your programs to make them more responsive or interesting or fun.

No one writes perfect code the first time! If you don't change anything after someone else uses your program, you probably aren't listening to feedback closely enough.

f. Conclusion

The usual section.

g. Sources and collaborators cited

Please provide URLs and sources for any images and artwork you used in your game. This is important and points will be taken off if these citations are missing in your report.

Please provide URLs and sources that you used to learn about your game and design it.

Also cite the usual including students, TAs and faculty you discussed your code with and websites you used as reference.

h. Game Video

Include in your project submission a maximum 90 second screen recording video of you playing and demoing your game. This should include the start screen, game play, and results screen.

Link to detailed turn in instructions and more information about what should be contained in the report


Extensions

Between the code that you’ve already written and the report that you write, you’ve already earned up to 26/30 points for this project. If you turn it in by the first deadline that's 27/30 points.

The remaining 3/30 are a chance for you to earn credit for exploring parts of this project and digging deeper to express your creativity! This is entirely optional; 27/30 is an A- and is a perfectly respectable place to stop. Extensions are open-ended and exist to compliment the structured core project. Explore and learn something new that interests you! Concentrating your energy on 2 "deep" extensions that challenge you will earn you more points than many small, "shallow" extensions.

Congratulations!

Congratulations on your first video game! Thank you for your hard work and creative problem solving this semester. It’s been an honor to work with you, and I hope to see you again in other CS courses in the future. 😃


© 2021 Oliver Layton, Hannen Wolfe, and Max Bender