Desarrollo de videojuegos: Juegos para PC - 2ª parte

Continuamos nuestro desarrollo de una producción alternativa con el repaso las herramientas que necesitamos. En la anterior entrega dábamos solamente unos ejemplos de los motores gráficos que podemos usar pero, «no sólo de engines vive el hombre»

Redacción

Desarrollo de videojuegos: Juegos para PC - 2ª parte

14 noviembre 2007

Paso 1

Programación

Además del engine (el motor gráfico o «corazón» del juego) podemos utilizar otras herramientas software para darle al juego las mecánicas que necesitamos. Las dos grandes áreas en programación son la inteligencia artificial y las físicas. Estos dos elementos los integraremos con nuestro engine. Aunque muchos de los motores ya vienen con módulos incluidos, siempre es interesante conocer otras opciones.
Para los que estéis pensado «pero si yo en el instituto suspendía siempre física». Tranquilos. Un motor de físicas lo que hace es crear el entorno reactivo que rodea al jugador. Un ejemplo: si disparas un lanzagranadas y ves que un motón de bidones salen por los aires, esto es porque un software se dedica a calcular en tiempo real el peso, la gravedad y la fuerza de la explosión para crear la animación de que el bidón sale por los aires y rebota equis veces.

Además, ese cálculo, al ser en tiempo real, siempre será distinto. Antaño (aunque no hace tanto tiempo) ese efecto era enlatado. El jugador disparaba y el motor gráfico automáticamente lanzaba una animación ya creada con un movimiento de un bidón saliendo por los aires, lo que sin duda restaba espectacularidad al juego.

