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>
This commit is contained in:
1 parent
c5b7896609
commit
7f4324abca
17 files changed
+1390
-30
No files matched your search
@@ -37,6 +37,7 @@ An original dungeon management game (genre: dungeon building & defence) that run
|
||||
## Menus, savegames, settings
|
||||
- **Title screen** (Continue, New Game, Load, Settings, Help) and **pause menu** on Esc (Resume, Save, Load, Settings, Help, Main Menu)
|
||||
- Savegames as **JSON** (`*.dcsave`, format tag + version, ~300 KB): **save = download**, **load = file picker or drag & drop** onto the game window
|
||||
- **Server savegames** (savegame service in `server/`, shared list without accounts): save under a name / overwrite / load / delete in a list page; the game checks `api/health` at start and **falls back to savegame files** when the service cannot be reached (e.g. local HTML)
|
||||
- **Autosave** in the browser (localStorage) every 2 minutes and when the tab is hidden/closed; "Continue" on the title screen
|
||||
- Settings: language + sound, camera (rotation/zoom speed, edge scrolling, invert mouse), graphics (tile outlines, wall detail, light sources, interface size), game (speed 1×/2×, hints), **key bindings** (conflicts swap keys; Esc and arrow keys are fixed)
|
||||
- Settings are stored in the browser **and** in every savegame; loading a savegame **always applies** its settings
|
||||
|
||||
Reference in new issue
Block a user