Seguro que a la mayoría de nosotros nos gusta los videojuegos, ya sea como una afición a la que dedicar nuestro tiempo libre, o como algo a lo que dedicarnos a nivel profesional. Y es que no podemos negar que la industria de los videojuegos se ha convertido en una de las que más dinero mueve, ya sea por las competiciones de los esports, como en la publicidad o en la creación de nuevos juegos usando motores de desarrollo especializados, como pueden ser Unreal Engine o Unity.
Crear un juego no es algo que solo puedan hacer las grandes compañías. Hoy en día cualquiera puede crear un juego, más o menos grande, gracias a los grandes motores de desarrollo que podemos encontrar, como Unity.
¿Qué es Unity?
Unity es un motor de desarrollo de videojuegos en 2D o 3D que podemos usar de forma gratuita (con limitaciones, y siempre que no superemos cierto número de ventas) gracias al cual vamos a poder hacer realidad nuestras ideas. Este motor está formado por un editor, donde montaremos todas las partes de nuestros juegos, como si fuera un puzle, pudiendo bajar recursos y gráficos directamente desde su store, o creando nuestros propios recursos.
Podemos elegir dos lenguajes de programación diferentes para crear los juegos en él: JavaScript o C#. Ambos lenguajes tienen el mismo resultado final, solo cambian las instrucciones, aunque hay muchas afirmaciones que aseguran que JavaScript obtiene mejor rendimiento, mientras que C# es más sencillo.
Historia del motor
Este software fue presentado por primera vez en 2005 en una conferencia de desarrolladores de Apple como un motor construido para crear proyectos exclusivos para macOS. Tras quedar finalista en los premios de diseño de Apple, la primera versión de este motor fue lanzada un año más tarde, añadiendo poco después soporte para Windows y navegadores web, empezando así su viaje.
La segunda versión (Unity 2.0) llegó un año después, en 2007, con nuevas características y un motor especialmente optimizado para el desarrollo de entornos 3D detallados, con sombras dinámicas, luces direccionales, soporte para vídeo y mucho más. La tercera versión, Unity 3.0, llegó en 2010 con muchas más características gráficas para escritorio y consolas. Además, añadía soporte para Android y la integración con la herramienta Beast Lightmap.
En 2012, con cerca de un millón y medio de usuarios utilizado esta herramienta para crear videojuegos, llegaba la versión 4.0 de este motor. Entre sus novedades más destacables podemos hablar del soporte para DirectX 11 y la posibilidad de trabajar con proyectos de Adobe Flash. Un año más tarde, en 2013, Facebook llegó a un acuerdo de colaboración con este motor para integrar un kit de desarrollo vinculado a la red social con funciones de rastreo y análisis de los usuarios.
3 años más tarde, en 2015, llegó la versión más importante de este motor, Unity 5.0. Esta versión mejoraba las APIs de WebGL, añadía soporte para Nvidia PhysX, integración con Unity Cloud y una infinidad de mejoras en la iluminación y partículas. Se empezaba a apostar por la VR, añadía soporte para la Nintendo Switch y la API de gráficos Vulkan. A partir de aquí, Unity decidió cambiar la numeración de las versiones por una basada en el año en lugar de en un número cualquiera.
Así recibimos la versión 2017, la cual estrenaba un motor de renderizado en tiempo real y una infinidad de mejoras en la creación de animaciones, la versión 2018, con un nuevo canal de proceso de secuencias de comandos para gráficos tope de gama y herramientas de aprendizaje automático con Machine Learning. Esta versión 2018 liberó además el código fuente en C# del motor con una licencia de «solo referencia». La versión 2019 del motor se centró en la mejora de las capacidades de desarrollo de juegos para móvil, la versión 2020 en realidad aumentada, y la versión 2021 se preparó para el desarrollo de juegos Next Gen con mejoras en partículas y, sobre todo, en el render del agua y el fuego.
Características
Este motor cuenta con una gran cantidad de características muy interesantes que vamos a ver en detalle a continuación.
- Integración con una gran cantidad de programas de diseño 2D y 3D, como Blender, 3ds Max, Maya, Softimage, Modo, ZBrush, Cinema 4D, Cheetah3D, Adobe Photoshop, Adobe Fireworks y Allegorithmic Substance.
- Disponibilidad de varios motores: OpenGL (Windows, macOS, Linux), Direct3D (Windows), OpenGL ES (Android y iOS) e interfaces propias para consolas.
- Soporte para mapeado de relieve, reflejos, paralaje, oclusión ambiental, sombras dinámicas, render a textura y efectos de post-procesamiento.
- Soporta todas las APIs de las tarjetas gráficas NVIDIA y AMD.
- Unity Asset Server, un servidor de versionado propio.
- Disponible para todo tipo de sistemas operativos. PC (Windows, macOS, Linux), móvil (Android, iOS), web, consolas y realidad virtual.
Algunos de los juegos más representativos creados con este motor son el Among Us, Blasphemous, Inside, Hollow Knight, Pokemon Go, Cuphead, Subnautica, Kerbal Space Program y Hearthstone: Heroes of Warcraft, entre otros muchos títulos conocidos.
Unity 3D vs Unreal Engine
A la hora de aprender a usar un motor, y elegir con cuál crearemos nuestro primer juego seguramente nos surjan las dudas. ¿Es mejor Unity, o debería usar Unreal Engine?
Ambos motores son muy parecidos. Aunque la primera diferencia nos la encontramos en el lenguaje de programación que utiliza cada uno. Unreal Engine, por un lado, utiliza scripts escritos en C++, mientras que Unity apuesta por JavaScript y C#. Dependiendo de nuestros conocimientos y nuestra especialización ya debemos empezar bajando uno u otro.
Ambos motores son gratuitos para todos los usuarios (aunque con limitaciones en el caso de la edición Personal de Unity). Su financiación se basa en pagos o comisiones en función de ganancias. En Unity no tendremos que pagar nada si facturamos menos de 100.000 dólares, teniendo que pagar una licencia (de 1500 dólares o 75 al mes) por la versión PRO si superamos dicha cantidad. En el caso de Unreal, todo el mundo tendrá que pagar un 5% de comisión por encima de los 3000 dólares de facturación.
La interfaz de ambos programas es similar, aunque es cierto que la de Unity 3D es más compleja, sobre todo para los usuarios que nunca antes han usado programas de este tipo. También debemos indicar que ambos motores tienen sus propias tiendas de recursos para los proyectos, aunque la de Unity es mucho más grande y completa al tener una mayor cuota de mercado.
Unreal | Unity 3D | |
---|---|---|
Precio | Gratis | Gratis (con limitaciones) hasta los 100.000 dólares. |
Comisión | 5% a partir de 3000 dólares. | Licencia PRO de 1500 dólares o 75 al mes. |
Facilidad de uso | Difícil para empezar desde cero. | Interfaz clara y sencilla. |
Lenguajes de programación | C++ | C# y JavaScript |
Tienda de recursos | Si | Si |
Plataformas | iOS, Android, VR, Linux, Windows, macOS, Linux, HTML5, Xbox One y PS4 | iOS, Android, Windows Phone, Tizen, Android TV, Samsung SMART TV, Xbox One, Xbox 360, Windows, macOS, Linux, HTML5, WebGL, VR, PS4, PlayStation Vita, y Wii U. |
Por último, queremos indicar que la documentación de Unity 3D es infinitamente superior a la de Unreal, tanto la oficial, que podemos encontrar en su web, como la de los foros (el oficial y de terceros) y la que podemos encontrar en infinitas comunidades.
Qué necesito para crear juegos
Como ya hemos explicado, Unity permite crear juegos usando dos lenguajes de programación diferentes. Por un lado, si tenemos ya experiencia dentro del desarrollo web, podremos usar JavaScript como lenguaje principal de scripting para crear nuestros juegos, mientras que, por otro lado, si tenemos ya conocimientos de C#, también podremos usarlo. Ambos lenguajes nos permiten hacer exactamente lo mismo, solo cambia la sintaxis con la que lo hacemos.
Por supuesto, necesitaremos tener también algunas nociones de diseño 2D y 3D para poder crear nuestros recursos (salvo que recurramos a recursos libres), y, muy importante, tener ganas y dedicarle tiempo.
Por último, también necesitaremos tener un ordenador con Windows, macOS o Linux (preferiblemente Windows), con una potencia más o menos aceptable para que el programa pueda trabajar sin cuellos de botella, y el editor de Unity, que vamos a ver cómo bajar a continuación. Si lo preferimos, también podemos descargar Visual Studio Code para crear nuestros scripts en este programa en lugar de hacerlo en el propio editor que nos ofrece el programa.
Descargar e instalar Unity 3D
Aunque podemos descargar e instalar el motor de forma manual, nosotros os recomendamos hacerlo a través del Unity Hub. Este descargador, que podemos bajarlo desde la página web de Unity, nos va a permitir descargar la última versión del motor a nuestro ordenador e instalarla directamente en el PC, así como acceder a cualquiera de las versiones antiguas de este e incluso a la beta de la siguiente versión del motor para probar las últimas novedades antes que nadie.
Aunque la última versión en estos momentos es la 2021, el Hub nos recomienda instalar la versión 2020 del motor, ya que es la que cuenta con un soporte mucho más a largo plazo y está más depurada.
Desde este Hub también vamos a poder actualizar el motor a la última versión a medida que vayan saliendo parches y nuevas versiones y poder estar siempre a la última. Y, además, tener a mano nuestros proyectos y abrirlos desde un único lugar.