Website-Suche

Ich habe versucht, ein Spiel mit ChatGPT zu programmieren, so lief es


Zusammenfassung

  • Game-Engines, die von ChatGPT verstanden werden, eignen sich zum Codieren von Spieleprototypen.
  • Die Codierungsunterstützung durch ChatGPT erfordert ein gutes Verständnis der verwendeten Spiel-Engine.
  • Erwarten Sie, dass ChatGPT naheliegende, aber nicht exakte Lösungen für Codierungsprobleme bietet. Sie müssen den von ChatGPT bereitgestellten Code noch überprüfen und überarbeiten.

KI ist das neue Modewort, über das alle zu reden scheinen. Sogar Telefone erhalten vollständig implementierte KI-Anwendungen, aber es gibt noch viel mehr, was Sie mit Tools wie ChatGPT tun könnten, einschließlich der Programmierung eines Spiels. Ich entwickle seit fast einem Jahrzehnt Spiele und habe sogar ein paar Projekte veröffentlicht und an ein paar Game Jams auf Itch teilgenommen.

Als ich ChatGPT entdeckte, wollte ich als erstes sehen, ob ich es in der Spieleentwicklung einsetzen kann. Wie immer ist ChatGPT bereit zu helfen und fühlt sich fast wie der weltweit am meisten begeisterte Praktikant.

Kann ChatGPT ein Spiel für Sie programmieren?

Es wird schnell klar, dass die Bereitschaft von GPT, Ihnen das Programmieren eines Spiels beizubringen, gut gemeint ist, aber erfordert, dass Sie ein wenig verstehen, was Sie tun. Als jemand, der seit mehr als einem Jahrzehnt als Amateur-Spieleentwickler tätig ist, weiß ich ein wenig über das Programmieren eines Spiels. Als ich GPT als Hilfe einsetzte, war ich daran interessiert zu sehen, wie ausgeklügelt es war, einen spielbaren Spielprototyp zu erstellen.

Es versteht sicherlich Spiel-Engines

Eine Spiel-Engine ist das, was ein Entwickler verwendet, um ein Spiel zu erstellen. Es stehen mehrere Spiel-Engines zur Verfügung, darunter Unreal Engine, Godot und Unity. Als jemand, der Unity gut kennt, habe ich beschlossen, dies als Entwicklungs-Engine zu verwenden. Ich habe ein paar allgemeine Fragen gestellt (auf die ich die Antwort kenne), um sicherzustellen, dass ChatGPT nicht anfängt, über meine Spiel-Engine zu halluzinieren.

Nachdem ich mir vergewissert hatte, dass es zumindest wusste, was es tat, beschloss ich, den Rahmen für mein Projekt zu schaffen, der Folgendes umfasste:

  • Zufällige Generierung eines scrollenden Hintergrunds
  • Einen Spielercharakter haben, der über Richtungstasten gesteuert wird, mit Maustasten zum Schießen
  • Ein Punktesystem mit einer Bestenliste
  • Eine unendliche Menge an Feinden, damit die Spieler locker spielen können

ChatGPT war sehr hilfreich, um Code-Lösungen für einige der Dinge anzubieten, die ich für die Erstellung dieses Spiels benötigen würde. Zum Beispiel habe ich es um einen Code für ein Projektil gebeten, das ich von der Position des Spielers abfeuern würde, wenn er die "Feuer"-Taste drückt, und es gab mir Folgendes:

        using UnityEngine;
public class Projectile : MonoBehaviour
{
    public float speed = 10f; // Adjust this value to control projectile speed
    void Start()
    {
        // Move the projectile forward in its local space (assuming it's facing right)
        GetComponent<Rigidbody2D>().velocity = transform.right * speed;
    }
    void OnTriggerEnter2D(Collider2D other)
    {
        // Check if the projectile collides with an enemy or other objects
        if (other.CompareTag("Enemy"))
        {
            // Handle enemy damage or destruction
            Destroy(other.gameObject); // Destroy the enemy
            Destroy(gameObject); // Destroy the projectile
        }
        else if (other.CompareTag("Wall"))
        {
            // Destroy the projectile if it collides with a wall
            Destroy(gameObject);
        }
    }
}
    

Insbesondere gab es mir gut kommentierten Code, so dass ich als Anfänger mitmachen konnte. Vielerorts wird suggeriert, dass man das Programmieren mit KI lernen könnte, und die Einbeziehung von gut kommentiertem Code ist ein Teil davon. Sie müssen sich keine Sorgen machen, wenn Ihr Code Fehler enthält, wenn Sie diese Kommentar für Kommentar nachverfolgen können. Bei der Verwendung von GPT zum Erstellen eines Spiels stieß ich jedoch auf mehrere Probleme, die einen Neuling in der Spieleentwicklung besiegen würden.

ChatGPT ist alles andere als perfekt

