J’ai utilisé ChatGPT pour m’aider à créer mon premier jeu. Ne fais pas les mêmes erreurs que moi
En plus d'écrire des articles sur ChatGPT , se familiariser avec le chatbot IA a été une de mes missions majeures au cours de l'année écoulée. Je l'ai trouvé utile pour proposer des idées de recettes à partir d'une liste d'ingrédients, écrire des idées d'histoire alternative amusantes et répondre aux clarifications des règles du jeu de société . Mais je voulais voir s’il pouvait faire quelque chose de plus impressionnant : m’apprendre à créer un jeu.
Le premier obstacle
Cela faisait un moment que je voulais faire un jeu. J'ai programmé un tas de jeux Flash de base quand j'étais enfant – si vous pouvez trouver mon profil Newgrounds, vous pouvez en rire – mais j'ai eu quelques idées en tête qui se sont calcifiées en pensées qui vont pas de changement. Je dois les faire un jour et peut-être qu'un jour, c'est maintenant.
Mais savoir comment commencer à créer un jeu n’est pas facile. Je ne savais pas vraiment quel genre de jeu j'essayais de créer, ni quel moteur je devais utiliser, ni comment commencer réellement à créer un jeu. Jusqu'à récemment, je ne l'avais tout simplement pas fait. J'avais téléchargé Unity une fois, j'étais intimidé et je l'avais désinstallé.
Ainsi, la première étape de mon parcours de création de jeux a été d'en parler à ChatGPT. Pas de GPT personnalisé sophistiqué, pas de plug-ins, juste moi et mon copain – à qui j'avais demandé de répondre de manière encourageante et compréhensive – comme s'il s'agissait d'enseigner à un enfant.
Il m'a présenté les principaux moteurs du jeu et, après avoir expliqué mon idée de jeu, il m'a fait quelques suggestions. Cela a finalement suggéré que je pourrais le faire en 2D et que même si les gros moteurs seraient également géniaux, je serais peut-être mieux avec quelque chose comme Godot ou Game Maker Studio.
J'ai fait des recherches externes et j'ai finalement opté pour Game Maker. Cela semblait être le plus simple. ChatGPT était enthousiasmé pour moi lorsque j'ai dit que j'avais opté pour un moteur, puis nous avons commencé à travailler sur les grandes lignes de mon projet.
Maintenant quoi?
Alors, comment puis-je réellement créer un jeu ? ChatGPT m'a suggéré d'apprendre le moteur, ce qui est très logique. Mais comment faire ? Selon lui, certaines approches pourraient fonctionner, notamment la réalisation d'un didacticiel. Cela avait du sens, alors j'ai trouvé un tutoriel pour Game Maker sur YouTube et je l'ai parcouru en quelques heures, créant un clone d'Asteroids auquel le préadolescent Jon aurait certainement aimé jouer sur les ordinateurs de l'école au lieu de faire le travail qui lui avait été assigné.
Mais cela m’a seulement vraiment appris les bases de l’emplacement des éléments dans le moteur. J'ai écrit dans la logique d'événement que la vidéo m'a donnée, et ça a fonctionné ! Super. Maintenant quoi?
Le plus bon conseil que j'ai lu de la part de développeurs expérimentés était simplement de créer un autre jeu didacticiel. Et puis un autre, puis un autre, et continuez jusqu'à ce que je connaisse suffisamment le moteur pour le comprendre. Et c’est seulement alors que je pourrais aborder mon propre jeu.
Mais je ne suis pas un parfait noob travaillant seul, n'est-ce pas ? J'ai un expert en programmation à ma droite chaque fois que j'ai une question, ou même que j'ai besoin d'un exemple d'extrait de code à copier et coller. J'ai ChatGPT. Je peux ignorer cela et créer mon propre jeu. C'est du moins ce que je pensais.
Tout va bien – jusqu'à ce que ce ne soit plus le cas
J'ai pris un bon départ. Avec ChatGPT pour me guider dans ce que je devais faire, me donner des exemples de code lorsque j'étais bloqué ou me faire des suggestions sur la façon dont je pourrais faire les choses différemment, j'ai fait des progrès rapides. En quelques heures, j’avais un prototype du jeu.
J'ai donc demandé à ChatGPT comment je pouvais étendre le jeu pour le rendre plus grand, plus long et plus amusant, et il s'est avéré que le prototype que j'avais réalisé était entièrement sur mesure, avec aucune capacité d'extension sans tout réorganiser.
Mais ça va. C'est pour ça que c'est un prototype, non ? Donc, nous recommençons, et cette fois, je crée un CustomGPT qui répond mieux à ce dont j'ai besoin et qui sait sur quoi je travaille. J'en ai créé un qui connaissait tous mes objets et scripts du jeu, certains de leurs extraits de code, les noms de variables – les travaux. Et nous avons recommencé à zéro, cette fois en utilisant des tableaux et des structures, qui sont du code modulaire compartimenté qui appelle des scripts et détruit dynamiquement les instances dont je n'ai plus besoin, et ainsi de suite.
Mais si je suis honnête, je ne sais pas vraiment ce que tout cela signifie. Et une nuit en particulier, j'étais fatigué, mais je voulais vraiment terminer ce morceau avant de devoir m'absenter quelques jours pour la vie, les enfants et tout le reste. J’ai donc pris un raccourci, laissant ChatGPT m’écrire le code dont j’avais besoin. Pour mon plus grand plaisir, je l'ai branché et cela a fonctionné. Super. Bonne nuit.
Malheureusement, ce qui a commencé comme une opération ponctuelle est devenu trop rapidement une habitude. J'ai commencé à utiliser les noms de variables trouvés par ChatGPT, en lui faisant commenter le code pour m'aider à y revenir plus tard. J'apprenais beaucoup sur la façon de créer un jeu et je commençais à trouver plus facile de me déplacer dans le moteur. Le deuxième prototype était en train d’être mis au point, mais je me suis ensuite heurté à une pierre d’achoppement.
Un objet majeur ne se comporterait tout simplement pas comme je le souhaitais. ChatGPT a suggéré quelques correctifs, mais ils n'ont pas fonctionné. J'ai essayé de le comprendre moi-même. Pendant des heures. Et je n'ai abouti à rien.
J'ai fini par copier l'intégralité du code d'événement de chaque objet du jeu et de chaque script dans ChatGPT et lui demander de trouver le problème. Ça faisait. Mais les correctifs n'ont pas fonctionné. Et c'était tout. Je n'avais rien. Nulle part vers qui se tourner.
Je n'étais pas assez compétent pour le rechercher moi-même et je n'avais pas utilisé le contrôle de version approprié pour le restaurer. J'étais dans une impasse à cause de mon propre désir de développement rapide au détriment de la compréhension. Je n'en avais pas suffisamment appris sur la façon de créer un jeu, alors maintenant que le jeu que j'avais créé était cassé, je ne savais plus comment le réparer.
Le problème
Le problème avec l'utilisation de ChatGPT pour m'apprendre à créer un jeu, et j'imagine bien d'autres sujets, c'est que ChatGPT ne sait rien. Il peut accéder à des informations et écrire quelque chose qui semble savoir de quoi il parle, mais il ne le sait pas. Ainsi, lorsque je lui ai demandé de m'aider à faire quelque chose d'une certaine manière, il m'a aidé à le faire d'une certaine manière, sans m'expliquer qu'il existe de meilleures façons de le faire.
Je n'ai pas eu de problèmes avec les hallucinations , mais j'ai eu des difficultés avec le fait que ChatGPT n'a pas le dernier manuel de Game Maker Studio sous la main, donc il faisait souvent des suggestions pour une logique obsolète que le moteur de Game Maker lançait toutes sortes de drapeaux rouges terminés.
Mon GPT personnalisé, et même l' assistant de codage Grimoire , plus professionnel, ne sont pas intuitifs. Ils ne peuvent pas anticiper vos problèmes, ni imaginer que votre champ d'action puisse changer à l'avenir, ou ce que vous pourriez souhaiter ou avoir besoin de plusieurs conversations à partir de maintenant. Ce n'est tout simplement pas un bon substitut à un enseignant humain ou à avoir les connaissances vous-même.
La solution
Je n’ai pas abandonné mon parcours de création de jeux. En effet, je réalise le prochain prototype, et j'utilise toujours ChatGPT — mais avec une nouvelle approche. J'écris tout le code à la main, en m'assurant de nommer toutes les variables et tous les scripts, et en écrivant les commentaires qui ont du sens pour moi. De cette façon, quand je casse inévitablement quelque chose, je saurai comment tout cela fonctionne, afin de pouvoir trouver des solutions.
Si je ne sais pas comment faire quelque chose, je demande à ChatGPT de me l'expliquer en général, puis j'utilise les informations qu'il m'a données pour apporter mes propres modifications dans mon propre jeu. C'est plus lent, mais beaucoup plus stable. Lorsqu'un problème survient, je peux le résoudre, car j'apprends en fait à créer un jeu. Pas seulement pour que ChatGPT le fasse pour moi pendant que je suis en voyage.
Mes amis développeurs trouvent tout cela très drôle car, après avoir eu une IA moderne comme pivot de mes premiers échecs, j'apprends juste à coder comme tout le monde. Lentement et avec beaucoup d’erreurs.
J'aurais dû interroger Grimoire à ce sujet dès le début. Quand je veux apprendre quelque chose, je l’apprends dans le manuel. Lorsque je veux revérifier quelque chose, je demande à ChatGPT de le vérifier une fois pour m'assurer que je vais dans la bonne direction. J'ai également implémenté le bureau GitHub, donc si jamais je m'éloigne trop des profondeurs, je peux rapidement le récupérer là où tout a à nouveau du sens.
Je pense toujours que ChatGPT est un outil incroyable qui continuera à améliorer sa capacité à agir en tant que tuteur expert disponible jour et nuit, pour relativement peu d'argent et avec le ton de voix que vous souhaitez lui donner. Le simple fait qu'il me crée une liste de tâches à la fin d'une session de codage qui salue également mes efforts et répertorie mes réalisations est vraiment encourageant et pratique.
Mais ce n’est pas la solution définitive que j’espérais. Et c'est OK. Je vais toujours continuer à créer mon jeu et je continuerai à utiliser ChatGPT pour m'aider là où cela est possible. J'espère que dans un an ou deux, vous verrez mes collègues ici présents m'aider à contrecœur à en faire la promotion. Nous verrons.