Skip to main content

Entrevista con los creadores de Forza Horizon

Un vistazo técnico a los entresijos de la obra de Playground Games.

Forza Horizon es, quizás, el juego de carreras que más nos ha gustado este año, así que pensamos que sería interesante hablar con sus creadores, Playground Games, para conocer los entresijos más técnicos del desarrollo de uno de los grandes lanzamiento de Microsoft para Xbox 360 durante el último tramo de 2012.

A continuación podréis ver las respuestas de Alan Roberts, director técnico de Playground, Andy Sage, principal ingeniero de rendering, y Karl Hammarling, ingeniero de gameplay, sobre los retos del refresco a 30Hz, cómo superar los problemas de latencia, la colaboración con Turn 10 y el uso de la excepcional tecnología de Turn 10.

Digital FoundryEs destacable que a un estudio novato le den las llaves de una de las franquicias más prestigiosas de Microsoft, más aún estando a miles de kilómetros de la creadora de la saga, Turn 10. ¿Cómo ha funcionado esta colaboración y cómo convencisteis a Microsoft y Turn 10 de que erais los adecuados para el trabajo?
Alan Roberts

Sí, es una historia curiosa y estamos realmente contentos de haber podido cumplir la ambición que teníamos al fundar el estudio.

Durante los primeros tiempos de Playground nos concentramos en construir una compañía que pudiese ampliarse según las demandas de un juego de alto presupuesto. Nos dimos cuenta de que la mejor forma de tener conversaciones serias con los editores era demostrarles que podíamos colaborar para hacer que funcionase. Éramos un equipo de desarrolladores con experiencia, pero estaba claro que no éramos un estudio completo y sabíamos que necesitábamos a alguien con la visión para darnos el apoyo que necesitábamos.

Habíamos hablado con Microsoft sobre varias cosas antes de conocer a la gente de Turn 10, pero tras hacerlo vimos que la oportunidad de colaborar en la franquicia Forza se ajustaba perfectamente a nuestros objetivos como empresa.

Turn 10 pasó mucho tiempo con nosotros y quedó claro que teníamos muchas cosas en común, desde la atención por el detalle hasta el enfoque que tenemos para el desarrollo de juegos. Al final creo que la ambición y pasión compartida por los dos equipos fue lo que hizo que todo siguiese adelante.

"Nuestra primera reunión con Microsoft tuvo lugar en el E3 2010, y les presentamos el concepto de Forza Horizon unos meses más tarde. En total habrán sido dos años de desarrollo."

Playground genera unos gráficos de gran belleza usando una versión modificada del motor de Forza Motorsport, mejorada con nuevas tecnologías de anti-aliasing avanzado, iluminación y sombreado dinámico e impresionantes técnicas de post-procesado de imagen.
Digital Foundry¿Puedes hablarnos del proceso de colaboración con Turn 10 a medida que avanzaba el proyecto? Teniendo en cuenta la gran distancia que os separa, ¿cómo funcionó?
Alan Roberts

Al principio pasamos mucho tiempo juntos para entender cómo funcionaban sus equipos y su tecnología. Pudimos aportar nuevas ideas y experiencia al proceso, pero también éramos conscientes de que debíamos seguir el mismo camino, así que los equipos desarrollaron rápidamente un fuerte sentido de respeto y confianza el uno con el otro.

La diferencia horaria muy complicada al principio, como supongo sabrá cualquiera que trabaje con una diferencia de ocho horas. Ellos entraban a trabajar cuando nosotros nos íbamos a casa, así que había que tener cuidado para mantener la comunicación. Tienen un equipo con experiencia que se dedica a dar soporte a la relación, así que eso sirvió de muchísima ayuda. Ambos equipos también se visitaban regularmente para hablar cara a cara y solventar cualquier problema.

Nos impusimos el objetivo de trabajar juntos sin afectar los proyectos del otro, y creo que lo hemos conseguido. Pudimos terminar Forza Horizon con éxito y a tiempo sin depender de una cantidad significativa de recuersos de Turn 10, lo cual valida la forma en que los equipos colaboraron para resolver los diferentes retos del proyecto.

