Crea tu propio videojuego con Allegro

A la hora de hacer un videojuego, muy pocas veces se requiere tener que hacer todo de cero (o básicamente no se haría nada), sino que existen librerías que facilitan las tareas de hacer gráficos en pantalla, producir sonido, mantener cuenta del tiempo, carga de archivos de datos e imágenes, etc., de tal manera que uno como creador se concentre en lo que realmente vale la pena invertir el tiempo: crear una experiencia divertida, con reglas consistentes.

Allegro es el acrónimo recursivo de Allegro Low LEvel Game ROutines. Mientras que ya existen otras librerías y programas que proveen recursos de mayor nivel que Allegro, y que esperamos dar cabida en este blog, Allegro es un conjunto de rutinas de «bajo nivel», lo que significa que se requiere un poco de conocimiento computista para hacer las tareas que les mencioné anteriormente, con la recompensa de una gran flexibilidad y portabilidad. Este artículo es más bien un abreboca para aquellos que tienen la espinita de hacer un videojuego, y tratará de ser lo más general posible.

Alex The Allegator 4 Screenshot
Alex The Allegator 4, de Free Lunch Design. Un juego para PC. Haz click en la imagen para ir a la página de su creador.

Allegro es una librería escrita en lenguaje C, por lo que se usa como cualquier otra librería C, incluyendo los encabezados (headers) apropiados, para luego hacer llamadas a funciones. Allegro provee en general:

  • Rutinas de gráficos: Inicialización de pantalla, gráficos 2D (la especialidad de Allegro), texto y 3D rudimentario (no acelerado).
  • Rutinas de sonido: Muy básico, reproducción de WAV y generación directa de sonidos.
  • Rutinas de control de tiempo (timers)
  • Rutinas de carga de datos: compresión de datos del juego y carga de imágenes (formato PCX o BMP).
  • Rutinas de control del juego: teclado, mouse, joystick.

Allegro no trae soporte para comunicación por red, ya que los desarrolladores desde hace tiempo han considerado que existen buenas librerías de este tipo ya desarrolladas. Un gran punto a favor de Allegro es que la librería es extremadamente portable: se pueden hacer ejecutables para Windows (con diversos compiladores como Visual Studio, MinGW, Cygwin o Borland), UNIX (diversos sabores: Linux, Solaris, etc.), BeOS, Mac OSX, DOS, QNX, sin cambiar una sola línea de código. Yo, en particular, utilizo MinGW para desarrollar y la experiencia con Allegro ha sido buena hasta ahora.

Allegro logo
Logo oficial de Allegro.

Otro gran punto fuerte de la librería es la extensa comunidad que la respalda. Desde las listas de desarrollo de la librería hasta una página con foros y listados de juegos, ubicado en http://www.allegro.cc, esta es una comunidad con gente muy amable, echadores de vaina pero serios a la hora de responder preguntas o comentar sobre algún tema.

El punto complicado de Allegro es su instalación y uso para aquellos que se están iniciando en el mundo de los compiladores como GCC (o MinGW en Windows). No son pocas las veces que llega alguien preguntando sobre algún error que da el compilador, de hecho, es bastante frecuente por lo que hay un foro dedicado a responder ese tipo de dudas. En general, una vez que ya se sabe instalar librerías para GCC, el proceso suele ser directo.

Hacer un videojuego como los que soléis estar acostumbrados a ubicar en tu tienda o buhonero favorito requiere un gran equipo de programadores, artistas, diseñadores y gerentes, además de una gran cantidad de dinero y tiempo. Los juegos que revisamos en este blog son en su mayoría esfuerzos de personas independientes, incluso no ligadas a la programación, pero que poseen una curiosidad que los lleva a crear un juego. Desde luego que hacer un videojuego requiere tanto o más esfuerzo como en cualquier otra forma de arte, y la programación es tan sólo una habilidad necesaria más. Espero ver más personas interesadas en esta emocionante área de los videojuegos.

Links interesantes en este post:

¡Cabezas de Moai!: Juegos cortos en Flash

