Files

51 lines
5.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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.