LUMORA – TECHNISCHE ARCHITEKTUR

Godot4.7.2 / GDScript ersetzt Unreal/C++ nach ausdrücklicher Zustimmung des Auftraggebers. Kompatibilitätsrenderer für Windows und Browser ohne Streaminganbieter. Node3D und CharacterBody3D bilden Darstellung und Bewegung, JSON-Dateien ersetzen DataTables, InputMap die Engine-Eingabeaktionen. Terrainkacheln werden geladen/entfernt; nahe Kacheln sofort, weitere schrittweise. Meshes werden aus der Entfernung ausgeblendet. Bewusst grobe eigene Modelle statt Nanite/HLOD. Dies ist eine eigene kleine RPG-Implementierung, keine UE5-Projektdatei.

Source/main.gd: Koordination, Eingaben an Systeme, Kampf, Interaktion, Projektile, Laden/Snapshot.
state.gd: Charakter, Werte, Inventar, Ausrüstung, Ruf, Handel, Herstellung. catalog.gd: JSON-Tabellen. quest_log.gd: Voraussetzungen, Fortschritt, Übergaben, Konsequenzen. Spielerfortschritt liegt getrennt von Nodes in state.data.
player.gd: Körperphysik, Kamera, Roll-/Schwimm-/Kletterbewegung, Gleiter und Reittier. enemy.gd: Sichtstrahlen, Hörereignisse, Navigation, Deckung, Telegraphe, Status und Beute. npc_routines.gd: Tagesabläufe und lokale Hindernisproben.
world.gd: Terrain und Navigation pro64m-Kachel, Umgebungslicht, Regionen, Objektregister. adventure.gd: handverfasster Einstieg, Rettung/Begleitung/Dorfwacht/Wurzeltempel. realm_world.gd: übrige Siedlungen und Dungeons mit Datenparametern. puzzle_art.gd: sichtbare Apparaturen aus persistenten Rätseldaten. atmosphere.gd: Bossintro, Wetter, Mond und Nachtfund.
geometry.gd: eigene Meshes/Materialien, keine fremden Modelle. audio.gd: selbst synthetisierte Instrumenttöne und Geräusche, fünf Audio-Busse. ui.gd/map_view.gd/item_slot.gd: deutsche Canvas-Oberfläche, Karte und Drag-and-drop. presentation.gd: Bildfilter, Texturdetail, Skalierung, Kontrast/Farbanpassung. dev_tools.gd wird ausschließlich bei OS.is_debug_build() instanziiert.
save_store.gd: Schema2, atomare Dateien, SHA256-Umschlag, Backup, MigrationSchema1, strukturelle Validierung und Katalogprüfung. Browserübergabe an web_bridge.gd/LumoraGame; Gastdateien bleiben lokal, Serverübertragung läuft asynchron im JavaScript.

Erweiterung für kooperatives Spielen: session_protocol.gd definiert Akteur, Nonce, Revision, Instanz, Party und Zustands-Snapshot. Diese Grenze ist ein vorbereiteter Vertrag, noch kein aktiver Netzwerktransport. Für 2–4 Spieler müssen Simulation/Inventar/Beute/Questentscheidungen auf einem autoritativen Server ausgeführt und ausschließlich bestätigte Zustandsdifferenzen repliziert werden. Der Server muss Distanz, Besitz, Cooldown und Berechtigung prüfen; accept_intent alleine reicht dafür ausdrücklich nicht. Wiederbelebung benötigt eine bestätigte Interaktion desselben Gruppen-/Instanzraums. Dungeoninstanzen bekommen eigene Zustandsräume. Dedizierter Server darf weder Kontopasswörter noch ungeprüfte Client-Snapshots als Autorität übernehmen. Gruppen, Wiederbelebung anderer Spieler und gemeinsame Welten werden aktuell nicht angeboten.