Esas extrañas cabezas de la Isla de Pascua son las protagonistas de estos dos mini-juegos (uno y dos) en Flash. En el primero se debe pasar el mouse sobre la mayor cantidad posible de ellos, y en el segundo se deben dirigir a una escalera para salvarse de una plataforma inestable. Ambos garantizan unos minutos de diversión sana :-).

Moai moai

Vía The Independent Gaming Source.

Review: Armadillo Run. La herencia de The Incredible Machine.

Armadillo Run no forma parte de los finalistas y ganadores del Festival Slamdance de juegos, pero vale la pena también reseñar sobre él. Armadillo Run es un juego basado en reglas físicas reales. El juego le mete a uno el cuento de que un cachicamo debe sobrevivir de nivel en nivel llegando a una esfera que lo transporta al siguiente nivel, pero el juego es la herencia de otro más viejito llamado The Incredible Machine. The Incredible Machine y sus secuelas te presenta máquinas muy al estilo de Rube Goldberg (o Tom y Jerry), con algunas piezas faltantes que debes colocar para que la máquina funcione perfectamente.

Armadillo Run Screenshot
La presentación de Armadillo es un ejemplo del juego en funcionamiento.

La física de Armadillo Run es un poco más precisa que la de The Incredible…, y la modalidad de juego es distinta. En cada nivel de Armadillo Run se te da un presupuesto, y material infinito, limitado sólo por el presupuesto que puedas gastar. Para poder hacer que el cachicamo llegue a la esfera se dispone de puntos de apoyo donde se pueden colocar cuerdas o barras sólidas y éstas, a su vez, conectarse a planchas metálicas y cintas de goma cuya elasticidad se puede modificar para que se comporte como una tela cualquiera, o las cosas reboten.

Armadillo Run: Screenshot 2
La cuerda sostiene las planchas metálicas. La gravedad hace el resto del trabajo.

La dificultad del juego está en varias cosas: las barras metálicas tienen cierta resistencia, y un golpe o rebote del cachicamo más allá de ese nivel las rompe, por lo que hay que pensar bien cómo transportarlo, ya que eso puede ser utilizado a tu favor inclusive. El cachicamo cuando llega a la esfera no desaparece inmediatamente, sino que debe esperar un ratico como de 6 segundos, pero que complica realmente el cómo llevar al animal allí.

El juego está distribuído como una demo de 5 niveles (en realidad, el tutorial solamente), con el juego completo vendido por 20 US$. Para los que les gusta este tipo de juegos, tipo puzzle, está totalmente recomendado. La demostración se puede bajar de la página oficial de Armadillo Run.

Review: Tower of Goo

Kyle Gabler es uno de los nombres más sonados en este último año en el mundo de los videojuegos independientes, y con razón. Kyle Gabler estuvo haciendo estudios de postgrado en el Entertainment Technology Center (ETC) de la universidad Carnegie-Mellon, durante los cuales estuvo junto con otras 5 personas a cargo del proyecto conocido como Experimental Gameplay Project, proyecto reseñado anteriormente en este blog. Como resultado de esto, Kyle ha obtenido reconocimiento por parte de la industria, fue contratado por Electronic Arts y ahorita junto con Ron Carmel está fundando 2D Boy, una empresa indie de juegos, cuyo primer proyecto es expandir la jugabilidad de Tower of Goo, el juego a reseñar hoy.

Tower of Goo: Screenshot

Tower of Goo es el resultado de 4 días de código en torno al tema de «resortes». En Tower of Goo el objetivo es construir la torre más alta a partir de seres viscosos negros que pueden conectarse unos a otros. Sus conexiones se comportan como resortes, lo cual le da al juego un dinamismo único, ya que el peso de la torre a medida que crece puede hacer ceder sus bases, cayendo la torre aparatosamente. A mi parecer, perder es tan divertido como ganar :-P.