Digital FoundryDesde el periodo de gestación hasta el estado gold, ¿cuánto se ha tardado en desarrollar Forza Horizon?
Alan Roberts

Nuestra primera reunión con Microsoft fue en el E3 2010. Les presentamos el concepto de Forza Horizon unos meses después. En total habrán sido unos dos años de desarrollo.

Digital Foundry¿Propusisteis vosotros el concepto de mundo abierto a Turn 10 / MS o fue algo que ellos querían que desarrollaseis?
Alan Roberts

Su dirección inicial era que creásemos un juego que fuese parte de la franquicia Forza, pero que aportase algo diferente de Forza Motorsport. Nos dejaron que fuésemos nosotros quienes decidiésemos cómo hacer funcionar eso.

Les presentamos el concepto de un Forza con mundo abierto centrado en un festival musical y les encantó. El juego final es muy similar al que presentamos inicialmente, lo cual es una muestra del buen trabajo de nuestro equipo de diseño y del apoyo de Turn 10 y Microsoft para conseguirlo.

Siempre han confiado en que teníamos la visión para el juego, han creído en lo que estábamos haciendo, y diría que esa es una de las mejores cosas de trabajar con ellos como partner.

"Quedó claro desde el principio que el código de Motorsport es genial y tiene muchos puntos fuertes. Nos dio una ventaja inicial para poder concentrarnos en añadir nuevas funcionalidades y características."

Este time-lapse demuestra las bondades del nuevo sistema de iluminación dinámica con ciclo de noche y día y la distancia de dibujado de hasta 20 kilómetros.
Digital FoundryDan Greenawalt dice que el trabajo empezó cuando os entregó el motor de Forza 4 al completo: gráficos, IA, físicas... todo. Debemos hablar de una base de código enorme. ¿Cómo trabajáis con ella y cómo empezáis a personalizarla?
Alan Roberts

Es una gran pregunta, porque sí, es una base de código enorme.

Tenemos algunos de los mejores técnicos de la industria en Playground, al igual que Turn 10. Cuando gente como esta trabaja en algo que aman se meten a ello a fondo, así que empezó a funcionar muy pronto. Turn 10 estaba concentrada en terminar Forza Motorsport 4, así que tomaron un papel de asesores pero nos dieron muchísimo apoyo.

Lo primero que hicimos fue poner a funcionar a Forza Motorsport 4. Entonces analizamos los principales aspectos que deberían cambiar para hacer Forza Horizon. ¡Teníamos muchísimas preguntas durante los primeros días!

Quedó claro desde el inicio que el código de Motorsport es fantástico y tiene un montón de puntos fuertes. Nos permitió empezar con ventaja para centrarnos en añadir funciones clave y nuevas características. Era bastante cercano en cuanto a diseño a la tecnología que habíamos creado antes, así que fue genial ver a dos equipos independientes pensar de forma parecida sin ser conscientes de ello.

Al principio, incluso con nuestro pequeño equipo de siete ingenieros y unos pocos artistas conseguimos tener una primera prueba de concepto, con la tecnología de streaming para el mundo abierto y un prototipo plenamente funcional de la jugabilidad, en tan sólo seis semanas. Nunca he visto a un equipo tan pequeño hacer tanto en tan poco tiempo. Eso nos dio un inicio sólido para el proyecto.

Digital FoundryHorizon es claramente un juego muy diferente a Forza 4. ¿Cómo integrasteis esa tecnología con vuestro propio código? ¿Fue posible introducir módulos en el motor existente o hubo que crear un juego desde cero alrededor del motor de Turn 10?
Alan Roberts

Creamos el juego alrededor del motor de Turn 10, porque queríamos mantener el ADN de Forza, como el motor de físicas. Fue sorprendentemente rápido empezar, pero estábamos tomando algunas decisiones de diseño tan profundas que requerían cierta divergencia, así que en ciertos aspecto cambiamos por completo la arquitectura. El streaming de los coches mientras funciona el juego es un buen ejemplo de ello.

