Major gameplay, UI, and architecture overhaul
Expanded game data model, versioned saves with migration, and robust inventory/archive systems. Added procedural/file-based audio, new overlays (inventory, archive, settings, confirmations), autosave indicator, and improved transitions. Introduced data validation project, updated localization, enhanced accessibility, and revised documentation. Comprehensive refactor for maintainability and user experience.
This commit is contained in:
@@ -7,6 +7,8 @@
|
||||
- HTML/CSS fullscreen UI
|
||||
- JSON obsah bez backendu a databázy
|
||||
- browser localStorage pre save a settings
|
||||
- Web Audio/HTML Audio vrstva s procedurálnym fallbackom
|
||||
- Browser Fullscreen API ovládané zo Settings
|
||||
|
||||
## Princíp
|
||||
|
||||
@@ -24,13 +26,16 @@ Input / kliknutie
|
||||
|
||||
```text
|
||||
Game/GameService.cs načítanie dát, pohyb, flagy, save
|
||||
Game/AudioService.cs ambienty, SFX a live master volume
|
||||
Models/GameModels.cs dátové modely
|
||||
Pages/Home.razor fullscreen obrazovky a overlaye
|
||||
wwwroot/js/null-depth.js audio runtime a fullscreen interop
|
||||
wwwroot/data/game.json celý level a gameplay obsah
|
||||
wwwroot/localization/sk.json slovenské texty
|
||||
wwwroot/localization/en.json anglické texty
|
||||
wwwroot/assets/images/... title a miestnosti
|
||||
wwwroot/assets/audio/... ambience a SFX sloty
|
||||
tests/NullDepth.Validation offline dátové a gameplay testy
|
||||
```
|
||||
|
||||
## RoomDefinition
|
||||
@@ -42,13 +47,22 @@ Interakcia môže:
|
||||
- vyžadovať alebo zakazovať flagy
|
||||
- nastaviť flagy
|
||||
- pridať predmet
|
||||
- uložiť nájdený záznam do trvalého archívu
|
||||
- vytvoriť checkpoint
|
||||
- ponúknuť dátové voľby
|
||||
- spustiť smrť alebo ending
|
||||
|
||||
## GameState
|
||||
|
||||
Ukladá aktuálnu miestnosť, navštívené miestnosti, flagy, inventár, checkpoint a čas uloženia. Save používa kľúč `null-depth.save.v1`; settings používajú `null-depth.settings.v1`.
|
||||
Ukladá aktuálnu miestnosť, navštívené miestnosti, flagy, inventár, archív logov, checkpoint, dokončený ending a čas uloženia. Save používa kľúč `null-depth.save.v1`, ale vnútorná verzia stavu je `3` a starší stav sa automaticky migruje. Settings používajú `null-depth.settings.v1`.
|
||||
|
||||
Nová hra pred prepísaním vyžaduje potvrdenie. Save možno vymazať v Settings. Poškodený alebo budúcou verziou nekompatibilný stav sa nikdy automaticky neprepíše; UI ponúkne jeho explicitné odstránenie.
|
||||
|
||||
Ak je v miestnosti viac dostupných interakcií, `E` otvorí dátovo naplnený picker. Ovláda sa šípkami, Enterom, číslicami alebo myšou.
|
||||
|
||||
Pohyb používa krátky fade, dôležité systémové zásahy alarmové bliknutie a text miestnosti jemný reveal. Každý zápis stavu vyvolá viditeľný autosave indikátor.
|
||||
|
||||
`game.json` definuje aj `items`, `initialItems` a `archive`. Interakcia s `archiveId` pridá záznam do hráčovho archívu a ten zostáva dostupný cez `L` aj po zmiznutí jednorazovej interakcie.
|
||||
|
||||
## Rozšírenie hry
|
||||
|
||||
|
||||
Reference in New Issue
Block a user