- tabs: creatures, humans (incl. cave dwarves), dungeon buildings and towers, ranks
- every unit at every level: sprite with gear, rank badge, health, attack, range, speed, wage or bounty, what attracts it
- Crookfinger's texts: loving about the creatures, disgusted about the humans (EN/DE)
- projectiles, hit sparks and splashes grow with the attacker's level, with halos from Lv 5 and glow at Lv 9+
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- missions interleaved into one story (EN/DE), new epilogue, map sizes grow to 176x176
- islands in water or lava with treasure and/or a mana spring; rivers at least four tiles wide
- sealed caves with treasure and a chained creature that joins once the cave is claimed
- new goals: rival cores, mana springs, freed creatures
- rival messages name the masters; new progress key for the new mission order
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- One opponent on maps up to 128x128, two on bigger maps; with a chance of one in two one of
them is the humans' gate instead of a rival master
- Simplified rival masters (rival.rs): own soul core and dungeon (lair, treasury to loot) that
grows ring by ring, creatures appear and get stronger over time, guard the dungeon and attack
in groups - the player, the other master or the humans' gate; a fallen core puts the master
out and frees its ground
- The humans attack everybody: waves now and then march on a rival master
- Sides for units: all other sides are enemies; towers and contested ground follow them; the
hand cannot pick up rival creatures; the flag next to a rival core attacks it
- Difficulty (easy / medium / hard) in the New Game dialog
- Colours: green and blue floors, cores, unit rings, minimap, HUD bars of the rival cores
- Victory in free games: every rival core and the gate (if any) destroyed
- Tests for setups, growth and attacks, elimination and victory, humans against rivals
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Service: accounts with Argon2 password hashes and session tokens; the first login creates
the admin (shared savegames of before move to the admin); the admin creates and deletes
users; everybody can change the password; savegames are stored and listed per user
- Game: login page before the title (only when the service is reachable), with licence and
repository link; account page (password, logout; users for the admin); text fields with
Tab/Enter, masked passwords, browser dialog on touch screens; long status messages wrap
- Download Standalone: DungeonCraft.html with the game embedded (built in the Docker image,
served to logged-in users via nginx auth_request); works from file:// without server and
opens downloaded savegames
- Without the service (standalone, local files) there is no login, savegame files as before
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The 3D resolution setting refers to a window 1080 device pixels high; smaller windows use a
proportionally smaller divisor (1/1 stays full resolution). Settings show the divisor in effect.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Title screen: Campaign with the list of the 20 missions (done / open / locked)
- Briefing per mission: story told by old Crookfinger (EN/DE), goals, new tools,
creatures and gold carried over; start button
- In the game: goals panel with progress (click/tap opens the briefing again), the pause menu
has a Briefing entry to read the whole briefing again
- Mission end: next mission / try again and back to the campaign; won missions and the
carry-over are stored in the browser; epilogue after the last mission
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- touch.rs: gesture recognition (tap, double tap, long press, drag, two-finger pan/pinch/rotate)
- Touch mode: Auto (touch device or first touch) / On / Off in Settings -> Game
- Larger interface factor on touch screens, top bar wraps, smaller minimap, fewer messages
- Toolbar grouped into categories with pop-up rows and a menu button, also on the desktop
- Long press shows information or drops held units; double tap with the hand slaps
- Savegame name via the browser's text dialog when the name field is tapped
- Touch help texts (EN/DE)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- server/: small axum service storing savegames as files (1 MB each, 500 MB total, rate limit)
- docker compose: second container with a volume; nginx forwards /api/
- JS plugin: asynchronous HTTP requests polled by the game
- Save/Load open a list page (name field, new, overwrite, load, delete with confirmation)
- Without a reachable service the game keeps using savegame files and the browser autosave
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- text only at 1x/2x/4x times an integer interface factor (auto or 1-4 in the settings)
- high DPI rendering, own 2D camera in device pixels, mouse converted
- toolbar buttons 6 columns, integer icon scale, minimap integer pixels per tile
- all bars (top bar, unit/tower/gate HP) as CP437 block characters
- 3D world optionally rendered at 1/2, 1/3, 1/4 and upscaled with nearest filtering
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- New Game dialog with map width/height (steps of 32), remembered in settings
- map dimensions are per game; renderer chunks, minimap and camera follow them
- content scales with area; grace period grows with the distance to the Hero Gate
- treasure caves with rich gold, guarded by hero squads that hold their post
- marked blocks: translucent yellow box with outline on all edges
- savegame v2: packed run-length encoded tiles (256x256 map ~320 KB), v1 still loads
- tests: savegame round trip on 96x128, 256x256 generation/simulation/save
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- title screen (continue/new/load/settings/help) and Esc pause menu
- settings: language & sound, camera, graphics, game, rebindable keys;
stored in localStorage and in every savegame (always applied on load)
- savegames as JSON (.dcsave): download, load via file picker or drag & drop
- autosave to localStorage every 2 minutes and when the tab is hidden/closed
- configurable wall detail, light count, interface size, game speed, hints
- audio behind a cargo feature so native tests run (cargo test --no-default-features)
- savegame round-trip test
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>