
Gerald Poon
Lead / Principal Game Designer
ARPG / Roguelike
I started this project because I enjoy combat design, ARPGs and Roguelikes. I consider myself quite technical, and wanted to create a combat system from scratch and also learn some modelling, rigging and animation. A friend of mine did the background environment art and I did almost everything myself.
-
Built in Unreal Engine 4.
-
Core combat system written in C++.
-
Features different types of attacks such as melee, projectiles, AoE, DoTs, spawnables (turrets)
-
Support for per action damage / combo windows, input buffer, animation cancelling, slide windows, etc.
-
Targeting system including soft / hard lock lock.
-
Enemy AI, including enemy manager with ticketing /queue system that controls when enemies can attack.
-
All modifiable properties exposed to blueprint for quick iteration.
-
Modelled, rigged, and keyframe animated all characters and enemies in Blender.
-
Set up blend spaces and animation graphs in Unreal Engine.
-
UI design including health bars and combat text.
-
Randomised loot system.
-
Random dungeon generator using BSP.
Random dungeon generator
I researched several different methods to generate random dungeons and decided to use an algorithm known as Binary Space Partitioning (BSP). It guarantees the generation of a bunch of randomly sized and spaced out rooms that do not overlap. This link does a great job at explaining and visualising the logic. After the rooms are generated, I link them together with corridors and perform a bunch of custom logic to add variation such as undulation and areas of interest within rooms and props. Each room is also able to automatically generate enemy spawn points and encounter configurations. I made the system in blueprints. The video above does not use this system yet, but I planned to generate random levels this way.





