Back to Portfolio
Gaming

Dynasty Dungeon

Pure HTML5 Canvas roguelike game. Zero frameworks, zero external assets — 100% procedural. Five-element combat system.

HTML5 CanvasJavaScriptProcedural Generation
Dynasty Dungeon

Key Highlights

Zero-asset procedural rendering
Wu Xing (5-Element) combat system
60fps on mobile browsers

The Challenge

Most game side-projects die in the asset pipeline. You spend a week sourcing sprites, another fighting texture atlases, and by the time you have a character on screen the motivation is gone. I wanted to build a complete, playable roguelike without touching a single image file — every visual element had to come from code. The constraint was the point: prove the engine, not the art.

What We Built

Dynasty Dungeon runs entirely on the HTML5 Canvas API — no WebGL, no frameworks, no external assets. Every entity (player, enemies, projectiles, terrain) is a geometric primitive drawn at runtime. The Wu Xing (Five Elements) combat system maps the classical Chinese theory of elemental interactions to attack modifiers and resistances. Under the hood, Spatial Hashing keeps collision detection O(1) regardless of entity count, and an Object Pool eliminates garbage collection spikes that would cause frame drops on mobile browsers.

The Outcome

The game runs at a stable 60fps on mid-range mobile browsers with hundreds of simultaneous entities — something that typically requires WebGL. The procedural generation means no two dungeon runs are identical. More importantly, the engine architecture proved itself: the same spatial hashing and object pooling patterns have since been reused in two other Canvas-based projects. Pure JavaScript, zero dependencies, fully playable.

Gallery

Dynasty Dungeon screenshot 1
Dynasty Dungeon screenshot 2
Dynasty Dungeon screenshot 3