domingo, 17 de mayo de 2015

PROGRAMACIÓN

Qué ingenua idea tenemos sobre la Programación de computadoras.
Me incluyo, porque cuando me propuse empezar a programar y aprender un lenguaje -en mi caso fue Actionscript 2.0-, minimicé las dificultades con las que chocaría.
Encima, ya se sabía -fue en el 2011-2012- que Flash 8 y su código AS 2.0 ya estaban "obsoletos" por decirlo así, pero nadie recomendaba empezar desde cero a estudiar el Actionscript 3.0.
Parecía una situación sin salida.

Sin salida
Yo estudiaba uno tras otro libros sobre Actionscript entre 1 y 2.0, sabiendo que lo que podría construir con ellos quedaba "antiguo", pero no tenía otro camino.
Así y todo, y como era de esperar, algunos autores los estudié casi sin resultado alguno. A veces aparecían ejercicios muy simples seguidos de otros códigos demasiado complejos.
Hubo momentos en que sentí angustia y decepción, pero siempre me acompañó la idea de que si otros lo habían hecho, ¿por qué no lo lograría? ¡Sólo quería aprender, después de todo!!
Aunque parezca loco lo que voy a contar, en un capítulo del libro Actionscript 2.0 Animation, encontré un texto que comparaba el API de Flash con la Geometría de Tortuga: por fin encontraba algo conocido, porque la mayoría de las demás cuestiones de la Programación Orientada a objetos (clases, herencia, propiedades, métodos, oyentes y gestores de eventos, etc.) eran completamente desconocidas para mí y no tenía forma de asimilarlas a algún tipo de pensamiento anterior.
Y aunque parezca extraño, a partir de aquel capítulo y del API de Flash, pude ir avanzando por el Actionscript 2.0 primero y, luego, pasé a la  Animación más profundamente, en un libro de Keith Peters (aún estaba con AS 2.0).

Autores geniales
Debo reconocer que si bien no era inmediata la posibilidad de poner en práctica las geniales ideas de Peters de cómo aplicar matemática para crear animaciones realistas (él dice que su libro es sobre videojuegos pero no quiso darle ese nombre y que lo escribió para "tener a mano todas esas fórmulas"...(!)), ese libro fue uno de los mejores que estudié en mi vida. Es increíble cuando uno empieza a hacer cosas en 3D o aplica matemática para "suavizar o elastizar" un movimiento.
Y de allí pasé a la otra obra genial, ya sobre videojuegos y ya en Flash 10 (Actionscript 3.0), de Rex Van der Spuy, en la que ya desde el principio y a pesar de la aridez sintáctica del AS3.0, "empezamos" a crear un ¡storybook! Y de "la mano" de este gran "profesor" fui haciendo los proyectos que él propone, creando juegos muy simples primero, incorporando la  estructura -compleja- de clases, repasando algo de la matemática que ya había visto con Peters para dar movimiento, velocidad, aceleración y efectos animados a los personajes, creando un sencillo ejercicio de juego de plataforma y, por fin, en el último capítulo, -en el que enseña técnicas avanzadas diversas-, aprendí cómo aplicar arrastrabilidad a los objetos, tema con el que hace unos años, había empezado casi desde cero y sin entenderlo bien del todo, a crear pequeños juegos de escape, género que me apasiona y, entre otros, por el que hice todo este viaje.

Pensar, pensar y pensar...
Luego vendría lo más difícil: crear un juego propio -de escape o el que quisiera- en base a todos los temas tratados por Rex en su libro (sobre Videojuegos) y a los conceptos anteriores en general (de otros autores).
Con cierto temor intenté comenzar un juego de escape sencillo, pero esta vez  con varias habitaciones, personajes deambulando, y listo para poder complicarlo de allí  en más en AS3.0.
No fue  fácil porque esta vez ya no contaba con una ruta indicada sino que simplemente restaba: pensar, arriesgar, pensar, probar...
Tenía que pensar cómo aplicar o extender el storybook que Rex mostró en su capítulo 1, cómo incorporarle objetos arrastrables (¡último capítulo!) o cómo hacer para que el jugador al encontrar los objetos, éstos desaparecieran de la escena y se mostraran en el inventario, además de habilitar la salida del juego (escape) una vez logrado el objetivo, entre otros temas.

Y ahora...
... con el juego funcionando(!) todo parece más sencillo y directo, después de haber pasado todo este tiempo haciendo y rehaciendo códigos que aparentemente "no me servían de mucho", y pensando ideas de juegos inalcanzables de producir.
Y ahora quedan las demás ideas pendientes que, una vez que el mecanismo esté funcionando bien, consisten en agregar códigos cifrados a resolver, objetos que se deben romper para leer mensajes, un tiempo para jugar o bien un medidor de tiempo que se emplee en salir de la casa, personajes animados molestando o ayudando, etc., etc.  ¡Además de mejorar la parte gráfica!!

¡Esto recién empieza! :)


miércoles, 6 de mayo de 2015

STEAMPUNK

Un movimiento inspirador... incluyendo el àrea de los videojuegos, el cine, el comic...