top of page

Ashenford

Teaser pusblished by my teammate Matthew Tamatti

About

An FPS action-horror experience set in the aftermath of a small town’s collapse, caused by reckless corporate practices that trigger a devastating local catastrophe. As resources grow scarce and tension escalates, survival depends on quick thinking, careful exploration, and decisive combat.


Throughout the journey, you are guided by a mysterious stranger communicating solely through a radio, offering fragmented information, warnings, and unclear motives. Whether this voice can be trusted remains uncertain, but it may be your only chance to escape the town alive. 

Project Info

Role: Gameplay Programmer/Generalist

Team Size:

Time Frame: 18 weeks (12 weeks dev)

Engine: UE5 (Blueprints)

My Contributions

Smart Enemy AI

Designed and implemented a modular enemy AI system featuring multiple enemy archetypes with distinct behaviors and combat roles. This included heavy tank enemies that move slowly but can absorb significant damage, as well as fast, high-damage enemies with low health that pressure the player through aggressive tactics. Enemies use both sight and hearing to detect the player, reacting to gunfire and footsteps to create more dynamic and believable encounters. A memory system allows enemies to lose track of the player when line of sight or audio cues are broken, preventing artificial omniscience. To improve performance, I implemented a proximity-based activation system using a trigger sphere around the player, ensuring only relevant enemies are active and updating at any given time.

Enemy Variants Ashenford.png

Save & Load System

Designed and implemented a checkpoint-based save and load system to persist player progress across both deaths and play sessions. The system captures the player’s current state when a checkpoint is activated and reliably restores it upon respawn or manual reload. Player data is stored using a structured data model, allowing multiple gameplay variables, such as health, ammo, equipped weapon, and world location to be serialized and restored in a consistent and extensible way.

The system was built with scalability in mind, making it easy to add new variables without refactoring existing logic. This approach improves player experience by reducing frustration after failure while also providing a clean foundation for future features.

Ashenford Save&Load.png

Interaction system

Designed and implemented a checkpoint-based save and load system to persist player progress across both deaths and play sessions. The system captures the player’s current state when a checkpoint is activated and reliably restores it upon respawn or manual reload. Player data is stored using a structured data model, allowing multiple gameplay variables, such as health, ammo, equipped weapon, and world location to be serialized and restored in a consistent and extensible way.
The system was built with scalability in mind, making it easy to add new variables without refactoring existing logic. This approach improves player experience by reducing frustration after failure while also providing a clean foundation for future features.

bottom of page