No recuerdo si ya he comentado este aspecto de mi persona, pero si ya lo hice en otras crónicas y estás al tanto del asunto, sígueme la corriente y finge sorpresa – yo lo que siempre he querido hacer desde que decidí dedicarme a la informática es crear videojuegos.
En mis años de estudio y dada mi ubicación geográfica, había poca literatura y herramientas disponibles. Lo más que logré en mis días de universitario fue un applet que mostraba un gráfico sin animación y el personaje cambiaba de imagen según la tecla que yo presionaba para simular un golpe. Era nada, sí, pero al menos pude interactuar con el teclado y un gráfico.
Eventualmente más información, literatura oficial y herramientas empezaron a florecer y hacerse disponibles. Tuve acceso a Div Games Studio donde no logré nada tampoco, DarkBasic donde solo pude hacer una esfera. Libros de la editorial Users donde aprendí acerca del ciclo de los videojuegos pero nada más. Gamemaker pasó por mis manos también pero no pude más que seguir un tutorial para mover un coche en pantalla.
A estas alturas de la crónica es evidente que el factor común de mis fracasos era yo. Múltiples y diversas herramientas resultaban en la misma falta de resultados. El gran problema que tenía era que no sabía qué juego quería hacer y solo me aventuraba a crear lo que me saliera de la inspiración. Añade a esa carencia de claridad la falta de paciencia para aprender y entender la herramienta de desarrollo. El fracaso no era sorpresa alguna.
Un día de 2011 conocí App Game Kit (AGK), una herramienta diseñada (y así publicitada) para hacer videojuegos, creada y comercializada por The Game Creators (autores de DarkBasic). El gancho que me atrajo fue la promesa tipo java: code once, deploy anywhere!

La promesa de AGK incluía publicación para Android e iOS, además de escritorio usando la misma base de código fuente. El precio era razonable ($150 USD) así que decidí comprarlo y aventurarme una vez más.
En noviembre de 2011, luego de comprar la licencia de AGK, pensé en hacer un juego simple para aprender a usar la herramienta y ganar experiencia con la misma. Justo a la mano (literalmente en mi mano) tenía un rompecabezas de números, de los que tienes que deslizar las celdas y acomodarlos en un orden determinado:

Así que alineados los astros, esa fue mi decisión: crear una versión virtual de este juego en AGK.
No fue nada sencillo. Me convertí en el hombre orquesta:
- Desarrollo
- Pruebas
- Documentación
- Diseño de gráficos
- Tratamiento de sonidos
- Publicidad
- Publicación en Google Play
El proyecto, entre pausas, bloqueos y otras actividades, lo desarrollé en poco menos de 2 años. Realmente no tenía intenciones de publicar el juego; como comenté, era un ejercicio para aprender a usar el software. Sin embargo, poco a poco empezó a tener forma y a convertirse en mi primer intento exitoso de crear un juego, así que continué y en mayo de 2013, el juego estaba siendo publicado por primera vez en Google Play Store con el nombre de Catastrophe Slide Puzzle. No lo publiqué en Apple porque los costos eran sumamente elevados para mí, y había (o hay) un requisito de contar con un equipo Mac (que no tengo y de momento no tendré) para poder compilar juegos para dicha plataforma.
Esta es la liga del juego:

Hice un par de actualizaciones al juego durante 2013 para cubrir correcciones menores y eventualmente lo dejé.
Cuando compré la licencia de AGK, este se encontraba en su version 1.6 (creo). Ahora en 2022 ya estamos en la version 2.x con muchas, muchas novedades.
Buscando otro asunto, encontré un respaldo del código fuente de Catastrophe. Verifiqué si compilaba con la versión más reciente de AGK. Tuve que hacer algunos cambios menores, pero no me tomó más de 30 minutos poder generar nuevamente un EXE o un APK.
Aunque parece la conclusión de la crónica, en realidad es la introducción. Oh sí.
Llegó a mis manos el libro “Becoming a better programmer” de Pete Goodlife, editado por O’Reilly.

El libro habla de situaciones que derivan en buenas y malas prácticas de programación, dejando de lado la plataforma elegida. Hábitos, formas de pensar, estructurar, ejecutar. El texto del libro hace total sentido. Si eres novato en la industria, léelo, te enriquecerá enormemente.
Viendo el código fuente de Catastrophe, a 9 años de distancia, encuentro una cantidad importante de vicios que dejé vivir, por ignorancia o con total conocimiento. Encuentro código repetido, código comentado que nunca utilicé ni utilizaré (y dejé “por si acaso”). La estructura y agrupación no siguió un orden claro, hay archivos de código fuente que acusan que tenía una idea de estandarizarlo y otros donde esa idea la dejé de lado. Sin embargo, no todo está mal, el juego funciona, así que algunas decisiones estuvieron bien.
Tengo intenciones de crear una segunda versión del juego. Me había planteado hacer lo que todo desarrollador: decir que el código actual no sirve y empezar de cero… pero eso sería dispararme en el pie, porque soy yo quien hizo el código anterior; me rehuso a pensar que todo mi trabajo previo no sirve.

Ahora sí, a la conclusión de la crónica:
- Lee el libro “Becoming a better programmer”. Aprende de los errores de los demás y evítate dolores de cabeza. Es un texto en verdad enriquecedor.
- Dale una oportunidad al trabajo anterior de alguien, no necesariamente está todo mal (que no lo entiendas, no significa que no sirva), piensa que ese “alguien más” puedes ser tú mismo.







Deja un comentario