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>
51 lines
2.5 KiB
Markdown
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
|
|
```
|