LLMs sind nur so gut (oder so schlecht) wie die Eingabeaufforderungen, die der Benutzer ihnen gibt. Zum Beispiel könnte ein Benutzer mit MidJourney ganz einfach Anime-artige Charaktere generieren, indem er ein paar Worte einfügt, um das Endergebnis der Eingabeaufforderung zu verdeutlichen. Als ich jedoch ein Spiel mit ChatGPT entwickelte, stellte ich fest, dass es Zeiten gab, in denen die Engine einfach nicht aufnahm, was ich aufschrieb.

In diesem Beispiel bin ich auf ein Problem mit dem Spawnen meiner Projektile gestoßen, bei dem alle "Kugeln" abgelenkt werden, wenn sich der Spieler bewegt. Obwohl dies zu einigen interessanten Spielmustern führen könnte, beschloss ich, es zu bitten, das Problem zu beheben, und es schlug eine Lösung vor. Leider hat der Fix nicht funktioniert.

Ich habe es schließlich selbst behoben, aber es hat ein großes Problem bei der Verwendung von ChatGPT zum Codieren eines Spiels aufgezeigt: Es gibt einige Dinge, die es nicht weiß.

Ich habe das Spiel schließlich mit ein paar Vorschlägen von GPT über die persistente Punktzahl sowie den Zufallsgenerierungsalgorithmus und das Scrollen für den Spielhintergrund zusammengestellt. Das fertige Spiel könnt ihr hier spielen.

Funktioniert es mit anderen Spiel-Engines?

Ich weiß, dass ChatGPT sehr gut mit Unity umgegangen ist, als ich einige der oben genannten Probleme lösen konnte. Ich habe mich jedoch gefragt, wie das Programmieren eines Spiels mit ChatGPT für eine weniger beliebte Engine wie Godot funktionieren würde. Ich bin nicht gerade ein Experte für Godot, da ich es weit weniger benutzt habe als Unity. Ich habe beschlossen, ChatGPT ein paar Fragen zu stellen:

Für diejenigen, die Godot regelmäßig verwenden, ist das Problem sofort offensichtlich. ChatGPT hat im Jahr 2021 oder so aufgehört zu lernen (zumindest für die kostenlose Version). Das Skript, das GPT mir gegeben hat, basierte auf seinen Kenntnissen von Godot 2.x, einer stark veralteten Version der aktuellen 4.x-Version. Das eklatante Problem ist die Verwendung von KinematicBody2D, das in späteren Versionen der Sprache durch CharacterBody2D ersetzt wurde.

Wie viel Geschick braucht man, um ein Spiel mit ChatGPT zu programmieren?

Wenn du darüber nachdenkst, das nächste Legend of Zelda: Breath of the Wild mit ChatGPT zu machen, solltest du wahrscheinlich deine Erwartungen dämpfen. Sie müssen ein gutes Verständnis der Engine haben, in der Sie arbeiten, um ChatGPT als Codierungsassistenten verwenden zu können.

Andere Assistenten wie Microsoft Copilot könnten mit allgemeinem Code besser umgehen und in größerem Maße helfen. Das große Problem ist, dass diese LLMs ein abstraktes Problem betrachten, und sie sehen es, ohne es tatsächlich zu sehen.

Einfacher ausgedrückt: Du weißt, wie das Spiel, das du machst, aussehen sollte und wie sich die Dinge darin verhalten sollten. Sie können ChatGPT erklären, was Sie wollen, und es wird Ihnen etwas geben, das dem nahe kommt (aber nicht ganz), was Ihr Spiel braucht. Damit es sich so verhält, wie Sie es möchten, müssen Sie mit dem Code herumfummeln, den GPT Ihnen gibt.

Sollten Sie ein Spiel mit ChatGPT programmieren?

Die Spieleentwicklung ist ein komplexes Feld, aber dank Engines wie den oben genannten ist es für die breite Öffentlichkeit viel zugänglicher. Ein erfahrener Entwickler könnte ein paar Stunden damit verbringen, ein Spiel zusammenzustellen, das funktioniert und alles hat, was er sich wünscht.

Für dieses spezielle Projekt habe ich von Anfang bis Ende insgesamt 48 Stunden gebraucht. Je komplexer das Spiel, desto mehr Zeit und Mühe kostet es. Dabei ist die Zeit, die Sie in die Beschaffung und Entwicklung von Assets investieren müssten, noch nicht mitgezählt. Es könnte ein ziemlich großes Projekt werden.

Wenn Sie sich entscheiden, ein Spiel mit ChatGPT-Unterstützung zu programmieren, sollten Sie einige Dinge beachten:

  • ChatGPT kann Fehler im Code machen.
  • ChatGPT kann Ihnen veralteten Code liefern, sodass Sie stundenlang nach einer Lösung googeln müssen.
  • Die KI kann noch keine Spiel-Assets erstellen (jedenfalls keine guten 2D-Assets), also musst du die Assets separat beschaffen.
  • Einige der Vorschläge, die ChatGPT Ihnen gibt, funktionieren nicht und könnten Sie in eine Sackgasse führen, in der Sie Ihre Implementierung überdenken müssen.

Wenn mich heute jemand fragen würde, ob er lernen könnte, ein Spiel mit ChatGPT von Grund auf zu programmieren, ohne die Engine zu kennen, müsste ich nein sagen.

Verwandte Artikel