Files
NullDepth/specs/NULL_DEPTH_TECHNICAL_ARCHITECTURE.md
T
2026-08-27 20:42:45 +02:00

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čí:

  1. doplniť objekt do wwwroot/data/game.json,
  2. doplniť nameKey, descriptionKey a texty interakcií do oboch lokalizácií,
  3. uložiť 16:9 obraz pod cestu uvedenú v image,
  4. pridať exit z existujúcej miestnosti.

Zásah do C# alebo Razor kódu nie je potrebný.