top of page
QlJv4p.png

Silver Lining

Silver Lining is a 2D side-scroller narrative-driven puzzle-platformer game that follows the story of a lone robot in a deserted post-apocalyptic world where humans have gone extinct. After a rough awakening, the robot finds itself in a pit, alone in this meaningless world. Pondering the purpose of its existence, it decides to begin a journey traversing the world to find a purpose for its existence. Although the robot has to face many obstacles, puzzles, and challenges throughout its journey, it doesn’t give up in hopes that it could find a silver lining in this meaningless world.

​

Silver Lining was developed by HalcyonGames, a group of passionate student developers from UOW Malaysia.

Project Info

Silver Lining was developed as part of UOW Malaysia's Game Project Studio 1 subject during the September 2022 semester.

Genre: Puzzle, Platformer

Engine: Unity

Platform: PC

Team Size: 7 (3 Programmers, 3 Artists, 1 Designer)

Duration: 3 months

My Role & Responsibilities

Lead Programmer:

  • Worked on player mechanics  such as the movement and death system

  • Worked on level mechanics such as obstacles, interactable objects and puzzles

  • Implemented a highlight to indicate objects that can be interacted

  • Made a Quick Time Event system (QTE)

  • Implemented UI for button prompt pop-ups to indicate which key input to be pressed

  • Collaborated with Lead Designer on level design for stage layouts to utilize game mechanics

  • Worked with Artists for asset implementation

  • In charge of the Tech Documents such as the Technical Document and Technical Feature List

Game Trailer

QTE System

This is the Quick Time Event System I implemented where if the player is in proximity of objects with the tag "QTE", a button prompt UI will appear to indicate the player to tap 'E'. 

qte sl.png

The code snippet is a simple implementation of a QTE system where pressing the "E" key increases the progress which is what the fillAmount variable is for, and failing to press it within a certain time frame decreases progress that is the timeThreshold variable. If the progress reaches a certain threshold which is set to 1 in this case, the QTE is considered successful and triggers the animations. This code snippet here is specifically for the rubble but the same logic applies for the statue falling as shown above where the changes are only the tag for the game object and sound effect. 

​

Object Interact and Highlight

This is the interact mechanic where if the player is close enough to an interactable object, it will highlight it as an indicator for the player. When they are in proximity a button prompt UI will appear showing the 'E' key and and in this case, once it's pressed the gate opens. For this, there are two (2) separate scripts for the highlight and for the gate to open.

ebox.png
gate.png

These are the code snippets to make:

1) Object highlight - When the player is within the trigger zone, in this case the game object with the tag "EBox" it will highlight but this implementation uses another sprite that is high in contrast. It means that the highlight is using an animation. 

2) Gate opens - The player presses 'E' when they are in the "Ebox" trigger zone to open the gate and once they do the gate will play an opening animation which removes the collider thus allowing the player to pass through.

​

These are used throughout the entire for other interactable objects and uses the same code logic.

Level Design

5o3LPW.png
silver sewer.png

These are the levels that I assisted my Lead Designer with for its design in order to utilize the game mechanics. The purpose of this was to ensure the puzzle element was within the game that challenges the players to really think and visualize the complexity of it.

bottom of page