¿Qué hace un motor de juego como Unity?

Maneja (a través del sistema operativo) toda la comunicación con el hardware de audio y gráficos de la máquina para que no tenga que hacerlo. Proporciona un entorno gráfico en 3D en el que puede mostrar un mundo de juegos usando cámaras virtuales, sin tener que escribir todo el código que hace esto. También le brinda herramientas para construir el mundo y los modelos que aparecen en él, y animarlos. Le proporciona muchas características que son útiles para los desarrolladores de juegos, como detectar cuándo chocan dos objetos y encontrar un camino a través del paisaje. Quizás lo más importante es que proporciona estas características en más de un tipo de hardware, por lo que no tiene que saber mucho sobre las máquinas cuando desea transferir su juego de una a otra.

Unity tiene muchas, muchas más características que esta, pero estas son solo las claves. Los desarrolladores de juegos solían tener que hacer enormes cantidades de trabajo para hacer que un juego se ejecutara en todos los diferentes tipos de máquinas. En las PC, Windows proporcionó una capa de abstracción para que los desarrolladores no tengan que preocuparse por el hardware; Unity y otros motores de juegos ahora proporcionan otra capa de abstracción para que ni siquiera tenga que escribir un motor de gráficos, motor de física, motor de audio, etc., etc. Puedes concentrarte en la mecánica del juego y su interfaz de usuario.

Los motores de juego deberían llamarse “máquinas” en su lugar, en mi humilde opinión.

Eso se debe a lo que realmente brindan: servicios, además de simplemente movimiento o potencia.

Todo lo que un diseñador de juegos necesita, el programador puede proporcionarlo a través de los servicios del motor del juego. Si necesita poner un modelo 3D en la pantalla, el motor lo resume. Y mucho más: también lee el modelo desde el disco, lo almacena correctamente en la memoria, procesa su animación y lo pone en pantalla. También lo hace para sonidos, música, elementos de interfaz de usuario, cámaras y más. Algunos programadores, en teoría, solo necesitan preocuparse por la lógica del juego.

Haciendo más fácil para las personas jugar con 3d.
Por ejemplo, la navegación en vista en primera persona se puede conectar con solo unos pocos clics
Por lo tanto, es conveniente para la creación de prototipos. Alguien diría que el rendimiento gráfico de este motor no es el mejor. Pero creo que la principal limitación, o la trampa, es que los recién llegados pueden fácilmente pensar que pueden diseñar juegos en 3D cuando no han comprendido nada sobre el proceso de renderizado u otras cosas fundamentales.

Respondiendo tus primeras preguntas:

Hay muchos motores de juegos que la gente solía desarrollar y publicar, ejemplos son: (motores de listas que admiten el desarrollo móvil)

  1. Unidad
  2. Irreal
  3. Cocos2d-X
  4. Fabricante de juegos
  5. GameSalad
  6. Construct2
  7. ORGE

Respondiendo a tu segunda pregunta:

Básicamente, hacen todas las cosas de bajo nivel para que puedas concentrarte en desarrollar los juegos. Algunos de estos motores vienen con editores, por lo que incluso existe la posibilidad de que no necesite tocar ninguna codificación.

Un juego “Engine” como Unity reduce drásticamente el tiempo que lleva desarrollar un juego de principio a fin. También proporciona un andamio sobre el cual los desarrolladores e ingenieros pueden desarrollar ideas y códigos innovadores sin tener que dedicar tantas horas a los fundamentos y elementos básicos como el manejo de gráficos y la física del juego.