How-to: Encounter erstellen
Status: Konkrete Encounter entstehen deterministisch in RunDefinition.Objective; Zusammensetzung und Wellen können über Godot Resources konfiguriert werden.
Zusammensetzung definieren
- Enemy-Definitionen nach Gegner erstellen bereitstellen.
- Für datengetriebene Mischungen
EncounterPatternResource,EncounterWaveResourceund Rollen-Gewichte unterres://Resources/Enemies/pflegen. - Pattern im
EncounterCompositionCatalogResourceregistrieren. Shared-Fallbacks liegen inDefaultEncounterCompositionCatalog. EncounterCompositionBuildermuss für gleichen Seed, Raum und Balance-Snapshot dieselbe sortierte Zusammensetzung liefern.
Die konkrete RoomInstanceId entsteht erst pro Run. DungeonObjectiveDefinitionFactory erzeugt eindeutige EnemyObjectiveDefinition-Einträge mit Definition-, Instance-, Room-, Wave-, Progress-, Boss- und Spawn-Origin-Daten. EncounterSpawnRequestFactory übersetzt Initial-Spawns anschließend sortiert in Laufzeitanfragen.
Raum und Runtime anbinden
- Benötigte
EnemySpawnMarker3D-,BossSpawnMarker3D- und unterstützende Marker mit stabilen IDs/Tags im V3-Template anlegen. RoomEncounterRuntime3Daktiviert das Encounter beim Betreten, betreibt Telegraph/Spawn überRoomEncounterDirectorund bezieht Gegner ausDungeonEnemyPool.WaveIndex, Caps, Reinforcement-Threshold und Inter-Wave-Pause kommen aus Objective undCombatBalanceSnapshot.- Defeats müssen genau einmal an Director, Objective-Tracker, Drop-Schedule und Replay gemeldet werden. Completion öffnet Türen unabhängig davon, ob ein physischer Drop eingesammelt wurde.
Tests und manuelle Prüfung
EnemyCompositionAndDensityTests.cs: Patternwahl, Rollen, Dichte und Determinismus.EncounterDirectorAndBalanceTests.cs: Caps, Wellen, Reinforcements und Completion.DungeonRunDefinitionTests.csundDungeonObjectiveTrackerTests.cs: stabile IDs, Raumreferenzen und Quote.- Manuell im Developer-Run oder in der Balancing-Sandbox: Marker, Telegraph, Pool-Reuse, Doors, Drops und Replay-Ereignisse prüfen.
Serverautoritative Waffenentscheidungen sind aktiv; der vollständige Enemy-/Encounter-Lifecycle wird noch nicht vollständig auf dem Headless-Server simuliert.
Verwandt: Gegner, Boss, Dungeon-Runs.