Date

Due: Friday, December 2, 11:00 AM

Following on from POTD 16, your goal in this partner project is to build a bigger game! You need to use PyGame and gamebox, just as you did before.

However, this time we are letting you build whatever game you want! We will be requiring that you implement at least a basic set of features to ensure that your game is complex enough, but feel free to do more! Be careful you don't over-scope, though! You don't want to set out to build something too big that you can't finish it. If you have any questions about the scope of your game, please ask an instructor or TA.

You will be able to find gamebox and some example code at https://cs1110.cs.virginia.edu/code/gamebox. We will be adding more example code as we move through POTD 16 and the project.

You should also download and look over the gamebox API and introduction - gamebox.pdf

Partner Registration

Game Project Partner Registration - https://goo.gl/forms/mMdlkCOMQ1bkAIzo1 - NOTE: Your partner must be in the same lab as you (or both in 1111)!

Required Features

  1. User Input - Either through the keyboard or mouse, you should have appropriate and working user controls.
  2. Graphics/Images - You should use some appropriate images in your game.
  3. Start Screen - Game has a start screen with game name, student names (and IDs), and basic game instructions.

Optional Features

You must implement at least 4 of these:

  1. Animation - Use a sprite sheet to have an animated character.
  2. Enemies - Have characters that can hinder the player character from accomplishing the goal.
  3. Collectables - Add collectables (i.e. coins) to the level that can be picked up by the character with a counter that appears on the screen.
  4. Scrolling level - Make it so you can keep going off the screen! (You may need to add a background image to make this more obvious.)
  5. Timer - Have a countdown (or count up) timer for your game.
  6. Health meter - Have a health meter that changes as you hit enemies/obstacles.
  7. Music/Sound effects - Have some good sound design.
  8. Two players simultaneously - The two players MUST be able to interact directly in some way.

Game Ideas

Having trouble coming up with a game idea? Try one of these! Or make a variation of one of these!

  • Frogger - Can you get the frog across the road without getting hit by a car? Frogger on SmashingArcade
  • Pac-Man - This classic game is completely reasonable to pull off! Pac-Man on SmashingArcade
  • Keep-Away - Build a game where you character has to keep from getting "tagged" by other characters running around the level!

And many, many more! We will add more here in coming days and feel free to ask for suggestions too!

NOTE: Your game CANNOT just be an extension of example code that we provide you. You MUST show some creativity and do something on your own! The game can be based on other existing games (like the ones listed above) and you can use snipits of example code in your game, but you cannot just start from an example file and add on trivial features.

Submission

Unlike all the other submissions, this one needs to go to Collab since you may be turning in images, audio, etc. Make sure you game is called game.py and is in its own folder with all the game assets (images, audio) along with gamebox.py. Zip/archive this entire directory and submit that along with a .txt document describing what your game is, what your features are that you want us to grade, and how to play it. TAs that can't figure out how to play your game will definitely give you a low score!

ONLY ONE PARTNER SHOULD SUBMIT! PLEASE DO NOT DOUBLE SUBMIT YOUR PROJECT!!!

Partner Evals: Please fill out this evaluation form for your partner! - https://goo.gl/forms/qiUGmnJnveI8dsOK2