champions-of-luneraria/README.md
Martin Stickelbroeck d590fdebeb U4-Nachtrag: Startbildschirm in der Szene, Rückkehr aus der Partie
Befund aus dem Spieltest des U3-Nachtrags: Nichts legte LuneNetPlay in die
Szene. Das Spiel begann direkt in einer Partie, der Startbildschirm aus U4
war unerreichbar, und der Verlassen-Dialog beendete das Spiel statt zum
Hauptmenü zu führen.

- LuneWorldBuilder legt LuneNetPlay auf das Match-Objekt; Szene neu gebaut.
- Das Menü bekommt ein eigenes UIDocument über dem HUD. Vorher hing es an
  keinem Panel, und das HUD hätte es beim ersten Partiestart geleert.
- Rückkehr über „Menü“ → „Zum Menü“: HUD und Aufstellungsflächen weg,
  Sitzung beendet, leere Karte. Die Kamera ruht hinter dem Menü und beginnt
  jede Partie ungedreht. Die Bund-Wahl ist markiert, die Knopfreihe passt
  in die Tafel.
- Tests und Benchmark ohne Startbildschirm (LuneMatchDriver.DirectStart,
  -luneBenchmark); Bot-Partien und Fingerabdrücke unverändert.
- Neu: LuneSmoke (-luneSmoke <Ordner>), Selbsttest eines Players nach
  lune_smoke.gd. StartScreenTests führt ihn im Editor aus.
- Tests: EditMode 29/29, PlayMode 14/14 (StartScreenTests 26/26), Verify
  718/0, Fingerabdrücke DCE95C96556F3A1A und 7B8E43AEFC0D60C5 unverändert.
  macOS-Player: Selbsttest 26/26, Bilder in
  docs/port/screenshots/u4/startbildschirm/. Ein zusammenhängender
  PlayMode-Lauf auf dem Endstand und ein Player-Benchmark stehen aus, weil
  der Mac zugeklappt schlief (siehe U4-NETWORK.md).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 05:37:51 +02:00

51 lines
2.5 KiB
Markdown

# Champions of Luneraria · Unity
Drei-Lane-Autobattler 3 gegen 3 (Mischung aus Dota 2 und Legion TD 2), portiert von Godot nach Unity.
- Engine: Unity 6.3 LTS (6000.3.20f1), URP.
- Zielplattformen: Fedora 44, Windows 11. macOS ist die Entwicklungsplattform.
- Referenz: `../saumwacht-godot`, Zweig `luneraria/g3` (`1b540f2`).
## Aufbau
- `Assets/Luneraria/Core/`: Regelkern ohne Unity-Abhängigkeit (`Luneraria.Core`).
- `Assets/Luneraria/View/`: Host-Schleife (fester Takt), Ansichten, Kamera (`Luneraria.View`); `Scenes/G1_Map.unity` ist die spielbare Karte.
- `Assets/Luneraria/Art/`: FBX aus der Blender-Pipeline (`tools/blender/`); `World/Bake/`: gebackene G1-Welt aus dem Godot-Generator.
- `Assets/Luneraria/Editor/`: Importregeln, Asset-Prüfung, Welt- und Szenenbau, Player-Build.
- `Assets/Luneraria/Tests/Core/`: Prüfsuiten mit Golden-Referenzen aus Godot, Diagnose (Float-Probe, Schritt-Trace, Benchmark); laufen im Unity Test Runner und mit dem .NET SDK.
- `tools/`: .NET-Projekte (Ausgabe nach `tools/out/`), Godot-Referenzwerkzeuge, Portwerkzeuge.
- `docs/port/`: Stand, Entscheidungen und QA je Meilenstein ([PORT-STATUS.md](docs/port/PORT-STATUS.md)).
## Befehle
Kerntests mit dem .NET SDK (Protokoll nach `$LUNE_TEST_REPORT`, Standard `tools/out/`):
```bash
sh tools/run_core_tests.sh
```
Dieselben Tests im Unity Test Runner:
```bash
/Applications/Unity/Hub/Editor/6000.3.20f1/Unity.app/Contents/MacOS/Unity -batchmode -projectPath "$PWD" -runTests -testPlatform EditMode -testResults "$PWD/tools/out/editmode-results.xml" -logFile -
```
Szene neu bauen (nach geänderter Welt, Materialien oder Assets):
```bash
/Applications/Unity/Hub/Editor/6000.3.20f1/Unity.app/Contents/MacOS/Unity -batchmode -projectPath "$PWD" -executeMethod Luneraria.EditorTools.LuneWorldBuilder.BuildScene -logFile -
```
Spielen: `Assets/Luneraria/Scenes/G1_Map.unity` im Editor öffnen und Play drücken. Zuerst kommt der Startbildschirm (Allein spielen, Hosten, Beitreten), dann die Partie mit HUD (Kamera mit WASD, Mausrad, Q/E, R, O). „Menü“ führt zurück zum Startbildschirm.
Selbsttest eines Players (Startbildschirm, Partie, Rückkehr; Bilder und `report.json` im Ordner):
```bash
Builds/macOS/Luneraria.app/Contents/MacOS/luneraria-unity -screen-fullscreen 0 -screen-width 1920 -screen-height 1080 -luneSmoke "$PWD/tools/out/smoke"
```
Leistung (.NET bzw. Editor über `-executeMethod Luneraria.Core.Tests.CoreBatch.Benchmark`):
```bash
dotnet run -c Release --project tools/dotnet/Luneraria.Core.Bench
```