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:

Si te gustó este artículo, suscríbete a la fuente RSS de este blog. Si así lo prefieres, puedes suscribirte por correo electrónico y recibir los artículos directamente en tu inbox (cero spam).

9 Comentarios

  1. julen
    Publicado en Marzo 29, 2007 a las 6:35 am | Enlace permanente

    quiero hacer un juego tipo san andreas, pero en la epoca media

  2. Chigüire
    Publicado en Marzo 29, 2007 a las 7:04 am | Enlace permanente

    ¡Mucha suerte, amigo! (La vas a necesitar para un proyecto tan grande)

  3. daniel
    Publicado en Julio 11, 2007 a las 2:45 pm | Enlace permanente

    am como puedo crar un video juego para la computadora sensillo :oops: :???:

  4. facu
    Publicado en Agosto 2, 2007 a las 2:14 pm | Enlace permanente

    como se crea un video juego… :?:

  5. Ciro
    Publicado en Agosto 2, 2007 a las 3:59 pm | Enlace permanente

    Hola facu,

    Has hecho una excelente pregunta. Es algo que he estado pensando para próximos artículos, pues no creo que sea algo que pueda cubrir en uno solo. Por ahora te recomendaría, si sabes inglés, este tema del foro de gamedev.net con muy buena información introductoria.

  6. jaime
    Publicado en Agosto 24, 2007 a las 12:02 pm | Enlace permanente

    me aburro con los mismo juegos todos los termino,quiero
    comprar otros pero no tengo demasiado dinero en
    especial uno que me interesa mucho.
    ¿podre crear el video juego de metal slug 3?
    pero a mi modo?

  7. Ciro
    Publicado en Agosto 25, 2007 a las 5:24 pm | Enlace permanente

    @jaime: No entendí muy bien tu planteamiento. ¿Eres jugador consumado y quieres hacer juegos porque todos los terminas? Hacer algo tan pulido como Metal Slug 3 desde cero no es una tarea sencilla.

  8. joao
    Publicado en Agosto 27, 2007 a las 9:16 pm | Enlace permanente

    :twisted: en k pagina puedo crear mi videojuego :twisted:

  9. Omega Zero
    Publicado en Septiembre 1, 2008 a las 12:34 pm | Enlace permanente

    Me gustraria saber como hacer un juego en el que estan todos los personajes de todos los juegos que se me ocurran y con esos personajes seguir su propia historia

2 Trackbacks

  1. [...] últimamente han estado recomendando ampliamente. La gente de Power of Two Games utiliza C++ y Allegro. Me causa curiosidad que consideren Allegro como una librería “old school“, una [...]

  2. [...] a utilizar el lenguaje C, pues decidí aprenderlo haciendo este tutorial, y escogí la librería Allegro para las rutinas [...]

Escribir un Comentario

Su correo electrónico nunca será publicado o compartido. Los campos requeridos están marcados con *

*
*
  • ¡Suscríbete al blog!

    ¡Suscríbete a mi feed! ¿Te gustan los artículos que se publican aquí? Asegúrate de leerlos recién salidos del horno suscribiéndote a nuestro feed, sin compromiso.

    ¿Tienes alguna sugerencia de juegos o alguna pregunta en general? Manda un correo a:
    Mi nombre separado por un punto, arroba gmail punto com

  • Suscríbete por email

    ¿Ya bloquearon mi blog en tu oficina? Recibe mis artículos por correo electrónico. Cero spam. Escribe tu correo a continuación:

    FeedBurner provee este servicio.

  • Archivos

  • Directorios