Un motor de físicas muy interesante y utilizado en varias producciones independientes es el Newton Game Dynamics. Os recomendamos visitar su web (http://newtondynamics.com) donde podréis ver demos curiosas.

En cuanto al motor de IA o inteligencia artificial, por desgracia no se trata de construir a HAL 9000 o de hacer una IA de Ghost in the Shell. Se trata de crear todos los comportamientos que tendrán nuestros enemigos, los jefes finales, etc., es decir, todo lo que no controle el jugador. Cuanto más activos y reactivos sean nuestros enemigos, más algoritmos de IA necesitaremos.

Normalmente en una producción alternativa como la nuestra no necesitaremos grandes cosas, pero puede que hayamos pensado en algo muy divertido y lo que trae nuestro engine no lo soporta. Pues en ese momento será hora de echar un ojo a otros SDK (Software Development Kit), que son un conjunto de herramientas de desarrollo pensadas para crear aplicaciones para una plataforma en concreto. Un buen site para utilizarlo como punto de partida a la hora de evaluar software para la IA de nuestro juego es www.gameai.com, donde encontraréis enlaces a SDK y artículos técnicos.

Todo esto es sólo un pequeño ejemplo de todo lo que podéis encontrar en Internet. Doy por hecho que si queréis programar tendréis nociones de C++ y habréis trabajado con compiladores. Si no es así, éste debería ser vuestro punto de partida.

Paso 2

¿Dos o tres dimensiones?

Mi equipo de programación ya tiene herramientas pero ¿cómo creo mi mundo maravilloso? El primer concepto que debemos tener claro es si vamos a hacer un mundo en 2D o en 3D. Ojo que no hay que dejarse llevar por las fantasías de las tres dimensiones; se pueden hacer juegazos basados en sprites (2D), que además de ser más fáciles de hacer pueden dar a nuestro proyecto un aspecto retro muy atractivo.

Pero como sabemos que estaréis pensando «3D, queremos 3D», pues que sepáis que estamos de suerte porque hay herramientas 3D de código abierto que podremos utilizar en nuestro proyecto alternativo (o low cost).

Blender (www.blender.org) es un proyecto Open Source para modelado en tres dimensiones, animación, renderizado y postproducción. Realmente es genial que existan iniciativas como ésta que permitan entrar al mundo de las 3D de una forma fácil y sencilla. Aunque todos terminarán trabajando con 3D Max, Maya, XSI, etc, este software es una excelente manera de aprender un mundo que es la base de la industria cinematográfica, de videojuegos, multimedia, etc.

Pero aunque prefiramos las 3D también necesitaremos un software para las dos dimensiones, texturas, retoques, diseño de concept art… Para todo eso utilizaremos Paint.net (www.getpaint.net). Aunque su nombre os pueda echar hacia atrás por su similitud con el software incluido en Windows, que sepáis que tiene poco que ver con él; de hecho, es una herramienta muy interesante que, en cuanto empiezas a utilizarla, te darás cuenta de que no echas de menos Photoshop (y que «el Dios Adobe» nos perdone).

Bien, ya nos hemos ocupado de la parte gráfica pero ¿qué más necesitamos? Pues nos hace falta un programa de audio y librerías de sonido. Porque un mundo sin sonido es lo más triste que puede existir. El sonido hay que editarlo, transformarlo a los formatos que soporte nuestro motor, crear los loops para la música, ajustar los tiempos para que un efecto de pasos se adapte a los de nuestra animación de andar y, claro está, crear las reverberaciones correctas (si disparo mi pistola en una nave vacía se debería escuchar eco ¿no?).
Como veis, el sonido es muy importante y para este tema os recomendamos Audacity (http://audacity.sourceforge.net), un software muy sencillo de usar que nos permitirá realizar todo lo que estamos hablando. Muy recomendable para todos aquellos que no hayáis trabajado con audio antes. Para conseguir los sonidos y efectos tendremos que rebuscar bien por la red como si fuéramos un cazatesoros. Muchas de las compañías que crean librerías de pago suelen tener secciones gratuitas, así que podéis abasteceros de páginas como www.simply thebest.net/sounds/.

Paso 3

Software de gestión

Ojo que no hablamos de software de contabilidad ni cosas de esas. Un proyecto, aunque sea alternativo, necesita una buena gestión de todos los procesos. Hay que organizarse bien, asignar tareas, tener cuidado a la hora de compartir ficheros, asegurarse de que a la gente de programación le llegue siempre el último fichero (y no una versión anterior) y un sinfín de cosas más. Imaginaros que sois cinco personas desarrollando el juego; si estáis más de ocho meses trabajando seguro que os surgen un montón de problemas de gestión. Por eso es tan importante la figura del jefe de proyecto. Pues bien, para estas tareas también necesitaremos un software que nos ayude, y por suerte encontramos buenas herramientas Open Source.

La primera de la que vamos a hablar es GanttPV (www.pureviolet.net/ganttpv). Con esta herramienta podremos asignar tareas, calcular el tiempo que tardaremos en hacerlas, prever riesgos, crear diagramas de Gantt y, sobre todo, tener una visión completa del proyecto. Os recomiendo encarecidamente que nunca arranquéis un proyecto sin haber creado una simulación con un software como éste. La versión de pago para hacer este tipo de cosas es el potente Microsoft Project, una joya, aunque para un proyecto como el nuestro nos apañaremos muy bien con el GanttPV.

Una vez terminado nuestro diagrama necesitaremos generar informes, escribir misiones, describir situaciones de juego y un sinfín de cosas. Para eso utilizaremos el archiconocido Open Office (www.openoffice.org).

Ahora viene un software que a muchos os va a encantar. Sirve para tener tormentas de ideas y darles orden y se llama MindManager. Se trata de un software espectacular para todos los que gusten de hacer diagramas, apuntar ideas y darles forma. Con él podéis montaros un árbol de opciones de diálogos para el personaje principal en cuestión de segundos. Aunque es un software de pago, su versión Lite tiene un precio muy asequible y en cuanto empecéis a usarlo no podréis vivir sin él. En su web www.mindjet.com podréis obtener una versión demo para probarlo.

Aún nos queda una entrega más para cerrar el desarrollo de un juego de PC independiente. En ella terminaremos de dar un repaso al software, veremos detalles del desarrollo y cómo podemos darlo a conocer. Todos queremos hacer juegos como Bioshock, pero antes debemos aprender y hacer cosas interesantes que nos abran las puertas de la industria. Y ya que hemos nombrado este juego, podríamos lanzar una pregunta al aire: Publishers de la industria ¿dónde está la licencia de juegos como Bioshock o Lost Planet? No son películas ni cómics… Entonces ¿no hace falta tener una licencia para vender un juego? Esperamos que determinados fabricantes tomen nota.