171771.jpg

El otro día paseaba por mi nave espacial, después de una extensa charla con mi gran amigo y casi tocayo, el guerrero krogan Wrex, cuando de repente me dieron ganas de saber cómo es que los desarrolladores pueden crear juegos tan completos y buenos. Cuando alguien decide crear un nuevo título es muy importante que tenga un motor de juego, casi tanto como el hecho de que cuando saltes de un avión la mochila que traigas en la espalda tenga un paracaídas.

171772.jpg
¡Diantres! Esta es la mochila del gimnasio

Dicho motor es como un pequeño mayordomo que se encarga de cosas como renderear las gráficas en 2D y 3D, del sonido, la animación, la Inteligencia Artificial y el manejo de memoria, entre muchas otras cosas. En el pasado, como cuando David Crane decidió crear Pitfall!, este software, conocido como kernel, se tenía que desarrollar totalmente desde cero, para poder utilizar de manera óptima las capacidades del hardware. Este sistema era caro, incómodo y poco práctico, ya que las plataformas se abandonaban y no podían ser reutilizadas entre juegos. Posteriormente, a mediados de la década de 1990, las compañías comenzaron a licenciar el uso de los motores de juegos populares, como Doom y Quake.

171773.jpg
Todo un pionero del género

En 1998, Epic sacó a la venta Unreal y puso a disposición de los desarrolladores el motor utilizado en dicho juego, el famoso Unreal Engine; este sería un punto pivotal para Epic, ya que a partir de ese momento la venta de las licencias de su motor le brinda grandes regalías. Este software es la base de muchos de los grandes juegos que tantas horas de alegría nos han dado: todos los Splinter Cell, Deus Ex, Red Steel, Spider-Man 2, Army of Two, BioShock, Gears of War...

La primera versión del Unreal Engine integraba rendereo, detección de colisión, I.A., visibilidad y un sistema de manejo de archivos. El elemento conocido como Ragdoll Physics (que permite que las muertes se vean más reales), junto con el nuevo editor UnrealEd 3, se introdujeron en la siguiente versión del motor, conocida como Unreal Engine 2 y que debutó con el juego America's Army. La tercera y actual versión, sorpresivamente llamada Unreal Engine 3, incluye elementos mucho más avanzados, como rendereo de rango dinámico alto, iluminación por pixel, sombras dinámicas y mejora de muchas de las herramientas disponibles en las versiones anteriores. Desde hace cinco años se encuentra en desarrollo una cuarta entrega que está planeada para la siguiente generación de consolas.

171774.jpg
America's Army, la mejor estrategia de reclutamiento de la historia

El Unreal Engine es lo que se conoce como Middleware, con la acepción de intermediario, esto quiere decir que tiene la capacidad de brindar utilidades separadas para facilitar el diseño y el desarrollo de los juegos. Esto se refleja, por ejemplo, en el hecho de que aunque el Unreal Engine tiene su propio motor de física, se puede omitir su uso y optar por uno más especializado, como el Havok (esperemos que esto termine por fin la discusión acerca de que el Havok es mejor que el UE; son dos cosas diferentes) o el SpeedTree, usado para recrear el vívido follaje en The Elder Scrolls: Oblivion.

171775.jpg
Adorablemente asesinable

En cuanto a esto último, al parecer la nota del Havok sacó a relucir dudas en cuanto a la diferencia entre un motor de física y un detector de colisiones. El motor de física es el encargado de que los objetos localizados dentro del juego se comporten de acuerdo con la Mecánica Newtoniana, esto es, que se encuentren afectados por la masa, velocidad, fricción y resistencia al viento, entre otras cuestiones. Este software permite que sucedan cosas que se aproximen a lo que pasaría en la vida real, por ejemplo, si pateas una entrepierna habrá objetos que tenderán a seguir una trayectoria ascendente a causa de la hipotética transmisión de energía, luego desacelerarán y comenzarán a descender, gracias a la gravedad simulada. Un detector de colisiones es el que se encarga de hacerle saber a la señorita que labora en la esquina, justo afuera de mi safe house en GTA IV, que mi puño se está impactando a ciento treinta kilómetros por hora en su su traquea. Este último suele ser una parte integral del primero.

171776.jpg
La gravedad en todo su esplendor

El Unreal Engine ofrece diferentes módulos que permiten lograr una interfaz uniforme al momento de crear un juego. Como ya dijimos, estos módulos pueden ser intercambiados por programas más especializados:

  • Rendering- El sistema Gemini se encarga del rendereo
  • Animación
  • Audio
  • Física- NVIDIA PhysX
  • Gameplay Scripting- Kismet
  • Cinemass- Matinee
  • Efectos de partículas- Cascade
  • Editor- UnrealEd
  • Lenguaje de programación- UnrealScript