Controls: Mouse to shoot projectile, L for Lindsay mode. The goal is to kill all the pigs.

Sources:

Graphics assets and music from https://pymunk-tutorial.readthedocs.io/en/latest/bird/bird.html (bird, background, walls, pigs, and slingshot, background music)

Sound effects from http://soundfxcenter.com/sound-effects/angry-birds/0 (wall hit, pig hit, and bird launch)

All other assets / code was my work.

Features:

Holding mouse button down "loads" a projectile in the "slingshot" (2 marks). The projectile moves to where the mouse is located (2 marks). When the mouse button is released the projectile shoots (approximately) through the "mouth" of the "slingshot" (2 marks).

Projectile can't move further than a given radius from the "mouth" of the "slingshot" (1 mark). Projectile can't be aimed anywhere but inside the bottom-left quadrant of a circle of that same radius (2 marks).

Projectile follows a ballistic trajectory, i.e. like a ball thrown through the air (1 mark).

Projectiles collide with the terrain, obstacles, and the enemies (1 mark).

Projectiles that directly hit an enemy will kill it (except for Level 6 where the enemies have shields) (1 mark). 

Projectiles that directly hit a block will break it (1 mark). 

Objects in the level that have been killed/broken are immediately destroyed (1 mark).

The next projectile can be shot once the previous projectile has either made contact with the ground (1 mark) or after 5 seconds has elapsed (1 mark).

The player should start each level with 5 ammo (1 mark). Each shot should reduce the ammo count by one (1 mark).

The level ends in two ways: when the player has run out of ammo (and some of the enemies are still alive) (1 mark), and when all the enemies have been killed (1 mark).

Game is aesthetically pleasing, and levels play well.

Projectile has a trail (1 mark).

Broken blocks and killed enemies fade out / disappear after a short length of time (1‌ mark).

Pressing L drops a large heavy boulder on the play area containing blocks/enemies and it acts like a projectile (1 mark). Boulder can appear anywhere over the play area at random (1 mark).

Effect (or effects) matches overall visual style of game (2 marks).

Audio when projectile is shot (1 mark). Audio when projectile hits a block (1 mark). Audio when an enemy is killed (1 mark).

Music plays throughout whole game (1 mark). Music doesn't stop or restart when level is changed (1 mark).

The amount of ammo remaining is visually shown (1 mark). The type of each ammo is visually shown in order (1 marks).

Display a message for 2 seconds: level number and title (1 mark), brief description of that level's mechanics (1 mark). 

Display a congratulations screen for 3 seconds after a level is completed (1 mark). Message should be from a random set of messages of your choosing (1 mark). Shows a final level score (1 mark). Score is correctly calculated as follows (1 mark): 
   100000 – (10000 * ammo used) +
   (1000 * enemies killed) + (100 * blocks destroyed)

Display a failure screen for 3 seconds after all ammo is used without killing all enemies (1 mark).

Can't aim (1 mark) or shoot (1 mark) while the start or end level text is being shown.

Level 1: Simple level with no modifications.

Leave a comment

Log in with itch.io to leave a comment.