22 lines
942 B
Markdown
22 lines
942 B
Markdown
# 07 — Game-State-Baum
|
|
|
|
Type: grilling
|
|
Status: open
|
|
Blocked by: 01, 02
|
|
|
|
## Question
|
|
|
|
Wie sieht der Weltzustand als Rust-Datenstruktur aus?
|
|
|
|
Entschieden ist: ein `Game`-Ownership-Baum mit Verweisen über IDs oder Indizes, kein ECS. Zu klären:
|
|
|
|
- Was besitzt was? Wo leben Held, aktuelle Etage, Räume, Gegner, Bodenloot, Questfortschritt?
|
|
- Trennung von unveränderlichen Definitionen (aus Mods geladen) und veränderlichem Laufzeitzustand:
|
|
zwei getrennte Strukturen, oder eine mit Verweisen in den Katalog?
|
|
- Referenzform: `String`-ID überall, oder beim Laden zu `usize`-Index auflösen? Was kostet das beim Speichern?
|
|
- Wo werden aktive Statuseffekte gehalten — am Träger oder in einer zentralen Liste?
|
|
- Welche Operation kämpft absehbar mit dem Borrow-Checker (Gegner greift Held an, während beide im selben
|
|
`Game` hängen), und wie wird das aufgelöst?
|
|
|
|
Ergebnis: Skizze der Structs mit Besitzverhältnissen und Referenzform.
|