El Game Engine (GE, o motor de videojuego en español) es una herramienta utilizada por desarrolladores y programadores de videojuegos para realizar su trabajo de forma más eficiente y ágil. Para explicarlo de forma sencilla, un par de ejemplos más “conocidos”.

Si te dedicas a la contabilidad, Excel agiliza tu trabajo: una hoja de cálculo con la mayoría de fórmulas matemáticas accesibles y fáciles infografías prediseñadas. Si te dedicas al diseño / fotografía, Photoshop te permite retocar diferentes formatos de imagen o partir de cero gracias a sus múltiples herramientas y funcionalidades.

Bien, pues el GE no es ni un editor ni una hoja de cálculo, pero permite ahorrar mucho tiempo automatizando funciones, igual que Photoshop o Excel. Para ser precisos, estamos hablando de un framework, un marco de trabajo para facilitar tareas de programación, diseño y desarrollo.

Y ¿de qué tareas se trata? Hagamos un breve repaso a lo que había antes de los GE.

From scratch, los videojuegos antes del Game Engine

En las consolas de los 80 la PPU (parte del sistema encargada de la representación en pantalla, mientras que la CPU se encargaba de la lógica de elementos, detección de colisión, sistemas de puntuación) presentaba una memoria inferior a 10KB. Todos los píxeles que veíamos en pantalla tenían que desaparecer para dar paso a los siguientes frames (fotogramas) y que el jugador avanzase por el nivel.

Los datos para la representación gráfica programados from scratch se cargaban de cada cartucho de juego (a lo old school, todo código desde 0 y sin frameworks), pero la memoria iba cara en esa época y los primeros desarrolladores no eran precisamente multimillonarios.

Tileset de “Ultima V” (1988). Fuente: Retroinvaders.com

Gracias al ingenio de esta comunidad, aparecieron los Tilesets, un conjunto de Tiles o pequeñas unidades gráficas pre-cargadas e intercambiables para ofrecer más variedad visual al jugador y optimizar el funcionamiento del hardware de la época.

Pero abordaremos en otro artículo la evolución de los Game Engines, desde la creación de los primeros con la llegada del arcade, y el inicio de su comercialización con los títulos 3D en los 90 (Doom, Quake, Half Life…).

El framework, o qué es un Game Engine

Un Game Engine es un framework. Como ya hemos dicho ofrece un conjunto de principios, reglas o herramientas, pero también permiten un mejor funcionamiento colectivo entre los equipos desarrolladores de videojuegos.

Los GE suelen trabajar en 3 grandes bloques: gráfica, audio y lógica. Después ya entramos en capas más complejas como física, iluminación, Inteligencia Artificial, optimización…

Hoy en día las grandes desarrolladoras trabajan con sus propios GE: Foxengine de Konami, Anvil de Ubisoft, Frostbite de EA, REDengine de CD Projekt (The Witcher 2,3) o Source de Valve son unos pocos ejemplos.

Y es que la creación de un Game Engine tiene un coste elevado de desarrollo, y de ahí los beneficios de compartirlos (o comercializarlos). Por ejemplo, un pequeño estudio Indie puede contratar los servicios de GE de grandes desarrolladoras para centrarse únicamente en la creación de la obra. A veces se fija el precio por licencia de explotación o ambas partes pueden pactar un porcentaje de explotación del juego (royalties).

Evolución de los motores de juego más utilizados desde 1998 hasta 2020

Fue con la llegada de los videojuegos 3D que se popularizó el uso de estas licencias, y más allá de agilizar tareas y cohesionar equipos, también ha creado grandes comunidades (solamente hace falta ver el bullicio diario en Reddit con Unreal o Unity).

En las próximas semanas haremos un repaso a la evolución de los Game Engines y cuales fueron los videojuegos que permitieron estos avances. Un flashback para entender mejor la complejidad de los juegos de los 80 y 90.