1.8 KiB
1.8 KiB
NULL DEPTH — technická architektúra
Stack
- Blazor WebAssembly standalone
- .NET 10 / C#
- HTML/CSS fullscreen UI
- JSON obsah bez backendu a databázy
- browser localStorage pre save a settings
Princíp
C# obsahuje iba všeobecný engine. Herný obsah je dátový:
Input / kliknutie
→ GameService
→ zmena GameState
→ autosave
→ Razor znovu vykreslí miestnosť
Súbory
Game/GameService.cs načítanie dát, pohyb, flagy, save
Models/GameModels.cs dátové modely
Pages/Home.razor fullscreen obrazovky a overlaye
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
RoomDefinition
Každá miestnosť má ID, lokalizačné kľúče, súradnice, obraz, voliteľný alternatívny obraz, exits a interakcie. Exit môže vyžadovať flagy a mať lokalizovanú správu pri zamknutí.
Interakcia môže:
- vyžadovať alebo zakazovať flagy
- nastaviť flagy
- pridať predmet
- 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.
Rozšírenie hry
Pri pridaní miestnosti stačí:
- doplniť objekt do
wwwroot/data/game.json, - doplniť
nameKey,descriptionKeya texty interakcií do oboch lokalizácií, - uložiť 16:9 obraz pod cestu uvedenú v
image, - pridať exit z existujúcej miestnosti.
Zásah do C# alebo Razor kódu nie je potrebný.