Utilicé ChatGPT para ayudarme a crear mi primer juego. No cometas los mismos errores que yo cometí
Además de escribir artículos sobre ChatGPT , aceptar el chatbot de IA ha sido una de mis principales misiones durante el año pasado. Lo he encontrado útil para generar ideas de recetas a partir de una lista de ingredientes, escribir ideas divertidas de historias alternativas y responder aclaraciones sobre las reglas de los juegos de mesa . Pero quería ver si podía hacer algo más impresionante: enseñarme a hacer un juego.
El primer obstáculo
Hace tiempo que quería hacer un juego. Programé un montón de juegos Flash básicos cuando era niño (si puedes encontrar mi perfil de Newgrounds, puedes reírte de ellos), pero he tenido algunas ideas en mi mente que se han calcificado en pensamientos que no cambiar. Necesito hacerlos algún día y tal vez algún día sea ahora.
Pero saber cómo empezar a hacer un juego no es fácil. Realmente no sabía qué tipo de juego estaba tratando de hacer, o qué motor debería usar, o cómo empezar a crear un juego. Hasta hace poco, simplemente no lo había hecho. Descargué Unity una vez, me sentí intimidado y lo desinstalé.
Entonces, el primer paso en mi viaje hacia la creación de juegos fue hablar con ChatGPT al respecto. Sin GPT personalizado sofisticado, sin complementos, solo mi amigo y yo, a quien le pedí que respondiera de manera alentadora y comprensiva, como si estuviera enseñando a un niño.
Me habló de los principales motores del juego y, después de explicarme mi idea para un juego, me dio algunas sugerencias. Al final me sugirió que podía hacerlo en 2D y que, aunque los motores grandes también serían geniales, tal vez estaría mejor con algo como Godot o Game Maker Studio.
Investigué un poco externamente y finalmente me decidí por Game Maker. Parecía lo más sencillo. ChatGPT se emocionó cuando dije que me había decidido por un motor y luego nos pusimos a trabajar en la descripción de mi proyecto.
¿Ahora que?
Entonces, ¿cómo puedo crear un juego? ChatGPT me sugirió aprender el motor, lo cual tiene mucho sentido. ¿Pero cómo hago eso? Hubo algunos enfoques que, según dijo, podrían funcionar, incluido hacer un tutorial. Eso tenía sentido, así que encontré un tutorial para Game Maker en YouTube y lo revisé en un par de horas, haciendo un clon de Asteroids que el preadolescente Jon definitivamente habría disfrutado jugando en las computadoras de la escuela en lugar de hacer el trabajo que le habían asignado.
Pero eso sólo me enseñó los conceptos básicos de dónde estaban las cosas en el motor. Escribí en la lógica de eventos que me dio el video y ¡funcionó! Excelente. ¿Ahora que?
El mejor consejo que he leído de desarrolladores experimentados fue simplemente crear otro juego tutorial. Y luego otro, luego otro, y seguí hasta que estuve lo suficientemente versado en el motor como para entenderlo. Y sólo entonces podría afrontar mi propio juego.
Pero no soy un completo novato operando solo, ¿verdad? Tengo un relativo experto en programación a mi mano derecha cada vez que tengo una pregunta, o incluso necesito un ejemplo de fragmento de código para copiar y pegar. Tengo ChatGPT. Puedo saltarme eso y empezar a crear mi propio juego. O eso pensé.
Todo está bien, hasta que deja de estarlo
Tuve un buen comienzo. Con ChatGPT para guiarme en lo que tenía que hacer, darme ejemplos de código cuando estaba estancado o hacerme sugerencias sobre cómo podía hacer las cosas de manera diferente, logré un rápido progreso. En unas pocas horas, tenía un prototipo básico del juego.
Entonces, le pregunté a ChatGPT cómo podía expandir el juego para hacerlo más grande, más largo y más divertido, y resultó que el prototipo que había hecho era completamente personalizado, sin capacidad de expansión sin necesidad de reestructurar todo.
Pero eso esta bien. Por eso es un prototipo, ¿no? Entonces, comenzamos de nuevo, y esta vez hago un CustomGPT que es más comunicativo con lo que necesito y sabe en qué estoy trabajando. Creé uno que tenía conocimiento de todos mis objetos y scripts del juego, algunos de sus fragmentos de código, nombres de variables, todo funciona. Y comenzamos de nuevo desde cero, esta vez usando matrices y estructuras, que es un código modular compartimentado que llama a scripts y destruye dinámicamente instancias que ya no necesito, y así sucesivamente.
Pero si soy honesto, realmente no sé qué significa la mayor parte de eso. Y en una noche en particular, estaba cansado, pero realmente quería terminar esta parte antes de tener que tomarme un par de días para la vida, los niños y todo lo demás. Entonces, tomé un atajo y permití que ChatGPT me escribiera el código que necesitaba. Para mi deleite, lo enchufé y funcionó. Excelente. Buenas noches.
Desafortunadamente, lo que comenzó como algo aislado se convirtió en un hábito muy rápidamente. Comencé a usar nombres de variables que se le habían ocurrido a ChatGPT y le pedí que comentara el código para ayudarme a volver a él más tarde. Estaba aprendiendo mucho sobre cómo hacer un juego y comencé a encontrar más fácil moverme por el motor. El segundo prototipo estaba tomando forma, pero entonces me topé con un obstáculo.
Un objeto importante simplemente no se comportaría como yo quisiera. ChatGPT sugirió algunas soluciones, pero no funcionaron. Intenté resolverlo yo mismo. Por horas. Y no llegué a ninguna parte.
Terminé copiando el código de evento completo de cada objeto del juego y cada script en ChatGPT y pidiéndole que encontrara el problema. Lo hizo. Pero las soluciones no funcionaron. Y eso fue todo. No tengo nada. Ningún lugar al que recurrir.
No tenía la habilidad suficiente para buscar errores por mi cuenta y no había usado el control de versiones adecuado para revertirlo. Había llegado a un callejón sin salida debido a mi propio deseo de un rápido desarrollo a costa de la comprensión. No había aprendido lo suficiente sobre cómo crear un juego, así que ahora que el juego que había creado no funcionaba, no tenía idea de cómo solucionarlo.
El problema
El problema de usar ChatGPT para enseñarme a hacer un juego, e imagino muchos otros temas, es que ChatGPT no sabe nada. Puede acceder a información y puede escribir algo que parezca que sabe de lo que está hablando, pero no lo sabe . Entonces, cuando le pedí que me ayudara a hacer algo de cierta manera, me ayudó a hacerlo de esa manera, sin explicarme que hay mejores maneras de hacerlo.
No tuve problemas con las alucinaciones , pero sí tuve dificultades con la forma en que ChatGPT no tiene a mano el último manual de Game Maker Studio, por lo que a menudo hacía sugerencias para la lógica obsoleta que el motor de Game Maker arrojaba todo tipo de Se acabaron las banderas rojas.
Mi GPT personalizado, e incluso el asistente de codificación Grimoire , más profesional, no son intuitivos. No pueden anticipar sus problemas, ni imaginar que su alcance puede cambiar en el futuro, o lo que podría querer o necesitar varias conversaciones a partir de ahora. Simplemente no es un buen sustituto de un maestro humano o de tener el conocimiento usted mismo.
La solución
No he renunciado a mi viaje de creación de juegos. De hecho, estoy creando el próximo prototipo y sigo usando ChatGPT, pero con un nuevo enfoque. Estoy escribiendo todo el código a mano, asegurándome de nombrar todas las variables y scripts, y escribiendo comentarios que tengan sentido para mí. De esa manera, cuando inevitablemente rompa algo, sabré cómo funciona todo y podré encontrar soluciones.
Si no sé cómo hacer algo, le pido a ChatGPT que me lo explique en general y luego uso esa información que me dio para hacer mis propios cambios en mi propio juego. Es más lento, pero mucho más estable. Cuando surge un problema, puedo solucionarlo, porque en realidad estoy aprendiendo a crear un juego. No solo conseguir que ChatGPT lo haga por mí mientras estoy de viaje.
Mis amigos desarrolladores piensan que todo esto es muy divertido porque, después de tener una IA moderna como eje de mis primeros fracasos, estoy aprendiendo a codificar como todos los demás. Poco a poco y con muchos errores.
Debería haberle preguntado a Grimoire sobre esto desde el principio. Cuando quiero aprender algo, lo aprendo del manual. Cuando quiero volver a verificar algo, le pido a ChatGPT que lo revise para asegurarme de que voy en la dirección correcta. También implementé el escritorio GitHub, de modo que si alguna vez me alejo demasiado de algún extremo, puedo recuperarlo rápidamente hasta donde todo tiene sentido nuevamente.
Sigo pensando que ChatGPT es una herramienta increíble que seguirá mejorando en su capacidad para actuar como un tutor experto que está disponible día y noche, por comparativamente poco dinero y con cualquier tono de voz que quieras darle. Simplemente hacer que me cree una lista de tareas pendientes al final de una sesión de codificación que también elogie mis esfuerzos y enumere mis logros es realmente alentador, además de práctico.
Pero no es la solución definitiva que esperaba que fuera. Y eso está bien. Seguiré creando mi juego y seguiré usando ChatGPT para ayudarme en lo que pueda. Con suerte, en uno o dos años, verás a mis colegas aquí ayudándome a regañadientes a promoverlo. Ya veremos.