Cuando escuchamos el término motor, lo primero en lo que pensamos son en aquellos unidades de fuerza capaces de mover desde automóviles pequeños hasta grandes embarcaciones y masas de gran tamaño. Sin embargo el término motores no solamente se aplica a la física o la mecánica, también tiene otras aplicaciones, tal es el caso de los motores gráficos o motor de videojuego.
¿Motor de videojuegos?
El término motor de videojuego fue utilizado primeramente a principios en los 90, asociándolo especialmente al inicio de los videojuegos en 3D, como los first person shooter o juegos de tiros en primera persona. Sin embargo, el primer motor grafico en 3D del que se tiene conocimiento fue Freescape Engine, desarrollado por Incentive Software en 1986. Hoy en día, adquirir un Engine varía mucho dependiendo de su origen: pueden ser de shareware (código abierto) o pago, manejando todo tipo de valores. El proceso de desarrollo de un videojuego puede variar notablemente en costos de producción y es bastante común que los desarrolladores (a fin de solventar gastos) opten por reutilizar o adaptar un mismo motor para crear diferentes videojuegos. Del mismo modo, existen versiones capaces de operar tanto en consolas de videojuegos como en sistemas operativos.

Los motores gráficos proveen a los desarrolladores de juegos una herramienta de renderizado, que permite a los diseñadores el emparejar sus diseños hechos a mano con esquemas en 3D para crear elementos y modelos completos necesarios para darle vida al proyecto en cuestión. Luego mediante una Aplicación de Programación de Interfaz (API) como por ejemplo DirectX 12 o Vulkan dedicada a la comunicación de diferentes procesos dentro del mismo motor gráfico se complementan los modelos para tener un acceso más eficiente al procesador y tarjeta gráfica del equipo.
Como objetivo principal de está herramienta también llamada Engine Game (en inglés) es aportar todas las herramientas necesarias para crear la física del juego además de tomar en cuenta el movimiento general del personaje, la interacción entre caracteres o entre tu personaje y los elementos del juego. Pero no sólo esto, también puede crear efectos de iluminación más realistas, el reflejo de los rayos de luz, su reflexión en los diferentes materiales o los cambios de iluminación de nuestra cara según el gesto que tengamos en ella. También cuentan con un motor de inteligencia artificial, que tiene en sus ramas los diferentes comportamientos posibles. Está es una pequeña introducción a algo de lo poco que realiza un Engine para abordar más en detalle y un poco más en la composición de, así como también mencionar los componentes principales que posee un motor de videojuego. En la actualidad tienen una gran variedad de características muy diferentes entre sí. En principio, pueden distinguirse cinco grandes áreas.

Algoritmo principal de juego
La lógica del videojuego debe ser implementada a través de diversas a secuencias de código o algoritmo. Es una estructura aparté de cualquier trabajo de renderizado o de secuenciade sonido.
Renderizacion
Como ya mencionamos con anterioridad sin profundizar la renderización es el proceso en el cual se generan los gráficos 3D por computadora a fin de mostrar en pantalla el aspecto visual del videojuego. Genera gráficos en 3D por varios métodos (como la rasterización gráfica, el trazado de rayos, la partición binaria del espacio, entre otros) y se ocupa de mostrar escenarios, modelos, animaciones, texturas, sombras, iluminaciones y materiales.

La mayoría de las veces el renderizado se basan en una o varias API, como Direct3D, OpenGL o Vulkan, que proporcionan una abstracción del software en la GPU. Las bibliotecas de bajo nivel como DirectX, Simple DirectMedia Layer (SDL) y OpenGL también se usan en videojuegos, ya que proporcionan acceso independiente del hardware. Con la llegada del procesamiento de físicas por aceleración de hardware, varias API como PAL y las extensiones COLLADA están disponibles para proporcionar una abstracción de software de diferentes proveedores de middleware y de videoconsolas.
Polígonos
Los polígonos son un componente primordial en el renderizado, todo elemento que tenga una composición tridimensional es clasificado por polígonos. Es el procedimiento más primitivo en la creación de un mundo tridimensional y su complejidad geométrica varía de acuerdo a las capacidades técnicas del hardware.

Un ejemplo practico muy bueno que la utiliza y que además haciendo uso de está logro escalar en términos de realismo es Unreal Engine 5 ya que posee un renderizado dinámico, lo que permite a los desarrolladores colocar objetos masivamente complejos con millones de diminutos triángulos en sus juegos y apoyarse en el motor para determinar qué tan intrincado se puede representar el objeto en la pantalla. Dicha complejidad se puede clasificar en una composición poliginal baja, media y alta. Dando como resultado un determinado nivel de detalle de realismo y distancia de dibujado.
Audio
El audio de un videojuego se llega a manejar de muchas maneras y esto depende de las capacidades que tenga el motor. Hoy en día los motores de última generación soportan muchos formatos de sonido, siendo los más populares el Waveform audio file forma (WAV) y el formato contenedor libre OGG.
En algunos casos, los motores de videojuegos pueden exigir configuraciones exactas, aunque el método más conocido es la administración de audio mediante el bucles de música, o bien modificar el tono cuando se trata de voces o efectos de sonido.Los componentes en relación al audio se encargan de manipular algoritmos que tienen que ver con la carga, modificación y salida del audio a través del sistema de altavoces del usuario.
Como mínimo, debe poder cargar, descomprimir y reproducir archivos de audio. Los componentes de audio más avanzados pueden calcular y producir cosas tales como efectos Doppler, ecos, ajustes de amplitud y tono, entre otros. Las API de abstracción, como OpenAL, SDL Audio o DirectSound permiten manipular fácilmente estos fenómenos.
Motor fisico
El motor físico es responsable de emular las leyes de física en forma realista dentro del motor de videojuego. Específicamente, proporciona un conjunto de funciones para simular acciones reales a través de variables como la gravedad, la masa, la fricción, la fuerza, la flexibilidad, colisiones y explosiones, actuando sobre los diversos objetos dentro del juego al momento de su ejecutarlo.

Inteligencia artificial
La inteligencia artificial es quien provee de estímulo al videojuego. Su elaboración es crítica a la hora de lograr un sistema de juego pulido y que entretenga. Puede tornarse muy compleja y es necesario tener en cuenta ciertas variables, tales como crear comportamientos programados, delimitar su visión del mundo tridimensional, su interacción en él, la toma de decisiones y con ello lograr una consistencia lógica y coherente en la que el jugador debe responder de una manera esperada.
Scripting
Es un procedimiento que forma parte de un algorimo y que se utilliza normalmente en situaciones donde es necesario explicar algo de manera controlada. Actualmente se utiliza a fin de representar la historia que tendrá el videojuego, permitiéndole al desarrollador tomar el control de la cinemáticas y manipularlas, tales como colocar objetos o añadir eventos que el jugador no controla.
El desarrollar una herramienta de este tipo sin duda alguna es una gran promesa, dado a todo lo que conlleva, son herramientas que ayudan a moldear el futuro dado que sus recursos pueden aprovechados en diferentes ramas de la ciencia y también dentro de las artes, aplicarlas de manera correcta también representa un gran reto y dado que cada vez más jóvenes se interesan en este tipo de iniciativas podríamos decir que en un futuro formarán parte de más aspectos dentro de la vida de muchas personas en la sociedad.