Noticias

El ciclo sin fin

Megawacky Max saca del cajón de los recuerdos un viejo proyecto cuya creación desea compartir con todos... y que puede ser la chispa que le devuelva sus deseos de volver a crear.
Avatar de Maximiliano Baldo

Por: Maximiliano Baldo

Los que me conocen saben que soy un alma creativa. Eso no quiere decir que siempre termino lo que empiezo, sino que que tengo mas ideas de las que puedo desarrollar. Estoy constantemente dejando proyectos por la mitad, llamense historias, comics, dibujos varios, animaciones y, especialmente, videojuegos. Desde que tengo memoria fichinera siempre quise adentrarme en este universo de sprites, puntajes, bits y bytes; pero no como un mero espectador, sino como el responsable de proveer a otros jugadores de experiencias nuevas. Si… desde que tengo memoria, siempre quise programar juegos.

Claro que nunca tuve las herramientas apropiadas (o la paciencia requerida), pero algunas cosas conseguian salir a flote. Mi primer experimento fue una simil aventura de texto desarrollada en Basic; lenguajes antiguos si los hay; y se trataba mas de una historia interactiva que de un juego que acepte ordenes tipeadas. Pero era algo; era un comienzo, era el anhelo de narrar una historia en la que el lector tenia cierto control. Paso el tiempo y llegaron nuevos programas, pero todavia estaban muy por encima de lo que yo podia entender en materia de programacion. Todos los programas tenian un Pero importante que yo no conseguia superar…

…hasta que aparecio DIV Games Studio.

Este programa mezclaba una interfaz grafica similar a Windows, pero con un lenguaje de programacion que tomaba lo mejor de C++ y Pascal para volverlo algo unico. Venia con un completo manual y una coleccion de juegos ya listos para probar y estudiar, y el propio manual ofrecia un tutorial de principio a fin para crear nuestro primer juego: un fichin de navecitas. Simple. Muy simple. Pero muy informativo. Programe ese juego y luego comence a modificarlo, aunque por aquel entonces no conseguia ver el Todo que DIV podia llegar a ofrecer. Recordemos que esto tomo lugar en la decada del 90, cuando Windows recien empezaba a vanagloriarse de Sistema Operativo (el infame Win 95) y el MS-DOS aun reinaba en los discos rigidos.

Muchos fueron mis experimentos con DIV, pero estaba claro que no conseguia enfocarme en un proyecto en particular; un mal que todavia hoy me aqueja terriblemente. Hacia falta una musa inspiradora… una idea concreta… algo en lo que realmente quisiera trabajar. Por aquel entonces yo descubria una serie de animacion en el viejo canal Nickelodeon, llamada “¡Oye, Arnold!” Se trataba de la vida de un curioso niño con cabeza ovalada (un poco mas deforme que el Stewie de Family Guy) en el dia a dia de una ciudad. La calidad de aquel universo y de los personajes que lo habitaban daba cabida a toda clase de historias, y de alli salio la inspiracion que necesitaba: desarrollaria un juego basado en la serie.

La planificacion de un juego es la espina dorsal del mismo. Antes de empezar a escribir codigo y a preparar imagenes hay que saber exactamente lo que se desea hacer. Hay que desarrollar las reglas del juego, su estilo, que se puede hacer, que no se puede hacer, por que ocurre tal y cual evento. Quiza sea por eso que mi primer intento de juego salio tan desastroso. Una pesadilla de diseño de escenario en 640x480 en el que todo el nivel era un enorme dibujo que ocupaba el aterrador tamaño de 19MB. Recordemos que estamos hablando de una epoca en la que 19MB era una abrumadora cantidad de espacio (el Duke Nukem 3D ocupaba alrededor de 40MB), y yo estaba usando casi 20 megas para apenas el primer nivel. ¿Y los demas? El juego completo facilmente superaria los 200MB.

