Files

51 lines
5.2 KiB
Markdown
Raw Permalink Normal View History

2026-09-12 11:01:37 +02:00
Aktueller Stand: [Codebase-Audit vom 09.09.2026](AUDIT-2026-09-09.md). Die folgenden Angaben beschreiben den ursprünglichen Prüfstand.
# Prüfbericht — 8. September 2026
Dieser Bericht beschreibt die erste Blockout-Version. Die spätere Startkorrektur, vier Bot-Stufen, fünf neuen Waffenmodelle und zusätzliche Prüfungen sind im [Redesign-Bericht](REDESIGN.md) dokumentiert. Den anschließenden Umbau der Stadt, Figuren, Materialien und Beleuchtung auf Forward+ sowie dessen aktuellen Prüfstand beschreibt die [Grafiküberarbeitung](GRAPHICS.md).
Geprüft mit Godot **4.5.stable.official.876b29033**, Windows, OpenGL Compatibility. Der folgende Stand beschreibt tatsächlich ausgeführte Prüfungen, keine geplanten Tests.
| Prüfung | Ergebnis | Nachweis |
|---|---|---|
| Parser/Projektimport | bestanden, keine verbleibenden Script-Parserfehler | Engine-Import und ausführbare Tests |
| Gameplay und Physik | **34/34 bestanden** | `tests/integration.log` |
| Host + ein separater Client | bestanden | `tests/network-host.log`, `network-client.log` |
| Host + sieben separate Clients | **alle acht Prozesse bestanden** | `tests/eight-host.log`, `eight-client-1.log` bis `eight-client-7.log` |
| Fremde HP-/Positionsfelder vom Client | ignoriert; Bewegung kommt vom Host | `tests/network_peer.gd` |
| Acht Slots bei späterem Beitritt | Bots werden ersetzt; acht echte Teilnehmer beobachtet | Acht-Prozess-Test |
| Visueller Start, Host-Menü und Spielansicht | ausgeführt und PNGs angesehen | `docs/menu.png`, `host.png`, `gameplay.png` |
| Kurze Grafikmessung | **60 FPS**, NVIDIA GeForce GTX 1080 | `tests/visual.log` |
## Was die 34 Prüfungen abdecken
Hoststart mit sieben Bots; 4:4-Verteilung; Verbindung jeder der drei Lanes und drei Querrouten; tatsächlicher Hitscan-Schaden/Munitionsverbrauch; erhöhter Kopfschaden; Spawn-Schutz; TDM-Freundbeschussfilter; Wandblockade von Schüssen; Tod/Score/Respawntimer; automatischer Respawn; Nachladen mit begrenzter Reserve; fünf Waffen/Kadenzen; FFA-Schaden ohne Team-Immunität; Explosionsschaden; Explosionsdeckung; physikalischer Granatenzünder; tatsächliche Geh-/Sprintbewegung; Rutschen; Sprung; Treppenaufstieg; alternativer Spawn bei besetzter Heimatbasis; TDM- und FFA-Sieg; Sitzungsabbau.
Die Navigation zwischen Z +30 und 30 ergibt je nach Lane etwa **60,0 bis 64,1 m**. Rechnerisch sind dies **6,9 bis 7,4 Sekunden Sprintzeit für die gesamte Teststrecke**, nicht die gemessene Zeit bis zum ersten Gegner. Gegnerkontakt hängt von Spawnwahl und menschlicher Routenwahl ab; das gewünschte Kontaktfenster von 515 Sekunden benötigt echte Spieltests.
## Korrigierte Fehler aus den Testläufen
- Namenskollision in einer GDScript-Funktion und dynamisch übergebene typisierte RID-Arrays.
- Zu früh ausgeführter Host-Rückstoß, der den Trefferstrahl bereits vor dem Schuss verschob.
- Eine Deckung blockierte den Zugang zur linken Treppe; die Deckung wurde versetzt und der physikalische Aufstieg bestätigt.
- Unkomprimierte Zustandsupdates überschritten die ENet-MTU. Die finalen Deflate-Updates liefen im Zwei- und Acht-Prozess-Test ohne die vorherige Fragmentierungswarnung.
- Falsches Kompressionsformat für `decompress_dynamic`; final wird das unterstützte Deflate-Format auf beiden Seiten genutzt.
## Grenzen der Aussage
- Die Netzwerktests liefen auf **Loopback desselben PCs**, nicht über zwei physische Rechner, WLAN, Paketverlustsimulation oder unterschiedliche Firewalls. Der LAN-Broadcast-Browser ist implementiert, aber auf mehreren Rechnern noch nicht praktisch abgenommen.
- 60 FPS sind eine kurze Beobachtung dieser GPU bei 1280×720-Fenstergröße, kein belastbarer Mindest-FPS-/Langzeitbenchmark für alle Gaming-PCs. Die Grafikprüfung läuft mit aktiviertem VSync.
- Das Acht-Prozess-Szenario prüft Verbindungen, Teilnehmerlisten, Slots, serverseitige Bewegung und ignorierte Zustandsmanipulation. Es ist kein menschliches 4v4-Match mit vollständig bewerteter Waffenbalance.
- Headless-Läufe in der eingeschränkten Arbeitsumgebung melden `Failed to read the root certificate store`. Die reine ENet/UDP-Verbindung nutzt kein TLS; alle finalen Tests bestanden trotzdem. Der freigegebene grafische Lauf zeigte diese Umgebungsfehlermeldung nicht. Es gab in den finalen Testläufen keine GDScript-Laufzeitfehler.
- Audio-Events und räumliche Wiedergabe sind implementiert. Richtungserkennung und Lautstärke wurden nicht durch einen menschlichen Kopfhörertest abgenommen.
- Grafik und Animationen bleiben bewusst Blockout-/Prototyp-Niveau. Es wurden keine fertigen Produktionsmodelle oder fremden Karten eingebaut.
## Manuelle LAN-Abnahme
1. Projekt auf zwei Rechner kopieren, identische Godot-Version verwenden.
2. Host mit 8 Slots und 7 Bots starten. Auf dem zweiten PC den LAN-Browser öffnen und beitreten.
3. Beide bewegen/schießen/nachladen; gleiche Scores und Todesereignisse prüfen. Beim Beitritt sind insgesamt weiterhin acht Figuren vorhanden.
4. Client beenden und erneut verbinden: Bot-Nachbesetzung und neuer Beitritt prüfen.
5. FFA hosten, Kills und Matchende prüfen. Anschließend über Direct Connect verbinden.
6. Mit weiteren Personen alle drei Routen und beide Höhenpositionen ausprobieren; Spawn-to-Contact-Zeit, Spawn-Kills und starke Positionen protokollieren.