Digital FoundryHas hablado del uso del modelo de físicas de Forza en vuestro juego, refrescándose con 360 muestras por segundo. ¿Cómo se ajusta este sistema - y el resto del código existente - en un entorno de 30FPS? ¿Hay que hacer algún cambio?
Andy Sage

Era importante para nosotros que el motor de físicas funcionase igual que en Forza 4 aunque el renderizado cambiase a 30FPS. Forza 4 ya realiza múltiples refrescos de las físicas a 60Hz, así que al reducir el frame-rate a la mitad nos aseguramos de que la simulación se ejecutase dos veces con cada frame a 30Hz para compensarlo. Esto implica que tenemos un refresco de las físicas igual de rápido. El resto de sistemas de simulación, como la AI, se actualizaron de la misma forma. Dedicamos mucho tiempo en probar que el comportamiento era consistente con el de Forza 4.

"Creamos el juego alrededor del motor de Turn 10, porque queríamos mantener el ADN de Forza. Sin embargo tomamos algunas decisiones de diseño que requerían una fuerte divergencia, así que en ciertos aspectos hemos cambiado por completo la arquitectura."

Análisis de rendimiento de gameplay de Forza Horizon.
Digital FoundryLa latencia es uno de los mayores retos a superar con el paso de 60FPS a 30FPS. Hay una sensación de fluidez en los 60FPS que los juegos a 30FPS simplemente no pueden igualar. Hay incluso quien dice que los 60FPS son el factor definitorio en la interfaz de Forza. ¿Cómo habéis intentado conseguir la mejor experiencia posible?
Andy Sage

Al principio de la pre-producción experimentamos al introducir diferentes cantidades de latencia de control en Forza 4 manteniendo los 60Hz para probar qué márgenes teníamos.

Dedicamos mucha atención a asegurar que la entrada del control y los cálculos de las físicas del coche del jugadores se hiciesen en el último momento, porque hay muchos otros cálculos, como la IA de los coches o el streaming, que se pueden hacer antes en el frame, y todo eso ayuda a reducir la latencia entre el control del jugador y lo que éste ve en la pantalla. Otra cosa que hicimos es que latencia entre las físicas y el audio fuese lo más baja posible, ya que esto no debería verse tan afectado como resultado del paso al renderizado a 30Hz.

Digital FoundryHabláis de la consistencia del refresco a 30FPS como el factor que define la gran sensación de velocidad del juego. ¿Usáis técnicas como motion blur para mitigar el inevitable judder causado por el menor refresco?
Andy Sage

Sí, usamos motor blur post-procesado basado en la velocidad de los pixeles para mejorar la suavidad. También añadimos varias técnicas para mejorarlo, como screen space dithering o curvas de velocidad.

Digital Foundry¿Cuál es el secreto para mantener el frame-rate teniendo en cuenta la multitud de factores que pueden afectar el tiempo que se tarda en renderizar el siguiente frame? Blur usaba un innovador sistema de balanceo de LOD, por ejemplo.
Alan Roberts

Un rendimiento sólido es algo que debe formar parte de la cultura del estudio y que afecte a todo lo que haces. Esto implica que artistas, diseñadores, responsables de sonido y programadores reman en la misma dirección. Estábamos muy de acuerdo con Turn 10 en esto y podéis ver el resultado de esa cultura en Motorsport y Horizon independientemente del frame-rate.

Andy Sage

Nuestro enfoque fue asegurarnos de que el mejor y peor caso de uso de CPU y GPU entraba siempre en un budget específico, lo cual significa que no necesitamos ningún sistema de equilibro dinámico de carga que provoque popping visual. Conseguir esto requiere atención constante del rendimiento y la optimización de todos los sistemas durante el desarrollo del juego, y asegurarse de que esa información se presenta de forma clara a los creadores del contenido.

"Al principio de la pre-producción experimentamos introduciendo latencia de control a Forza 4 manteniendo el refresco a 60Hz, para ver con qué márgenes podíamos trabajar."

Lo único en lo que hemos aplicado un sistema de equilibrio dinámico de carga es al sistema de anti-aliasing por post-proceso, así que la calidad de la imagen mejora si hay recursos libres en la GPU.