Es entonces que uno se ve obligado a pisar el freno y pedir direcciones. La solucion vino de parte de Super Mario, si lo pueden creer. Observaba la enorme cantidad de niveles que tiene el juego y me preguntaba como podian meter todo eso en un cartuchito, sabiendo que su capacidad de almacenamiento era muy limitada. Ahi es cuando uno empieza a notar patrones en los niveles. Por ejemplo, que estan construidos a partir de bloques, baldosas o “tiles”, tal es su denominacion en ingles. Ademas, los personajes llevan una logica, y es la de mantener sus tamaños en base a estas baldosas. Mario, por ejemplo, tiene dos baldosas de alto, pero una sola cuando esta en su version reducida o cuando se agacha. Asi mismo, todos sus enemigos tienen una baldosa de alto. Todo esto me llevo a pensar que, en realidad, lo que yo estaba viendo era una muy reducida coleccion de baldosas, pegadas en lo que podemos denominar como cuadriculado o grilla. Asi, cada nivel no seria sino una coleccion de datos, no de imagenes enormes, reduciendo efectivamente el espacio requerido por cada nuevo nivel.

Armado con este nuevo conocimiento, el siguiente paso fue estudiar el sistema de Arrays (Matrices), muy comunes—y utiles—en todo tipo de programa. Asi descubri que, de hecho, podia darle a cada casilla de una cuadricula imaginaria un valor numerico. Dicho valor corresponderia al numero de baldosa en una imagen unica que las contendria a todas, de modo que al iniciar un nuevo nivel el juego leeria cada casilla, iria a buscar la imagen necesaria, y la “pegaria” al mapa de nivel, creando asi el escenario de juego. Tal idea demostro ser especialmente eficaz, ya que aunque un unico nivel ocupaba 19MB, cada nuevo nivel ocupaba apenas un par de centenas de bytes.

Sin embargo, aquel enorme nivel “maestro” seguia ocupando mucho. Fue el momento de hacer borron y cuenta nueva, y de pasar de los 640x480 a unos mas modestos 320x240 pixels. Ahora con nuevas resoluciones de trabajo, el tamaño del nivel “maestro” se redujo todavia mas, permitiendome armar niveles mediante un editor (que tambien tuve que programar) para utilizarlos en el juego final.

Por aquel entonces yo ya dibujaba, aunque peor que ahora. Fue lo suficientemente bueno como para garabatear los sprites de animacion de los personajes, escanearlos, retocarlos un poco con el editor de imagenes propio de DIV y utilizarlos para darle vida a Arnold, personaje principal del juego (Helga tambien era un personaje jugable, pero eso fue en la primera version, anterior a la de los videos que pueden ver en este texto). Antes de volcarme de lleno al juego principal era necesario dotar al personaje de movimiento y control, por lo que las primeras pruebas tuvieron lugar en una habitacion cerrada, en la que experimente con deteccion de teclas y deteccion de superficies. Era indispensable que el personaje detecte cuando estaba tocando el suelo, cuando golpeaba la cabeza contra un techo, y cuando se daba de frente contra alguna pared, a fin de poder navegar los niveles oficiales. En un rapto de imaginacion, tambien hice que Arnold caminase agachado, ganando un nuevo movimiento.

Asiduo visitante de los Foros de Arnold de aquella epoca, decidi compilar un nivel de prueba para demostrar las habilidad de Arnold y la estabilidad del juego en si. Esto resulto en el Alpha 00 (siempre tuve la maldita costumbre de empezar a contar desde el cero), que tuvo muy buenas criticas entre los fanaticos, que me dieron bastantes sugerencias y criticas para seguir el proyecto. Para ese entonces yo ya habia planificado el juego final, que constaria de casi 80 niveles divididos en varias areas (como los mundos de Super Mario World), todos unidos bajo un objetivo principal. Pero como yo ya era por entonces un maldito desgraciado, se me habia ocurrido la genial idea de que los jugadores tuviesen que regresar a varios niveles ya superados para completarlos al 100%.

