unity3d1

A cualquier persona -ya sea niño, adolescente o adulto- que alguna vez haya jugado a videojuegos, se debe haber preguntado: ¿Como lo harán?.

Esa es la gran pregunta que se formulan todos los desarrolladores principiantes ¿como y por donde puedo empezar a crear un videojuego?, ¿Que tecnología debo utilizar?, ¿Con que lenguaje me debo centrar para desarrollar videojuegos?, etc…

Pues en esta entrada, pretendo abrir el campo de visión de mucha gente que, como en su momento me pasó a mi, no sabía por donde empezar.

¡Espero que os ayude o al menos os entretenga!

unity-4-screenshot

Para empezar, debo decir que para el desarrollo de un videojuego “normalmente” se precisa más de una persona en el equipo de desarrollo y si es un proyecto profesional es una norma obligatoria!

Si no habéis visto nunca un estudio profesional de desarrollo como pueden ser las compañías Electronic Arts (FIFA, Need For Speed), Microsoft Games (HALO, Fable, Forza Motorsport), Square Enix (Final Fantasy, Castlevania), Crystal Dynamics (Tomb Raider), debéis saber que no solamente hay una persona encargada de absolutamente todo, ya que si fuese así tardaría décadas o lustros en realizar un videojuego de calidad profesional y es una idea absurda.

En los estudios profesionales de desarrollo de videojuegos hay diferentes áreas como por ejemplo:

  • Desarrolladores de código
  • Ingenieros de Sonido
  • Físicos
  • Matemáticos
  • Animadores
  • Diseñadores Gráficos
  • Iluminación
  • Publicistas & Marketing

Y muchos más que me dejo por el camino…

Pero con esto no os quiero asustar ni nada menos, ya que para el desarrollo “novel” o como actualmente llamamos “Indie” existen muchas alternativas.

jumping-man

Después de haber publicado en nuestro blog varias entradas de la serie Creando un videojuego para Android dedicadas al desarrollo de un videojuego para Android (¡y que aún no ha acabado, todavía sigue su desarrollo!), podéis leeros las entradas que hay publicadas hasta ahora para haceros una idea del proceso:

Tanto si es un videojuego “Indie” como si es de un enfoque más Profesional, hay ciertas etapas o puntos en el desarrollo de un videojuego que son comunes, por ejemplo las partes II, IIIIV y VI de las entradas anteriores son un ejemplo.

Después de haber superado las fases de los Brainstormings, Storyboards y dejar claro la trama o historia del videojuego, es el momento de decantarse por que arquitectura o tecnología utilizar ( Entrada VI).

Con arquitectura o tecnología, me estoy refiriendo, básicamente, en la decisión de para que plataforma estará enfocado nuestro juego:

  • Smartphones (Android, iOS & Windows Phone)
  • Tablets (Android, iOS & Windows Phone)
  • PC & Portátiles (Windows, MacOS, Linux)
  • Consolas (Xbox 360, PS3, PSP, Wii, NDS)
  • Multiplataforma (más de una plataforma disponible)

Actualmente, los estudios de desarrollo se centran en aprender y utilizar tecnologías nuevas mediante los IDE (Entorno de desarrollo integrado) que permiten desarrollar los videojuegos de forma modular (cada área del equipo desarrolla un módulo del videojuego diferente, pero trabajando conjuntamente en el mismo proyecto y con el mismo IDE), programar en varios lenguajes, crear animaciones avanzadas, iluminación, sonido, texturas, efectos ambientales (niebla, sombras, tormentas, lluvia), cámaras, etc.

unity_3_screen_shot_2010-09-21_at_8-32-02_pm

Pero en el momento que el juego ya lo tienen finalizado, este IDE les permite exportar a varias plataformas a la vez, por ejemplo PS3, XBOX 360, Android, iOS, Windows, MacOS, Linux.

Trabajar con esta filosofía modular de desarrollo es muy útil, ya que al poder exportar a muchas plataformas, nos libramos de aprender el lenguaje específico para cada plataforma (Java, Objective-C, C#,etc…), abarcamos más mercado para nuestro juego y así un mejor negocio para nosotros!

Uno des estos IDE que más fuerza esta tomando últimamente, es Unity.

Unity es un motor de videojuego multiplataforma creado por Unity Technologies.

Unity está disponible como plataforma de desarrollo para Windows y OS X, y permite crear juegos para Windows, OS X, Linux, Xbox 360, PlayStation 3, Wii, Wii U, iPad, iPhone y Android.

Gracias al Plug-In Web de Unity, también se pueden desarrollar juegos de navegador (HTML), para Windows y Mac.

1303817604279

La primera versión de Unity se lanzó en la Conferencia Mundial de Desarrolladores de Apple en 2005. Fue construido solamente para funcionar y generar proyectos en los equipos de la plataforma Mac y obtuvo el éxito suficiente como para continuar con el desarrollo del motor y herramientas.

Unity 3 fue lanzado en septiembre de 2010 y se centró en empezando a introducir más herramientas que los estudios de alta gama por lo general tienen a su disposición, con el fin de captar el interés de los desarrolladores más grandes, mientras que proporciona herramientas para equipos independientes y más pequeñas que normalmente serían difíciles de conseguir en un paquete asequible.

La última versión de Unity, Unity 4, lanzada a finales de 2012, se anunció en junio de 2012 e incluye añadidos como Mecanim animation, soporte para DirectX 11 y soporte para juegos en Linux.

Unity soporta la integración con 3ds Max, Maya, Softimage, Blender, Modo, ZBrush, Cinema 4D, Cheetah3D, Adobe Photoshop, Adobe Fireworks y Allegorithmic Substance.

El Scripting o lenguaje utilizado para desarrollo viene a través de Mono. El script se basa en Mono, la implementación de código abierto de .NET Framework.

Los programadores pueden utilizar UnityScript (un lenguaje personalizado inspirado en la sintaxis ECMAScript), C# o Boo (que tiene una sintaxis inspirada en Python).

A partir de la versión 3.0 añade una versión personalizada de MonoDevelop para la edición y depuración de scripts.

Como hemos comentado antes Unity soporta el despliegue de múltiples plataformas. Unity le permite orientar todas las plataformas y cambiar entre ellas desde una sola herramienta.

flow3

Dentro de un proyecto que tiene control sobre la implementación a todas las plataformas, incluyendo teléfonos móviles, webs, escritorios y consolas.

Así se hace más fácil mantener el código de trabajo a través de muchos dispositivos, cada uno con sus diferencias de plataforma, manteniendo la opción para tener un control preciso cuando sea necesario.

En pocas palabras y resumiendo, aprendiendo a utilizar Unity nos permite centrarnos en hacer juegos.

A día de hoy, podéis comprobar que Unity ya supera los 2.000.000 de usuarios registrados que utilizan su sistema para el desarrollo de videojuegos de forma gratuita (desarrollo “Indie”), y cada día más empresas se suman apoyando a esta tecnología para la creación de sus nuevos proyectos.

Las últimas noticias es que tanto PS4 como Xbox One se sumarán a utilizar este IDE para el desarrollo Indie y Profesional para la próxima generación de consolas.

Para los interesados en aprender a utilizar esta tecnología, podéis hacerlo por dos vías:

  • De forma gratuita: Vídeotutoriales y cursos en youtube
  • Curso on-line de pago: Páginas como Pixel-Pro ofrecen cursos sobre Unity muy interesantes, actualizados y no muy caros 

¿Alguien se apunta?

Info | Wikipedia

Imágenes | Google Imágenes