Showcase 70 · Spiel
Ein Dogfight im Asteroidengürtel. Wellen von Jägern und Kreuzern, alle vier Wellen ein Frachter mit Geschütztürmen. Halte durch, sammle Punkte, jage den Rekord.
Flugmodell, Gegner-KI, Boss, Waffen, Kollisionen, Wellen und Punkte stecken in einer Datei ohne React und ohne Renderer. Sie läuft in festen Schritten (120 pro Sekunde), ist mit Vitest getestet und meldet dem Bild nur, was passiert ist: Explosion hier, Treffer da.
Die Jäger fliegen mit Zustandsautomat (Anflug, Angriff, Ausweichen), Kreuzer umkreisen, alle schießen mit Vorhalt auf die vorausberechnete Position. Der Frachter hat vier Geschütztürme; erst wenn die weg sind, nimmt der Kern vollen Schaden.
Three.js über React Three Fiber. 440 Asteroiden als zwei InstancedMeshes, Laserbolzen ebenso. Explosionen sind eine Punktwolke, deren Flugbahn komplett im Vertex-Shader steht: die CPU schreibt nur beim Auslösen. Nebel, Sterne, Gasplanet und Ring sind Shader ohne Texturen.
Nachbearbeitung mit Bloom, Farbsaum bei Treffern und Vignette. Bricht die Bildrate ein, schaltet das Spiel selbst auf die schlanke Stufe.
Effekte räumlich über PannerNodes, das Triebwerk aus zwei Oszillatoren plus Rauschband, die Musik ein kleiner Sequenzer (Kick, Snare, Hats, Bass, Arpeggio, Fläche), der mit der Lage dichter wird. Nichts davon startet vor dem ersten Klick.
Schiffe, Türme und Meteoriten aus Kenneys Space Kit, Klänge aus Kenneys Sci-Fi Sounds, beides Creative Commons Zero. Zusammen 1,3 MB. Steuerung mit Maus und Tastatur, Gamepad oder Touch; prefers-reduced-motion nimmt Wackeln, Farbsaum und Funkenflug raus.