¿Qué es un motor de juego OpenGL®?
Un motor de juego Open Graphics Library® (OpenGL®) es una biblioteca de programación u otra colección de software que está destinado a facilitar la creación de videojuegos al proporcionar un marco completamente implementado que se puede construir para crear una aplicación personalizada. La base para cualquier motor de juego OpenGL® es la interfaz entre la lógica de programación de nivel superior y las bibliotecas OpenGL® que, a su vez, acceden al hardware de gráficos de bajo nivel. Algunos motores se centran principalmente en el fácil acceso a características y algoritmos gráficos especiales al incluir funciones optimizadas para efectos como desenfoque, mapas de luz o sombreadores personalizados. Más comúnmente, un motor de juego OpenGL® agrega niveles variables de funcionalidad a través de bibliotecas de nivel superior, lenguajes de secuencias de comandos o incluso entornos de desarrollo personalizados. Algunas de las características de diferentes motores de juegos OpenGL® incluyen rutinas de entrada de usuario, representación de sombras, un marco gráfico de interfaz de usuario (GUI), soporte de red, física y tiempo avanzado MEcanismos para animaciones suaves.
Al crear juegos que utilizan OpenGL®, ya sea que sean bidimensionales (2D) o tridimensionales (3D), se debe escribir una buena cantidad de código de programación para integrar las bibliotecas de código OpenGL® en su mayoría estáticas en un entorno de juego dinámico en el que los objetos cambian y se mueven y los usuarios pueden interactuar con el mundo virtual. Un propósito principal de un motor de juego OpenGL® es eliminar la necesidad de reescribir este tipo de código básico y, en su lugar, proporcionar un marco consistente y estructurado para construir un juego. OpenGL® contiene solo funciones para mostrar o realizar gráficos en un dispositivo, por lo que toda la lógica del juego debe envolverse en ese núcleo, incluida el desarrollo de una forma de integrar objetos que se muevan dentro de una escena o que se pueden agregar o eliminar de una escena. Una estructura que utiliza OpenGL® para objetos gráficos dinámicos generalmente se conoce como una escena gRAPH y es la base de muchas implementaciones de motor de juego OpenGL®.
Otra razón por la cual los desarrolladores podrían usar un motor de juego OpenGL® es eliminar la necesidad de integrar varios elementos dispares de un juego en un solo marco, lo que puede llevar mucho tiempo hacerlo correctamente. La entrada del usuario de un teclado, elementos GUI, como una ventana para seleccionar opciones de sí o no, e incluso optimizaciones para ciertas tarjetas gráficas populares pueden incluirse con un motor de juego OpenGL®, lo que hace innecesario que los desarrolladores clasifiquen las especificaciones de hardware para escribir el código ellos mismos. Como compensación, los motores que tienen capacidades tan complejas son generalmente muy caras o llevan licencias muy restrictivas para uso comercial, aunque existen algunos motores de juego de código abierto.
El término "motor de juego OpenGL® también puede referirse a un juego de computadora completado que se ha eliminado la mayoría o todos sus archivos de datos personalizados, dejando solo el código de programación compilado. Esto permite que un usuarioCree gráficos personalizados, mapas y, a veces, eventos escritos cargados por el motor del juego. El juego generalmente no es modificable en gran medida en este tipo de motor de juego y, en cambio, sirve como una plataforma para que los usuarios creen niveles y contenido personalizados en lugar de un juego original independiente.