Naja Medjai, by Jaster Studios
An Ancient Egyptian "Soul-like" experience, take the control of the titular "Cobra-Warrior" in a bright, painterly world where the gods wrath has been brought down to bare. Platform, grapple and explore the world as you encounter the God's of Egypt in order to bring peace and order back to the land.
I served as the lead AI and gameplay systems programmer on Naja Medjai. My primary responsibilities focused on building the project’s technical foundation, including:
Designing and implementing a modular AI framework using scalable, state-driven logic for multiple reactive boss encounters.
Developing a weight-based decision system for dynamic behaviour selection, supporting variety and intensity across fights.
Creating a ScriptableObject-based combat architecture, enabling flexible tuning of stamina, animations, damage, and attack logic.
Integrating inverse kinematics and procedural animation systems to ground character movement and enhance immersion.
Tying VFX to combat through aligning the visuals into meaningful and customizable triggers via script logic and trigger / bounds manipulation.
Implementing a SaveManager and persistence framework, centralising state management with flexibility across gameplay systems.
I received feedback highlighting my technical leadership, reusable architecture, and engineering discipline. This project demonstrates my ability to deliver robust, maintainable systems with a strong focus on gameplay feel, modularity, and cross-disciplinary collaboration.
My Contribution To Naja Medjai
AI System
Finite State Machine with Utility-Based Decisions: AI engages in states based on player actions.
Technical Animation
Kinematics used to provide procedural animation for the legs of Player Mounts and Enemies.
Gameplay
Respawns, Enemy Spawns, Collectables, Combat Areas, Diegetic Player Guidance, Player Controlled Mount.
VFX Implementation
VFX implemented into combat through highly customizable and flexible script components.
Combat System
Polymorphic communication between characters through triggers and animation events.
Data Management
Generic Type Save System to simplify the saving of any required data.
