desarrollo unity 3d videojuegos cipsa
22
febrero
2021

En el desarrollo de videojuegos de perfil indie, es decir; aquellos realizados por pequeños equipos o estudios de desarrollo independientes e incluso personas individuales; existen multitud de herramientas que pueden ayudarnos.

Hay dos factores importantes a la hora de planificar un juego: su temática y tecnología

La temática que determina qué tipo de juego queremos crear (plataformas, disparos, estratégico, 3D o 2D), y la plataforma a la que deseamos orientarnos: PC, móviles, web…, etc. Existen otras muchas consideraciones importantes como el tipo de jugadores a los que va dirigido y su rango de edad (infantil, adultos), si es un juego masivo MMO (World of Warcraft, Black Desert), multijugador (Call of Duty, Battlefront), o de jugador único (FarCry, Zero Dawn, BioShock…, etc).

En el aspecto tecnológico debemos decidir a qué plataforma vamos queremos orientar el desarrollo del juego (PC, dispositivos móviles, web, consolas). Esto tiene implicaciones en la jugabilidad, el control y aspectos técnicos relativos a la potencia disponible. Por ejemplo, los juegos orientados a dispositivos móviles imponen limitaciones técnicas gráfica principalmente respecto a los de PC debido a la diferencia de potencia de cálculo entre ambos. No obstante, los dispositivos móviles permiten incorporar el control táctil y el uso de la cámara, GPS, y sensores giroscopios para crear nuevas experiencias del juego. Véase el caso de éxitos como Pokemon Go, o Angry Birds.

Motores de juegos (Game Engines)

En la mayoría de los casos los juegos se desarrollan partiendo motores de juego preexistentes (Unity, Unreal, Cry Engine, FrostBite…, etc) que constituyen un punto de partida. Esto permite ahorrar mucho tiempo en el desarrollo especialmente en el caso de proyectos Indie.