La versión original tenía un área de juego relativamente pequeña y el objetivo era solamente llegar a los 25 metros, sin ninguna pantalla de felicitación al llegar a la meta (y bien complicado es llegar a esa altura). Después sacaron otra versión ilimitada donde se pueden hacer desastres a gran escala con las torres cayéndose.

Tower of Goo: Screenshot 2

Los dos puntos en contra del juego son: 1) debido a la rapidez con la que se tuvo que hacer, no hubo mucho chance de poner una resolución ajustable a cada máquina: es preciso tener una resolución de 1024×768 como mínimo para jugar, aunque hay una versión que permite ajustar el tamaño de la ventana, pero sólo para la de 25 metros y no para la ilimitada. 2) La jugabilidad depende altamente de la tarjeta gráfica que tengas. Por algunas decisiones de implementación de la física, si tu tarjeta es lenta, puede que las torres sean extremadamente inestables, presentando tembleques repentinos sin razón aparente. El juego requiere una tarjeta gráfica de aprox. 2002 para acá.

De todos modos, los invito a darse un chance con el juego. Habrá que esperar qué se traerá Gabler entre manos con World of Goo. Tiene la pinta de ser todo un éxito en el mundo indie de los videojuegos.

Versión original: [Página] (2.2MB)
Versión ilimitada (Sin meta de llegar a los 25m.): [Página]

Review: Toblo

Otro de los grandes contendientes del Festival Slamdance de Juegos es Toblo, desarrollado por un equipo de estudiantes de DigiPen, una institución dedicada a la enseñanza de producción y con sedes en Redmond, en Estados Unidos, y Vancouver, en Canadá. Toblo, según expresa el menu principal, fue desarrollado sin ningún tipo de middleware, para los mortales eso es que fue desarrollado casi de cero.

Toblo es fundamentalmente un Capture The Flag común y corriente, pero con elementos nuevos que lo hacen divertido. Le he mostrado el juego a dos panas, y el concepto engancha de inmediato. Las armas que disponen ambos equipos son bloques que se encuentran en el nivel, y son al mismo tiempo, parte del ambiente y conforman las fortalezas donde se esconden cada bando.

Toblo: Screenshot 3
Las «banderas» tienen una forma extraña, pero hacen el trabajo.

Lo que atrae del juego es el ritmo frenético, pues los niveles son relativamente pequeños, y (lo más importante), las fortalezas pueden ser destruídas a punta de lanzar bloques o tomarlos directamente de allí. Lo más divertido es tomar unos bloques bomba y lanzarlos contra las fortalezas, lo que hace lanzar bloques en todas partes. El juego tiene buen comportamiento en todo momento, incluso con la chorrera de bloques que pueden estar moviéndose en todo momento.

Toblo: Screenshot 2
¡Boom!

La música pasa por debajo de la mesa en este juego: no tiene mucho protagonismo. El sonido es también bastante simple: los efectos de sonido son pocos, y la mayoría hechos por una mujer pronunciando literalmente el sonido o la onomatopeya. El juego tiene su multiplayer por red local, lo que lo hace un buen candidato para una partida entretenida y rápida.

El punto negativo (y lo es bastante de este juego) es que requiere una buena tarjeta gráfica y reciente. Lo intenté probar en una Dell que tiene dos años, y una Acer que tiene un poco menos, y el juego no me funcionó, requiriendo una tarjeta con «Shader Model 2.0». Sospecho que es la tarjeta gráfica la que hace el trabajo de mover todos esos bloques. :-/

Toblo: Screenshot 1

Sin embargo, si dispones de una tarjeta gráfica relativamente reciente, puedes bajarte el juego en su página oficial (27MB). Por cierto, busco gente con quien jugar Toblo, ¿alguien se anota?

¿Puede el Wii resucitar a los Juegos de Aventura?

Scott Nixon en su artículo salido a principios de febrero de este año, Bring Out Your Dead! Can Nintendo Breathe New Life into Adventure Games? (¡Saquen a sus muertos!, ¿puede Nintendo inspirar nueva vida en los juegos de aventura?), explica sus razones por las que puede el género de aventuras resurgir gracias a las posibilidades de jugabilidad que ofrece el Wii y su control, el Wiimote. Estamos hablando en este caso de los juegos de aventuras muy populares en los años 80 y 90, siendo los más conocidos producidos de la mano de Sierra On-Line y LucasArts (cuando no sacaba 80 licencias de Star Wars).

