DESCRIPTION
ONAR is a 3D fighting game inspired by classic PS1-era fighters, built in Unity. It’s designed to be pick-up-and-play while introducing mechanics that reward strong defence and timing.

At the core of the game is the Depth Block system: correctly predicting direction and blocking builds a Depth Meter, which accumulates attack damage and converts defensive play into offensive potential. Tournament mode adds a belt-based progression system where higher ranks amplify damage output when paired with Depth Meter progress.

ROLE
I was the lead programmer on a three-person core team, working closely with the director/designer and animator. My focus was implementing the gameplay, AI, UI, and state systems that define how ONAR feels to play.

KEY CONTRIBUTIONS
- Implemented core combat systems, including player input handling, attack logic, and timing, with an emphasis on responsive and readable feedback.
- Built enemy behaviour systems covering attack routines, evasion, and proximity-based decision making.
- Integrated character animation into the logic of the gameplay, ensuring smooth transitions and timing in combat.
- Implemented match and round progression systems, handling state transitions to avoid edge-case bugs during combat flow.
- Developed in-game UI systems , including a data-driven command menu that dynamically loads character move lists at runtime.
- Added adaptive UI behavior to the command menu, where move icons adjust based on the player's position.
- Implemented custom UI logic and sound cues to reinforce player feedback during combat and menu navigation.
- Contributed to balance and design discussions by translating ideas into actionable, testable gameplay changes.

CHALLENGES
ONAR was my first full game and the biggest Unity project I’d taken on at that point, so it was a huge learning experience. Fighting games are unforgiving — small timing issues or unclear feedback show up immediately — and I had to learn quickly how changes in one system could affect everything else. A lot of the challenge was tightening combat feel across animation timing, AI behaviour, UI feedback, and match flow, and gradually ironing out edge cases through constant playtesting. It was demanding, but also incredibly rewarding to see the game come together and ship.

TECHNICAL
- Unity (C#): Combat systems, input handling, AI behaviour, state management, and UI systems
- Animation Integration: Aligned gameplay timing and logic with animation requirements for smooth transitions and readable combat
- UI Systems: Data-driven command menu, adaptive UI behaviour, and gameplay-linked feedback
- Development Approach: Iterative tuning through frequent playtesting and close collaboration with design and animation
SCREENSHOTS
TRAILER

You may also like

Back to Top