Ya sea mientras juegas o en las repeticiones, Forza Horizon impresiona al conseguir que parezca que el aliasing desaparece por completo. Haz clic en las imágenes para verlas a resolución 720p completa.
Digital FoundryEl factor diferencial del juego es el mundo abierto y la posibilidad de salirte del circuito para llevar estas máquinas a una carretera abierta. Desde una perspectiva técnica, ¿cuáles son los mayores retos?
Andy Sage

Tuvimos que actualizar muchísimo el sistema de streaming para conseguir conducir por las diferentes rutas y espacios abiertos. Esto produce retos muy complejos al considerar la cantidad de datos que se leen desde el DVD dada la velocidad a la que te mueves por el mundo del juego.

Además está el número de objetos, lo cual implica actualizar diferentes sistemas para ajustar el juego a la memoria - algún contenido en particular se genera de forma procedural para reducir su tamaño.

La variedad de texturas del mundo también supuso un reto. Tuvimos que invertir mucho tiempo para asegurarnos de que todo entrase en la memoria disponible para el escenario, dada la diversidad y el hecho de que puedes ver una parte del mapa desde la otra.

Alan Roberts

Forza Motorsport está muy optimizado para sacar el máximo rendimiento posible de una plataforma particular. Sin embargo, con el mundo abierto teníamos otros retos que necesitaban atención específica y optimización.

Más allá de los cambios de los que ha hablado Andy teníamos que hacer streaming de otros tipos de datos, como las físicas y la IA, para darnos más memoria para los gráficos.

También había requisitos muy diferentes a la hora de darle vida al mundo, porque no estamos limitados a los circuitos de carreras. Debíamos utilizar muchas más animaciones y efectos de partículas para ello. La propia zona del festival suponía un reto porque ahí ocurren muchas cosas. Todo esto afecta al ancho de banda del streaming, al budget de rendimiento y es duro con la memoria, así que reescribimos esos sistemas.

Incluso hicimos cambios específicos para los coches, como actualizaciones de precisión en los sistemas de renderizado o una nueva forma de sincronizar los datos durante las partidas online.

"Forza Motorsport está muy optimizado para sacar el máximo provecho de la plataforma. Sin embargo, un mundo abierto supone un reto diferente al que se debe dedicar atención específica y optimización adicional."

Esta captura de una repetición muestra el look más cinemático que Playground ha aplicado a Forza Horizon, así como el impresionante efecto de motion blur.
Digital FoundryHay algunas vistas verdaderamente espectaculares, con una escala superior a la de los anteriores Forza. ¿Cuál es la distancia máxima de dibujado? ¿Qué técnicas de render habéis usado para enfatiza la sensación de escala?
Alan Roberts

Colorado ofrece ciertos retos en ese aspecto. Cuando estás en la cima de Red Rock puedes ver las montañas al otro lado del mapa. Todo está modelado y no podíamos usar fotos del horizonte como se hace en otros tipos de juego. Es realmente un caso de que si lo puedes ver puedes conducir a ello. Los artistas han hecho un trabajo increíble al tratar este tipo de escala.

Andy Sage

La distancia máxima de dibujado es de unos 20 kilómetros. Para conseguirlo nos aseguramos de que el escenario pudiese hacer LOD de forma precisa, con una nueva tecnología que desarrollamos y que llamamos 'uber-LODing'.

Los uber-LODs nos permiten combinar de forma jerárquica los objetos de la escena cuando están lejos de la cámara. Esto reduce el coste de dibujar las mallas e implica que hay que hacer menos streaming de datos al conducir por el mundo. Así podemos centrarnos en dar más detalle en las distancias cortas sin que esto tenga impacto en la distancia de dibujado.

También nos concentramos en conseguir que los efectos atmosféricos estuviesen modelados de forma precisa para el impacto visual de las grandes distancias, lo cual nos llevó a investigar muchísimo y a escribir un nuevo sistema atmosférico y una simulación dinámica más detallada del cielo.

