Exam Game Project Golf!

KIT109 Exam game project; Student ID: 584774.

Basic Controls:

  • Click and hold to shoot.
  • Turbo for (limited) speed boost with Space bar (Cooldown Added).
  • Press Q to return to main menu/title screen at any time.
  • Press R to retry/reset the level at any time.
  • Use 1-9 keys to auto-switch between levels:
  1. Normal Controls
  2. Black Holes
  3. Maze and Cinemachine
  4. Breakable Door
  5. Checkpoints
  6. Tripwire Door
  7. Sticky Walls
  8. Homing Missiles
  9. Free Choice (not implemented)
  10. Free Choice (not implemented) (press 0)

Goal of the Game:

  • Reach the goal (Green Hole) to win with less number of swings.

List of Features Implemented:

Core Functionality (all levels):

  • Implemented the Ball aiming and shooting mechanics.
  • Implemented the Ball aiming line.
  • Implemented the Ball sunk/Golf Hole .
  • Implemented the Ball reset if it is off screen.
  • Implemented the Ball stopping when touching the ground and at low speed (in my code I put 0.01 as the threshold (could be changed)).

Extra Functionality (all levels):

  • Visual style and feel: Following the example futuristic retro style and feel.
  • Turbo boost Implemented with a bit of cooldown. It will change the trail color when pressed/used.
  • Divot particles when ball is shot is implemented.
  • Trail changes color when turbo is on (from red to blue).
  • Post-processing is implemented for all of the level, added bloom and color grading to match the feel and style of futuristic retro.
  • Sound effects are implemented for ball is shot and ball is sunk to the hole.
  • Music plays throughout the whole game and doesn't stop or restart when level is changed.

User Interface (all levels):

  • Title screen with level select are implemented. Made a small change to the SceneSwitcherKeys script to make the audio and score display work.
  • In-game UI: Total shots, current hole shots, current hole number and par for this hole are implemented. Added the case where the total shots are set to zero when starting at Hole 1 (level 1).
  • Start of level text: Display a message for 2 seconds: hole number, brief description of that level's mechanics are implemented. (not animated).
  • End of level text: Display a message for 1.5 seconds after sunk. Message should be from a random set ("well done!", "great!", "weird!"), plus how far over par they are using terminology in the given table are implemented. (not animated).

Level 1 – Default

  • Functionality: Simple level with no modification is implemented.

Level 2 – Black Hole

  • Functionality: Sucks the ball towards it and is fun to play are implemented.
  • Visual style: Used an appropriate sprite for the blackhole (credit below).

Level 3 – Maze Level + Cinemachine

  • Level is created with a Tilemap (Tilemap sprites are from KIT109 tutorials).
  • Cinemachine: Camera follows ball in this level and looks ahead of ball's movement direction are implemented.

Level 4 – Doorway Triggered by Hits

  • Doorway disappears after being hit 3 times by the ball is implemented.
  • Visual Feedback: Doorway gets redder and redder on each hit.. is implemented by changing the color each collision.

Level 5 – Checkpoints

  • Checkpoints: Wall disappears after 3 checkpoint objects have been triggered is implemented.
  • Visual Feedback: Each checkpoint changes color after being hit (from yellow to red) is implemented.

Level 6 – Doorway Triggered by Tripwire

  • Doorway disappears when another object (NOT the ball) intersects the tripwire . Reappears if the object is no longer intersecting the tripwire. Are implemented.
  • Visual Feedback: Line renderer representing tripwire, and changes color when tripwire is intersected (from white to red) are implemented.

Level 7 – Sticky Walls

  • Ball stops moving/stick when it hits a any wall/ground is implemented.

Level 8 – Homing Missiles

  • Turret aims at player, and fires rockets when player is near, once every second are implemented.
  • Missiles seeks the player and graphics rotate toward the player are implemented.

Level 9 – Free Choice 

Not implemented.

Level 10 – Free Choice

Not implemented.

Credits (For Assets):

Credits (For Codes):

Most of the codes are from my own previous project (Pong Game and Into the Mist game project) and KIT109 Tutorials code.

The code for the music are based on: https://stackoverflow.com/questions/73057875/how-do-i-keep-my-music-going-betwen... which help me figure things out.


Leave a comment

Log in with itch.io to leave a comment.