jueves, 31 de mayo de 2012

¿Quien es quien? Hoy: MotoGT

Para terminar con las presentaciones formales, voy a contarles sobre el tercer y último proyecto: MotoGT. En resumidas cuentas, es un juego de carreras de motos 2D de vista superior. Los gráficos son bastante feos ya que no soy un gran dibujante ni diseñador, y la mecánica del juego es por ahora muy básica ya que escribí todo el "engine" (va entre comillas porque no puedo llamarle engine a eso) de cero y sin muchas ambiciones. La verdad es que empezó como una, digamos, prueba de concepto, y después me entusiasme y terminé publicándolo.

Lo primero que hay que saber es que me encanta ese tipo de juego. Como referencia obligada, puedo recordar horas y horas de un verdadero grande del género como fue Death Rally (el original, que pueden bajar legalmente para Windows desde aqui, y que en GNU/Linux corre perfectamente con wine). Lo que mejor lograba este juego según mi criterio era un balance perfecto en la dificultad y el sistema de premios (mejores autos, más armas, la posibilidad de competir en carreras más difíciles, trampas, sabotajes, premios inesperados, un adversario final, etc). Con gráficos impecables para la época, una combinación excelente de carrera y combate, y un sinfín de agregados y personajes, hacían que uno no se cansara de ver y hacer siempre lo mismo como puede ocurrir fácilmente en un juego aparentemente tan simple. Desde chico intenté programar juegos de carrera de vista superior (además porque es relativamente fácil para empezar). Por otra parte, hay otra historia más personal sobre una deuda pendiente que será develada en otro post, y que me lleva a tener un especial cariño con estos juegos y a querer experimentar en el género.


Cuando empecé MotoGT, en mi universidad se estaba gestando una nueva tecnicatura en videojuegos, y un amigo mio estaba preparando los apuntes de una de las primeras materias. Yo me ofrecí a pegarles una mirada para darle mi opinión y porque me interesaba el tema. Seba es el único tipo que conozco personalmente que realmente sabe de esto y le ha dedicado tiempo, así que cuando él eligió SFML como biblioteca para desarrollar los primeros juegos en la tecnicatura quise probarla. Hace muchos años me había gustado mucho DIV Game Studio, un IDE excelente para escribir juegos en un lenguaje símil Pascal si mal no recuerdo pero orientado a procesos o algo así. Lo malo era que corría bajo DOS por lo que pronto quedó obsoleto. Yo intenté reproducir esa forma de desarrollo armándome mi propia biblioteca basada en SDL, pensando en juegos sencillos y rápidos de hacer, pero cuando vi la simplicidad de SFML me dí cuenta que era lo que necesitaba, así que tiré aquella biblioteca mia y me puse a experimentar. Como era de esperar, mi primer experimento fue un "algo" visto de arriba moviendose más o menos como un vehículo, porque es fácil de dibujar y animar, e involucra las transformaciones básicas en los sprites y hasta un scroll. Lo siguiente fué agregarle la capacidad de diferenciar superficies y detectar colisiones, basado en una especie de mapa de durezas, para investigar la forma de utilizar dichos mapas en SFML. Lo tercero creo que fue ponerle un poco de sonido, así que bajé algunos efectos de The Free Sound Project y rescaté de un viejo disco algunas "melodías" que había grabado con mi guitarra eléctrica sobre la base de una batería virtual en la époco en que aprendí a tocar mas o menos ese instrumento. Y así, probé algunas cosas más y fue tomando forma, y yo fui entusiasmándome cada vez más hasta que al poco tiempo tenía una primera versión para compartir.

