lunes, 30 de octubre de 2017

Iluminación en Unreal. Parte I: Corrección de color.

Si amigos, ha llegado el día. Lo que hemos ido retrasando durante meses ya está aquí. Un artículo hablando de la iluminación en Unreal. Pero tranquilos, no lo daremos todo hoy por varios motivos. Primero, para centrarnos y que no salga un texto más largo que un día sin pan. Y segundo, algo que nos ha costado meses ponernos a comentar, no lo quemaremos de una sola vez :D.

Más concretamente os hablaremos de la corrección de color, o color correction como dicen los guais. Como siempre, no somos expertos en el tema, pero después de ponernos un poco nerviosos por no saber como mejorar la iluminación que teníamos, nos dimos de bruces con una documentación que nos iluminó (JA! no esperabais ese juego de palabras, eh?). Enseguida os hablamos sobre ello, pero antes, maticemos cosas.

Antes de nada, hay que hablar sobre qué iluminación queremos en nuestro juego. Obviamente no estamos haciendo un juego de miedo, así que no queremos oscuridad. Todo lo contrario. Estamos haciendo un juego con un estilo visual muy cartoon, por lo que nos interesan los colores vivos e intensos.

Después de decidir qué queríamos conseguir nos pusimos a trastear con la iluminación de Unreal. ¡Vaya si trasteamos! Acabamos hartos de tanta configuración y no acabar de dar con la tecla para obtener lo que buscábamos. Así que volvimos al principio y nos quedamos con una iluminación muy básica (prácticamente la que viene por defecto) tocando la intensidad y la rotación por un tema de orientación de las sombras. Y así pasaron los meses mientras nos decíamos que no pasaba nada, que todo iría bien :_).

Todas las capturas que hemos ido subiendo al blog y nuestro twitter (¡síguenos por ahí!) se han hecho con esa iluminación básica, que aunque no esté del todo mal, es un poco… meh… Así que hace un par de meses nos pusimos a investigar más sobre el tema y dimos con distinta información sobre la corrección de color en Unreal. Ahí vimos un mundo nuevo.

¿Os habéis fijado que en una serie o película existe un color que tiñe la pantalla? Por ejemplo, ¿habéis visto como en gran parte de las imágenes de CSI Miami se nota una atmósfera prácticamente amarilla y en cambio otros CSI's tiran más a colores fríos como el azul? La corrección de color ya no es solo maquillar la luz para corregir imperfecciones. Hoy en día se utiliza para dotar a la imagen de temperatura para hacer llegar al espectador sin que se de cuenta el sentimiento que quieres que tenga y que sea coherente durante todo el metraje.

Imagen de CSI Miami.



Imagen de CSI Las Vegas.
Pues bien, si os fijáis en las capturas hechas hasta ahora del juego, la iluminación se puede resumir en una buena fuente de iluminación para que no apagara los colores que habíamos hecho previamente en las texturas. Pero hecho esto, el primer problema con el que nos topamos fue que al poner esa fuente de luz fuerte lo primero que recibes son unas sombras durísimas (oscuras, para que nos entendamos). Esto hace que, en general, se vea todo en extremos. Colorido en las caras donde da el sol y oscuro donde se está en sombra. Hasta aquí podríamos decir que tampoco se acaba el mundo. Es decir, si queremos una luz fuerte, es normal que aparezcan sombras duras. No deja de ser como un mediodía de verano. El problema que le veíamos, y que no sabíamos solucionar era que, en general, se veía todo azul. La sensación era fría a pesar de la luz intensa de mediodía. Y eso sí que necesitábamos corregirlo.

Así que, como hemos dicho, topamos con esa distinta información donde explica como aplicar una corrección de color al juego. Esto lo que hace es que, independientemente de como esté configurada la iluminación, teñirá el juego con la gama de colores que le digamos.

Vamos a mostraros un ejemplo para que entendáis mejor por donde vamos. Esto es el antes y después de una corrección de color de una escena del juego:

Antes de la corrección de color.







Después de la corrección de color.


¿Veis la diferencia? La primera imagen se ve fría, como si fuera una mañana de invierno soleada. En cambio, en la segunda imagen se ve todo mucho más cálido. Eso es porqué al corregir el color, le hemos puesto más amarillos y rojos (además de otros pequeños ajustes).

Esto que parece un detalle sin mucha importancia, nos dota para dar valor narrativo a nuestro juego si queremos. Puede parecer que en nuestro caso apenas se vea diferencia, quizás alguno de vosotros piense que no se hubiera dado cuenta del detalle. Pero podríamos aplicar una corrección de color mucho más drástica para darle al jugador información mucho más importante. Por ejemplo, si queremos hacer una misión que ocurra en el pasado (cosa que tenemos pensado), podríamos aplicar una corrección de color que hiciera que todo el juego se viera en tonos sepia.

Tonos sepia para dar sensación de paso del tiempo.


