Categorías
Informática Universitario Videojuego

Programación

Todos los comportamientos de los objetos de juego que formar una aplicación multimedia interactiva creada con Unity tienen que estar programados de alguna forma. El lenguaje más popular actualmente es C#, aunque es posible programar en UnityScript (similar a Javascript) e incluso años atrás se permitía usar el lenguaje Boo. Hoy día Unity admite incluso su propio lenguaje visual para programar dibujando nodos conectados entre sí.

Las lecciones a tratar en este tema son:

  1. Orientación a objetos
  2. Ejecución (en general)
  3. Conversión de objetos
  4. Acceso a propiedades
  5. Construcción de objetos
  6. Registro de componentes
  7. Gestión de la entrada
  8. Control de la ejecución
  9. Llamada a funciones
  10. Cálculo matemático
  11. Simulación física
  12. Gestión de escenas
  13. Gestión de la persistencia
  14. Percepción automática
  15. Movimiento automático
  16. Navegación automática

Se podría hablar de muchos más temas como la Temporización o la Concurrencia (pues las corrutinas en Unity son fundamentales), de cómo funciona el patrón Observer de los Actions/Funcs, explicar los fundamentos del lenguaje de Programación Visual de Unity (antiguo Bolt), y que también incluye el diseño de máquinas de estado como mecanismo de toma de decisiones. Podríamos tocar cuestiones específicas de la programación de la Interfaz de Usuario, o del Multijugador y la Programación en Red, así como Procesamiento de Analíticas.

En las nuevas versiones de Unity ya es posible usar Visual Scripting (el antiguo lenguaje visual Bolt) para programar. Además de saber usar las herramientas y el lenguaje de programación correspondiente, también es importante establecer la configuración de proyecto adecuada para Visual Scripting. Desde ese panel de configuración se puede generar toda la parafernalia que usa el sistema y hasta hacer copias de seguridad de todo lo que hayas programado visualmente. En Type Options podéis elegir qué tipos pueden aparecer en los puertos de entrada y de salida de los nodos. En Node Library podéis elegir qué clases de nodos puede haber. Y con Regenerate Nodes se “regenera” todo el Visual Scripting para que en su herramienta de edición estén disponibles esos nodos, y esas entradas y salidas. Generate crea “cajones personalizados” (custom drawers) que ayudan sobre todo para lidiar con paquetes de los que no tienes código fuente. La primera vez que se usa Visual Scripting en un proyecto, o cada vez que se modifica el código C# de clases y métodos que necesitan ser usados desde Visual Scripting, hay que “regenerarlo” todo, para así tenerlo disponible cuando estéis trabajando/programando visualmente.

Guía de estilo

En C# se suele usar “Camel Case” para nombrar las variables, aunque se usa “Pascal Case” para los métodos y nombres de clase.

Recomendamos nombrar todo, clases y métodos, en inglés y siguiendo los principios de Clean Code para que estos sean lo más explicativos posibles. Sin embargo los comentarios y la documentación es preferible en español.

Más información

Para complementar es recomendable consultar otros documentos.