martes, 7 de noviembre de 2006

Padre Carlos II

Hoy envié a Padre Carlos a ser testeado en su nueva versión, la cual incluye el nivel dos. Y ya que estamos, sigo con esta serie de cómo se fue construyendo el juego.

Cuando decidí iniciar el proyecto, tenía en mente aprovechar parte del código y motor que había hecho en los intentos de meses anteriores. Es decir, un arcade de scroll lateral y plataformas. Mi intención era hacer algo no muy difícil, buscando el mercado casual. Para ese mercado, también necesitaba gráficos de buen tamaño y coloridos. En parte, un desafío, porque ya se sabe lo que significan esas características para los móviles.

Sprites de 50 x 40 píxeles

En esas pruebas estaba cuando me encontré con un engine isométrico open source para MIDP 1.0: IsoJ2ME.

http://sourceforge.net/projects/isoj2me

Si bien no parecía estar actualizado, le dediqué algo de tiempo para ver sus posibilidades. El engine fue desarrollado por un italiano. No estaba documentado y bastante hardcodeado. Pero venía acompañado por un simple juego como muestra de su funcionamiento.
Me pareció una buena solución. Inclusive me comuniqué con su creador y me dijo que lo estaba mejorando.
Así que, dejando de lado todo lo que ya tenía hecho, me decidí a reformular el proyecto para darle una vista isométrica.

Como la idea era que Padre Carlos anduviera por la ciudad persiguiendo enemigos, tenía que decidir el compromiso del tamaño de los edificios... Si trataba de mantener las proporciones, me quedaba un personaje sumamente pequeño y no era lo que buscaba. Por lo tanto, preferí mantener los sprites de buen tamaño (56 x 40 píxeles) y que la ciudad en sí fuera más pequeña, pero muy colorida. De ahí que el edificio más alto no supera los 80 píxeles.
Creo que esta solución fue apropiada, porque no afectó al gameplay el hecho que Padre Carlos o los demonios fueran más altos que un estadio de fútbol... y al mismo tiempo dio lugar a trabajar mejor cada sprite. Vale aclarar que la resolución elegida para desarrollo fue de 176 x 208 píxeles.
Un buen efecto lateral de esto es que sólo necesitaré dos juegos de gráficos. Uno para screens de 128 x XX y otro para las superiores. Es decir, el juego se ve bien en móviles QVGA, con resoluciones de 320 x 240 o mayores.
Por el lado de la programación, traté de mantener los mínimos requerimientos, para llegar a la mayor cantidad de móviles posibles. Así, mantuve la CLDC 1.0 y de MIDP 2.0 sólo utilicé la clase Sprite, para facilitar rotaciones y demás. Si quiero portarlo a móviles MIDP 1.0, será para los que dispongan un API con mirror, etc., como Nokia por ejemplo.
Otra restricción que me impuse, fue que el jar final no superara los 120 Kb para el juego de gráficos más grande. A medida que fui creando los recursos, me di cuenta que muchas de las ideas serían imposibles para sostener ese límite. Por lo tanto, desaparecieron algunos enemigos, ítems, edificios y demás. De todos modos, quedó mucho para divertirse :))
Pasados unos 45 días ya tenía una funcionalidad aceptable. Padre Carlos se movía por la ciudad al igual que los enemigos (prostituta, gay y serpiente) y todos disparaban sus armas. Probé el juego en varios emuladores y en dos móviles: Samsung x486 y Motorola ROKR. En ese Samsung nada anda bien, así que no me preocupé por la baja velocidad... pero en el Motorola corría a unos 10 fps, lo cual me pareció suficiente.
Todo el material, junto a un resumido documento de diseño, fue enviado a algunos posibles publishers... más para conocer sobre lo que pensaban de la idea, que de cómo estaba el juego en sí.
Sus respuestas fueron tranquilizadoras. Podría llegar a arder en la hoguera en algún momento... pero si dejaba el juego presentable, ellos lo distribuirían :))

Así se cumplió la primer etapa del proyecto.
Espero que sea de utilidad a alguien lo expresado más arriba :)


Ya vendrá un nuevo post sobre cómo siguió la vida del Padre Carlos...
Nos leemos!!