
Alive
Alive is a 2D platformer that involves puzzle-solving and stealth. In this game, I've designed the modular trapdoor mechanic where all the doors, escalators can be activated by pressure plates and levers, including requiring a key to unlock the specific door as well. Aside from that, I also implemented that A.I for the stealth mechanics for what designer wanted where all the enemies can't see player under darkness and all of them have a detection meter to determine whether it is able to detect player or no.
Game Engine:
Language Used:
Primary Role(s):
Group Size:
Development Time:
Unity
C#
Gameplay Programmer, AI Programmer, Generalist Programmer
10 (2 Designer, 3 Artists and 5 Programmers)
12 weeks
Character Movements
I used simple methods such as detecting the horizontal axis from the keyboard keys to make character move. Movements also include climbing ladders where it uses collision to detect whether go through wall or no, jumping from character as well.

Enemies Movement and Alert
For enemy movement, I used transforms as an array then adding empty game objects for the patrol spots, then order the owner moves to the target position, once it reaches the last patrol position will start over again. Each patrol has a delay time for the player to sneak past the enemy.
For the alert system, enemy has its own detection meter where if it shows as a question mark with a red gauge, once the gauge is maxed the player will be detected. Player walking, throwing stones will fill up the red gauge because it makes sounds. If the player throws a stone to a specific location, the enemy will move toward the stone for checking the sound source then player will have an extra option to escape. All the sound detection uses a circle overlap with a certain radius to check, and have different values to fill up the red gauge such as throwing stone fills up the gauge more and walking fills a little bit by bit. Enemy instantly spots players if they saw players under the light.

Code Snippet </>

The snippet above is a sample of how enemy detects player using raycasting
Mechanism (Traps, Door, Presusre Plate etc)
I designed all the systems for this separate into 2 groups, one is the triggering mechanism and another one belongs to being triggered mechanism. All sort of triggering mechanism includes lever, pressure plate then being triggered mechanism contains escalator, doors. Both of them can be connected to each other such as pressure plate/lever connecting multiple doors/multiple escalators. I also did an editor visual graph using gizmo drawing to show the lines connecting to the targeted mechanism.

Cyan lines that connected from pressure plate to locked doors.

A figure showing pulling the box to a pressure plate to let the escalator go up
Advance Camera
The camera movement and zooming are situational depending on the room. The camera size and auto-follow are changeable via the unity editor for efficient editing instead of hardcoding. I used a collision box that can pass through to detect whether the player entered the next room, and the collision box can set whether the camera is going to be at a fixed place or auto-follow through the center between the players.

Camera zooming out when players are further from each other
Miscellaneous
I also made a simple checkpoint manager, where the checkpoint is a global variable and whenever any of the players touch the checkpoint will trigger and set the latest checkpoint to the current collision box.
​
Cutscenes manager also under my section, but I didn't have much idea for organizing the cutscenes at first so I actually used a lot of class instead of using the proper way to perform cutscenes.
​
I took care of all the level implementation as well whenever the artist finishes the art assets and designer done with the level design including all the decoration placement, tilesets, lights etc.