← Back to Professional Projects
Professional UE5 Blueprints Lead Programmer In Development

Little Red Hunter

The second game in production for Ayo Games Studios — a roguelite action game currently in pre-production. I serve as Lead Programmer, building the core gameplay systems from the ground up.

Timeline

2025 — TBA

Role

Lead Programmer

Studio

Ayo Games Studios

Engine

Unreal Engine 5

Genre

Roguelite Action

Status

Pre-Production

Purpose

Little Red Hunter is the second title in production at Ayo Games Studios, and my first project as Lead Programmer. Where Shattered Melodies taught me how to work within a team's production pipeline, Little Red Hunter is where I'm responsible for defining it — architecting the core systems that every other programmer and designer will build on top of.

The game is a roguelite action title, which places specific demands on the systems underneath: health and damage need to be reusable across any actor, turrets need to be configurable without touching code, inventory and pickups need to feel responsive, and boss encounters need distinct visual identity. Every system is built modular first so the team can extend it without breaking what already works.

This project also represents my first time managing a 22 GB shared codebase across multiple branches — coordinating the Git workflow, reviewing systems written by teammates, and ensuring the architecture stays coherent as the team grows.

Implementation

Each system was designed with extensibility in mind — built to be attached, configured, and extended by the team without modifying core logic.

  • 01 — Boss Enemy Health Bar
    Dual-Widget Segmented Health System Built with two widget blueprints — WBP_BossHealthBar manages the overall UI container, while WBP_BossHealthSegments dynamically populates and updates segments based on the boss's current HP. Each segment fades or depletes as thresholds are crossed. The system is fully modular — designers set total health, segment count, and visual style per boss without touching Blueprint logic.
    ▶ Watch Clip
  • 02 — Item Pickup Notification & Inventory
    Layered UI with Actor Component Backend Item notifications are added to an array, animated to fade in and out, and display the item's name, icon, and current count. The inventory is managed through an Actor Component that communicates with the UI widget — ensuring consistent updates whenever items are collected. Designed so any actor can own the inventory component without custom wiring.
    ▶ Watch Clip
  • 03 — Health & Damage System
    Modular Actor Component Built as a modular Actor Component that initializes health on Begin Play and processes incoming damage. Attach it to any actor — player, enemy, destructible object — and it handles the full health lifecycle without modification. Provides the foundation for the game's combat loop and interfaces directly with the boss health bar and damage feedback systems.
    ▶ Watch Clip
  • 04 — Modular Turret System
    360° Configurable Bullet Streams Supports up to 10 bullet streams with adjustable firing speed and rotation. Uses a modular 360° spawn system with parameters for stream count, rotation direction, fire rate, and difficulty scaling. Projectiles curve toward the player, creating dynamic hazards that scale naturally across roguelite difficulty tiers without additional Blueprint logic per turret variant.
    ▶ Watch Clip
  • 05 — Enemy AI & Strafing
    Behavior Tree with EQS Strafe Logic Enemy AI built with Behavior Trees for state management — patrol, engage, and strafe states. EQS (Environment Query System) drives strafe positioning, selecting valid lateral positions relative to the player to create reactive, tactical movement. Paired with hit registration via capsule collisions for weapon and body interactions.
    ▶ Watch Clip
  • 06 — Opening Cutscene
    Sequencer-Driven Intro Cinematic Built using UE5's Sequencer to choreograph the opening cinematic — camera cuts, character blocking, timed audio events, and environmental animation. Triggers on game start with a full input lock, handing control back to the player cleanly on completion.
    ▶ Watch Clip
  • 07 — Quest System Rebuild
    DataTable-Driven Quests & Dialogue Substantially rebuilt an inherited Blueprint quest system: DataTable-driven quest identity, a modular BPC_QuestManager, a rebuilt WBP_Dialogue widget with a typewriter text effect, and a reworked NPC interaction loop — so designers can add or edit quests through data rather than new Blueprint graphs.
    ▶ Watch Clip
  • 08 — Moon Phase Mechanic
    13-Phase Lunar Modifier, Data-Driven A lunar-cycle system from the studio's Technical Design Doc: a 13-entry E_MoonPhase enum (Full Moon, Blood Moon, Blue Moon, Hunter's Moon, Eclipse, and more) drives an ApplyPhase() function that looks up the matching row in a DT_MoonEffects DataTable and broadcasts an On Moon Phase Changed event dispatcher, so any system — UI, AI, the Stat Component below — can react without polling. Each row carries its own player/enemy stat modifiers and enemy behavior tags via a shared struct. Currently phase-testing with a random roll on Begin Play; wiring the real trigger (room-cleared count or boss room entry) is next.
    ▶ Watch Clip

Impact

As Lead Programmer, every core system in Little Red Hunter runs through my architecture. The modular component approach means the team can extend any system without breaking existing functionality — a direct application of lessons learned from Shattered Melodies.

8

Core Systems Built

22GB

Shared Codebase

Lead

Programmer Role

UE5

Blueprints + GAS Roadmap

Media Gallery

Takeaway

Little Red Hunter is where the lessons from Shattered Melodies get applied at a higher level. On Shattered Melodies I built systems within someone else's architecture. On Little Red Hunter I am the architecture — every decision I make about how components communicate, how data flows, and how systems stay decoupled determines how well the rest of the team can work.

The shift to Lead Programmer also means thinking about code differently. A system isn't done when it works for my use case — it's done when a designer can configure it, another programmer can extend it, and neither of them needs to ask me how. The modular Actor Component approach for health and inventory came directly from that constraint.

Managing a 22 GB shared codebase across multiple branches has also been a significant technical growth area — coordinating Git workflow, handling merge conflicts across systems, and keeping the main branch stable while features are in progress. That's a different kind of problem than writing good code, and it matters just as much in production.

←
PreviousShattered Melodies
Back toProfessional Projects
→