Project 1.5 (part 2 of 2)
Due: Friday Oct 4 at 11:59 pm
Summary:
In this project you will finish your project from last time, building out
a more complete arcade style scroller game.
Details:
In this project you will begin to work on an old fashioned side-scroller
style arcade game. Last time we had a small feature set to make sure you
had a chance to get to know your tools and refresh your python. Now we are
going to add more actual functionaliy to your game.
Functionality:
For this part, build an arcade library
based 2d game with
- a side scrolling background
- a player avatar that moves up and down the screen in response to
keyboard movement.
- The ability to 'shoot' by sending some sort of attack to the other
side of the screen
- use a keyboard key to send the shot
- Every time the 'shot' is fired, play a sound
- You should allow the player to fire no more than once a second
- there should be enemies
- enemies should initially spawn in about one every couple of seconds.
- at first have there be one kind of enemy
- The enemies should die when hit by the shots
- the enemies should fire occasionally.
- the enemies should die when hit by the player shots
- when enemy dies the players score should go up
- Player loss
- when the player is hit by the enemy or their shots the player should
be defeated.
- stop the game
- put up a message mentioning the loss.
- escalation
- after a certain amount of time (or enemies beaten) escalate the game
- make things go faster
- and add a second kind of enemies (with a different visual look)
which take two hits to defeat. (and is worth more score points.
- grad students only: when this second
type of enemy takes its first hit, change the visual look to
represent the damage
- score
- Sounds
- have sounds for
- players firing
- enemies firing
- player being hit
- enemies being hit
- losing the game
- winning the game
- winning
- if the player defeats 60 enemies, declare the player the winner
- stop the game
- display a win message.
- Grad students only: after a win or a
loss, offer the user the chance to restart the game.
- if the user chooses quit - close the
window
- if the user chooses restart, then
reset the game (without closing the window) and start it again.
use whatever theme you want for this so long as it is appropriate for me
to show your work in class.
Additional Requirements/Constraints:
- Make sure that all of your assets (sounds and images) are in a sub
folder separate from the folder with the code.
- Make sure that the asset loading code works on all platforms - and don't have any hard coded paths. I'm
not gonna go try it on your machine.
- Include, either in comments at the top of your main code file or in a
separate readme file if your main code directory the following
information
- how do I use your program, what keys do I used to move? what key do
I use to fire etc. If there is anything left undone let me know that
as well.
Submission:
zip up your entire project directory, including the asset subfolders, and
submit the zip file online (probably using blackboard)