En primer lugar, estaban los cofres. En el Alpha 01 pueden verlos en accion; son contenedores que solo pueden abrirse con la llave correspondiente. En el juego final, las llaves serian dificiles de encontrar, por lo que muchas veces el jugador debia dejar de lado cofres que encontraba en su camino, sabiendo que tendria que regresar al nivel una vez obtenida la llave especifica. Si acaso eso no era suficientemente tortuoso, a lo largo de la aventura tambien obtendriamos items especiales que nos ayudarian a acceder a nuevas zonas en niveles viejos. Por ejemplo, obtener unas zapatillas especiales nos aumentaba el poder de salto de manera permanente, por lo que ahora podiamos alcanzar ese andamio al que no llegabamos en el tercer nivel, y que abria un acceso en el mapa a otro nivel totalmente nuevo.

Dada la cantidad de items (llaves, items especiales, etc) se hizo necesaria la inclusion de una pantalla de inventario, que pueden ver en el video del Alpha 01. Si acaso creen que se parece muchisimo a una pantalla de inventario de todo buen juego de Zelda, adivinaron, porque aquella fue inspirada en la pantalla de inventario de A Link To the Past. Desde alli podriamos ver nuestro estado, nuestros items, nuestras llaves y mas, y se iria llenando a medida que la aventura continuase. Pero hasta ahora solo habia generado dos muestras con solo un nivel cada una. ¿Podia ir mas alla? Tras varias pruebas, cientos de errores y miles de insultos, alcance a terminar el Alpha 02, que esta vez incluia varios niveles, un sistema de seleccion de nivel estilo Super Mario World (o Super Mario 3), un nivel secreto (que aparece en el mapa al obtener las letras EXTRA en cada nivel), un nivel de bonus y mucho mas.

Lamentablemente, no he podido encontrar esa Alpha en ninguna parte, por lo que temo que debe estar perdida en mi vieja Laptop, y recuperarla de alli puede que sea imposible.

Pero luego… el proyecto murio. Podria dar miles de motivos tecnicos, destacandose los primeros años de Windows 98 y su severa incompatibilidad con todo lo que sea MS-DOS, pero el verdadero y unico problema… fui yo. Siempre haciendo algo nuevo, jamas enfocandome en una cosa a la vez. Nuevos proyectos de juegos, nuevas historias, nuevos dibujos. La maldicion de una imaginacion que no sabe cuando parar. Poco a poco mi atencion en ese proyecto fue pasando a otras cosas y, una vez mas, todo quedo incompleto. Muchas veces a lo largo de estos años intente revivir mis ansias de programar, pero siempre estoy yo presente para distraerme con alguna otra cosa.

¿Tal vez este sea el momento de volver a probar? ¿Tal vez sea hora de intentar ese enfoque que en todos estos años no pude alcanzar? La proliferacion de la industria Indie y la gigantesca coleccion de programas apuntados especificamente al desarrollo de fichines me tienta cada vez mas. No es necesario que sea un juego grande. Basta con que sea un juego, y ya. Un fichin a la vez.

Si… Tal vez ha llegado el momento.

A los que deseen crear sus propios juegos, este es su momento. Tenemos a nuestra disposicion todas las herramientas necesarias. Solo necesitamos tener una idea concreta, planificar todo lo que tendremos que hacer en el juego… y mantener la promesa de seguir hasta el final. De nosotros depende… Y de nadie mas.


UNA ANÉCDOTA: Durante el desarrollo del juego de Arnold que ven en los videos, los chicos del Foro de aquella epoca me comentaron que les parecia mucho mejor mi juego que el fichin oficial de la pelicula de Arnold, desarrollado para GameBoy Advance. Aqui tienen un video de los primeros niveles de ese juego. ¿Que opinan, es tan asi?

Comentarios