Project
- Project
- Veil of Ashes
- Role
- Gameplay programmer intern
- Status
- Internship
Gameplay programming internship
Veil of Ashes is an unreleased UE5 real-time tactics game by Greifenmaer, currently in internal testing. During my five-month internship I worked on gameplay features for the vertical slice, mostly in Blueprints, with some C++. A lot of the work touched Unreal's Gameplay Ability System and multiplayer replication, which made even simple-looking features more involved than normal single-player UE work.
Project note
The main thing I took from the internship was working inside a larger existing UE5 project: understanding unfamiliar systems first, then making changes that fit the GAS architecture and survive multiplayer testing.
Process timeline
Vertical slice work
Most of the work happened in Blueprints, with some C++. The project used Unreal's Gameplay Ability System heavily for client-server gameplay flow. GAS is powerful, but not especially friendly to learn from documentation alone, so a lot of the work involved tracing existing abilities, understanding authority boundaries, and testing behavior in multiplayer builds.
The internship was good practice in reading existing game code, making scoped changes, and debugging multiplayer behavior in a larger UE5 project.
Gameplay systems
One major task was replacing the old control-point setup with larger sectors. The goal was to support clearer front lines instead of scattered single vehicles moving across the map toward isolated points. Since ownership and score data are gameplay-critical, the sector state had to be server-authoritative and replicated cleanly to clients.
The system was implemented in a separate Experience so it could be tested against the old mode without breaking the existing setup, while still using the project's normal replication path.
Feature implementation
The sector work enabled a new unit delivery flow. Instead of spawning units immediately, players build a list of requested units, can still remove them, and then send the order to the server for validation and delivery. This had to preserve responsive client feedback while keeping the actual spawn/delivery logic authoritative.
The feature combined UI, GAS abilities, server validation, replication debugging, VFX, and iteration from PvP playtests.
Internship scope
Alongside the sector and delivery work, I also implemented or reworked smaller features: camera controls, a cheat menu, destructible objects, vehicle terrain deformation, scoring changes, and some VFX. I also helped with internal tests and their evaluation.
The work was a mix of programming, debugging, internal testing, and the practical setup needed around preparing a Steam game.