Conociendo Unity 5

¿Por qué hablamos en el blog de Unity 5? Empecemos por el principio. Unity 5+ es un motor de videojuegos multiplataforma.

¿Esto qué quiere decir? Que es un conjunto de herramientas que están enfocadas a desarrollar la lógica de un videojuego, por lo tantopermiten una edición e iteración rápidas en el ciclo de desarrollo y nos ofrece como resultado una experiencia de performance de alta gama que además podemos exportar a cualquier tipo de dispositivo.

Y si no desarrollo videojuegos ¿qué me puede aportar? No solo hay que pensar que un motor de videojuegos se puede usar para el desarrollo de videojuegos.

Tiene otras utilidades, por ejemplo, se puede aplicar tanto a un aplicativo que aproveche varias características como su facilidad para crear interfaces de usuario, como para realizar simulaciones aprovechando su motor de físicas Box2d y NVIDIA PhysX o bien aprovechar sus herramientas de IA y pathfinding para hacer escenas inteligentes en las que los elementos de la escena interaccionen entre sí.

Si tienes curiosidad sobre qué puede aportar a tus proyectos, sigue leyendo…

¿Dónde lo puedo adquirir?

Podemos descargar aquí el motor en su versión personal y gratuita como la versión Pro o Plus, dependiendo de la necesidad que tengamos. Un punto diferencial es que puedes pagar la licencia por meses en vez de anualmente.

¿Qué ofrece este motor?

Debido a mi pasión por los videojuegos, me interesé por esta herramienta y me sorprendió su facilidad de uso para desarrolladores tanto a bajo como a alto nivel.

Assets Store

Disponemos de una tienda de recursos que incluye tanto proyectos completos y escalables, packs de recursos (como podría ser un kit de árboles para tu terreno), elementos UI para la interfaz, plugins, etc…

Esto tiene grandes ventajas tanto para el creador de recursos, ya que puede vender sus creaciones a través de la tienda, como para un desarrollador Junior que lo use como apoyo o simplemente para usar en proyectos más complejos y no reinventar la rueda.

Fácil de usar

Una de las ventajas más importantes que ofrece este motor es que, con poco conocimiento de la herramienta, se pueden llegar a hacer juegos/aplicaciones divertidas, sencillas y con funcionalidades avanzadas (por ejemplo: podemos crear las bases de un videojuego tipo “Slenderman” en 15 minutos).

Imagina cómo debe ser conocer todo el potencial de la herramienta para llegar a hacer grandes obras de arte.

Posibilidad de usar 2 Lenguajes de programación

En este caso los lenguajes que podemos usar son:

  • C# (recomendado utilizar con Visual Studio), ya que tiene una perfecta integración con el motor Unity, además de poseer la mayor parte de la documentación enfocada a este lenguaje.
  • Es muy fácil de aprender, pero si no te convence C# también puedes emplear JavaScript para codificar tus Scripts, además puedes usar tu IDE favorito para llevar a cabo tu proyecto.

Multiplataforma

Podemos exportar el mismo proyecto a diferentes dispositivos, y me refiero a gran cantidad de dispositivos (incluyendo software para Smart TV). Además, incluye control de versiones y hasta la posibilidad de ejecutarlo directamente en el dispositivo final.

La llegada de Unity 2D

En realidad es la adaptación del motor 3D a 2D, pero está tan bien hecha que te prepara todo el entorno de una manera intuitiva para que directamente empieces a crear tu proyecto enfocado al 2D.

Unity UI

Han ido mejorando la creación de elementos de UI, paneles, canvas, layers y buttons. Ahora se crean de una manera muy fácil y lo más importante es que gracias a la propiedad Rect-Transform puedes hacer que tu diseño se mantenga en cualquier aspect ratio.

Con esta propiedad podemos pivotar:

  • Respecto a un centro para hacer rotaciones.
  • Aplicar porcentajes respecto a otro elemento.
  • Anclar la relación.
  • Aplicar propiedades como width y height para mantener siempre los componentes con los elementos.

Usa una relacion de jerarquia de padres a hijos

Además, Unity tiene un asistente que alinea los componentes para que mantengan una estructura agradable visualmente.

Esto nos indica que, efectivamente, además de ser un motor de videojuegos, se puede usar para crear cualquier tipo de aplicativo (sobre todo para smartphones y tablets) aprovechando la facilidad de composición de pantallas, con el motor de físicas y los materiales, y los prefabs.

Prefabs

Como su nombre indica hablamos de objetos del juego prefabricados, esto es una gran ventaja para la creación de objetos que compartan la misma lógica.

Para que os hagáis una idea, en los años 90 hubo un juego muy popular llamado Lemmings. Todos los lemmings son iguales, el usuario solo debe elegir qué acción hace cada uno para intentar salvar a la mayor cantidad de estos seres.

Estamos hablando, por supuesto, del uso más generalizado de un prefab como puede ser un generador de enemigos, respawn, entornos que se crean dinámicamente, etc.

Además, si lo aplicamos al campo de las pantallas (Front) imaginaros las posibilidades para crearlas. Estaríamos hablando de un generador de pantallas que comparten lógica, sin replicar código, las posibilidades son enormes.

Documentación

Además de estar bastante bien distribuida visualmente, cosa que se agradece (he visto explotar naves más allá de Orión), su documentación se mantiene actualizada, intuitiva, bien redactada, es sencilla y escueta.

También posee guía y tutoriales que harán que no nos perdamos si estamos empezando a trabajar con los distintos apartados como:

  • 2D
  • Gráficos
  • Físicas
  • Redes
  • Scripting
  • Audios
  • Animaciones

Más fácil imposible.

Contamos, por supuesto, con una gran comunidad que nos ayudará a resolver nuestras dudas en Internet.

Conclusiones

Unity me parece un excelente motor de videojuegos, que se adapta perfectamente a los nuevos tiempos, está en constante actualización y su comunidad sigue creciendo a día de hoy.

Ya no solo se usa para hacer videojuegos en 3D, sino que se adapta a VR, los nuevos dispositivos, aplicativos 2D… Además, se integra perfectamente con otros softwares (es verdad que se requiere algo de memoria RAM extra para poder tener una experiencia más fluida), una muy buena opción si quieres hacer un aplicativo gamificado o si quieres hacer un proyecto más grande.

Unity tiene una curva de aprendizaje bastante cómoda y llena de recursos, lo cual hace que sea recomendable tanto para los más expertos como los más noveles. Una buena opción para tener en nuestro arsenal, entretenido e intuitivo a la vez.

Ingeniero Informático por la Universidad Rey Juan Carlos. Especializado en desarrollo Frontend. Empecé como profesor de informática y hacedor de webs. Actualmente trabajo como desarrollador Frontend en Paradigma. Apasionado de los videojuegos y las aplicaciones, por otra parte músico y soñador. Mi objetivo es ofrecer soluciones modernas, código escalable y fiabilidad a distintos proyectos.

Ver toda la actividad de Francisco Miguel Díaz

Escribe un comentario