El mismo alien, dos formas de hacer un juego
El juego que programé a mano para Computación Gráfica me llevó muchísimas horas. Recrearlo con agentes fue un ratito en comparación, y el resultado me gusta más.
Para Computación Gráfica, en la universidad, hicimos Going Back Home con Sebastián Benamo. Era un juego en el que un alien azul recorría un bosque, juntaba objetos y volvía a su nave para regresar a casa. La programación del original la hice a mano y me llevó muchísimas horas.
Ahora volví a esa idea con agentes de IA. Recrear el juego fue un ratito en comparación con lo que me había llevado hacerlo entonces. Y, para mí, el resultado es mejor. Ver las dos versiones juntas hace bastante concreta una diferencia que, cuando hablamos de IA, a veces queda demasiado abstracta.
Créditos del fragmento
- Gray Alien — downshiftdx (CC-BY)
- Pine Tree — evolveduk
- Pine tree low-poly — Ricardo Sanchez
- Tree Bake Upload — restlessmonkey
- Licencia de los árboles: CC BY 4.0
Alien adaptado con nueva escala, rig, animaciones y material. Árboles adaptados en escala, tintes, recorte alfa, sombras e instancias.
Muchísimas horas para llevar una idea a la pantalla
El alien y el shader del original los conseguí gratis. Lo que programé a mano fue el juego: hacer que el personaje se moviera, integrar las animaciones y las físicas, recoger objetos, definir cuándo se ganaba o se perdía y conectar todo eso con el escenario.
Cada parte que quería agregar requería trabajo mío para que existiera. Tenía que aprender cómo resolverla, escribir el código e integrarla con lo que ya había hecho. El esfuerzo se acumulaba incluso en cosas que, una vez funcionando, parecían simples.
Era un proyecto para una materia y ese trabajo también era parte del aprendizaje. No miro al original como algo que estuvo mal hacer así. Pero recuerdo muy bien la cantidad de horas que llevó llegar a ese resultado.
Esta vez no tuve que programar cada parte
Para la recreación pude partir del juego que recordaba y pedirle a los agentes que lo construyeran. El alien azul con aspecto de galaxia, el bosque, el lago con una pasarela, los objetos por recoger y la vuelta a casa ya tenían una referencia concreta.
Los agentes se ocuparon de buena parte de la implementación. Yo pude darle dirección al resultado y jugar la nueva versión sin escribir personalmente todo el código que había detrás. Seguí tomando decisiones, pero la cantidad de esfuerzo manual que tuve que poner fue muchísimo menor.
Y el resultado me gusta más
La nueva versión conserva al alien azul y la idea de recorrer el bosque para volver a casa. El escenario, el lago y la pasarela tienen otra terminación. Puedo abrir la demo en la Mac, mover al personaje y recorrer ese mundo que había imaginado para la universidad.
A mí esta versión me parece mejor que la original. Eso vuelve más interesante la comparación: con mucho menos esfuerzo personal llegué a un resultado que me gusta más. No me quedé solamente con la satisfacción de haberlo hecho más rápido; también prefiero lo que apareció en pantalla.
Pasaron años, cambiaron las herramientas y yo también tengo más experiencia. El original estaba hecho en Unity y esta recreación usa Godot. Es una demo nueva, no una recuperación exacta del proyecto anterior. Esas diferencias importan, pero no borran lo que viví al construir uno y otro.
El esfuerzo que ahora puedo elegir hacer
Lo que me entusiasma es poder poner en práctica ideas sin tener que asumir de entrada todo aquel esfuerzo de implementación. Hay una diferencia enorme entre imaginar algo y saber que voy a tener que programar cada parte, e imaginarlo y poder poner agentes a construir una versión que después puedo jugar.
Going Back Home empezó como un trabajo de Computación Gráfica. Volver a él me permitió ver esa diferencia en algo propio: un juego que hice a mano, el tiempo que me llevó y una nueva versión que ahora puedo construir con mucho menos esfuerzo.