top of page

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

bottom of page