Commit Graph
15 Commits
Author SHA1 Message Date
Richard ZinkandClaude Opus 5.5 1016ee5d6c Bestiary in the title and pause menu; attacks look bigger with the unit level
- 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>
2026-11-03 15:32:18 +01:00
Richard ZinkandClaude Opus 5.5 d92b45a0b8 Credit Claude Code: note at the top of the README, in CREDITS and the standalone file; pixel-art mark with link next to the licence on title and login screens
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 14:44:28 +01:00
Richard ZinkandClaude Opus 5.5 ea0623fbe3 Campaign of 30 missions: six against the rival masters Mossgrim and Lady Nightwell, islands, mana springs, sealed caves with chained creatures
- 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>
2026-11-03 14:36:45 +01:00
Richard ZinkandClaude Opus 5.5 dd16c684e5 Free game against rival dungeon masters (green, blue) and/or the humans
- 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>
2026-11-03 14:11:23 +01:00
Richard ZinkandClaude Opus 5.5 c9848c8948 User accounts, login before the title screen, own savegames per user, standalone download
- 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>
2026-11-03 13:33:22 +01:00
Richard ZinkandClaude Opus 5.5 f298e13d6e Title screen: licence line and a link to the repository at the bottom
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 13:06:58 +01:00
Richard ZinkandClaude Opus 5.5 036c13577c 3D pixel look follows the window size
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>
2026-11-03 12:13:52 +01:00
Richard ZinkandClaude Opus 5.5 09e22b009e Campaign menu and story: mission list, briefings, goals panel, mission end flow
- 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>
2026-11-03 11:23:44 +01:00
Richard ZinkandClaude Opus 5.5 af6be62805 Touch interface for phones and tablets; category toolbar for mouse and touch
- 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>
2026-11-03 10:10:53 +01:00
Richard ZinkandClaude Opus 5.5 4d1bf30586 3D resolution setting extended down to 1/16
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 09:48:25 +01:00
Richard ZinkandClaude Opus 5.5 7f4324abca Server-side savegames: Rust service with a shared savegame list in the menu, fallback to files
- 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>
2026-11-03 09:31:36 +01:00
Richard ZinkandClaude Opus 5.5 50d013bb28 UI in device pixels on the character grid with fixed integer font sizes, ASCII bars; 3D render scale for a pixel look
- 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>
2026-11-03 08:42:50 +01:00
Richard ZinkandClaude Opus 5.5 903d6fb0f4 Defence towers: arrow (piercing), cannon (splash + knockback), magic (mana, slow, chain); 3 levels, repair by imps, heroes attack towers; torture/temple room tools prepared
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 07:47:50 +01:00
Richard ZinkandClaude Opus 5.5 f710a19351 Configurable map size (64-256, non-square), one portal per 64x64 tiles, guarded treasure caves, glowing dig-mark blocks
- 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>
2026-11-03 06:34:09 +01:00
Richard ZinkandClaude Opus 5.5 fb7dab3683 Title screen, pause menu, settings dialog and savegames
- 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>
2026-11-02 23:08:33 +01:00