Gudenuff Engine – Setsuko Drums of Harmony

Tool Programmer
C++
Custom Engine
12 Members
8 Weeks
Early 2022
PC/PS4

Drums of Harmony is a 2D rhythm-based roguelike, where you as a spirit bard are trying to cleanse evil Yokai in order to save your village from mysterious spirits. Play and move, shoot on the beat to deal with enemies and clear rooms, levels and zones.

Procedural Map Generator

Creating a Roguelike, procedurally generated levels is a key element. We needed this with a lot of control over it, which I was assigned to. I created a module-based interface that generates the level, each module can manipulate the map which is visualized so you can see the changes made per module. Modules can be easily moved, removed, added, and changed which creates a user-friendly interface to create multiple biomes that can be switched per level.

One of the main modules is a Delaunay Triangulation module, which will create triangles between all of the main rooms which can be used to make paths that don’t overlap each other. This combined with calculating the Minimum Spanning Tree allows for a short and optimum path, which was ideal for most of our “biomes”.

Created Modules
BigRoomFilter
ChangeLineState
CollisionExpansion
DelaunayTriangulation
DoorPlacement
Fog
LineOverlap
LineSort
LineToGrid
MinimumSpanningTree
Noise
PresetRoom
RandomLine
RandomRoom
RoomCollision
RoomFiller
RoomLineOverlap
RoomPicker
RoomToGrid
StartEnd
StraightLine

Other Features

Trap Interaction

The game had traps like the crumbling tile and the caltrops which I helped implement into the game. These traps also had to be kept in to count when generating the rooms so the player was not forced to walk over them.

Custom Levels

There are also custom levels in the game that allow for a more controlled player experience. I implemented the option for these into my procedural map generator. This required loading in the rooms and making sure the player is always able to traverse the level wherever they enter.

Engine showcase

roovers.lex@gmail.com
LinkedIn 
Resume