Arte, modelado y otros menesteres

Originalmente esta semana tocaba hablar del aspecto visual de Vault Bandits: qué utilizamos para trabajar en estas cosas y poner algún ejemplo, pero creo que también es bastante interesante comentar los problemas que nos van surgiendo, y este fin de semana hemos tenido ya los primeros encontronazos con Git.

Pero hablemos primero de arte. Los videojuegos tienen un componente visual muy fuerte, por algo la palabra “video” está incluida en el término, por ello uno de los aspectos más importantes es el arte del juego, que está comprendido por escenarios, modelos de los personajes, estilo de animación o paleta de colores de escenarios y personajes, entre muchas otras cosas.

Herramientas de modelado: Pese a que Vault Bandits tiene una vista isométrica, los edificios y personajes serán en 3D, y para crearlo usamos 3DS MAX (la versión 2014 para ser exactos, que la 2015 aún tiene un par de bugs importantes…). Con este programa podemos realizar varias tareas:

  1. Modelado de los escenarios para prototiparlos haciendo cajas: Con ésto podemos implementar nuestros niveles de una manera rápida y sencilla, e ir probando si el mapa en sí es divertido y está equilibrado.
  2. Modelado de escenario y edificios finales: Aunque en Unity 5 se puede modelar usando prefabs y assets importados, creemos que es mucho más sencillo usar 3DS MAX para crear los edificios. Aunque tengamos un desarrollo modular, lo que significa que el escenario está compuesto de varias piezas tileables que vamos uniendo como queramos para crear escenarios más grandes, lo que nos da mucha más libertad a la hora de editar los pivotes, o a la hora de retocar las mallas, cosa que en Unity es imposible.
  3. Modelado y animación de personajes: No sólo podemos crear cómo se van a ver nuestros personajes (ya sean NPCs o protagonistas), sino que también podemos animarlos con “bastante facilidad”, ya que con la herramienta de bípedo de 3DS MAX, es más sencillo de lo que parece hacer que nuestros protas caminen, corran y disparen, eso sí, para los caballos y otros cuadrúpedos es otra historia, pero nada que la tenacidad no pueda resolver.
Primeros pasos en modelado
Este es el modelo inicial en low poly de un NPC mujer civil

De todas formas, esta es una pequeña parte de todo el proceso, ya que si no texturizásemos los modelos que hacemos, el escenario se quedaría con un color blanco muy muy soso. Para arreglar esto, usamos el archiconocido Photoshop, con el que pintamos los unwraps de los diferentes modelos que vamos haciendo. Estos unwraps los hacemos desde 3DS MAX, de manera que luego en Photoshop pintamos sobre una cuadrícula que se corresponde con los lados de nuestra figura a pintar. El caso es que además, por el modo en el que se importan las cosas a Unity, todos los objetos que hacemos han de tener su propia textura en un archivo aparte.

Ahora vamos al caso del Git. Como ya comenté en un post anterior, para sincronizar los archivos del proyecto en Unity y que todos pudiéramos trabajar con la misma versión estamos usando Git, usando Sourcetree como interfaz para ello. En estas semanas, mientras Miguel implemetaba características en el prototipo, Andrés luego, en su propio archivo de Unity por separado, cogía el código ya hecho y lo refinaba para obtener una versión más modular y que pudiese evolucionar mucho mejor, además de añadir compatibilidad con otras características. La cosa es que se implementaban características más rápido de lo que se refinaban en el modelo final, y tras una semana de sprint y con un prototipo con funcionas básicas plenamente funcionales, decidimos aunar versiones.

Para ésto en Git existe la opción merge, que permite llevar tus cambios al código que está hecho sin borrar lo que ya está, pero claro… con ésto Unity explotó (ja-ja-ja) de lo que aprendimos varios e importantes detalles:

Primero, a Unity no le gustan los cambios que se hacen con merge en una escena, esto dará un conflicto y tocará borrar a mano los cambios introducidos, no asegurando que aun así la escena se pueda cargar.

Los cambios en los scripts fueron mas fáciles de implementar, ya que al hacer un merge, Git separa el código de cada uno con varios headers, pero aun así, dado que el código de Andrés no estaba con todas las funciones que Miguel había implementado, el prototipo era menos estable que un flan en una montaña rusa.

Dado que el prototipo final está basado en lo que Andrés ha hecho (el pobre se ha pasado todo el fin de semana implementando las funciones del código de Miguel en el suyo) y para que pudiéramos revisar los cambios hechos, tuvimos que crear branches para cada código. Al final, cuando el código de Andrés ya tenga las funciones básicas, haremos un merge y trabajaremos sobre lo suyo como base (para así ahorrar tiempo y que no nos pase lo mismo otra vez), aunque todavía nos queda ver qué hacemos con el branch que hemos creado…

Repositorio de VaultBandits
Así ha quedado tras nuestras peripecias con Github xD

Y bueno, ahora mismo la idea es que Andrés termine la limpieza y optimización así como la total implementación de todo lo que Miguel había desarrollado en su proyecto. Mientras tanto tenemos a Antonio e Inés modelando, a Miguel haciendo pruebas de importación de modelos y animaciones y a Santi redactando nuevas características. Eventualmente, cuando el código de Andrés esté terminado podremos volver a implementar nuevas características, pero hasta la semana que viene no parece que podamos progresar con eso.

¡¡Y esto es todo amigos!!

Espero que os haya gustado y que ahora os hagáis una idea de lor problemas que os podéis encontrar al usar Git. Con el tiempo ya iremos compartiendo más imágenes sobre el desarrollo y modelado, pero de momento vamos tan rápido como podemos.

Recordad que nos podéis encontrar por Twitter en @ProjectDinamita, por Facebook en Dynamite Project o podéis dejar comentarios en esta misma página 🙂

¡Un saludo!

P.D.: Al final hemos tenido final feliz con el Sourcetree y ya está todo arreglado y  listo para darlo todo en el sprint de esta semana

🙂

:)
Happy Sourcetree 🙂
Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s