El tono del artículo es bastante optimista, aunque advierte de los posibles problemas que puede encontrarse el género, muchos de ellos en relación con el control del juego, una advertencia que bien podría salir de un diseñador de juegos experimentado, y que podría aplicarse a casi todos los juegos.

The Dig Screenshot Day of the Tentacle Screenshot
De este tipo de juegos hablamos 😛 (The Dig, y Day of The Tentacle)

En una onda humorística, Erik, de Old Man Murray, tiene un artículo ácido sobre la Muerte de los Juegos de Aventura, Death of Adventure Games , no tiene pérdida, realmente cómico, y en muchos casos tristemente cierto: traten de encontrarle sentido en juego de aventura a hacerse un bigote falso con pelos de gato arrancados con un teipe. McGyver hace cosas plausibles comparado con ello.

¿En realidad el género murió?

Estos dos artículos presentan una premisa muy directa: de que el género de los juegos de aventura está olvidado. En parte es verdad: se podría decir que el género está muerto si observamos la cantidad de juegos que saca la industria relacionado con este género. Sin embargo, esto no ocurre en la escena amateur de los videojuegos.

A través de los años, el género de juegos de aventura tal como se conocía hasta mediados de los 90 se ha ido relegando a nichos muy específicos de jugadores. Algunos de estos jugadores se han organizado en comunidades dedicadas a producir más de estos juegos a través de programas específicos para tal tarea. Específicamente, estoy hablando de proyectos como Adventure Game Studio, Wintermute, SCI Studio, y otros programas.

De estos, yo he utilizado Adventure Game Studio, y he podido presenciar como, poco a poco, se ha ido conviertiendo en un tremendo software para producir juegos de aventura. En sus últimas versiones ofrece lip-synch para sincronizar sonido con la boca de los personajes, y un conjunto de funciones cada vez más avanzadas para hacer scripts dentro de los juegos.

En general, siempre ha habido unas esperanzas de que el género resurja, aunque son unas esperanzas que no llegan a materializarse. En el pasado han habido proyectos por parte de LucasArts de revivir Full Throttle o Sam & Max, pero estos proyectos terminan por caer aparatosamente por las razones más estúpidas. Esto, de hecho, fue la razón por la cual la gente de Sam & Max se fue de LucasArts, fundaron Telltale, y tenemos hoy en día los juegos episódicos que les he estado comentando por aquí.

En mi opinión, hace falta repensar esta clase de juegos. Old Man Murray apunta de una manera mordaz a un error de diseño fundamental en el que cayeron muchos creadores de estos juegos: a medida de que la computadora ofrece mayor inmersión al jugador en la historia, es una equivocación limitar la cantidad de soluciones y acciones que puede hacer éste dentro del juego. En particular, es sinceramente ridículo forzar al jugador a una clase de solución sin ningún tipo de lógica, ya sea en el juego o en el mundo real (¿cuántos de ustedes han intentado hacer un bigote falso con pelos de gato?). El Wiimote ofrece una interfaz natural para apuntar y algunas acciones básicas que pueden servir en un juego de aventura. Francamente creo que hace falta más que esto para enganchar a alguien en este tipo de juegos, falta alguien que logre combinar todos estos elementos de manera inteligente para que el juego pegue.

Links interesantes de este post

Bring Out Your Dead! Can Nintendo Breathe New Life into Adventure Games? – Por Scott Nixon

Death of Adventure Games – Por Erik de Old Man Murray

Review: Blocksum

Blocksum es otro juego ajeno al Festival Slamdance de juegos que reseñaremos hoy. Este juego viene de la misma familia de «bloques que suben y se deben desaparecer antes de que toquen el techo y pase un tiempo determinado».

Blocksum: Screenshot 2

