3.5 KiB
Arsenal und Skins
Ziel
Zehn unterschiedlich spielbare Waffen, Mündungsursprung, Frontschild und individuell gestaltbare Waffen ohne Backend. Bestehende Waffenmodelle bleiben die Basis; fünf Varianten erhalten eigene Anbauteile und Handlingprofile.
Dateien und Klassen
scripts/weapons.gd/ Arsenal: Werte, Primärwaffenauswahl und Magazine.scripts/weapon_variants.gd/ WeaponVariants: zusätzliche Modellgeometrie.scripts/weapon_models.gd,weapon_geometry.gd,weapon_handling.gd,weapon_view.gd: vollständige Modell-, Material- und Animationsimplementierung.scripts/shot_origin.gd,combat.gd,rifle_projectile.gd: Mündungsursprung und Treffer.scripts/energy_shield.gd/ EnergyShield: Frontprüfung, Strahlblockade und Shader.scripts/weapon_skins.gd/ WeaponSkins: acht Materialgruppen, Farben, beidseitige Beschriftung, Bereinigung und begrenzte LAN-Daten.scripts/player_settings.gd: lokale Designs inuser://settings.cfg.scripts/weapon_showcase.gd,ui.gd: drehbare Vorschau, Skin-Editor und Account-Platzhalter.scripts/fighter.gd,game.gd: aktive Skins, Registrierung und Zustandssynchronisierung.
Der vollständige Code liegt direkt in diesen Projektdateien; zusätzliche Assets oder Pakete sind nicht nötig.
Einbau und Bedienung
Projekt mit Godot 4.5 importieren oder im Git-Arbeitsordner Start-Game.cmd starten. LOADOUT öffnen, Waffe wählen oder WEAPON LAB aufrufen. Bauteil auswählen, Farbe ändern, optional Text eingeben und speichern. Primärwaffe im Loadout separat bestätigen. R lädt nach, B aktiviert das Schild. Ein gespeichertes Design gilt lokal sofort; andere LAN-Spieler erhalten es beim nächsten Beitritt.
Tests
tests/Run-Tests.ps1 führt auch arsenal_shield.gd und skins.gd aus. Diese prüfen Waffenwerte, Einzelschuss, Mündungs-/Wandprüfung, Schildrichtung, Dauer, Respawn und Snapshot sowie Instanzisolation, Textbegrenzung, Farben und Speicher-Roundtrip. Der Zwei-Prozess-Test network_peer.gd prüft zusätzlich die Übertragung eines AS12-Designs mit Beschriftung. arsenal_visual.gd erzeugt Screenshots von neuen Waffen, Editor, Titel und Schild; mit --rendering-method gl_compatibility ausführbar.
Manuell: jede Waffe schießen/nachladen/ADS testen, Schild von vorne und hinten beschießen, Design speichern und Spiel neu starten; mit zweitem LAN-PC die fremde Waffe ansehen. Physische LAN- und längere Performance-Tests stehen aus.
Typische Fehler / Grenzen
- Vor Waffenwechsel im Editor speichern, sonst geht der Entwurf verloren.
- Schreibgeschützte Benutzerdaten verhindern dauerhafte Speicherung; der Editor meldet dies.
- Der Shop und die Anmeldung sind absichtlich deaktiviert. Es gibt noch keine Kontodaten oder Währung.
- Beschriftung sitzt fest am Gehäuse, wird für lange Texte verkleinert und ist kein frei verschiebbarer Aufkleber.
- Varianten sind eigene prozedurale Modelle auf gemeinsamen Waffenfamilien, keine fotorealistischen Scan-Assets.
- Beide LAN-PCs benötigen dieselbe Projektversion wegen der erweiterten Registrierung.
Prüfstand 09.09.2026
Gesamte Run-Tests.ps1-Suite bestanden, inklusive separater Host-/Clientprozesse (Skins, Schild, Bewegung, Killcam und Seilaufzüge). Arsenal/Schild: 54/54; Skins: 47/47. Grafischer Durchlauf mit Compatibility-Renderer bestanden; Editor, Account-Platzhalter und neue Modelle anhand der erzeugten Bilder geprüft. Godot meldet in der eingeschränkten Testumgebung Zertifikats-/Shadercache-Schreibwarnungen, jedoch keine Skriptfehler im abschließenden Durchlauf.