Como veréis, abre nuevas posibilidades, ya que también podríamos hacer que se viera en blanco y negro si la vida del jugador o del paquete está muy delicada. Pero todo esto ya lo veremos como lo vamos implementando.

Si os estáis preguntando como se hace esa corrección de color, no sufráis, este jueves publicaremos un TIP explicando el proceso paso a paso, así que, ¡estad atentos! De momento, os dejamos con un collage de algunas escenas del juego del antes y después de aplicar la corrección de color.

Antes de la corrección de color.

Después de la corrección de color.
Antes de la corrección de color.

Después de la corrección de color.

Obviamente, seguiremos trabajando en la iluminación e iremos informando sobre novedades, ya que no creemos que este sea el último artículo donde hablemos sobre el tema. Hay mucho que aprender :_D.

Esperamos que os haya resultado útil esta información :D.

lunes, 23 de octubre de 2017

Conversaciones entre personajes.

Como todo juego que se precie, The Deliver tendrá una historia y con unos personajes detrás, los cuáles, por cierto, habéis podido ver en una entrada anterior.

Durante el transcurso de las misiones habrá distintas conversaciones entre personajes tanto al inicio como al final de cada objetivo para contar la historia y meter al jugador dentro de la misma.

Estos días hemos estado planificando las misiones que podría tener la versión demo que queremos lanzar y, aprovechando, hemos estado diseñando y programando el sistema de las conversaciones que se mostrarán en pantalla.

También hemos estado creando una estructura interna para guardar toda la información necesaria de cada misión, como el vehículo utilizado, el número de paquetes a transportar en cada objetivo, los personajes que intervienen, las conversaciones, etc. Así, lo tendremos todo estructurado y será más fácil crear las próximas misiones.

La idea de las conversaciones es que cuando empiece una misión se muestre el título de ésta y luego muestre una imagen panorámica de dónde transcurren los acontecimientos. En ese momento se mostrará en la parte inferior un panel con la conversación entre los distintos personajes que intervengan en ese momento.

Ejemplo de conversación entre personajes.


A cada lado del panel de la conversación se mostrarán los avatares de los personajes que están hablando en ese momento. Y cada uno tendrá un color representativo, que será el mismo para el borde del avatar y para el texto.

También hemos añadido unos efectos de pausa cuando aparecen las frases, para mostrar énfasis en las pausas que hace el personaje mientras habla y que, a veces, cuestan más de representar por escrito que si se hace por audio. 

A continuación os mostramos la secuencia completa de conversación de una posible misión de la demo.



Esperemos que os haya gustado y nos vemos en la siguiente entrada :-).

lunes, 16 de octubre de 2017

Creando la ciudad VIII: Más árboles y nueva vegetación.

Hace meses de la última entrada sobre modelos 3D que repartiremos por el mapa. Así que hoy, toca nuevo material.

Ya teníamos modelos hechos para los parques de la ciudad, pero aunque para la ciudad nos sobran y bastan, necesitábamos variedad para las próximas zonas futuras, como los desiertos o bosques nevados. Además, también era necesario empezar con la vegetación para acabar de darle el toque a estas zonas. Si analizamos los modelos 3D que tenemos hecho, parece mentira que nos sigan faltando cosas cuando diseñamos el mapa, pero hasta que no te pones a colocar los objetos no te das cuenta de todo lo que necesitas para darle ambientación al proyecto.

Pero eso no es todo lo que os queríamos contar. Como ya sabréis, hace meses aprovechamos un modelo que teníamos hecho de nuestro anterior proyecto, los peces animados de Torii, para probar como funcionaria la Asset Store de Unity. Pues bien, hemos aprovechado la ocasión de hacer todos estos nuevos modelos, que juntándolos con los que ya teníamos, hemos hecho un pack de árboles y vegetación para el marketplace de Unreal que está pendiente de aprobación. No nos enrollaremos con este tema para no desvirtuar el artículo de los modelos. Además aprovecharemos la ocasión de hacer un artículo para hablar sobre ello con más detalle cuando tengamos noticias de nuestro nuevo pack como ya hicimos con la asset de Unity.

Esta experiencia nos ha enseñado cosas nuevas que desconocíamos y no nos habíamos encontrado hasta ahora con el proyecto, los lightmaps. En estos lightmaps es donde se guarda la información de la iluminación que tendrá el objeto cuando se calcule toda la iluminación de la escena. Influyen muchas variables, entre ellas como está hecha la UV (troceado de la geometría del objeto), la resolución (influye el tiempo en calcular y el tamaño en memoria), etc.

Después de pelearnos bastante con este tema, vimos que para la vegetación no era aconsejable utilizar iluminación precalculada para este tipo de objetos, así que utilizamos la iluminación dinámica, la cuál no afecta al lightmap del objeto porque no tiene que guardar las sombras generadas, ya que se generan en tiempo real mientras se ejecuta el juego. Lástima no habernos dado cuenta antes, pues estuvimos bastante tiempo peleándonos con el tema :_D. Pero vaya, todo lo que sea aprender cosas nuevas, bienvenidas sean.

