Gut im Grunde hat es die KI programmiert, aber ohne meinen Input wäre es sicher nicht so weit gekommen. Aber der Reihe nach.
Ich habe schon mal vor einem ca. Jahr mit Hilfe von ChatGPT ein paar HTML-Spiele entwickelt. Damals war das noch ein sehr mühevoller iterativer Prozesse, weil die KI von OpenAI immer wieder den Code an Stellen verändert, an denen ich keine Veränderung wollte. Dennoch kamen am Ende einige ganz nette Spiele dabei heraus. Genutzt habe ich damals das Modell „o3mini“.
Space Invaders
Dieses Mal sollte also Googles KI für mein kleines Projekt herhalten. Und damit es nicht zu kompliziert wird, habe ich mich für einen echten Klassiker entschieden: Space Invaders. Das Original stammt aus dem 1978 und wurde von Tomohiro Nishikado für Taito entwickelt. Neben Pac Man ist es eines der prägenden Videospiele der frühen Entwicklung von Computerspielen. Ich selber habe das Spiel an Automaten in England und den USA gespielt und dabei so machen Penny versenkt.
Das Spielprinzip ist sehr einfach: Vom oberen Rand des Bildschirms kommen die „Aliens“ in strenger Formation durch Bewegung nach links und recht immer weiter nach unten. Am Unteren Rand habe ich als Spieler ein Geschütz, das ich nach rechts und links bewegen und vier Bunker hinter denen ich mich zum Schutz vor den feindlichen Lasern verstecken kann. Die Bunker sind aber nicht unzerstörbar. Die Schüsse der Aliens und meine zerstören sie und mit der Zeit werden sie dadurch durchlässig. Je mehr Aliens ich treffe desto schneller laufen die restlichen auf mich zu. Sind alle Aliens abgeschossen beginnt der nächste Level. Das schneller werden der Aliens ist übrigens ein Bug des original Spiels, das als Feature beibehalten wurde.
Die Umsetzung
Um eine erste Version des Spiels zu erhalten habe ich einen einfachen Prompt an Gemini gesendet. Vorher habe ich den „Canvas“ Modus ausgewählt. In diesem Modus kann man das Ergebnis sofort in einem Browser-Fenster sehen und Fehler werden direkt von Gemini im Code behoben. Auf diese Weise spart man sich während der Entwicklung das ständige Copy und Paste mit einem Editor. Mein erster Prompt lieferte schon ein brauchbares Spiel:
Ich hätte gerne das Spiel „Space Invaders“ als Browser-Spiel. Dabei soll es sich möglichste nah am Arcade Original orientieren.
Googles Antwort lautete:
Ich habe das Spiel mit den folgenden klassischen Merkmalen erstellt:
Pixel-Aliens: Drei verschiedene Alien-Typen mit unterschiedlichen Punktwerten.
Destruktible Bunker: Die grünen Schilde können sowohl von deinen als auch von feindlichen Schüssen zerstört werden, wobei die Zerstörung „pixelweise“ erfolgt.
Dynamische Geschwindigkeit: Je weniger Aliens auf dem Feld sind, desto schneller bewegen sie sich (genau wie im Original-Bug von 1978, der zum Feature wurde).
Arcade-Steuerung: Eine einfache Steuerung per Tastatur (Pfeiltasten und Leertaste).
Viel Spaß beim Verteidigen der Erde!
Und los ging die flotte Alien-Jagd. Der ersten Version fehlte nur noch der Ton und das gelegentlich am oberen Rand auftauchende Ufo für Extra Punkte.
Perfekt. Jetzt sollte noch das Ufo eingebaut werden, dass gelegentlich am oberen Rand durchs Bild fliegt.
Auch hier lieferte Gemini sofort eine brauchbare Lösung ab:
Das ist eine hervorragende Idee. Das rote Ufo (auch bekannt als „Mystery Ship“) ist ein essenzieller Teil der Space Invaders Erfahrung.
Ich werde das Spiel wie folgt erweitern:
Ufo-Logik: Es erscheint zufällig am oberen Bildschirmrand und fliegt von einer Seite zur anderen.
Punkte-System: Das Ufo gibt beim Abschuss einen variablen Bonus-Score (im Original meist 50, 100, 150 oder 300 Punkte).
Grafik: Ein klassisches rotes Ufo-Shape wird implementiert.
Hier ist das aktualisierte Spiel:
Das Ufo wurde nun erfolgreich integriert! Hier sind die Details zur Umsetzung:
Zufälliges Erscheinen: In der update-Funktion gibt es eine kleine Chance pro Frame, dass das Ufo aktiviert wird.
Grafik: Es hat das klassische rote Design mit einer Kuppel und kleinen Triebwerken unten.
Bonus-Punkte: Wenn du es triffst, erhältst du zufällig zwischen 50 und 300 Punkten.
Flugbahn: Es fliegt horizontal am oberen Rand (über den Aliens) durch das Bild.
Viel Erfolg bei der Jagd nach dem Highscore!
Damit war das Spiel fertig. Ich allerdings nicht. Denn ich wollte einen Schritt weiter gehen und Space Invaders auf eine andere Stufe heben indem ich das 2D-Spiel zu einem 3D-Shooter machen wollte. Auch hier hat Gemini schnell geliefert. 3D ist immer aufwendiger, daher waren hier einige Iterationen mehr nötig. Aber am Ende ist ein brauchbares Browser-Spiel dabei herausgekommen.
Beide Versionen, als 2D- und 3D-Space-Invaders laufen in allen gängigen Browsern. Ihr könnt sie hier herunterladen und auf euren Macs oder iPads ausprobieren. Am Besten mit Tastatur. Ich wünsche viel Spaß beim Zocken. Natürlich könnt ihr dann den Code nehmen und für eure Bedürfnisse weiterentwickeln. Vielleicht habt ihr ja noch coole Ideen für Ergänzungen.
Ich habe die Spiele „GoogleInvaders“ genannt, damit klar ist, dass ich sie mit Hilfe von Gemini entwickelt habe. Wichtiger Hinweis: Das Script lädt am Anfang eine Bibliothek. Daher ist eine Internetverbindung zum Spielen notwendig.