Existen múltiples motores de juego que pueden emplearse para el desarrollo de juegos. Entre ellas podemos diferenciarlas por las plataformas hacia las que están orientadas, sus capacidades técnicas 2D/3D/Efectos… etc, el lenguaje de programación que emplean para el desarrollo (C++, Java, C#, Lua…, etc), y los costes de licencias de uso asociados que puedan tener.

En nuestro caso nos centramos en el uso de Unity por sus principales características:

  • Permite desarrollar para más de 25 plataformas.
  • Permite crear tanto juegos como aplicaciones de simulación, realidad virtual (VR), realidad aumentada (AR) …, etc.
  • Incluye herramientas integradas para la creación de animaciones, materiales, efectos especiales, programación visual y dispone de una tienda virtual (Assets Store ) con gran cantidad de recursos y complementos tanto gratuitos como de pago para integrarlos en nuestros proyectos.
  • Emplea una API basada en el Framework de .NET y emplea C# como lenguaje de programación sencillo y eficaz que también se emplea para el desarrollo de aplicaciones empresariales.
  • Permite la monetización de los proyectos.
  • Incluye una versión personal completamente gratuita que permite el desarrollo de proyectos si los ingresos o fondos son inferiores a US$100 mil en los últimos 12 meses

Si estás interesado en ampliar tus conocimientos en Unity, en nuestros Cursos de Videojuegos en Barcelona y Bilbao encontrarás todas las herramientas necesarias para desarrollar tus proyectos.

Metodología basada en prototipos

Unity es toda una plataforma de desarrollo que integra multitud de herramientas, componentes y recursos para permitir la creación de proyectos. En su aprendizaje es necesario ver y poner en práctica progresivamente cada una de estas partes.

Todo proyecto comienza por prototipos de prueba para experimentar las diferentes herramientas y técnicas de Unity en forma de prácticas.

Metodología de desarrollo de proyectos con Unity en CIPSA 1 Prototipo básico de ejemplo de juego 2D de tipo plataforma

Metodología de desarrollo de proyectos con Unity en CIPSA 3 Prototipos básicos de ejemplo de simulador 3D con cámara en 3º persona

Programación ( C# / Visual )

La programación es el elemento clave en cualquier plataforma de desarrollo de videojuegos incluyendo Unity. Los scripts que implementan el comportamiento de cada elemento de juego pueden implementarse empleando el lenguaje C# con Visual Code, o el IDE Visual Studio.

Metodología de desarrollo de proyectos con Unity en CIPSA 4

Script de Unity programado en C# con Visual Code

También puede crearse scripts de control sin necesidad de escribir código C# empleando la programación visual mediante el complemento integrado Bolt:

Metodología de desarrollo de proyectos con Unity en CIPSA 5

Metodología de desarrollo de proyectos con Unity en CIPSA 6

Script de Unity empleando programación visual con Volt

Controles de Juego.

Unity permite el control de usuario empleando desde dispositivos clásicos como el teclado y ratón de un PC, hasta dispositivos específicos tales como Gamepads, Joysticks. En el caso de proyectos dirigidos a dispositivos dispositivos móviles Unity permite el empleo el control a través de pantalla táctil, así como el uso de sensores de orientación del dispositivo:

Metodología de desarrollo de proyectos con Unity en CIPSA 6

Metodología de desarrollo de proyectos con Unity en CIPSA 7 Prototipo de juego 3D de disparos en 1º persona para dispositivo móvil

Interfaz de usuario ( GUI / IMGUI )

El interfaz de usuario permite crear indicadores de estado y control para completar la experiencia de juego de los proyectos. Estos pueden emplearse para mostrar menús y controles estáticos (GUI) o dinámicos para mostrar información sobre elementos de juego (IMGUI):

Metodología de desarrollo de proyectos con Unity en CIPSA 8 Prototipo de menú de Juego con GUI + 2D (Lander)

Metodología de desarrollo de proyectos con Unity en CIPSA 9 Prototipo simulador de redes neuronales 3D + IMGUI para visualización de estado (Neurocore)

Metodología de desarrollo de proyectos con Unity en CIPSA 9 Prototipo de menú de Juego empleando GUI + 3D para dispositivo movil (Drones)

Motor de Física

Unity integra el motor de física en tiempo real Physics que permite colisiones y simular el movimiento y rotación realista de elementos 2D/3D empleando informaciones tales como la forma, la masa, gravedad, fuerzas y resistencias…, etc.

Metodología de desarrollo de proyectos con Unity en CIPSA 11

Metodología de desarrollo de proyectos con Unity en CIPSA 12

Metodología de desarrollo de proyectos con Unity en CIPSA 13 Prototipo de juego 3D con cámara cenital con física y IA PathFinder

Si estás interesado en ampliar tus conocimientos en Unity, en nuestros Cursos de Videojuegos en Barcelona y Bilbao encontrarás todas las herramientas necesarias para desarrollar tus proyectos.

Proyectos Finales

El objetivo final es integrar todos las herramientas y técnicas vistas durante el curso para conseguir un proyecto final jugable:

Metodología de desarrollo de proyectos con Unity en CIPSA 14

Metodología de desarrollo de proyectos con Unity en CIPSA 15 Imágenes de proyecto final “Asteroids Evolved” elaborado en CIPSA

Metodología de desarrollo de proyectos con Unity en CIPSA 16

Metodología de desarrollo de proyectos con Unity en CIPSA 17

Proyecto final “Lander” elaborado en CIPSA

Metodología de desarrollo de proyectos con Unity en CIPSA 18 Proyecto original final “Bullet Dodget” elaborado por alumno Jagoba Riscado

Metodología de desarrollo de proyectos con Unity en CIPSA 19

Metodología de desarrollo de proyectos con Unity en CIPSA 20 Proyecto original final “Moon Terrain” elaborado por Steven Andrés Zafra Bellcázar

Si estás interesado en ampliar tus conocimientos en Unity, en nuestros Cursos de Videojuegos en Barcelona y Bilbao encontrarás todas las herramientas necesarias para desarrollar tus proyectos.

Author

Ángel Aguinaga

Profesor de Programación y Bases de Datos de la Sede Bilbao. Formador experimentado en áreas como .Net, Java, BB.DD., Python, Desarrollo y programación Web.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Recibe de primero nuestras ofertas de empleo y noticias