
A browser-based multiplayer 4X strategy game built on the HYTOPIA platform — featuring 6 factions, procedural hex maps, 3D terrain rendering, and simultaneous turn-based gameplay.
Crownfall: Shattered Realms is a full-featured 4X (explore, expand, exploit, exterminate) strategy game playable in the browser. Players choose from 6 fantasy factions — each with unique units and abilities — and compete on procedurally generated hex maps through simultaneous turn-based gameplay. The game draws inspiration from the Civilization series while introducing original mechanics like a Royal Council advisor system and an edict-based policy layer.
The game is powered by 14 server-side systems covering the full scope of 4X gameplay:
The 3D client features an orthographic top-down camera with smooth zoom and pan, frustum culling, and a LOD system. Terrain tiles use procedural height deformation seeded from the server — flat hexes for grassland, dome-shaped bumps for hills, 3D cone props for mountains, and clustered tree models for forests. Territory borders, selection highlights, movement overlays, and yield icons are rendered as overlays. City and unit nameplates use HTML/CSS elements projected into 3D space each frame.
The interface spans 22 panels including a resource HUD, minimap, city management, unit actions, full tech/doctrine trees with search and drag-to-scroll, a production picker with building placement mode, and the Royal Council round table. The game includes keyboard shortcuts, sound effects, background music, toast notifications, and mobile touch controls.
The server is structured around a modular system architecture — each game system (combat, movement, visibility, production, etc.) is self-contained with clear boundaries. Game entity definitions (units, buildings, techs, doctrines, factions) are fully config-driven through an entity registry and requirement validator, making the game straightforward to extend with new content. The simultaneous turn system resolves all player actions atomically, with a countdown timer and ready-status tracking.