saumwacht-godot/docs/balance-report.md
Martin Stickelbroeck c2b447610c Baseline: Saumwacht 0.15.0 (Phase 20A) vor dem Umbau zu Champions of Luneraria
Unveränderter Ausgangsstand inklusive Masterprompt und Konzeptbildern
unter assets/. .godot/ und docs/screenshots/ bleiben laut .gitignore
unversioniert; letztere sind unter ../backups gesichert.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 20:00:36 +02:00

5.3 KiB
Raw Permalink Blame History

Saumwacht · Balance-Bericht

Stand: 12. September 2026 · Godot 4.7.2, Linux, headless · Diagnose des aktuellen Phase-2-Stands

Methode

tools/balance_sim.gd spielt zwei KI-Duelle mit SimpleAI, EconomyManager und BattleController. Die Simulation verwendet feste Startzustände und Schritte von 1/60 s. Beide Seiten erhalten die zuletzt abgeschlossene gegnerische Formation; ihre aktuellen Aufträge bleiben verborgen. Der Lauf dauerte 11,5 s.

Der Diagnoseablauf folgt den hier relevanten Regeln von WaveManager: natural_count zählt ausschließlich natürliche Angreifer. Sobald ein Kern zerstört ist, endet das Match vor einer weiteren Abrechnung. Auch wenn im selben Schritt der letzte Angreifer verschwindet, hat das Matchende Vorrang.

Aus dem Projektverzeichnis:

XDG_DATA_HOME=/tmp/saumwacht-data XDG_CONFIG_HOME=/tmp/saumwacht-config XDG_CACHE_HOME=/tmp/saumwacht-cache godot --headless --path . res://tools/balance_sim.tscn

Die Tabellen zeigen Lecks einschließlich Söldnern. „Abschussprämien“ sind die im Kampf erfassten Prämien; sie werden nur bei Abgerechnet = Ja ausgezahlt. „Goldbestand“ ist der tatsächliche Vorrat am Ende der jeweiligen Tabellenzeile. Kernschaden summiert die ausgelösten Schadensereignisse und kann beim letzten Treffer über die verbleibenden Kern-HP hinausgehen; Kern-HP werden bei 0 begrenzt.

Standard gegen Standard

Welle Dauer s Lecks 0/1 Kernschaden 0/1 Abschussprämien 0/1 Goldbestand 0/1 Wächter 0/1 Abgerechnet
1 13,3 0/0 0/0 24/24 139/139 3/3 Ja
2 14,3 0/0 0/0 30/30 112/112 4/4 Ja
3 27,3 0/0 0/0 48/48 157/157 4/4 Ja
4 32,7 0/0 0/0 47/47 142/142 5/5 Ja
5 20,2 0/0 0/0 55/55 156/156 5/5 Ja
6 28,1 0/0 0/0 66/66 190/190 5/5 Ja
7 49,6 1/1 11/11 60/60 189/189 6/6 Ja
8 29,3 12/12 569/569 30/30 187/187 8/8 Ja
9 36,5 14/14 1098/1098 20/20 189/189 8/8 Ja
10 33,5 15/15 993/993 0/0 180/180 8/8 Ja
11 33,1 8/8 369/369 52/52 40/40 8/8 Nein

Ergebnis: Unentschieden in Welle 11, beide Kerne bei 0 HP. Insgesamt 50 Lecks je Front; mittlere Kampfdauer 28,9 s bis zum jeweiligen Wellen- oder Matchende.

In diesem Lauf hielten beide Seiten Wellen 1–6 vollständig. In Welle 7 entstand der erste Kernschaden; diese Welle dauerte mit 49,6 s am längsten. Ab Welle 8 nahmen Lecks und Kernschaden deutlich zu. Diese Beobachtungen markieren Situationen für spätere Formationstests und Balanceversuche. Der Lauf isoliert weder den Einfluss der Wirtschaft noch den von Aufwertungen, Zielwahl oder Sends.

Die tabellierten Werte beider Fronten stimmen in dieser Spiegelpartie überein. Dies ist ein Befund für diese Ausführung und die aktuellen Eingaben, keine plattformübergreifende Zusicherung bitidentischer Ergebnisse.

Lernmodus gegen Standard

Welle Dauer s Lecks 0/1 Kernschaden 0/1 Abschussprämien 0/1 Goldbestand 0/1 Wächter 0/1 Abgerechnet
1 13,3 0/0 0/0 24/24 139/139 3/3 Ja
2 23,3 0/0 0/0 30/30 177/112 3/4 Ja
3 29,5 7/0 314/0 12/48 185/156 3/4 Ja
4 21,8 11/0 360/0 6/44 170/137 3/5 Ja
5 35,5 2/0 314/0 18/61 193/166 4/7 Ja
6 31,8 10/0 472/0 17/60 158/192 6/7 Ja
7 41,7 7/5 298/217 24/44 148/173 6/8 Ja
8 31,5 14/11 757/507 17/27 144/170 6/8 Ja
9 29,7 7/0 498/0 0/13 9/10 7/9 Nein

Ergebnis: Standard gewinnt in Welle 9 mit 2.276 Kern-HP. Der Lernmodus endet bei 0 HP. Insgesamt 58/16 Lecks; mittlere Kampfdauer 28,7 s.

Der Lernmodus erlitt in dieser Partie ab Welle 3 Lecks, Standard erstmals in Welle 7. Die letzte Tabellenzeile zeigt den Moment des Matchendes; die andere Front muss dann nicht vollständig geklärt sein. Insbesondere bedeutet die 0 bei Standard-Lecks in Welle 9 nicht, dass diese Front die ganze Welle gehalten hätte. Aus diesem einzelnen Duell lässt sich weder eine Erfolgsquote der KI-Stufen noch eine passende Schwierigkeit für menschliche Spieler ableiten.

Geprüfter Umfang und Grenzen

Der Lauf endete mit Exit-Code 0 und meldete keine Verletzung der überprüften Invarianten: Gold/Funken nicht negativ, Funkenobergrenze 400, maximal 8 Arbeiter einschließlich Bestellungen, gültige eindeutige Zellbelegung im 6 × 8 Baufeld, maximal 8 Sends und Einhaltung von Sendbudget und vorhandenen Funken. Beide Partien erreichten ein Matchende innerhalb von 20 Wellen; kein beobachteter Kampf überschritt 90 s.

Diese Prüfungen decken die während der zwei Partien besuchten Zustände ab. Sie ersetzen keine gezielten Tests für Undo, Schadensmatrix, Fähigkeiten, Timeout oder alle Siegpfade. Wellen nach dem jeweiligen Matchende wurden nicht gespielt. Die Mechanik wird hier diagnostiziert; es wurden keine Balancewerte verändert.

Für die Balancearbeit in Phase 5 werden mehrere Formationen, andere Kauf- und Sendpläne sowie menschliche Spieltests benötigt. Vor allem Ausgaben, Armeewert, Arbeiterinvestitionen und kumuliertes Einkommen müssten zusätzlich erfasst werden, um wirtschaftliches Schneeballen zu beurteilen. Der verbleibende Goldvorrat allein beantwortet diese Frage nicht.