(Esta es la segunda entrada en nuestra serie sobre Trabajar en el mundo de los videojuegos. Puedes ver la primera entrada aquí.)
Ahora que estamos convencidos de que trabajar en el mundo de los videojuegos parece una buena idea, la siguiente pregunta es ¿qué herramientas necesitamos?
Un juego es un software increíblemente complejo, especialmente aquellos que incluyen gráficos en 3D, física e Inteligencia Artificial avanzada para controlar a los enemigos o a los personajes controlados por el ordenador.
Necesitaremos un motor de renderizado («renderer») para gráficos 2D o 3D, un motor de física o detección de colisión (y respuesta de colisión), sonido, secuencias de comandos, animación, inteligencia artificial, gestión de memoria, administración de subprocesos, soporte de localización (versiones locales en diferentes idiomas)… Por supuesto, antes tendremos que haber creado los elementos gráficos que utilizaremos.
Puede parecer inabarcable, pero para eso se crearon los ‘Motores de Juego’ o ‘Game Engines’. Los motores de juego proporcionan un conjunto de herramientas de desarrollo visual además de componentes de software reutilizables. Estas herramientas generalmente se proporcionan en un entorno de desarrollo integrado para permitir el desarrollo simplificado y rápido de juegos. Se trata de no tener que «inventar la rueda» cada vez que se quiera desarrollar un juego, mediante el desarrollo de paquetes de software robustos que incluyen muchos elementos que un desarrollador de juegos puede necesitar para construir un juego
La página de Wikipedia de ‘Motores de juego‘ tiene más de 200 entradas, y eso que advierten de que la lista no es exhaustiva. Hoy vamos a hablar exclusivamente de dos de los más populares: Unity 3D y Unreal Engine.
Unreal Engine
The Unreal Engine es un motor de juego disponible en origen desarrollado por Epic Games, presentado por primera vez en el juego de disparos en primera persona Unreal de 1998. Aunque se desarrolló principalmente para juegos de disparos en primera persona, se ha utilizado con éxito en una variedad de otros géneros. Con su código escrito en C ++, el motor Unreal presenta un alto grado de portabilidad (es decir, que el código escrito para PC es fácilmente exportable a Mac OS, o a móvil).
Multitud de juegos se han desarrollado en Unreal Engine; desde clásicos como Borderlands 2, Spec Ops o XCOM: Enemy Unknown hasta el último gran éxito, Fortnite.
Unity 3D
Unity ofrece a los usuarios la capacidad de crear juegos tanto en 2D como en 3D, y el motor ofrece una API de scripting principal en C#, tanto para el editor de Unity en forma de complementos, como para los juegos. Unity tiene una licencia gratuita y tres opciones de licencia pagadas.
Infinidad de juegos han sido creados con Unity; Cuphead, Monument Valley 2, Hearthstone, Cities: Skylines….
¿Unity 3D o Unreal Engine?
Antes de comenzar a discutir sobre Unreal Engine vs Unity 3D, es importante decidir qué tipo de juego estás tratando de construir. Puede que estés intentando construir 3D, 2D o algo que combine ambos. Es posible que desees crear un primer juego bastante simple, o que necesitas generación de gráficos de alta calidad. ¿Lo haces para uso personal o planeas lanzarlo en las tiendas de aplicaciones? Debes decidir todos estos factores antes de elegir el motor de juego adecuado.
En nuestra próxima entrada, veremos Pros y Contras de Unreal Engine y Unity 3D a la hora de crear nuestro videojuego.