KIT107 Exam Game

Controls

  • Aim the shot with the mouse.
  • Hold down the left mouse button to charge the shot.
  • Release to fire the shot.

External Assets

Background sprite by upklyak on Freepik. Found online at: https://www.freepik.com/free-vector/destroyed-buildings-city-street-after-war_98...

Tank sprites by 2D Game Art on Pinterest. Found online at: https://www.pinterest.com.au/pin/779967229211531567/

Explosion sprites found at Kids Can Code. Found online at: https://kidscancode.org/blog/2016/09/pygame_shmup_part_10/

Bullet sprites by bevouliin.com on OpenGameArts.org. Found online at: https://opengameart.org/content/bullets-game-asset

Arrow sprite by Glisa at Clean Png. Found online at: https://www.cleanpng.com/png-computer-icons-left-arrow-918411/

Feature List

The following is a list of all the features that have been attempted:

Core Functionality (all levels) 14%
4 Projectile shooting Shoot towards mouse (1 mark). Shot strength depends on how long you hold down the mouse button for (1 mark). Projectile is shot once button released (1 mark). Projectile follows a ballistic trajectory, i.e. like a ball thrown through the air (1 mark).
2 Projectile aiming line Line shows direction of shot (1 mark). Line length represents shot strength (1 mark).
2 Projectile collisions Projectiles collide with the terrain, obstacles, and the enemy (1 mark). Projectiles create an explosion at a predefined radius (1 mark).
2 Projectile damage / enemy health Projectiles do damage based on the distance between the collision point and the enemy. A direct hit should kill the enemy (1 mark) and the enemy should not be damaged if outside the explosion radius (1 mark). 
2 Ammo The player should start each level with 10 ammo (1 mark). Each shot should reduce the ammo count by one (1 mark).
2 Level completion / game over The level ends in two ways: when the player has run out of ammo (and the enemy is still alive) (1 mark), and when the enemy's health has been depleted (1 mark).

Extra Functionality (all levels) 7%
4 Visual style and feel Game is aesthetically pleasing, and levels play well.
1 Trail Projectile has a trail (1 mark).
2 Post processing Effect (or effects) matches overall visual style of game (2 marks).
User Interface (all levels) 15%
5 Title screen with level select Can be same or separate scenes (note that if using separate scenes, SceneSwitcherKeys script will need to be modified -- see exam lecture).
2 In-game UI The enemy's health is visually shown (1 mark). The amount of ammo remaining is visually shown (1 mark).
3 Start of level text Display a message for 2 seconds: level number and title (1 mark), brief description of that level's mechanics (1 mark). Animated (1 mark).
3 End of level text 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 statistics about how many shots were needed to finish the level (1 mark).
2 Game mechanics locked Can't aim (1 mark) or shoot (1 mark) while the start or end level text is being shown.
Level 1 – Default 2%
2 Functionality Simple level with no modifications.
Level 2 – Black Hole 2%
2 Functionality Sucks projectiles towards it (1 mark), and is fun to play (1 mark).
Level 3 – Homing Missiles 5%
4 Functionality Projectiles move on normal (i.e. ballistic) trajectory for one second (1) and then starts homing towards the enemy (1 mark). Turning towards the enemy should be gradual (1 mark) and homing missiles should not exceed original projectile's initial speed (1 mark) -- this isn't realistic, but is more fun to watch.
1 Visual Feedback Homing missile should have a visual representation of the change from ballistic movement to homing movement (1 mark).
Level 4 – Shield 4%
2 Shield Enemy has a shield that must be hit three times (1 mark) before enemy can be destroyed (1 mark).
2 Visual feedback Shield shows a different visual representation for EACH level of "health" (2 marks) OR Shield displays in text how much health it has remaining (2 marks).
Level 5 – Moving Bouncy Barriers 3%
2 Moving bouncy barriers Moving barriers follow a predetermined path (1 mark) and cause projectiles to bounce of them appropriately (1 mark).
1 Correctly resetting Barriers only reset when level is reloaded, not after each shot (1 mark). 
Level 6 – Cluster Bomb 6%
2 Functionality When projectile hits the terrain (or the enemy), it explodes as normal (1 mark), but releases five extra projectiles in random directions and velocities (1 mark).
2 Spawning Action Extra projectiles always move generally away from the surface that the main projectile hit (2 mark).  For example, if hitting a horizontal surface while moving downwards, they all go somewhat upwards, if hitting a vertical surface while moving left, they all go somewhat right.  More technically: spawned projectiles are created with velocities whose angles are no more than 90 degrees away from the contact normal.
2 Extra projectile functionality Each extra projectile functions just like a smaller version of the main projectile both visually (1 mark) and in functionality, i.e. smaller projectile and smaller explosion radius and damage (1 mark).

Leave a comment

Log in with itch.io to leave a comment.