Ir al contenido

Creación de videojuegos/Motores

De Wikilibros, la colección de libros de texto de contenido libre.

Motores de videojuego

[editar]
Captura de pantalla del motor de videojuego Godot 4.6

Antes que nada, veamos una pequeña introducción a lo que es un motor de videojuego.

Un motor de videojuego es un entorno de trabajo que proporciona herramientas para la creación de videojuegos. Como sistemas para renderizar gráficos 3D y 2D, sistemas de físicas, sonidos, partículas, animaciones, etc. Un motor de videojuego es una herramienta muy útil, y su uso está muy extendido en el desarrollo de videojuegos modernos.

Todos los videojuegos comerciales modernos, se crean utilizando algún motor de videojuego. Algunas empresas crean sus propios motores que pasan años desarrollando, como es el caso de Valve y su motor Source o Crytek con CryEngine, mientras que otras empresas hacen uso de motores ya existentes que están disponibles para el gran público como es el caso de Godot, Unity, o Unreal Engine.

¿Por qué necesitamos un motor de videojuego?

[editar]
El videojuego Zork solo necesita mostrar texto. ¡No necesita un motor de videojuego!

Es sencillo programar una aventura conversacional de texto como Zork que funcione desde el terminal de comandos.

Pero a medida que crece la complejidad del videojuego, se empieza a hacer mas difícil programar todos esos sistemas por ti mismo. Es muy complejo crear a mano todos los sistemas necesarios para crear un videojuego mas avanzado, que muestre gráficos 2D o 3D por pantalla, simule físicas, sonidos, sistemas de guardado, y demás sistemas complicados. Para ello, existen los motores de videojuego, las cuales son un entorno de trabajo que proporciona herramientas para la creación de videojuegos, y simplifican mucho la creación del videojuego.

Qué motor de videojuego utilizar

[editar]

La decisión de qué motor de videojuego utilizar, es de vital importancia, ya que marcará el resto del desarrollo del videojuego.

Entre las consideraciones que deben hacerse a la hora de elegir un motor de videojuego se encuentran:

  • ¿Qué características tendrá el videojuego? No es lo mismo crear un videojuego 2D y 3D, o con unos gráficos u otros.
  • ¿En qué plataforma se va a desarrollar?.
  • ¿Qué habilidades se tienen previamente? algunos motores son mas complejos de aprender a usar que otros.
  • ¿Cuáles son las plataformas de destino? no todos los motores permiten hacer videojuegos que funcionen en todas las plataformas, así que se debe tener muy en cuenta cuales son las plataformas en las que se pretende lanzar el videojuego; Android, Linux, Windows, navegadores web, PlayStation 5, Xbox...
  • Modelos de licencia y costos: Algunos motores son libres y gratuitos, mientras que otros requieren pagar una licencia, o realizar algún acuerdo comercial con el desarrollador del motor.
  • Documentación, comunidad, y soporte: Una buena documentación del proyecto, y una comunidad activa es muy valiosa cuando surgen problemas, ya que podrás encontrar foros de ayuda, tutoriales en internet, y documentación oficial actualizada.

Existe una gran cantidad de motores de videojuegos de calidad, y es importante investigar tus opciones antes de tomar una decisión, algunas opciones populares son:

  • Godot: Un motor libre y de código abierto sencillo de usar.
  • Unreal Engine: Un motor capaz de realizar gráficos 3D realistas.
  • Unity: Un motor muy popular y capaz de realizar una gran variedad de videojuegos.
  • RayLib: Una biblioteca para realizar videojuegos a bajo nivel, programada en C.
  • PyGame: Una biblioteca para realizar videojuegos con Python.

Crear tu propio motor de videojuego

[editar]

Crear un motor de videojuego desde cero es una tarea extremadamente compleja, por lo que es algo que tan solo hacen algunos programadores avanzados, o empresas con suficientes recursos. Aunque el uso de bibliotecas de gráficos 3D como OpenGL o Vulkan simplifican, o el hecho de que puedes hacer uso de módulos de código abierto, como la biblioteca de físicas Jolt, simplifica ligeramente esta tarea.

Una práctica común cuando un desarrollador de videojuegos necesita adaptar un motor de videojuego a sus necesidades particulares, es modificar un motor de videojuego ya existente, en vez de crear su propio motor de videojuego totalmente de cero. Para ello algunas empresas compran la licencia de algún motor ya existente para poder modificarlo, o hacen uso de algún motor de código abierto que puedan usar como base.