Revista Tecnología

El motor Havok – La caja de LOS fusibles

Publicado el 13 abril 2011 por Portalgameover

Todos conocemos la realidad, ¿verdad? Es aquello que está detrás de la ventana, en el mundo. Presenta un 3D real, la mejor física de partículas y un entorno dinámico sin tiempos de carga. La realidad mola tanto que, no en vano, muchos juegos intentan emularla de formas más o menos logradas.

Hoy vamos a hablar de uno de los sistemas más utilizados para simularla. En concreto, para simular su existencia a un nivel físico. Estamos hablando de colisiones, gravedad, movimientos… Y para ello contaremos con el invitado de esta semana: El motor Havok.

El motor Havok – La caja de LOS fusibles

Seguramente muchos habéis oído hablar de Havok. “Este juego usa el motor Havok”, “las físicas son de Havok” o cosas así, pero, ¿qué significa exactamente eso? ¿Quiere decir que el señor Havok ha hecho el juego? ¿Es el Havok una especie de Lego gigante con el que diseñar?

Bien, vayamos por partes. Primero, un esbozo de la compañía, para situar. Luego ya entraremos en qué es o deja de ser este motor.

El motor Havok forma parte de la compañía homónima, Havok Inc. Fue fundada en 1998 por los señores Hugh Reynolds y Dr. Steven Collins, en Dublin. Este último señor está en la School of Computer Science and Statistics [SCSS], del Trinity College Dublin [TCD], Ireland, concretamente en un grupo encargado de imágenes, visualizaciones y demás cosicas gráficas para ordenadores.

El caso es que estos dos tipos se lanzaron a crear esta compañía con su software. Y la cosa les ha ido tan bien que sus simuladores físicos no solo se han usado en más de cien títulos, sino que también han aparecido en películas como Matrix, Harry Potter y la Orden del Fénix, el remake de la de Poseidón o la nueva de Charlie y la Fábrica de Chocolate.

Comentamos también que en 2007 fue vendida a Intel por un pastón, y de momento se ha posicionado como uno de los engines más usados para desarrollar cualquier tipo de videojuego.

Y ahora si, ¿engine? ¿Motor? ¿Físicas? ¿Qué es todo esto?

El motor Havok – La caja de LOS fusibles

Técnicamente él es el señor Havok...

Bien, para entender esto vamos a ponernos en el papel de un señor que quiera hacer un juego, llamado, no se, Orphan’s Rage: Ultimate Killing Weapon. Hablamos de un juego mínimamente complejo, así que igual ya no es un señor, sino una compañía más o menos grande. Tiene a sus empleados: Sus programadores, sus grafistas, sus diseñadores, sus compositores de música… Y se ponen a trabajar.

El juego que está desarrollando esta gente es violento. Muy violento. Hay sangre y miembros amputados por doquier. La historia es, en el fondo, un pretexto para que el protagonista utilice su Magnum de bisturís para acribillar orfanato tras orfanato.

Todo esto, obviamente, ha sido creado por los diseñadores del juego y sus respectivos alijos de drogas. Es entonces cuando los programadores se ponen a trabajar.

El juego tendrá una serie de elementos, una serie de objetos y todo estará en un mundo que los currantes crearán a tal efecto. Esto ya no solo implica diseñar las misiones, los niveles o la variedad de munición para la pistola de bisturís, sino que también hay que crear todo un mundo tridimensional. ¡Hay que diseñar una realidad! Que palo, ¿no?

El orfanato del juego no será así. De hecho el juego ni existe. Es como un homenaje a Sucker Punch, nada más

El orfanato del juego no será así. De hecho el juego ni existe. Es como un homenaje a Sucker Punch, nada más

Efectivamente, empezar a trabajar desde “tan abajo”, creando un motor 3D para mostrar los hígados de los pobres huérfanos del juego igual es un poco coñazo. ¿Qué pueden hacer? Usar un motor y un entorno ya existentes para moldearlos a su modo.

