Knight
MeleeShield up, steady blade. The all-rounder.
Godot 4.7 build
An endless-wave dungeon brawler, rebuilt from the browser original in Godot 4.7. Same arena, same numbers, same torchlit feel — with the lighting and the interface fixed. These are captures from the current build.
Four heroes, two slots. The plaque on the left carries the numbers straight from the original's balance table — health, damage, speed — and the roster art is the same pixel chrome the game draws.
Shield up, steady blade. The all-rounder.
Big axe, bigger swing. Slow but it lands like a mountain.
Two knives, no patience. Fastest hands in the dungeon.
No sword. A bolt of raw arcane that bursts where you point.
The whole arena, built procedurally from the original's seeded generator — a 12 × 12 grid of floor tiles with a weighted variant mix, perimeter walls with pillars and a doorway, eight mounted torches with flickering lights, banners, spike traps, and a raised dais with a chest.
Clear a wave and you choose one of three upgrades. Cards are rolled from the original's weighted table, and the frame colour tells you the tier before you read a word.
The port is functionally complete and running. Ten systems, each in its own module talking over a shared event bus, plus a test suite ported alongside the code.
10,911 lines across 17 scripts, plus 4,259 lines of tests. Assets: 31 models, 37 audio files, 193 UI images.
All 325 tests passing across 15,732 assertions, and the project boots with no warnings. The world layout is verified tile-for-tile against the browser original, and the character loading pipeline keeps every model at the same 1.9-unit scale with its equipment variants stripped at runtime. Lighting was the last real defect: every light in the port was two to five times too bright, because the two engines disagree about what a colour means — that is fixed, and it is why the stone finally looks like stone.