Seguramente haremos un pequeño artículo en forma de TIP para detallar un poco más sobre el tema más técnico y como se hacen.

Sin más dilación, os dejamos con algunas capturas de los nuevos modelos hechos en Unreal.

Escena de un posible bosque (1).
Escena de un posible bosque (2).
Escena de un posible bosque (3).
Escena de lago de montaña.
Escena de un oasis.
Escena de una zona desértica (1).
Escena de una zona desértica (2).

También os dejamos con un video que hicimos para el asset del marketplace de Unreal.

lunes, 9 de octubre de 2017

Los personajes.

Hoy os traemos un poco de la historia del juego. Aunque aún nos faltan cosas por concretar (mentira, nos falta todo), lo que sí sabemos es por donde queremos que vayan los tiros, y ya hemos pensado en los personajes que podrían aparecer.

De hecho, no hemos evolucionado demasiado la historia desde que os hablamos del juego por primera vez. Sabíamos que queríamos hacer algo relacionado con luchas de poder, trapicheos, mafia, etc. Vamos, los clichés de toda la vida. Pero aún no tenemos claro la línea que seguirá. Obviamente, tenemos nuestras ideas de lo que nos gustaría hacer, pero ni mucho menos está pensado al dedillo como lo haremos exactamente.

Así que empezamos por pensar qué personajes podrían salir en la historia. Por supuesto hablamos de los personajes con más protagonismo, imaginamos que saldrán más por el camino, y los que vendrán cuando empecemos a concretar el guión.

Pero venga, sin más dilación, os presentamos uno por uno los personajes que de momento tenemos pensados. Incluimos una pequeña descripción sobre ellos, para empezar a abrir boca sobre lo que podrán aportar en el juego.

Por cierto, esto que os mostramos hoy, lo mostramos poco a poco hace unas semanas por twitter. Así que os instamos a que nos sigáis por esta red, donde podréis estar informados al momento de todas las novedades :D.

Empecemos con nuestro protagonista Tommy, quién por un dramático suceso le llevó a ser la persona que nunca pensó que seria.

Este es Tommy.

Ahora le toca el turno a Tony, poderoso y con mucha influencia en la ciudad. No se la juegues o será lo último que hagas.

Este Tony.
Este de aquí es Carlo, el guardaespaldas de Tony. A pesar de su gran tamaño es un buen tío.

Y este Carlo.
Y no nos olvidamos de JC, un pandillero que antepone sus ganas de ser respetado antes que actuar con inteligencia. Cuidado con él.

Este otro es JC.
Para finalizar, lo hacemos a lo grande, con Mauro. Regenta su propia pizzería donde su lema es "cuida al cliente como a la tua mamma". Habrá que hacerle caso.

Finalmente, este es Mauro.
Esperamos que os haya gustado esta entrada algo diferente a lo que os tenemos acostumbrados :).

lunes, 2 de octubre de 2017

Misiones con varios objetivos y modo libre.

Esta semana os mostraremos un poco más el desarrollo que hemos hecho en el sistema de misiones.

Hasta ahora teníamos que el jugador empezaba una misión, llegaba a su destino y finalizaba la misión. Pero no todas serán así. Algunas de ellas tendrán varios objetivos intermedios, como por ejemplo, pasar a recoger unos paquetes en distintos puntos de una zona del mapa y llevarlos finalmente a su destino.

Para este último tipo, hemos implementado el sistema "multi-objetivo" que podrán tener las misiones. Así podremos tener un primer objetivo con, por ejemplo, 2 destinos donde ir a recoger paquetes y finalmente llevarlos a su destino final.

En el siguiente video os mostramos alguna de las pruebas internas para probar el funcionamiento.

Veréis que empezamos con un paquete, luego vamos a recoger dos paquetes más y finalmente los llevamos a su destino. Veréis que se van acumulando en cada recogida. Cada marca roja es la zona destino donde el jugador debe parar para recoger el paquete. Más adelante cada zona roja la mostraremos con un diseño más acorde al juego, pero de momento para las pruebas internas es suficiente el cubo feo que se muestra :-).


Como se puede ver en el video, además de lo comentado hasta ahora también estamos haciendo pruebas para que una vez el jugador termine una misión no lo lleve al menú principal sino que se quede donde terminó. Así el jugador podrá dirigirse al siguiente objetivo, que en el caso del video sería la zona verde donde nos dirigimos luego de terminar la misión. Por el contrario, el jugador puede circular libremente para explorar o ver zonas nuevas.

Para el modo libre, seguramente pondremos algo (aún no sabemos qué exactamente) para invitar al jugador a explorar el mapa. Más adelante ya veremos lo que se nos ocurre.

Esperemos que os haya gustado y nos vemos en la siguiente entrada :-).