← All Posts

EchoQuest v0.24.0: Generator Polish — Every Cave, Ruin & Interior Comes Alive

Last week we shipped the big map generator overhaul — 4-layer rendering, three new map types, semantic buildings. This update is the follow-through: bringing every non-dungeon generator up to the same visual quality level that made dungeons feel alive. Caves, ruins, and interiors now have the same template-driven decoration, corridor detail, and profile-driven tuning that dungeon crawlers have enjoyed since v0.22.

Caves: From Empty Tunnels to Atmospheric Chambers

The Cave generator used cellular automata to carve organic tunnel networks, but the tunnels themselves were empty. Now every tunnel has stalagmite formations along its walls, scattered bones and debris on the ground, and flickering torches where someone — or something — has been before.

Chambers get typed based on their characteristics: the largest chamber becomes the entry, the furthest from it becomes the treasure room, and if the cave has an underground lake, the second-largest chamber sits alongside it. Each chamber type pulls from its own decoration template — treasure chambers get a chest surrounded by pillar formations, large chambers get flanking stalagmites with bone scatter, and small chambers stay sparse with minimal scatter.

Two new atmosphere presets round out the experience: Crystal Cave bathes everything in a blue-purple ambient glow, while Lava Cave casts orange-red light with falling ash particles.

Ruins: Corridors That Tell a Story

Ruins always had the right bones — BSP room placement, wall decay, grass encroachment. What they lacked was life in the corridors. Hallways between rooms were just empty floor tiles with the occasional cobweb on the north wall.

Now ruin corridors have wall-mounted torches with proper spacing, ground debris (broken stone, scattered vines, bone fragments), and overhead decoration on all four wall directions — not just north. Cobwebs hang from corners, banners drape from intact walls, and moss trails down from above.

Room decoration follows the same template system as dungeons. Entry rooms get stairs and flanking torches. Treasure rooms feature a central chest with pillars. Normal rooms have scattered barrels and broken pillars. A “ruined” variant cranks the debris density up for rooms that have been hit hardest by decay.

The Overgrown Ruins atmosphere preset adds a green-tinted ambient with light fog — ancient stones slowly being reclaimed by nature.

Interiors: Rooms with Purpose

Interior maps (taverns, shops, temples, houses) had a basic style system with four hardcoded decoration sets. It worked, but every tavern looked the same, and there was no decoration in doorways or hallways between rooms.

The new system maps each interior style to specific room decoration templates. A tavern’s main room gets barrels tucked into corners and crates stacked along the north wall. A shop lines its walls with goods. A temple has flanking pillars and glowing braziers. Storage rooms are packed floor to ceiling with crates and barrels along every wall.

Doorway areas — the spaces connecting rooms — now get light scatter decoration instead of being bare tile. And if no decoration template exists for a room type, the generator falls back to the original hardcoded STYLE_DECOR, so nothing breaks.

Two new atmosphere presets serve indoor spaces: Cozy Interior with warm amber always-on lighting for friendly establishments, and Dark Interior with barely-there illumination for hostile or abandoned buildings.

Profile-Driven Everything

Every decoration value — torch spacing, debris density, cobweb chance, pillar frequency, overhead decoration rate — reads from the map profile with a hardcoded fallback. This means:

  • Generating without a profile produces identical results to before (backward compatible)
  • Content editors can tune decoration density per map without touching code
  • Subtype presets (Crystal Cavern, Crypt, Temple Ruins) can each have distinct decoration feels

The ProfileResolver now computes a unified _derived.decoration block for all map types, making it trivial to add new decoration parameters as the generators evolve.

12 New Flavor Texts

Caves, ruins, and interiors each got a set of flavor text entries that appear as you explore. Enter a cave and read about the darkness swallowing light beyond the threshold. Step into a ruin and learn about weathered stone arches that once framed a grand entryway. Walk into a tavern and catch the smell of stale ale and wood smoke. These small touches make each generated space feel authored, even though it’s procedural.

This update closes the visual quality gap between dungeons and every other generated environment. From here, every new cave, ruin, and interior we generate benefits from the full decoration pipeline automatically.

Try the EchoQuest Demo — free in your browser. Full game coming to Steam.

Learn more about EchoQuest →