Treachery
A retro horror shooter about surviving waves of the dead in a walled graveyard. I made it alone, designing the enemies, weapons and progression and making every model and animation on screen, shown through a PS1-style look.
- Role
- Solo developer
- Discipline
- Game, 3D, Animation
- Year
- 2026
- Tools
- Unity, C#, Blender, Custom shaders
- Links
- Code on GitHub

Treachery plays like an arcade shooter from the late 90s: hold the graveyard, survive the wave, spend what you earned, and go again. Difficulty scales with each wave, so the decisions between rounds matter as much as the aim during them.

Enemies that behave differently
Each enemy type runs on its own state machine on top of Unity’s NavMesh, with distinct movement and attack behaviour, so a wave isn’t just more of the same thing. Root motion drives attacks and hit reactions, where the animation itself needs to move the body. Everywhere else, the AI stays in control of position.

Spending souls
Progression runs on souls collected from the dead. They buy weapon upgrades, perks and temporary consumables, so every wave cleared is also a decision about what to build toward.

Making it look like 1998
The PS1 look comes from a custom rendering pipeline rather than a filter. Vertices snap to a low-precision grid so models jitter the way they did on original hardware. Textures use affine mapping, so they warp across large polygons. Vertex colour tinting does the lighting work that the console couldn’t afford to do per pixel.
Animation
I modelled and animated all 22 weapons, enemies and props in Blender. Each gun has idle, fire, reload and draw animations, with procedural recoil and muzzle flash layered on top in engine. Blend trees in the Unity Animator handle the transitions between weapon states and enemy movement.
Where it’s at
It’s a playable prototype. Wave combat, enemy AI, weapons, progression and the rendering pipeline all work together. Next are more enemy types with their own behaviours, new level themes, better audio and a performance pass. After that, balancing, co-op and a Steam release.