Tal como pretendía y esperaba, llegar a esa primer versión fue fácil y rápido gracias a SFML. Poco después agregué algunas cosas, corregí unos detalles, etc. y así salieron algunas versiones beta. Lo que nunca llegué a terminar fue justamente el sistema de premios (características desbloqueables como vehículos especiales y motos/personajes, circuitos fantásticos, desafíos, configuraciones ocultas), y por eso sigue en estado beta. Ahora me falta más tiempo para dibujar esas cosas extra que para programarlas, pero ya tengo muchas ideas en la cabeza que no voy a develar para que no pierda la gracia el juego el día que las incluya. No he encontrado un juego libre de este tipo y para GNU/Linux que me atrape demasiado, por eso pensé que el mío podría ganar unos cuantos adeptos si maduraba. Además, los juegos libres para GNU/Linux en general suelen dar la impresión de ser juegos incompletos o poco pulidos (sé que hay muchos ejemplos de señores juegos, pero sacando los FPSs, no demasiado libre). MotoGT claramente todavía no es la excepción, pero espero que pueda serlo algún día. Me gustaría que dé la impresión de ser un juego terminado y con detalles pulidos. Por eso quiero agregar cuanto antes un set básico de características desbloqueables y el gran desafío final para completar el modo carrera según lo prometido, y luego dedicarme por un tiempo a pulir los detalles que a la larga marcan la diferencia (mejorar los gráficos y algunos aspectos de la física e IA, tunear mejor los niveles de dificultad, etc). De mis tres proyectos, es el de menor prioridad en mi agenda por razones supongo que obvias, pero igual tengo altas espectativas para el futuro, así que les pido paciencia a mis pocos jugadores, que tarde o temprano va a crecer. La idea final es que todo se vea como un arcade, pero la dinámica de la carrera sea la de una competencia real. Esto incluye por ejemplo sesiones de práctica y clasificación (aunque fácilmente omitibles) y la necesidad de aprender mínimamente los trazados y sus curvas, y excluye terminantemente cosas como botón de turbo o disparos. Los elementos más fantásticos se dejan para los items desbloqueables, pero no participan del modo campeonato (que es el principal y el que lleva a desbloquearlos y al desafío final). La configuración de la moto y su evolución sí están simplificadas a modo arcade para que el juego no sea tan difícil de aprender. La física y la IA por ahora son poco realistas pero irán mejorando con el tiempo.





 La temática del juego está comentada en el mismo en la sección "Acerca de...", pero básicamente combina dos cosas que me gustan mucho: las carreras de motos y las bicicletas de carrera. Me gusta ver las carreras de MotoGP, siempre me impresiona lo que son capaces de hacer esas formidables máquinas y lo temerarios que son los pilotos (especialmente el grandísimo Doctor Rossi ;). Además, los juegos de este tipo casi siempre tienen autos como protagonistas, así que las motos para variar no vienen mal. Por otro lado, aunque no soy muy bueno en esto, practico mountain bike desde hace ya muchos años, y la mayoría de mis carreras las corrí con mi siempre fiel bicicleta marca GT. Sumando todo: tengo un juego del tipo que a mi me gusta que nació más bien como una prueba de concepto, que trata sobre las carreras de motos veo por tele, y donde el nombre del juego, de los "personajes", y algunos otros elementos decorativos aluden a modo de tributo a las bicicletas de montaña con las que crecí y aprendí tanto. Dicho esto, no queda más que ponerse el casco y salir a pista. Espero que se diviertan jugando como yo me divierto haciéndolo.

1 comentario:

  1. ¡Cuántos recuerdos me trae el Death Rally! Como vos decís, traía la combinación justa de todo. Me acuerdo que primero me encontré con la demo del juego, me pasé horas jugandola. Y cuando lo hicieron públicamente disponible, me saqué las ganas de jugarlo.
    Si te gustan los juegos arcade, tal vez quieras probar M.A.R.S. (http://mars-game.sourceforge.net/). Es un proyecto de sofware libre, hecho usando SFML, bastante reciente, y pinta bastante bien. Lamentablemente, parece que está medio abandonado.
    Jugué un rato al MotoGT, pero encontré que no es el tipo de juegos que me gusta. Digamos que "no perdona" si haces mal un par de curvas, por dar un ejemplo, y siempre termino en el "ragequit". Pero lo voy a probar en la próxima versión, a ver qué onda.

    Saludos.

    ResponderEliminar