PIANO LOCKPICK MINIGAME
ROLE
Game Programmer
Game Designer
Music
DESCRIPTION
-
Designed level and character controller
-
Programmed piano animations and music
-
Simple player UI and instructions
YEAR
2022
GENRE
Minigame
PLATFORM
PC
GAME DEVELOPMENT ENGINE
Unity
VERSION CONTROL
GitHub (GitKraken)
MINIGAME DESIGN
LEVEL DESIGN
-
Created simple rectangular sandbox level with a sliding door
-
Animated door and programmed it to open if all correct piano notes are played consecutively​
-
Added trigger to animate piano and minute-box to come out of the floor as the player moves towards the door
-
If correct notes are played, the piano and minute-box will fall back through the floor, and the door will slide open
-
-
Added simple UI to instruct the player, and allow them to listen to the notes to be played
​
PLAYER MOVEMENT
-
Programmed simple movement for player using Character Controller component and script​​
-
Player transform is multiplied by input axis when WASD keys are pressed
-
Included player movement to move camera or move away from piano to see how far the ball has fallen in the minute-box
-
Used Cinemachine camera angle to control direction player is facing, controlled with mouse
-
Programmed raycast from the center of the players screen, as indicated by the black dot. This is used to press the piano's keys when clicking
-
PIANO AND MINUTE-BOX MECHANICS
-
Created animations via Mecanim for each piano key press
-
Programmed custom functions to be called on animation events as the piano keys are pressed​
-
-
Designed the minute-box to drop a ball after the player selects a difficulty level
-
Added a physic material to ball to control its friction and bounciness​
-
Friction, bounce, height, width and angle of slopes were all considered to ensure the ball takes exactly one minute to reach the bottom.
-
Added a box collider trigger to check if ball has reached the bottom. If so, game over screen will be displayed
-
-
Programmed Game Manager script to check which difficulty is selected from a List of arrays containing the correct note orders.
-
If the player makes a mistake, they must restart from the beginning of the melody, which can played by pressing E
-
-
Added "Clear Attempt" button to allow player to restart note order