Digital FoundryOtra diferencia fundamental es la implementación de la iluminación. Dan Greenawalt ha hablado sobre el modelo HDR de Forza 4 como la base inicial de vuestra implementación, pero por lo que hemos visto es un modelo mucho más avanzado. ¿Usáis deferred shading?
Andy Sage

Desde el principio del proyecto nos dimos cuenta de que teníamos un gran punto de partida con el modelo de iluminación del motor de Forza 4, con un flujo de corrección gamma completo y un modelo basado en imagen. Queríamos aprovechar este sistema en la medida de lo posible y construir alrededor de él para cumplir los requisitos de Horizon.

Decidimos pronto que no podríamos usar deferred shading debido a sus problemas inherentes, en particular las limitaciones en la variedad de materiales que hubiesen afectado al renderizado de los coches. En vez de esos hemos usado un enfoque híbrido de renderizado que permite múltiples fuentes de luz dinámicas junto con mapas de iluminación estáticos para las luces del escenario. También añadimos otros efectos de iluminación, concentrándonos en las fuentes de luz de los coches en particular, e hicimos que todo esto lo pudiesen controlar los artistas con un feedback visual en tiempo real.

Otro detalle importante de los cambios era el ciclo dinámico de veinticuatro horas, para el cual añadimos 200 parámetros de tiempo que controlan todos los aspectos de la transición del día a la noche. Esto también implicaba desarrollar un sistema de sombras en tiempo real de alta calidad que utiliza múltiples mapas de sombras de cascada cacheados y no cacheados.

Digital FoundryTurn 10 experimentó bastante con el anti-aliasing en Forza 4 - usaban 2x MSAA en las carreras y 4x MSAA en las repeticiones a 30FPS y los time trials. En el desarrollo de juegos hemos visto un paso gradual al AA post-procesado. ¿Qué opción escogisteis vosotros para Horizon y por qué?

"Al centrarnos en una plataforma única hemos podido extraer más rendimiento... y aún así creemos que podríamos haber sacado un poco más a la Xbox 360."

Andy Sage

Nosotros usamos 4x MSAA combinado con FXAA. Durante la fase de prototipo probamos varios métodos y llegamos a la conclusión de que este es el que daba mayor calidad visual (aunque a expensas de un tiempo extra de proceso en la GPU).

Una comparativa del Subaru Impreza WRX entre Forza Motorsport 4 (izquierda) y Forza Horizon (derecha). Las texturas y la geometría, como cabría esperar, son extremadamente parecidas. La comparación también destaca la estética de CG de FM4 frente al look más post-procesado de Horizon.
Digital Foundry¿Podéis intercambiar los vehículos de Forza 4 con los de Horizon? ¿O se modifican de forma independiente para adaptarlos a diferentes objetivos de rendimiento? ¿Qué cantidad de polígonos y texturas se usa en un coche estándar?
Andy Sage

Los coches son una parte destacada de la franquicia Forza, así que los hemos mantenido así, pero tampoco podíamos usarlos tal cual debido a la diferente demanda de cada juego. Los materiales deben pasar por una serie de cambios significativos para ser compatibles con nuevas características como las luces o los indicadores, el ciclo de día y noche y la iluminación y sombreado dinámico. También los optimizamos para que el streaming sea más rápido y ocupen menos memoria. Pese a ello mantenemos la gran carga poligonal y las texturas de alta resolución que puedes ver en Forza 4.

Digital FoundryMás allá del modelado, ¿cuál es vuestro proceso para dar vida a los coches del juego? ¿Es tan sólo cuestión de dar variables realistas a la simulación y luego ajustarlo hasta que parece correcto? ¿O es un proceso más científico?
Alan Roberts

Se hace una investigación muy detallada de los coches. Los encargados de ello incluso desmontan los coches para pesar y medir sus componentes. Es un proceso impresionante.

Todos los datos que obtienen de cada una de las piezas se introduce en la herramienta 'Automagic', un simulador offline que hace un modelo matemático muy intensivo. El resultado de esto, combinado con la simulación física en tiempo real, es el secreto detrás del motor de físicas de Forza.

El ingente número de combinaciones de coches y posibles configuración implica que la simulación debe ser certera sin retocar nada a mano o hacer valoraciones subjetivas de cómo debería conducirse un coche.

