ADITYA SINHAGAMEPLAY DESIGN + ENGINEERING
← All projects
DESIGN + ENGINEERING

Crimson Knight

ROLEProgramming Lead · Gameplay and AI Designer

TEAM18 person team

DATEDec 2024 – Aug 2025

GENRESouls Style Action RPG

GAME SUMMARY

Crimson Knight is a Souls style action RPG built in Unreal Engine 5, featuring deep melee combat, emergent enemy behavior, and a scalable AI pipeline.

THE DESIGN QUESTION

How do you make a boss learn without making the player feel cheated?

I designed The Absolute to recognize repeated habits, then used readable telegraphs, counterplay windows, and playtests to make that adaptation understandable and beatable.

WHAT I OWNED
  • Led five engineers within an 18 person team, connecting gameplay design, implementation, and production.
  • Owned The Absolute’s Phase 1 and 2 loop: move selection, telegraphs, counterplay, pacing, and playtest iteration.
  • Built the technical design framework with State Trees, GAS, motion warping, and an n gram prediction model.
Crimson Knight game trailer. Watch on YouTube ↗
Phase 1 fight prototype of the Crimson Knight versus The Absolute. Watch on YouTube ↗
BOSS AI & COMBAT CASE STUDY

Adaptive combat.
Fair to learn.

For The Absolute’s Phase 1 and 2 encounter, I paired a modular State Tree with prediction and repeated playtesting. The goal was to challenge habits without creating a boss that felt omniscient.

PRIMARY BOSS STATE TREE

One clear loop, many possible moves.

Every move returns to Root: clear the previous state, read the current context, choose a response, execute it, and evaluate again.

  1. 01
    Cleanup

    Reset movement, rotation, and gravity so each decision begins from a reliable state.

  2. 02
    Evaluator

    Read the predicted next move from the n gram model. I tested n=2 and n=3, then chose n=3 because using the player’s previous two actions made the response feel more intentional while still leaving room to learn and react.

  3. 03
    Distance and resource tests

    Gate the move pool by range, player health, stamina, and sword charges. Sword charges are the player’s primary way to heal, or they can be spent for additional damage, so reacting to them changes the risk of the next exchange.

  4. 04
    Ability Selector

    Choose one scoped move, execute it, then return to Root. Short and long range pools keep the available responses relevant to the current spacing.

WHY THE STRUCTURE SCALES

Add the rule, add the move, reuse the loop.

To introduce a new attack, we add its distance or context rule, place the ability in the selector, and let the shared flow handle cleanup, evaluation, execution, and the return to Root. That made the encounter highly modular and easy to extend without rebuilding the decision logic around every move.

Primary Unreal Engine State Tree for The Absolute showing cleanup, evaluation, distance tests, and ability selection
Phase 1 and 2 decision pipeline. Cleanup → evaluation → context tests → ability selection → Root.
Short and long range State Tree branches showing The Absolute's available combat moves
Distance and resource tests shape the move pool. Range, player health, stamina, and sword charges narrow the available responses before the selector chooses the next move.
DESIGN ITERATION

Problem → decision → player impact

Each change had a clear job: make the boss easier to read, more strategically meaningful, or fairer to learn without removing the pressure.

01 / READABILITY

Turn a threat into a learnable cue.

Problem

The Absolute’s projectile was difficult to read and dodge.

Decision

With limited animation coverage, I slowed the opening, smoothly restored its speed, and added a windup sound that players could learn.

Player impact

Players recognized the dodge window and found several successful evasion routes. The cue taught a response instead of simply lowering the challenge.

02 / COUNTERPLAY

Make adaptation visible.

Problem

Players could not tell when the n gram system was countering a repeated move, so they could not learn from the mistake.

Decision

I added eye and spear VFX whenever a counter began. A brief ignite effect reinforced the consequence if the counter connected.

Player impact

Dodge spam could trigger a fiery stab toward the predicted dodge location. Repeated attacks could make her evade, deny damage, and reengage. Players could finally connect cause and effect.

Predictive AI. The Absolute recognizes a repeating attack pattern and begins to dodge or back away before the next strike.

03 / FAIRNESS

Let a smart boss breathe.

Problem

Early versions countered too many player behaviors, making Phase 1 feel relentless rather than intelligent.

Decision

I added a chance to enter an idle state where The Absolute circles and reassesses instead of countering immediately. That gives players room to read the fight and decide how to reengage.

~10%→~35%Phase 1 success rate after the pacing change
Playtest result

Across two two-hour sessions with roughly 100 middle and high school students, the fight moved from about a 10 percent Phase 1 success rate to roughly 35 percent. Players described it as more balanced and achievable without losing the need to adapt.

SUPPORTING SYSTEMS & LEADERSHIP

Technical design that moved with the team.

The encounter worked because the decision logic, combat abilities, animation, and production plan were built to change together.

AI ARCHITECTURE

Reusable behavior.

Built State Tree flows for patrol, engagement, stun recovery, and evasion, then connected the prediction model to counter selection.

GAMEPLAY ABILITY SYSTEM

Fast content iteration.

Designed a modular Abilities and Effects pipeline for attributes, upgrades, status effects, and boss moves without hardwiring every variation.

TEAM LEADERSHIP

Design into production.

Scoped sprints, assigned work, reviewed code, and translated combat and level design needs into systems the team could build and tune.