2.0 KiB
2.0 KiB
FPS-Grundlagen
- Spieler: weiterhin genau eine CapsuleShape3D, inklusive Ducken. Kein Scan-Mesh als Spielerform.
- FpsCamera (
scripts/fps_camera.gd): rohe screen_relative-Mausbewegung aus _unhandled_input, keine Mausglättung und keine akkumulierten Events. Kameraposition interpoliert zwischen Physikpositionen; Kamerawinkel werden bei jedem Render direkt gesetzt. Lokale Netzwerkkorrektur läuft jetzt im Physiktakt. - Scan-Kollision: Auf Benutzerwunsch zurückgerollt. Die beiden Route-Scans verwenden wieder ihre originalen Dreiecks-Collider; das Modul ScanCollision wurde entfernt. Die Spielfigur selbst behält ausschließlich ihre CapsuleShape3D.
- ShotFeedback (
scripts/shot_feedback.gd): ein zuverlässiges serverautoritäres shot_event startet Schusston, Mündungsfeuer, prozeduralen Rückstoß und Crosshair-Puls zusammen. Ein bestätigter Hitscan-Treffer erhält im selben Ereignis Trefferkreuz und Ton. Kein falscher Trefferindikator bei Fehlschuss; Projektiltreffer werden erst beim Einschlag bestätigt. Munitions-Snapshots lösen keinen zweiten Rückstoß aus. Auf Clients bleibt die Netzwerklatenz bis zur Serverbestätigung bestehen; es wurde keine lokale Schussvorhersage eingeführt.
Prüfung
tests/fps_foundation.gd: 12/12; tests/ttk_muzzle.gd: 60/60. tests/fps_network.gd: Host und Client erfolgreich (bestehender Nahkampf-/Feedback-Netzwerkregressionstest). Godot-Logs ohne Warnungen/Fehler nach den Korrekturen.
Die Kamera wird mit Zeitschritten für 60/120/144/240 Hz geprüft. Dies ist keine Messung auf einem physischen ProMotion-Display. Manuell: seitlich an den Route-Felsen entlanglaufen, springen/ducken, bei hoher Monitorfrequenz gleichzeitig bewegen und zielen; Dauerfeuer und Einzelfeuer, Wandtreffer, Gegnertreffer, Nachladen und unendliche Munition im LAN prüfen.
Ausführung im Projektordner:
& ./tools/godot/Godot_v4.5-stable_win64_console.exe --headless --path . --script tests/fps_foundation.gd
& ./tools/godot/Godot_v4.5-stable_win64_console.exe --headless --path . --script tests/ttk_muzzle.gd