top of page

Create Your First Project

Start adding your projects to your portfolio. Click on "Manage Projects" to get started

Ninja 2

Genre / Platform

Asian-inspired First-Person Shooter | PC

Engine & Language

Unreal Engine 5 | C++ (Raw implementation)

Role

Sole Programmer & Game Designer

Key Systems Built

Modular AI Controller, Custom State Machine, Weapon Handling System.

Ninja 2 is an Asian-inspired First-Person Shooter (FPS) developed as a student project using Unreal Engine. This project focuses on using raw C++ implementation over the built-in Blueprints visual scripting. The core technical achievement is a custom-built Finite State Machine (FSM) designed to manage complex AI lifecycles. This system handles dynamic state transitions and the decision-making logic for multiple concurrent enemies, allowing for distinct behavioral states such as patrolling, tracking, and engaging the player. This project serves as a demonstration of scalable C++ architecture and efficient enemy management in a real-time environment using Unreal Engine 5.

Implementation: I used an Abstract State Class and State Transitions to manage enemy behavior. This allowed each state (Patrol, Search, Attack) to be its own object, keeping the code clean and adhering to the Single Responsibility Principle.

Scalable Architecture: By using a C++ FSM instead of Blueprints, I reduced visual clutter and created a template that allows new enemy types to be added with minimal code duplication.
The dynamic transition logic resulted in enemies that feel more "intelligent," significantly increasing player engagement by forcing players to use stealth and movement to break enemy tracking.

Contact me

1.png
bottom of page