Games · Roguelike dungeon crawler / personal project

RogueDnD

A turn-based roguelike with tabletop rules: every floor is generated from a seed, hidden under fog of war, and full of loot, locked chests, traps and fire that spreads. Two action points per turn decide whether you move, strike, kick or drink a potion, and every choice counts.

2 AP per turn
Godot 4.3 C# Procedural generation A* pathfinding
Role
Solo developer
Status
Playable prototype
Platform
Windows

How a floor plays

You wake up on a new floor of a dungeon you have never seen before. The rooms, corridors and dead ends are built fresh from a seed each time, and everything outside your torchlight stays hidden until you walk there. Somewhere on the floor are the stairs down, and every step you take lets the monsters take theirs.

  • Two action points per turn: moving, attacking, jumping, kicking, drinking a potion and even changing gear all cost points, so a turn is always a small decision
  • Monsters that hunt you: enemies wander until they see you, chase you while you are in sight, and search the last place they saw you when you break line of sight
  • Tabletop stats: Strength, Dexterity, Constitution, Intelligence, Wisdom and Charisma drive damage, accuracy, dodging and health, and every level up gives you points to spend
  • Weapons with shape: a spear pierces a line, a great axe sweeps a cone, a war hammer smashes an area and a bow shoots across the room. Every hit knocks the target back a tile, and a kick pushes enemies where you want them
  • Loot in five rarities, from Common to Legendary, with random stat bonuses that get better the deeper you go. Twelve equipment slots, dual wielding with a quick hand swap, and a recycle button that turns junk into scrap
  • Locked chests and coloured keys: red, blue and green keys open chests of the same colour. Fallen enemies drop what they carried, and barrels break open when you hit them
  • Traps and fire: hidden traps fire in patterns when you step near them, and some set the floor alight. Fire spreads to nearby tiles each turn before it burns out

Under the hood

The dungeon generator overlaps pairs of rectangles into irregular rooms and joins them with winding corridors that branch into dead ends, where the chests are hidden. Walls pick the right tile automatically from their eight neighbours. The fog of war checks line of sight with Bresenham lines, remembers explored tiles in a darker shade and feeds a live minimap.

Movement uses A* pathfinding across eight directions with per-tile movement costs. Before you click, the game draws the path as animated dots and shows its action-point cost next to the cursor, so you always know what a move or an attack will cost. Enemies take their turns at the same time and settle any collisions mid-move, which keeps rounds quick even with a full floor.

The game is written in about 8,000 lines of C#. Systems talk through a central event bus instead of holding references to each other, and items, weapons and armour are Godot resources that can be imported in bulk from a spreadsheet. The feel comes from tweens everywhere: lunging attacks, springy knockback, floating damage numbers, flickering torches and randomised sound effects.