Este juego sigue la fórmula ya super-exprimida por Crack Attack, Dr. Mario, y *carraspeo* Tetris, no nos caigamos a coba. Creo que estos juegos pegan porque las reglas son simples, el juego es abstracto, y son maravillosos para poner la mente en blanco.

La regla del juego es la siguiente: eliminar bloques del campo de juego conectando bloques del mismo numero. Con el cursor se van uniendo bloques, cuyos números se suman. Para eliminar los bloques se deben conectar una cantidad igual de bloques al numero que contienen. Me explico con un ejemplo: Para desaparecer bloques con el numero 3 se deben unir 3 o más bloques, el juego da tiempo para ir pegando cada vez más.

Blocksum: Screenshot 1

Sí, el ejemplo es complicado, y como el juego requiere que uno sume mentalmente de forma rápida y seguida puede que fastidie a la mente de alguien que esté buscando juegos menos «intelectuales», pero realmente se merece una oportunidad en las computadoras de aquellos con poco tiempo disponible para jugar 🙂 .

El juego se puede descargar gratuitamente desde su página oficial. Los dejo con un par de videos que demuestran cómo se juega… sólo que por gente que ya está en otro nivel :-S, demasiada habilidad. Video 1. Video 2.

Un juego para echarse un gas

What a Fart! screenshot
¡Desafía las convenciones sociales!

Via Water Cooler Games, en Internet anda rodando un juego (en koreano) llamado What a Fart con una mecánica muy simple. Una persona esperando un autobus (que nunca llega, literalmente) tiene problemas estomacales, y pues debe aliviarse sin que un pegoste que tiene al lado se entere, al menos no por el sonido :-). Se debe aprovechar entonces los sonidos ambientales como el de los carros al pasar.Definitivamente otro juego casual que se las trae con algo bien original 🙂 , ¿cuánto podrán aguantar ustedes?UPDATE (18-Jul-2007): En enlace anterior murió. Cambié el enlace a uno que sí funciona.

Cuestiones legales de los videojuegos: Una revisión a un contrato de desarrollo

Para aquellos desarrolladores de juegos interesados en asuntos de contratos, o abogados interesados en videojuegos, o simplemente aficionados a casos y cosas particulares, he aquí algo bien interesante.

Spark Studio, la empresa desarrolladora de Call of Duty tiene entablada una demanda contra Activision (y viceversa) debido a unas violaciones en el contrato acordado entre ellos por parte de Activision, relacionado con pago de royalties, costos ocultos, negociaciones en mala fe, etc. Un real desorden en el cual Activision entabló una contra-demanda por razones similares.

El caso es que en todo este rollo, Spark remitió el contrato mismo a la Corte Superior de Justicia de Los Angeles como evidencia, y por la magia de las leyes de Estados Unidos, este contrato es a partir de ahora información pública y totalmente accesible. El acceso a este tipo de contratos suele ser raro, debido a que estos suelen mantenerse cláusulas donde los términos mismos son confidenciales y no deben ser discutidos sobre ellos (The first rule of the Fight Club is that you do not talk about the Fight Club), así que en Gamasutra consideraron ésta una oportunidad de oro para discutir cómo son los términos de un contrato. 3 abogados con experiencia en videojuegos analizan párrafo a párraf el contenido de este contrato.

El segundo artículo relacionado con el caso completa más la historia de esta demanda, incluyendo unas demandas por parte de Activision, pues al parecer algunos empleados de esta empresa ya estaban trabajando en Spark antes de renunciar, pues Spark comenzó a partir de varios empleados de esta empresa. Toda una historia de amor y pasión, con tremendo valor educativo para los interesados en estas áreas (Mejor que una telenovela, pues).

Hablando en serio, estos dos artículos, sobretodo el primero, merecen su atención.

Links en este post:

Contrato (comentado por 3 abogados): http://gamasutra.com/features/20070112/spark_01.shtml

Comentario adicional y más historia sobre el caso: http://www.gamasutra.com/features/20070222/fleming_01.shtml