Files
dungeoncraft/docs/ROADMAP.md
T

7.7 KiB
Raw Blame History

Roadmap

Agreed on 2026-11-05. Worked through in this order; every block is committed, pushed and deployed on its own. Details not listed here are decided along the way.

1. Open items – done (v202611-00035)

  1. Heroes attack every master – with rival masters or several players, each hero wave marches to the heart of the strongest living master (most creatures and gold), not only the player's.
  2. Co-op campaign offline with an AI partner – "League against the Lightwatch" playable without the server: the partner is an allied AI master with its own dungeon (built like a rival); its creatures join attacks and it sends gold when the player runs short.
  3. Resume editor co-op runs – an interrupted multiplayer run of an editor campaign goes on at the reached mission; the host keeps the progress.
  4. New screenshots – title demo, language dropdown, co-op campaign.

2. Bridges – done (v202611-00036)

Stone bridges over lava exist already (75 gold per tile).

  1. Wooden bridges burn – fire spells, fire traps and dragon fire set them alight; after a few seconds they collapse and units on them fall into the water. Stone bridges are fireproof.
  2. Drawbridge – an expensive bridge (about 150 gold per tile) with a per-bridge switch: manual (a click raises or lowers the whole bridge) or automatic (rises when heroes come near, lowers afterwards). Knights can only tear it down while it is lowered.
  3. Cooling lava – frost spells and frost traps turn lava into walkable obsidian for a while.
  4. Repairing bridges – imps repair damaged bridges; knights wear bridges down step by step instead of in one blow.

Built as: src/bridges.rs (fire, wear, drawbridges, obsidian), the Drawbridge tool (click: down → up → automatic) and the Frost spell (lava → obsidian for 40 s); the frost glow trap keeps lava next to it cooled.

3. The surface world – done (v202611-00038)

  1. Surface terrain – grass, trees, paths, daylight and sky. Trees act like earth: imps fell them.
  2. Wood – a second resource. Above ground it comes from trees (plenty: a fortress is besieged there), underground from giant mushrooms in caves and by the water (scarce, slowly growing back, so few wooden doors down there). Wooden bridges, wooden doors, siege engines and room upgrades cost wood; iron and magic doors and stone bridges still cost gold.
  3. Raising walls – imps can raise a wall again on the player's own empty floor, for gold, so tunnels can be closed and doors placed where they matter.
  4. Fortresses above ground – walls, towers, a gate, a clearing with torches.
  5. Siege weapons – heroes bring battering rams (against doors) and catapults (against towers); the player builds his own siege engines in a workshop.
  6. Missions – the last mission of the main campaign (M30) and of the co-op campaign (M20) lead to the surface: the dungeon half lies in the rock (gold and more), the other half is a forest with the High Marshal's fortress to destroy. Free play and multiplayer get a map option "Surface". The map editor gets the new terrain.

Built as: src/wood.rs (wood, giant mushrooms), src/walls.rs (the wall tool), src/surface.rs (sky layer Map::sky, forests, cliffs and cave mouths, clearings around fortresses), src/siege.rs (rams and catapults: in hero waves from wave 4/6, buildable with a forge). The fortresses above ground are the knights' usual fortresses (fortress.rs) in a clearing. Final missions: campaign M30 and co-op M20; free play, versus matches and editor random maps have the option "half above ground".

3b. Music – done (v202611-00039)

Six more underground tracks and a block of six surface tracks: the same leitmotif brighter and in major, synthetic birdsong and wind, flute leads and harp arpeggios. The music follows the camera (surface or underground) with a crossfade.

Built in tools/compose_music.py (instruments flute, bird and wind; birds and wind on two extra channels only in surface songs, so the older pieces stay byte for byte the same): build16-19, battle9-10, surface1-4, surface_battle1-2; audio::Category::Surface / SurfaceBattle, chosen in MusicDirector when most of the camera's surroundings lie above ground (4 s crossfade).

4. Additions

Status: creature abilities (personality.rs: an ability per creature at level 3-7, used by itself) and creature relationships (likes, hates, brawls) existed already. Done in this block so far: bosses (src/bosses.rs: four champions of the Order lead every fifth wave - Sir Aldric's shield wall, Dame Seraphine's radiant burst, Brother Halvard's call to arms, Captain Rothgar's charge - with a health bar and loot), statistics (src/stats.rs: counters and a chart at the end of a game) and achievements (src/achievements.rs: 64 of them, kept in the browser and merged with /api/profile on the server after a login; the menu page Achievements), room levels 2 and 3 (researched in the library once every tool is known: +25% per level, brighter, gold trim) and random events (src/events.rs: earthquake, lava or water over the banks, a new gold vein; every 8-12 minutes in free games and versus matches, switch in the game settings; the host's choice goes to every client with "events" in the create message) and wild beasts (src/beasts.rs: dens of cave bears and giant beetles in the caverns of bigger random maps; neutral like the dwarves; beaten while a prison has room, a beast gives in and joins), traders (src/traders.rs: every ~10 minutes in single player a merchant waits a minute at an own portal; a click with the hand buys rune plans, an ember wyrm, a chainbreaker, wood or a mana potion) and seasons (snow above ground in winter, pumpkins at Halloween, from the real date).

  1. Random events – earthquake (tunnels cave in), lava eruption, flood, gold vein found. Rare (every 8–12 minutes), free play and multiplayer only, can be switched off in the menu; in campaigns only through new script blocks.
  2. Creature abilities – from level 5 every creature has an active ability (ogre stomp, spider web, mage chain lightning, ...), used automatically and wisely, with a cooldown.
  3. Bosses and elite heroes – every 5th wave brings a boss hero with a health bar at the top, an ability of its own and loot (gold, runes).
  4. Wild beasts – beasts in caves (cave bears, giant beetles, ...) that can be tamed in the prison and become creatures.
  5. Room upgrades – rooms can be upgraded to level 2 and 3 for gold and wood (a library that researches faster, ...), shown by ornaments and brighter light.
  6. Creature equipment – the forge makes weapons and armour in tiers (iron, steel, rune); creatures fetch the best fitting piece themselves, the strongest first; equipment is visible.
  7. Creature relationships – creatures like or hate each other, quarrel, and work better with friends; the lair shows who likes whom.
  8. Dungeon visitors – neutral traders and smugglers come through the portal and sell rare traps, runes or creatures for gold.
  9. Dynamic music – procedural music that changes between calm and battle and swells when heroes come.
  10. Tutorial mission – an interactive introduction with Crookfinger (digging, rooms, creatures, traps), built with the editor and script blocks.
  11. Statistics – charts at the end of a game (gold over time, creatures, kills, buildings; for every player in multiplayer) and lifetime totals in the profile.
  12. Achievements – 50+ achievements with pixel badges, including hidden and humorous ones in Crookfinger's style and progress bars, stored per user on the server.
  13. Seasonal events – cosmetic touches by date (pumpkins at Halloween, snow on the surface in winter, ...).