KIT109 Exam Game
Controls
Hold left mouse to load a projectile into the slingshot, release mouse button to fire.
Goal
Destroy as many slimes and blocks as possible, while using the minimum amount of ammo.
Sources
All art by Liam Quin: Quin, L. (2023). No Title. Unpublished.
Sounds from pixabay.com (accessed on 13/06/2023):
Pixabay. (2023). Slime Jump (Sound ID 6913) [Audio file]. Retrieved from pixabay.com/sound-effects/slime-jump-6913 Pixabay. (2023). Punch (Sound ID 140236) [Audio file]. Retrieved from pixabay.com/sound-effects/punch-140236 Pixabay. (2023). Magic Spell (Sound ID 6005) [Audio file]. Retrieved from pixabay.com/sound-effects/magic-spell-6005
Song: "Small Reminders" by Patricia Taxxon: Taxxon, P. (2017). Small Reminders [Recorded by Patricia Taxxon]. On album The Anthill. Retrieved from https://patriciataxxon.bandcamp.com/album/the-anthill
Homing.cs script written by ChatGPT (written on 16/06/2023): ChatGPT. (2023). Homing.cs script [Computer script]. Unpublished.
Features section written by ChatGPT (written on 16/06/2023): ChatGPT. (2023). Features section [formatted]. Published in this document.
Features
Core Functionality (all levels)
Projectile Shooting - Holding the mouse button down loads a projectile in the slingshot. The projectile moves to where the mouse is located. When the mouse button is released, the projectile shoots approximately through the mouth of the slingshot.
Projectile Aiming Constraints - The projectile can't move beyond a certain radius from the mouth of the slingshot. It can only be aimed inside the bottom-left quadrant of a circle of the same radius.
Projectile Movement - The projectile follows a ballistic trajectory, similar to a ball thrown through the air.
Projectile Collisions - Projectiles collide with the terrain, obstacles, and enemies.
Projectile Damage - Projectiles that hit an enemy directly kill it, except for Level 6 where the enemies have shields. Direct hits on a block break it.
Broken Blocks and Dead Enemies - Objects in the level that have been killed or broken are immediately destroyed. Alternatively, killed or broken objects no longer interact with other non-destroyed physics objects but remain visible. These objects also don't interact with each other, but still hit the terrain.
Next Turn - The next projectile can be shot once the previous one has either hit the ground or after 5 seconds have elapsed.
Ammo - The player starts each level with 5 ammo. Each shot reduces the ammo count by one. On levels with special projectiles, the first 2 ammo are of the special type and the remaining 3 are normal projectiles.
Level Completion / Game Over - The level ends either when the player has run out of ammo and some enemies are still alive, or when all the enemies have been killed.
Extra Functionality (all levels)
Visual Style and Feel - The game is aesthetically pleasing and the levels play well.
Trail - The projectile has a trail.
Disappearing Blocks / Enemies - Broken blocks and killed enemies fade out or disappear after a short time.
Fall and Debris Damage - Enemies can also be killed by rapidly falling blocks or by a fast collision with the terrain, but they can survive small bumps and falls.
Lindsay-Mode - Pressing L drops a large heavy boulder on the play area containing blocks and enemies, acting as a projectile. The boulder can appear anywhere over the play area at random.
Post Processing - The effect or effects match the overall visual style of the game.
Sound Effects - Audio is present when the projectile is shot, when it hits a block, and when an enemy is killed.
Music - Music plays throughout the entire game. The music doesn't stop or restart when the level changes.
User Interface (all levels)
Title Screen with Level Select - The title screen has a suitable background and a way of jumping to all levels through the UI.
In-game UI - The amount of remaining ammo is visually shown, along with the type of each ammo in order.
Start of Level Text - A message displays for 2 seconds at the start of each level, showing the level number, title, and a brief description of that level's mechanics. The message is animated.
End of Level Success Text - A congratulations screen is displayed for 3 seconds after a level is completed. The message comes from a random set of messages. It shows a final level score, calculated as follows: 100000 – (10000 * ammo used) + (1000 * enemies killed) + (100 * blocks destroyed).
End of Level Failure Text - A failure screen is displayed for 3 seconds after all ammo is used without killing all enemies.
End of Game Text - A congratulations screen is displayed after all levels are completed, showing the total cumulative score from all levels. This screen remains until the player chooses to return to the main menu.
Game Mechanics Locked - Aiming or shooting is not possible while the start or end level text is being shown.
Level 1 - Default
Functionality - This is a simple level with no modifications.
Level 2 - Bomb
Functionality - The projectile explodes upon collision, affecting all physics objects within its explosion radius.
Visual Style - An appropriate particle system or sprite-sheet animation is used.
Level 3 - Multi-shot
Functionality - The projectile splits into three when the spacebar is pressed. The two new projectiles have similar trajectories to the original one, but one diverges to the left and the other to the right.
Extra Projectile Functionality - Each extra projectile functions visually and functionally like the main projectile, hitting objects and damaging enemies.
Level 4 - Homing Missiles
Functionality - The projectiles follow a normal (i.e., ballistic) trajectory for one second, then start homing towards an enemy. The turning towards the enemy is gradual, and the homing missiles increase speed as they move towards the enemy.
Visual Feedback - The homing missile has a visual representation of the change from ballistic movement to homing movement.
Level 5 - Moving Bouncy Barriers
Moving Bouncy Barriers - Moving barriers follow a predetermined path and cause projectiles to bounce off them appropriately.
Correctly Resetting - Barriers only reset when the level is reloaded, not after each shot.
Level 6 - Enemy Shields
Shield - Enemies have shields that must be hit three times before the enemies can be destroyed.
Visual Feedback - The shield shows a different visual representation (e.g., health bar, colored shield, etc.) for EACH level of "health", or each enemy displays in text how much health it has remaining.
Level 8 - Cinemachine
Level Introduction - The level is larger and the camera initially shows the entire level for one second before focusing on the "slingshot" area.
During Play - After the projectile is fired, the camera frames the projectile and all the remaining enemies, but not the "slingshot" area. It continues to do so until the projectiles are destroyed and a new turn begins, then smoothly transitions back to framing the "slingshot" area.
Level 9 - Exploding slimes
Functionality - This level features explosive slimes. When these slimes are destroyed, they explode, affecting all surrounding physics objects within their blast radius.
Leave a comment
Log in with itch.io to leave a comment.