Haciendo prototipos por diversión y por dinero

Power of Two Games Para esta semana habrá bastante contenido relacionado con desarrollo de juegos. Comenzamos con Noel Llopis y Charles Nicholson, dos desarrolladores de Power of Two Games, que describen en un artículo bien jugoso cómo desarrollar un juego a partir de un prototipo.

Ya hemos evaluado juegos en este blog que no son más que prototipos (ej. los que salieron del Experimental Gameplay Project), por lo que ya sabemos que un prototipo es un modelo al desnudo del juego que se quiere hacer, desarrollado de manera extremadamente rápida, y desprovisto totalmente de pulituras, gráficos bonitos, o siquiera menú de navegación. Los prototipos permiten saber a los creadores de un juego si el concepto que están haciendo es divertido, una característica tan básica de los videojuegos que a veces lo pasamos por alto.

Lo particular de estos dos personajes es que no usan lenguajes de alto nivel, como Python, y como tantos desarrolladores ú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 expresión con la que quieren decir que la mayoría de los juegos creados con esta librería son más bien parecidos a los que existían en los mediados de los 90, y no tienen la sofisticación de los de ahora.

Lamentablemente el artículo está en inglés, pero si pueden leerlo, háganlo. Es material bien didáctico y ofrece un punto de vista sobre la forma de desarrollar un juego (y un espaldarazo a Allegro 🙂 ).

Noticia vía Kotaku.

Creando juegos de aventura con Adventure Game Studio (III)

Este artículo es la parte 3 de 6 de la serie Creando juegos de aventura con Adventure Game Studio

AGS Logo

Adventure Game Studio es un programa creado por Chris Jones para que amateurs de la creación de videojuegos puedan hacer sus juegos de aventura al estilo de los juegos que hacía Sierra y/o LucasArts a mediados de los 90. En particular, AGS permite concentrar a la persona o al equipo en la creación de contenido del juego y facilitar la programación de los guiones que conformarán la historia. AGS se ha convertido a lo largo de estos años en un programa muy poderoso, con una gran gama de características, un lenguaje de scripting muy flexible, y una excelente comunidad dispuesta a ayudar y con gente bien simpática. En la tercera parte de esta esta serie vamos a bajar el software y a comenzar a explicar algunas funcionalidades básicas de AGS.
Sigue leyendo Creando juegos de aventura con Adventure Game Studio (III)

Creando juegos de aventura con Adventure Game Studio (II)

Este artículo es la parte 2 de 6 de la serie Creando juegos de aventura con Adventure Game Studio

AGS Logo

Adventure Game Studio es un programa creado por Chris Jones para que amateurs de la creación de videojuegos puedan hacer sus juegos de aventura al estilo de los juegos que hacía Sierra y/o LucasArts a mediados de los 90. En particular, AGS permite concentrar a la persona o al equipo en la creación de contenido del juego y facilitar la programación de los guiones que conformarán la historia. AGS se ha convertido a lo largo de estos años en un programa muy poderoso, con una gran gama de características, un lenguaje de scripting muy flexible, y una excelente comunidad dispuesta a ayudar y con gente bien simpática. La segunda parte de esta serie cubre la pre-producción de un juego de los juegos de aventura, y lo que hay que tener claro antes de comenzar a hacer dibujos, animaciones, y música.

Sigue leyendo Creando juegos de aventura con Adventure Game Studio (II)

Creando juegos de aventura con Adventure Game Studio (I)

Este artículo es la parte 1 de 6 de la serie Creando juegos de aventura con Adventure Game Studio

AGS Logo

Adventure Game Studio es un programa creado por Chris Jones para que amateurs de la creación de videojuegos puedan hacer sus juegos de aventura al estilo de los juegos que hacía Sierra y/o LucasArts a mediados de los 90. En particular, AGS permite concentrar a la persona o al equipo en la creación de contenido del juego y facilitar la programación de los guiones que conformarán la historia. AGS se ha convertido a lo largo de estos años en un programa muy poderoso, con una gran gama de características, un lenguaje de scripting muy flexible, y una excelente comunidad dispuesta a ayudar y con gente bien simpática. Esta serie de artículos pretende dar una introducción relativamente informal a este programa, y explicar el proceso de creación de un juego utilizándolo como herramienta.

Sigue leyendo Creando juegos de aventura con Adventure Game Studio (I)

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: