top of page

Chiyo

Created using Unreal Engine 5.3.2

Platform : PC Windows

official_launch.jpg

Links

GAME INTRODUCTION:

Chiyo is a first-person hardcore escape room horror game set in Japan's Edo era. As Idate Chiyo, a paranormal investigator possessing supernatural abilities, you are tasked with investigating an abandoned mansion and unveiling a family's dark history and it's ultimate secret.

​

​

​

What I worked on

Notable things I worked on:

  • Mains Puzzles

    • Familial Emblem - Rotate 4 dials into the correct position.

    • Creeping Malice - Player will have to collect all the Gong parts and assemble the Gong.

    • Dancing Shadows - Weeping angel style puzzles where the puppet will pose and follow the player, and player will have to light up the correct candle to proceed.

    • Corrupted Effigies - Player will need to collect the missing statue's parts by cleanse painting, then assemble it onto the 3 Headed Statue, a beam will appear and player have to rotate the statue to cleanse other evil statue. 

​

  • Assisted Puzzles

    • Matrimony Tokens - Use clue to find out which 4 items need to be placed onto the altar.​

    • Scared Zodiacs - Use the hint in the game to rotate 8 dials into the correct position.

    • Visage of the Patron - Place 8 statue in the correct location.

​

  • AIs

    • Asuke - Tutorial AI that guide player, escort mission NPC. ​

    • Puppet - Weeping Angle style AI, follows player and stop when looked at.

​

  • Sequencers

    • Worked with designers on setting-up sequencer or cutscene for the game, created functions and Blueprints for designers to setup sequencer based on sight, triggers, conditions.

​​​

  • Widgets

    • Subtitles ​- Subtitles used in cutscene or gameplay. 

    • PlayerHud - Player interaction crosshair.

​

  • Gameplay

    • Player Interaction​- Player interaction system, movement system.  

    • ScrySight - Highlight items based on Line Of Sight and range.

​

Challenges & Solutions

Profiling and Optimizing 

  • Challenges: Performance Bottlenecks
    • ​Identifying areas of the game or specific function that are causing performance issues was one of the challenges, some issues only occurred when ​brings into the main level or when built.

  • Solutions: Profiling tools and Unreal Insights

    • Learned to use unreal built in profiling tools to detect where the performance spikes are and analyze its CPU & GPU usage to optimize in that areas, and avoid dependent on using Tick, utilize delegate and timer for more performance. â€‹

​

Debugging 

  • Challenges: Debugging Across Codebase

    • Challenges on coordinating puzzle logic that spans multiple actors or components managed by different programmers, and debugging across interdependent code when a bugs appear. â€‹

  • Solutions: Consistent coding styles 

    • Work together with other programmers to figure out the source of the bugs, and learn to improve on error handling on where potential error might occur, use event dispatchers to handles interactions between puzzle elements and reduce interdependencies between actors. 

​

Code Maintainability & Readability

  • Challenges: Code Complexity

    • As the puzzle logic becomes increasingly complex with numerous interdependencies between different actors and components. â€‹

  • Solution: Break down puzzle logics, Error handlings, code structure and documentation

    • Adhering to consistent coding styles, commenting and documenting code interdependencies, be descriptive for version controls system to effectively track changes. â€‹Refactor code to eliminate redundant or convoluted logic, organize and comments codes with a consistent styles and exercise error handling for easier debugging.​

​

Game Trailer

Game Screenshot

Mechanics Showcase:

Asuke AI

Asuke.gif

Asuke AI serve as a guidance for player both in teaching player what to do and the narrative of the story. Its function similar to those RPG escort mission where player need to be in certain range for the AI to move, otherwise the NPC will stop and wait for the player to catch up.  

Familial Emblem

Family Chest.gif

Familial Emblem act as the first challenges for the player to solve, it teaches the player to search for clue whether it is by picking up items or notes, player will zoomed in to focus on the puzzle when interacted with the chest, then player control switched to cursor interaction, player can rotate the dials and once the sequence is correct, it will automatically open. 

Creeping Malice

LoopingPuzzle.gif

Creeping Malice is the first puzzle to introduce threat, where a ghost will roam around the locked off area while player try to find pieces to solve the puzzle, the objective of this puzzle to to find all the missing gong pieces and assemble it onto the gong's stand, and hit it with the mallet, when player is putting in either the gong's plate or rope, the puzzle will check if the player have other pieces in the inventory and automatically use it so the player doesn't need to repeat the action twice. 

Dancing Shadows

ShadowPuppet

Dancing Shadows is a puzzle with an active threat following the player, its mechanics is similar to weeping angel, where it will stop moving when player is looking at it, this puzzle have two main part, the puppet and the candle stand, there are multiple decoy puppets in the room to confuse the player, the player have to tell apart the real from the fake and light the correct candle stand with the poses of the real puppet is making. 

​

The puppet

As describe will follow the player when it is not looked at, it can detect doors and open it, it also will teleport behind the player is there is a valid space behind the player and its been a while since the player looked at the puppet, the puppet will jumpscare the player after a certain time, and as the countdown get lower, the footstep will get quicker to warn the player, the footstep sounds effect is separated into 3 parts, the normal walk, run, sprint. the puppet also changes its face expression and texture as the countdown get lower, these are to help remind player to keep looking at the puppet. When the player is looking at the puppet, it stopped moving, and after a short period, its head will turn toward the player to enhance the creepy factor as well as telling which puppet is the one that the player need to focus on.

The candle stand

The candle stand is scatter throughout the room, the player need to pay attention to which pose the puppet is doing and light the correct candle where the miniature puppet matches the puppet, if lit correctly, the candle will stay lit and the puppet will change to different poses, and player will have to repeat the process until all the correct candle is lit, if the wrong candle is lit, a blowing out candle sound effect is played and all the candle will become unlit, the poses of the puppet will reset as well, there is a chance where the puppet will jumpscare the player when lighting the wrong candle. 

Corrupted Effigies

SlidingDoor.gif

Corrupted Effigies ultimate objective is to cleansed the evil statues by using the 3 headed statue, but the 3 headed statue is missing some parts, the player will need to find the missing pieces by cleansing cursed painting which depict which part it will give the player, the painting shows 3 wise monkey "see no evil, hear no evil, speak no evil" which correspond to the missing parts. The puzzle can be separated into 2 part, assemble the 3 headed statue and cleansing the evil statues.

​

Assemble the 3 headed statue

Once the first painting is cleansed, the puzzle will start, the Geisha AI will be teleport into the room chasing the player will the player search for the rest of the missing pieces. Once the player found all the pieces, the player need to assemble it onto the 3 headed statue by clicking on the specific part on the statue and choose the correct piece to attach.

​

Cleansing the evil statues

Once the 3 headed statue is assembled, it will shoot out a beam and the player will need to rotate the statue to point the beam at the evil statues, the evil statues is hide behind a series of sliding door, so the player will need to open up the doors to have a clear line of sight to cleanse the evil statues. 

​

The beam

The functionality of the beam is heavily reference from one of the previous game project 'Other Life', I referenced back at the code and tweak it to fit into the current project, it is a compact version of the beam from 'Other Life', it have the function to extend or reduce the length and can be blocked by certain channels and interact with them.

​

bottom of page