Belangrijkste punten
- Game-engines die door ChatGPT worden begrepen, zijn geschikt voor het coderen van game-prototypes.
- Hulp bij het coderen van ChatGPT vereist een goed begrip van de gebruikte game-engine.
- Verwacht dat ChatGPT goede, maar geen exacte oplossingen biedt voor coderingsproblemen. U moet nog steeds de door ChatGPT geleverde code bekijken en herzien.
AI is het nieuwe modewoord waar iedereen het over lijkt te hebben. Zelfs telefoons krijgen volledig geïmplementeerde AI-applicaties, maar er is veel meer dat je kunt doen met tools als ChatGPT, waaronder het coderen van een game. Ik ontwikkel al bijna tien jaar games en heb zelfs een paar projecten uitgebracht en deelgenomen aan een paar game jams op Itch.
Toen ik ChatGPT ontdekte, wilde ik als eerste kijken of ik het kon gebruiken in game-ontwikkeling. Zoals altijd staat ChatGPT te popelen om te helpen en voelt het bijna als de meest into-it stagiair ter wereld.
Kan ChatGPT een game voor je coderen?

Het wordt snel duidelijk dat de bereidheid van GPT om je te leren een game te coderen goed bedoeld is, maar vereist dat je wel een beetje begrijpt wat je doet. Als iemand die al meer dan tien jaar amateurgame-ontwikkelaar is, weet ik een beetje over het coderen van een game. Toen ik GPT gebruikte om mij te helpen, was ik geïnteresseerd in hoe geavanceerd het was om een prototype van een speelbaar spel te produceren.
Het begrijpt zeker game-engines
Een game-engine is wat een ontwikkelaar gebruikt om een game te maken. Er zijn verschillende game-engines beschikbaar, waaronder Unreal Engine, Godot en Unity. Als iemand die Unity goed kent, heb ik besloten dit als mijn ontwikkelingsmotor te gebruiken. Ik heb een paar algemene vragen gesteld (waar ik het antwoord op weet) om ervoor te zorgen dat ChatGPT niet zou gaan hallucineren over mijn game-engine.

