DAREN TRINH
Unity Developer | Gameplay Programming | Technical QA
Erwin's Box

Development Cycle
This project was developed in a 3-person team where my responsibilities bridge between 3D modeling, programming, and designing the VFX. Our project had one dedicated Programmer and one dedicated 3D Modeler and I to which I would mostly work on integrating assets into the game and programming the loading system for the game. Throughout the development, one of the problems we've faced was the bottleneck of developing 3D assets to put in our game so the playable version remains as white-box levels.
SceneManager (Synchronous Loading)
The playable version of this game has many puzzles the player is able to complete and we didn't want to just load the next level upon completion, so we came up with a way that narratively made sense to load levels by having the player enter an elevator first before loading the next scene.
This script went through two versions of development in which the playable version ultimately ended up using the first draft. This was due to the fact that the game's initial gameplay loop was drafted as a level based game in which the player would complete a puzzle before loading the next level.
SceneManager (Asynchronous Loading)
The second draft of the SceneManager involved Asynchronous loading due to player frustration at tackling the same puzzle for prolong time before being able to try another level.
The concept was to create an elevator shaft which held multiple floors, each containing four puzzles. This allowed for the player to choose which puzzle they wished to tackle first and change puzzles if they felt stuck. Each subsequent floor would unlock after completion of all puzzles on their current floor. Ultimately this design never made it to a playable version.
The challenge of working on this task was working with our 3D-Modeler to create an entire level structure via white-boxing the laboratory and making adjustments to keep the player relatively engaged between levels.

Testing & Validation
During development, I considered how scene transitions and loading behaviour affected gameplay progression. This involved examining the elevator interaction system, verifying that the intended scenes loaded correctly, and considering potential issues such as repeated interactions, unexpected transitions, and loading delays.
I also evaluated how synchronous and asynchronous scene-loading approaches could affect the player's experience and the overall flow between puzzle areas. Through this process, I developed a better understanding of scene management, technical dependencies, and the importance of validating functionality across different gameplay scenarios.



