Herramientas y tips para desarrollo de juegos en Unity

En esta entrada voy a comentar algunas de las herramientas, patrones de diseño y otras buenas practicas a tener en cuenta cuando desarrollamos un videojuego.

Herramientas

En la asset store podemos encontrar todo tipo de herramientas,  dependiendo del proyecto puede que alguna nos puede hacer la vida mucho mas fácil.

Estas son algunas de las que suelo utilizar:

  • DOTween
    Un tweener que funciona perfectamente para hacer animaciones y secuencias. Tiene muchísimas funciones y es relativamente fácil de usar.
    Alguna vez me hago un poco lio con las diferentes “easing functions“, así que lo que hago es crear un atributo “public Ease easeFuncion;” del namespace DG.Tweening y asignarselo a la animacion con “.SetEase(easeFuncion)”, de esta forma puedo probar desde el inspector.
  • Postprocesing
    Coleccion de diferentes efectos de postprocesado. Ten cuidado de no pasarte metiendo filtros especialmente si es un juego de móvil.
  • TextMesh Pro
    ¿Tienes que utilizar textos en el juego? Si es que si, úsalo. Seguramente vas a tener que mirar como se usa, son 10 minutos.
  • Cinemachine
    Permite dar comportamientos a la cámara de una forma bastante sencilla.
    Lo he empezado a utilizar hace poco y me ha encantado.
  • Lean Touch
    Los controles táctiles pueden parecer fáciles de programar pero en ciertas ocasiones no lo son, con esto ya lo tienes hecho.
  • Screenshot-Creator
    Para crear capturas de pantalla con buena calidad. Muy útil a la hora de hacer la postproduccion.
    Hace poco he visto que Unity tiene una herramienta con el mismo fin que permite ademas grabar video, se llama Recorder.

Patrones de diseño

Los dos patrones de diseño que más utilizo en Unity

  • Singleton
    Por Internet hay distintas implementaciones genéricas, yo utilizo una modificación de esta
  • ObjectPool
    Prácticamente son necesarios en algunas ocasiones. En video tutorial del link explica el concepto y como hacer uno. Con poco mas ya puedes hacerte una clase para crear pools de objetos de forma genérica.

Son realmente fáciles de entender y utilizar. Además solventan varios problemas de forma muy efectiva.

Buenas practicas

  • Los principios del diseño de software SOLID son también aplicables al desarrollo de videojuegos.
  • Se que en principio Unity da facilidades para utilizar interfaces pero… se puede.
  • Realiza pequeños scripts reutilizables en vez de scripts gigantes que tengas que modificar cada vez que te atrevas a reutilizarlo.
  • La herencia no suele ser muy recomendable en Unity, mejor separar en distintos componentes y usarlos según convenga.
  • Trata de organizar las cosas siempre de la misma manera.
    Por ejemplo:
    Suelo poner siempre los sprites o modelos 3D como hijos de un gameobject que contiene los componentes de la lógica y colliders. De esta forma me es mas fácil realizar cambios relacionados con el arte.

Hay muchas cosas que me he dejado en el tintero. En siguientes entradas podréis ver utilidades y consejos mas especificos que espero que sean de ayuda.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.