Digital FoundryAl ser un título exclusivo para Xbox 360 habéis tenido la oportunidad de desarrollar un juego que se adapta a los puntos fuertes del hardware. ¿Hasta que punto los habéis aprovechado? ¿Habéis usado funciones como memexport, VMX o incluso el teselador?
Alan Roberts

Muchos de los desarrolladores senior vienen de estudios multiplataforma, así que estamos acostumbrados a comprometer la calidad para asegurarnos de que las cosas funcionan en múltiples configuraciones de hardware y sistema operativo. Nos da mucha tranquilidad concentrarnos en una plataforma: podemos ser más agresivos y tener esa libertad es refrescante. Hemos visto que podíamos sacar mucho rendimiento a Xbox 360 y creemos que incluso se podría extraer más.

Andy Sage

Hemos optimizado muchísimo el juego al tener que trabajar solo en una plataforma, y hemos programado con sus puntos fuertes en mente.

Esto implica sobretodo equilibrar el rendimiento inherente de la arquitectura de la consola para conseguir el mejor apartado visual posible. Por ejemplo, pasamos mucho tiempo retocando factores de rendimiento como la carga de pixeles/vértices, el ratio textura/ALU y el ancho de banda. Al trabajar con una plataforma concreta evitamos el síndrome del 'bajo denominador común', y eso empuja la creación de contenido hacia las áreas en la que destaca el hardware.

También hemos dedicado mucho tiempo a hacer detallados análisis de rendimiento para ajustar la carga de la CPU y que se utilizasen al máximo los seis núcleos disponibles en 360 para cada frame.

Forza Motorsport 4 mostraba 30FPS en las repeticiones, para permitir modelados más detallados y efectos gráficos adicionales. Forza Horizon también tiene repeticiones a 30FPS que muestra una consistencia visual total con respecto a las partes jugables.
Digital Foundry¿Cómo habéis enfocado la IA con Horizon? ¿Es un componente que se podía aprovechar de Forza 4 o hubo que personalizarlo mucho? ¿Requiere el mundo abierto un nuevo enfoque?
Karl Hammarling

Queríamos que el jugador notase que el mundo estaba habitado por otros pilotos que exploran y compiten al mismo tiempo que él, así que añadimos más capas de comportamiento dinámico para permitir que reacciones a muchas situaciones. Verás, por ejemplo, grupos de pilotos del festival juntándose y haciendo carreras por el mundo.

Reutilizamos buena parte del sistema de IA 'Drivatar' de Forza, ya que es muy bueno adaptándose al trazado de la carretera - el reto era hacer trazados dinámicos para cualquier ruta a lo largo del mundo, lo cual puede ser muy complejo si pasas por varios cruces en una sucesión rápida. Como extra, esto nos permite proyectar la actitud del festival a los corredores en vez de hacer que vayan en línea como ocurre en los circuitos reales.

Que los coches evitasen las colisiones fue la actualización más significativa la IA de Forza, teniendo en cuenta vehículos que podían venir de direcciones aleatorias. Había que tener en cuenta vehículos parados, cruces y más, algo que requiere muchas pruebas. La IA debe ser capaz de navegar teniendo en cuenta todas estas condiciones y hacerlo a toda velocidad, con lo cual el margen de error es pequeñísimo.

Finalmente se añadió por encima un nuevo sistema de tráfico local, el cual se enlaza con la IA de Forza principalmente para evitar choques.

Digital FoundryCon el juego ya terminado, ¿qué valoración final hacéis de vuestro trabajo? ¿Habéis empezado ya el proceso post-mortem?
Alan Roberts

Estamos muy orgullosos de lo que hemos conseguido, especialmente teniendo en cuenta que hemos construido un estudio, un equipo de desarrollo y un juego, todo al mismo tiempo. Ahora estamos haciendo post-mortems, puesto que siempre hay cosas que se podrían haber hecho mejor. Será genial ver qué podemos hacer en el futuro con el talento de este equipo y el estudio que hemos creado.

También te puede interesar