Final Project: Space Invaders

advertisement
Final Project: Space Invaders
Progress Report
Game Overview

Similar to “Space Invaders”

Player control a ship at bottom of screen

Collection of enemy ships advancing

Destroy enemy ships before they hit player’s
ship or bottom of screen.
Implemented Classes

addSprites


initState


Used to initialize and give sprites specific properties (Scale,
Location, Rotation).
advanceFrame


Used to add sprites to the screen.
Used to continuously call handleInput and handleCollisions
changeLevel

Resets gamestate and changes scoring/enemy speed
Implemented Classes, cont.

handleInput

Interprets mouse movement and keyboard input.



handleCollisions






Moving ship
Firing bullets
Detects for collisions between enemy ships and walls
Player ship and enemy ships
Enemy ships and all walls
Enemy ships and bullets
Player ships and enemy bullets
initBullet

Creates a bullet to be fired at location of player ship
Theme Development

General Path
used to make
player ship and
enemy ships looks
like space ships.

An image of space
will make-up the
background to
give a more
immersive feel.
Level Progression


Not yet implemented.
As player progresses through levels




Enemy ships move faster
Enemy ships fire more bullets
Player receives more points per enemy
ship
No end to levels—game gets harder and
harder
Scoring

For each enemy ship destroyed, the
player will earn the number of points
equivalent to the level he is on.



Level 1: 1 point per enemy ship
destroyed
Level 4: 4 points per enemy ship
destroyed
Level 31: 11 point per enemy ship
destroyed
Documentation

Writing documentation as methods are
written to accurately and thoroughly
annotate code.
Demonstration
Game Demo
Problems Encountered



Making formation of enemy ships
move as one.
When player destroys a ship, score
continuously increases
Need to find a good solution for what
to do with enemy ships and bullets
when they are destroyed
Anticipated/Expected?

Knew making the enemy ships move
as one would be the first obstacle.

The score problem was unexpected.

The ship/bullet problem is something I
knew I would run into.
State of Problems

Made ships move as one (while still being
independent sprites) by assigning each a
tracker and simply looping through the
formation to adjust velocities/locations
simultaneously.

Other two are still outstanding problems.
Believe they are related.

Bullet stays where it intersects the enemy ship,
so the collision occurs over and over each time
handleCollision is called
Progress Evaluation

Are you on track according to your timeline?


What parts of your project are delayed?


Reassess timeline to have basic game, extra features, and debugging
completed by end of week.
Has the scope of your project changed? If so, how and why?


Basic games features are almost complete.
What steps are you taking to get back onto your timeline?


Dealing with destroyed ships/bullets is trickier than expected.
What parts of your project are on time?


The implementation of advanced game features.
Why are they delayed?


A few days behind timeline.
The scope and goal of the project is exactly as stated in proposal.
Do you expect to complete your timeline by the due date?

Yes.
Project Evaluation


Game Functionality - 200 points
Most basic game functions entirely correctly - 100 points

Movement and firing of bullets from player ship.

Side-to-side movement and advancement of enemy ships as one unit.

Enemy ships destroyed and score added when bullet intersects ship.

Correct implementation of levels. Faster enemy ships

Enemy ships firing back more.

Enemy ships worth more points.
Project Evaluation, cont.

Some simple enhancements made - 50 points


Enemy ships randomly firing back at player ship.
Ship's color acts as gauge of life: green to red


So allow player to be hit more than once.
Several simple enhancements or 1-2 complex
enhancements made - 50 points

Enemy ships, other than the formation, flying quickly
downward for added difficulty. Will fly off bottom of the
screen if not destroyed, player will not lose for this.
Questions?
Download