¿Qué significa esto? Una buena analogía sería mirar los ordenadores del estudio de los programadores: Esta gente ha encargado al departamento de IT unos equipos con unos sistemas operativos concretos y unas prestaciones en red determinadas, para así hacer mejor su trabajo. “Pero, esta gente sabe de informática, ¿por qué no lo hacen ellos en lugar de contratar trabajadores?”.

Pues porque del mismo modo que aunque seas físicamente capaz de cortar un árbol y sacar lápices de él, puedes obtener resultados mucho más eficientes si los compras baratitos en la tienda de la esquina.

En todos estos casos lo importante no es hacer un motor concreto, o programarte tu sistema operativo, o tallar el mejor lápiz del mundo. Lo que te importa es tener un buen motor sobre el que trabajar,  un buen ordenador sobre el que picar código o un buen lápiz para hacer con él cosas nunca vistas.

Entonces, el equipo de programadores del Orphan’s Rage ya ha ido a la tienda a por la suite Havok. Ya tiene ahora una caja con herramientas ya construidas sobre las que edificar su juego hiperviolento. Abren la bolsa de la compra y, ¿qué tienen?

Todas esas clases de geometría y matemáticas espaciales que tanto odiabas les sirven a esa gente para crear entornos que luego tú destruyes con armamento pesado (O eso, o hacen teteras Utah sin parar)

Todas esas clases de geometría y matemáticas espaciales que tanto odiabas les sirven a esa gente para crear entornos que luego tú destruyes con armamento pesado (O eso, o hacen teteras Utah sin parar)

Bien, Havok no es un único programa. No es una aplicación para exportar gráficos o tripas saliendo volando. Havok, que en sus últimas versiones corre por entero en la GPU, es una suite con varias utilidades, todas ellas distintas y todas ellas orientadas al motor físico.

Cada producto de la Havok Family es un conjunto de recursos y SDK’s varios que se integran con el código del programador para ahorrarle el trabajo de escribir todas las cosas que comentábamos antes del Motor de Realidad. En el fondo, Havok sería como una gran biblioteca de código cerrado con soluciones físicas ya hechas listas para implementar en un juego (En realidad no es solo eso, consta también de todo el enorme aparato logístico y de documentación que lo acompaña, que conste).

Y la susodicha Havok Family cuenta con la presencia de varios integrantes: Havok AI, Havok Animation, Havok Behavior, Havok Cloth, Havok Destruction, Havok Physics y Havok Script.

El nombre es ya bastante orientativo, y aquí solo vamos a hacer un pequeño inciso en un par, quedando como ejercicio para el lector valiente el empaparse de las funcionalidades más concretas de cada especialidad.

 

El motor Havok – La caja de LOS fusibles

El Havok Physics es una de las piedras angulares de la compañía. Se encarga de calcular colisiones en tiempo real. Simula la física, la gravedad… En la propia página de la compañía hay videos e imágenes de cosas moviéndose y chocando entre sí. Importantísimo porque se integra con los demás módulos (Que concretan cosas como la animación de ropajes -El Cloth-, la IA aplicada a terrenos -El AI-…) y porque es donde está realmente la miga de todo esto.

 

El motor Havok – La caja de LOS fusibles

Si alguna vez has querido enamorarte de una compañía y no sabías como hacerlo biológicamente posible, seguro que tu nivel de endorfinas se dispara cuando te diga que Havok tiene su propio motor de destrucción, el Havok Destruction. Pensado, ideado y desarrollado únicamente para simular destrucciones de objetos y cuerpos, Havok Destruction se integra con el Physics para poder destruir fácilmente lo que has ideado con  ese otro motor.

El motor Havok – La caja de LOS fusibles

BUM! Aunque el Havok Destruction lo haría con más partículas

 

En resumen, Havok es, como decíamos, un fabricante de ladrillos: Hace bloques bien hechos y superguays pero que necesitan que un constructor les de un bueno uso. Y ahora por ahora, visto su éxito en múltiples campos, parece que el negocio les va viento en popa. Veremos si algún día pueden  recrear por completo toda la realidad (Pregunta trampa, en realidad no podrían)


Volver a la Portada de Logo Paperblog