Aus dem Betatest vom 09.08.2026 (Build a434e2c, macOS). Quelle: docs/production/hashkrieg/Testberichte/2026-08-09_a434e2c_T-01.md
Beobachtung
„Produzierte Einheiten erschienen magisch am festgelegten Sammelpunkt." — „Panzer und andere Einheiten teleportierten zum Sammelpunkt, statt aus dem Produktionsgebäude zu kommen."
Zusätzlich: „Wenn Einheiten im Gebäude entstanden, glitchten sie durch das Gebäude-Asset nach draußen."
Ursache
ProductionSystem.TryFindSpawnCell beginnt die Ringsuche an der Sammelpunkt-Zelle:
int rallyCellX = Math.Max(0, SimFixed.WorldToGrid(SimFixed.FromRaw(row.RallyXRaw)));
int rallyCellY = Math.Max(0, SimFixed.WorldToGrid(SimFixed.FromRaw(row.RallyYRaw)));
for (int ring = 0; ring <= SpawnSearchMaxRing; ring++) { ... }
Die Einheit wird also am Ziel erzeugt, nicht am Gebäude. Es gibt keinen Weg vom Gebäude zum Sammelpunkt, weil sie diesen Weg nie zurücklegt. Das ist kein Darstellungsfehler, sondern die Simulationslogik.
Erwartung (aus dem Bericht)
- Einheiten entstehen mitten im Gebäude-Asset und fahren beziehungsweise laufen heraus
- Solange keine Toranimation existiert, ist das Durchfahren durch das Asset ausdrücklich akzeptabel
- Später öffnet sich ein Tor, durch das die Einheiten herauskommen
- Der Sammelpunkt bleibt das Bewegungsziel, nicht der Entstehungsort
Umsetzung
Ringsuche am Gebäude-Footprint starten, dann einen Bewegungsbefehl auf den Sammelpunkt setzen. Damit fällt das Teleportieren weg und der Sammelpunkt behält seine Bedeutung.
Betrifft auch die Kollisionsauflösung: eine im Footprint entstandene Einheit muss verdrängt werden können, ohne den Determinismus zu brechen (TryFindPushOutCell existiert bereits).
Zu beachten
Die Spielbarkeit hängt daran mit: ein Sammelpunkt weit weg von der Basis ist derzeit ein Gratis-Transport quer über die Karte.
Datei
Assets/_Project/Scripts/Simulation/Production/ProductionSystem.cs — TryFindSpawnCell
Aus dem Betatest vom 09.08.2026 (Build
a434e2c, macOS). Quelle:docs/production/hashkrieg/Testberichte/2026-08-09_a434e2c_T-01.mdBeobachtung
„Produzierte Einheiten erschienen magisch am festgelegten Sammelpunkt." — „Panzer und andere Einheiten teleportierten zum Sammelpunkt, statt aus dem Produktionsgebäude zu kommen."
Zusätzlich: „Wenn Einheiten im Gebäude entstanden, glitchten sie durch das Gebäude-Asset nach draußen."
Ursache
ProductionSystem.TryFindSpawnCellbeginnt die Ringsuche an der Sammelpunkt-Zelle:Die Einheit wird also am Ziel erzeugt, nicht am Gebäude. Es gibt keinen Weg vom Gebäude zum Sammelpunkt, weil sie diesen Weg nie zurücklegt. Das ist kein Darstellungsfehler, sondern die Simulationslogik.
Erwartung (aus dem Bericht)
Umsetzung
Ringsuche am Gebäude-Footprint starten, dann einen Bewegungsbefehl auf den Sammelpunkt setzen. Damit fällt das Teleportieren weg und der Sammelpunkt behält seine Bedeutung.
Betrifft auch die Kollisionsauflösung: eine im Footprint entstandene Einheit muss verdrängt werden können, ohne den Determinismus zu brechen (
TryFindPushOutCellexistiert bereits).Zu beachten
Die Spielbarkeit hängt daran mit: ein Sammelpunkt weit weg von der Basis ist derzeit ein Gratis-Transport quer über die Karte.
Datei
Assets/_Project/Scripts/Simulation/Production/ProductionSystem.cs—TryFindSpawnCell