top of page

Striking Hell

Role: Programming Lead

Technology: Unity, C#

Duration: 9 Months (2023-24)

Studio Size: 50 (approx.)
Programming Team Size: 10 (approx.)

My Contributions:
- Coordinated a team of 11 student programmers to develop and implement various assets, gameplay mechanics, and artistic vision
- Core movement mechanics, dialogue system, player animation implementation
- Collaborating with other leads to estimate timelines and write requirements/tasks

Player Movement

The first iteration of this system was a naive and fragile system where each ability player had its own script with no over-arching system that controls the interaction between the different abilities being activated. Each core movement mechanic was their own script with a PlayerInput() function for the player input system to start the movement. This was completed for the MVP build to test the core mechanics and was planned to be iterated on after the MVP deadline.


This caused problems since the lack of an encapsulating system to control the behavior of the movement attempting to rapidly input multiple inputs the player movement would behavior unpredictably. Additionally, the requirements for the system grew as we developed more movement mechanics so I also needed to accommodate those.


The second iteration began with a manager that tracked the current active movement to control condition checking for the input system to activate certain movements. Each movement also contained a CancelAction() function they needed to implement to ensure a way to safely end the movement and transition to any other movement. Additionally, I separated out different common movements like dashing or sliding as multiple movements had the same underlying movement but had slight adjustments.

© 2025 by Nelson Lieu. Powered and secured by Wix

bottom of page