
Wardens of the Rift
A roguelike, tower defence deck-builder game.
The idea
Wardens of the Rift is my long-running solo game project: a 3D tower-defence roguelike deck-builder made in Unreal Engine and C++.
It combines the satisfaction of building a defence with the improvisation of a card game. Each run asks the player to shape a route through procedural terrain, then assemble towers and spells that can survive it. The game has a page on Steam.
Overview
| Category | Details |
|---|---|
| Project Name: | Wardens of the Rift |
| Platform: | PC / Steam |
| Focus: | Deck-building strategy, procedural terrain generation, and large-scale projectile simulation |
| Source: | Private repository |
Built with
- Unreal Engine and C++
- Blender and MagicaVoxel
- Figma for interface and design exploration
Technical Highlights
Procedural Terrain Generator
The map generator combines Perlin noise, Voronoi tessellation, and A* pathfinding to create terrain and route enemies through it.
-
Terrain Generation
- Perlin Noise: Generates smooth and naturally varying terrain features.
-
Path Generation
- Poisson Disk Placement & Voronoi Tessellation: Generates points randomly throughout the map, and connects them in a planar graph using a Delaunay Triangulation.
- A* Pathfinding: Efficiently generates enemy paths between a number of points on the planar graph.
Optimised Projectile Manager
Repeatedly creating and destroying short-lived projectiles adds unnecessary overhead, especially when many towers are firing at once. I built a central manager to simulate large numbers of projectiles efficiently while keeping the tower code simple.
-
Projectile Manager:
- Custom projectile manager supporting high volumes of projectiles across all towers with minimal performance impact.
- Dedicated manager handles all projectiles at once, providing a simple API for other towers to spawn projectiles with.
- Implements function callback system to allow towers to run custom logic relating to the projectile (e.g. to apply status effects, or to apply variable damage based on tower stats).
Screenshots
What I’m exploring
The project is a place for me to keep experimenting with procedural maps, unusual card interactions, enemy abilities, and readable combat at tower-defence scale. I’ll update this page as those systems take shape.