Saltar la navegación

3. Bibliotecas, Frameworks y Motores

Actualmente es muy elevada la cantidad de herramientas que existen para ayudar en la creación de videojuegos. Estas herramientas las podemos clasificar en función del modo en que son usadas por el programador y cómo se integran en el bucle del juego.

1. Bibliotecas

Una biblioteca (library) es la implementación de un conjunto de funciones creadas para ser utilizadas en un área específica. Ejemplos de bibliotecas son Ogre3D (render 3D) y Havok (físicas).
Las bibliotecas ofrecen una API (interfaz de programación de aplicaciones) que facilita su uso en cualquier programa. Pueden ser bibliotecas centradas en un campo muy específico, como OpenAL (audio 3D), o pueden ser bibliotecas más generales, como PyGame (programación de juegos en Python) o Allegro (programación de juegos en C).
El responsable de crear el bucle del juego es el programador. Haciendo uso de la API, hará llamadas a las funciones ofrecidas por las bibliotecas para incorporar sus funcionalidades al juego.

2. Frameworks

Un framework también ofrece un conjunto de funciones que facilitan al programador el desarrollo de una aplicación. La diferencia con una biblioteca es que un framework aplica una inversión de control, de modo que el framework pasa a ser el responsable del bucle del juego desde donde se hacen llamadas al código del programador. Ejemplos de frameworks son Löve y Phaser.
El framework dirige el bucle general de la aplicación y ofrece al programador la posibilidad de implementar las funciones que resuelven casos específicos del juego, por ejemplo la actualización periódica de lo que el jugador ve en pantalla.

3. Motores de juegos

En los motores de juego también hay una inversión de control, de modo que el motor gestiona el bucle del juego. A diferencia de los frameworks, un motor ofrece un entorno de desarrollo completo que facilita la tarea del programador, con un nivel de abstracción superior y la incorporación de herramientas para la creación de contenido. Ejemplos de motores de juegos son Godot, Unity y Unreal Engine.

Es frecuente encontrar un empleo ambiguo de los términos framework y motor de juegos, por lo que no es de extrañar frameworks que se anuncian como motores de juegos.