Nadat ik had uitgezocht dat het in ieder geval wist wat het deed, besloot ik het raamwerk voor mijn project te geven, dat het volgende omvatte:
- Willekeurige generatie van een scrollende achtergrond
- Een spelerpersonage laten besturen door richtingsknoppen, met muisknoppen om te schieten
- Een puntensysteem met een klassement
- Een eindeloze hoeveelheid van vijanden, zodat spelers nonchalant kunnen spelen
ChatGPT was erg behulpzaam met het aanbieden van codeoplossingen voor een aantal dingen die ik nodig had om dit spel te maken. Ik vroeg bijvoorbeeld om wat code voor een projectiel dat ik zou afvuren vanaf de positie van de speler wanneer ze op de knop "Vuur" drukten, en het gaf me dit:
using UnityEngine;
public class Projectile : MonoBehaviour
{
public float speed = 10f; //Pas deze waarde aan om de snelheid van het projectiel te regelen
void Start()
{
//Beweeg het projectiel vooruit in zijn lokale ruimte (ervan uitgaande dat het naar rechts wijst)
GetComponent<Rigidbody2D>().velocity = transform.right * snelheid;
  ; void OnTriggerEnter2D(Collider2D other)
{
//Controleer of het projectiel botst met een vijand of andere objecten
if (other.CompareTag(“Enemy”))
{
//Omgaan met vijandelijke schade of vernietiging
Vernietigen(other.gameObject); //Vernietig de vijand
Vernietig(gameObject); //Vernietig het projectiel
}
else if (anders. CompareTag(“Muur”))
{
//Vernietig het projectiel als het tegen een muur botst
Vernietigen(gameObject);
}
}< br>}
Opvallend is dat het me goed gecommentarieerde code gaf, zodat ik als beginnende programmeur kon volgen. Veel plaatsen suggereren dat je kunt leren coderen met behulp van AI, en het opnemen van goed gecommentarieerde code is daar onderdeel van. Je hoeft je geen zorgen te maken als er fouten in je code zitten als je ze opmerking voor opmerking kunt traceren. Toen ik echter GPT gebruikte om een game te bouwen, kwam ik verschillende problemen tegen die een nieuwkomer in game-ontwikkeling zouden tegenwerken.
ChatGPT is verre van perfect
LLM's zijn slechts zo goed (of zo slecht) als de aanwijzingen die de gebruiker eraan geeft. Een gebruiker kan bijvoorbeeld eenvoudig anime-achtige karakters genereren met MidJourney door een paar woorden toe te voegen om het eindresultaat van de prompt te verduidelijken. Toen ik echter een game bouwde met ChatGPT, ontdekte ik dat er momenten waren waarop de engine gewoon niet oppakte wat ik neerzette.

In dit voorbeeld kwam ik een probleem tegen bij het spawnen van mijn projectielen, waarbij alle "kogels" wordt afgebogen wanneer de speler beweegt. Hoewel dit een aantal interessante speelpatronen zou kunnen opleveren, besloot ik het te vragen het probleem op te lossen, en er werd een oplossing voorgesteld. Helaas werkte de oplossing niet.
Uiteindelijk heb ik heb het zelf opgelost, maar het bracht een groot probleem aan het licht bij het gebruik van ChatGPT om een game te coderen: er zijn een aantal dingen die het niet weet.

Ik heb het spel uiteindelijk samengesteld met behulp van een paar suggesties van GPT over de persistente score en het willekeurige generatiealgoritme en scrollen voor de achtergrond van het spel. Je kunt het uiteindelijke spel hier spelen.
Werkt het met andere game-engines?
Ik weet dat ChatGPT erg goed was met Unity toen ik enkele van de problemen die ik hierboven tegenkwam, kon oplossen. Ik vroeg me echter af hoe het coderen van een game met ChatGPT zou werken voor een minder populaire engine als Godot. Ik ben niet bepaald een expert op het gebied van Godot, omdat ik het veel minder heb gebruikt dan Unity. Ik besloot ChatGPT een paar vragen te stellen:

Voor degenen die Godot regelmatig gebruiken, is het probleem meteen duidelijk. ChatGPT stopte met leren in 2021 of daaromtrent (althans voor de gratis versie). Het script dat GPT mij gaf was gebaseerd op de kennis van Godot 2.x, een sterk verouderde versie van de huidige 4.x-versie. Het flagrante probleem is het gebruik van KinematicBody2D, dat in latere iteraties van de taal werd vervangen door CharacterBody2D.
Hoeveel vaardigheid heb je nodig om een game te coderen met ChatGPT?
Als je overweegt om de volgende Legend of Zelda: Breath of the Wild te maken met ChatGPT, moet je waarschijnlijk je verwachtingen temperen. U moet een goed begrip hebben van de engine waarin u werkt om ChatGPT als codeerassistent te kunnen gebruiken.
Andere assistenten zoals Microsoft Copilot zijn misschien beter met algemene code en kunnen in grotere mate helpen. Het grote probleem is dat deze LLM's naar een abstract probleem kijken, en dat ze het zien zonder het daadwerkelijk te zien.
In eenvoudiger taal: je weet hoe het spel dat je maakt eruit moet zien en hoe de dingen erin zich moeten gedragen. Je kunt het aan ChatGPT uitleggen wat je wilt, en het zal je iets geven dat in de buurt komt van (maar niet helemaal) wat je game nodig heeft. Om het zich te laten gedragen zoals jij dat wilt, zul je moeten rommelen met de code die GPT je geeft.
Moet je een game coderen met ChatGPT?
Game-ontwikkeling is een complex vakgebied , maar dankzij motoren zoals de hierboven genoemde is het veel toegankelijker voor het grote publiek. Een ervaren ontwikkelaar kan een paar uur besteden aan het samenstellen van een spel dat werkt en alles bevat wat hij wil.
Dit specifieke project kostte me van begin tot eind in totaal 48 uur. Hoe complexer het spel, hoe meer tijd en moeite het kost. Dan tel je niet mee hoeveel tijd je zou moeten besteden aan het sourcen en ontwikkelen van assets. Het zou een behoorlijk groot project kunnen worden.
Als u besluit een spel te coderen met hulp van ChatGPT, zijn hier een paar dingen waar u rekening mee moet houden:
- ChatGPT kan fouten maken in de code.
- ChatGPT kan u verouderde code geven, waardoor u urenlang moet googlen naar een oplossing.
- AI kan nog geen game-items maken (in ieder geval geen goede 2D-items), dus je zult de assets afzonderlijk moeten aanschaffen.
- Sommige van de suggesties die ChatGPT u geeft, zullen niet werken en kunnen u op een doodlopende weg brengen, waardoor u uw implementatie opnieuw moet overdenken.
Als iemand mij vandaag zou vragen of hij of zij vanaf het begin een spel met ChatGPT kon leren coderen zonder enige kennis van de engine, zou ik nee moeten zeggen.
Leave a Reply
You must be logged in to post a comment.