Summary: You will write a simple scroller game. Grads will write a top scroller and undergrads will write a side scroller.
note that we will start work on the first game design project concurrently with this project.
Details:
You will write a scrolling game.
The player need only move in one orientation (side to side for the top
scroller, up and down for the side scroller). The genre/premise is up
to you, but use something that can reasonably fly/hover as the player's representation.
There should be two types of enemies in this game (both of course spawn
on the opposite side of the screen from the player. One should take one
hit to kill, the other should take at least two (but not more than the
user can fire in the time the time it takes this enemy to cross the
screen). The enemies should appear in a random place at the far end of
the screen.
The enemies should occasionally shoot at the player.
If the enemy shot or the enemy itself hits the player, then the player dies.
In the
top scroller
occasionally a powerup should appear. When player picks up (runs into) the
powerup, he/she should get a bonus. The type of powerup is up to you.
It could be a more powerful shot which kills both enemies in one shot,
it could be an extra life. Make sure to discuss this in the writeup.
In the side scroller, occasionally one of the bad guys should drop
something (a "prisoner"?) to the ground. If the player picks this up
(runs into it) then the players score should go up significantly (at
least 3 enemies worth)
The game needs to keep score and display the score to the player throughout the game.
a few things to note:
- Make the background image long enough that people never see the same part more than once a second.
- Play a separate sound for each of the following events
- player fires
- an enemy is hit but doesn't die
- an enemy dies
- the player dies
- whenever a shot hits an enemy, both the shot and the enemy should disappear.
- Gameplay should end when the player dies (or loses last life if going that way)
I suggest you use multiple sprite
groups for this one. It will help you manage all of the stuff you will
have running around on your screen.
If you don't have images that you want
to use already, I encourage you to connsider using The spritelib
image library that you book mentions. The license is generous and
there are several types of images to use.
Extra Requirements
- As always, make sure to comment your code including the
documentation comments (doc strings) especially documenting parameters
and return values in the doc strings.
- No more than two lines of code can be at the top level (imports
excepted of course)
Writeup
You need to include a writeup of your lab as a text file. Include in
this writeup
- Your name
- Directions for running your program. Include which python file is
the program entry point as well as directions for playing the game.
What should I expect to see? Which are the bad guys?
- A rough description of what you did and what techniques you used.
This should probably be just a couple of paragraphs long unless you did
something really unusual.
- References to any code you reused (in addition to those found in
the comments of the code itself)
- anything left undone from the problem requirements.
Submission:
- first remove any files and subfolders that you do not wish to
submit and which you did not use
- zip your whole folder tree into a single zip file (right click on
the top project folder and send it to an archive.)
- make the name of your zip file <your
name>Project2.<zip/gz/bz2/etc>
- send it to me via email as before. If your file is too big to
email (more than 2MB) you are sending too much