Carta del Presidente: Actualización sobre Star Marine

Saludos, Ciudadanos:

Durante las diez semanas pasadas, he estado dirigiendo el rodaje de la captura de interpretación de Escuadrón 42 en Londres, la semana que viene será la última semana del rodaje de la “unidad principal”. Dirigir el rodaje de Escuadrón 42 ha sido una de las cosas más divertidas y creativamente gratificante que he hecho. Es aquí donde la historia y los personajes escritos por David Haddock y William Weisbaum cobrarán vida por vez primera y puedo sentir cómo de especial será Escuadrón 42. El plantel que hemos reunido para Escuadrón 42 no estaría fuera de lugar en una gran película para los cines. Estamos usando el siguiente nivel de captura de interpretación, el cual es tanto captura de movimientos como de rostros, permitiéndonos capturar incluso los más sutiles momentos o detalles. Cada escena que capturamos ha tenido entre 1 y 3 cámaras apuntando a la cara de cada uno de los actores, además de otras 50 capturando sus movimientos. Esta tecnología, combinada con los esqueletos de personajes y rostros de última generación que controlan el movimiento de los escaneos en tres dimensiones de los rostros de los actores tanto en Star Citizen como en Escuadrón 42 nos permite tener las emociones, matices y sutilidades que no creo que hayan sido vistas antes durante una jugabilidad completamente controlada por el jugador. Espero que la captura de este nivel de detalle haga que el mundo y la historia sea más visceral que nada que haya hecho con anterioridad y empujará en nuevas direcciones la narración interactiva de la misma manera que lo hizo en su día Wing Commander a lo largo de sus iteraciones. 


En el plató de Escuadrón 42

La historia de Escuadrón 42 va a ser una experiencia que creo que será muy especial. En vez de ver cómo una película desarrolla una historia ante tus ojos, sentirás como tú estás dentro de un mundo vivo, experimentando una historia que normalmente sólo verías en la gran pantalla ¡pero en esta ocasión será TUYA, no la de un protagonista con el que tienes que empatizar! Para cuando el rodaje haya terminado, ya habrá sido más largo que Wing Commander IV (42 días) o incluso el último filme que produje, Outlander (51 días). Necesitas esta cantidad de tiempo para capturar una interpretación real. Estamos rodando esto con tantos matices y detalles como si fuese una película, pero de una manera que se fusiona con un mundo totalmente interactuable que se encuentra a tu alrededor y del que tú tienes el control de su ritmo. Para mi, esta es una de los primeros y mejores resultados que han salido de la financiación colectiva de Star Citizen: la habilidad que tiene el equipo de desarrollo de vivir a la altura de lo que les apasiona en vez de conformarse con el calendario de un editor o cumplir los puntos de una lista. Así que dejadme comenzar agradeciendo a cada uno de los mecenas por haber hecho que esto se haga realidad. Me habéis permitido hacer un trabajo realmente excepcional. Estoy emocionado por estar aquí.

Ahora, no obstante, tengo que alejarme del rodaje del Escuadrón 42 para ocuparme de algo que está en las mentes de todo el mundo. Inicialmente habíamos planeado lanzar el módulo FPS, que estamos llamando Star Marine, poco después del PAX East en Abril. Habíamos demostrado una versión del módulo en un evento para los mecenas que funcionaba bastante bien. Le faltaba algo de pulido (especialmente con las animaciones) y todavía tenía varios bloqueadores técnicos que impedían un lanzamiento a gran escala… pero nos sentíamos con la suficiente confianza en el trabajo como para decir que estaría disponible para todos pronto. Desafortunadamente eso no sucedió. Tras casi dos meses, todavía nos estamos enfrentando a problemas técnicos y de jugabilidad. Sé que hay dos preguntas que por encima de todas las demás deben ser respondidas, y ahora haré lo mejor que pueda para responderlas.

¿A qué problemas se enfrenta el equipo del FPS?

El RPV es que no sentimos que la versión actual esté a la altura de los estándares que queremos alcanzar con Star Citizen. Hay varios problemas que necesitan tiempo adicional para poder entregar la primera iteración de jugabilidad que queremos que experimentéis. Los desafíos a los que se enfrenta el lanzamiento del FPS son una mezcla de bloqueadores técnicos y problemas de jugabilidad. El mayor problema tecnológico al que se enfrenta ahora mismo es el backend de redes. Tras intentar trabajar con el viejo código, hemos decidido que tenemos que dejar de utilizar esa vieja tecnología. Eso significó el desarrollo de lo que estamos llamando el Administrador de Instancias Genéricas (siglas GIM, en inglés) y la re-escritura de tanto el sistema Matchmaking y (para el proyecto en general) el Lanzador del juego a partir de cero. Estos esfuerzos están avanzando bien, pero han requerido de tiempo adicional a nuestros ingenieros.

Dando un poco más de detalles sobre el lado técnico de estos sistemas, uno de nuestros mayores obstáculos ha sido, como se ha dicho ya, la creación del GIM. Este nuevo sistema será responsable de los servidores de juego que formarán Star Citizen, y lo hemos creado para que tenga un control más directo del que tenía antes sobre el estado interno y la operación de cada servidor de juego. El GIM no sólo administra las instancias de Arena Commander y Star Marine, si no que también ofrece un sólido entorno para los Hangares Multi-jugador así como las Instancias del Universo que servirán para formar a su vez el Universo Persistente.

El GIM entrega y recicla servidores de juego a un ritmo mucho más rápido y de una manera más fiable que antes, ayudando a hacer que el jugador se una a la acción más rápido y manteniendoles en sus partidas con una cantidad menor de incidentes. El desarrollo de este sistema, el cual ha estado en marcha durante algo de tiempo, ha sido un esfuerzo continuo de grupo que implicó el trabajo de ingenieros que se encuentran por toda la compañía. Una vez esté integrado, no sólo mejorará la experiencia de Star Marine, si no que también servirá de mapa de carreteras para el camino “entre bambalinas” que tendrá el futuro de Star Citizen. ¡Tenemos ganas de probarlo internamente la semana que viene!

El nuevo GIM no es el único sistema “hecho en casa” que hemos tenido que necesitar para hacer realidad Star Marine. Un segundo desafío ha sido la re-escritura del sistema de Matchmaking del juego desde cero, tomando un camino completamente distinto para hacer este proceso que eliminará las largas esperas durante el proceso de búsqueda de Partidas. Situaciones que solían recibir el error de “Match Not Found” ya no existen y se garantiza que cada jugador/grupo sea emparejado con una partida y en una cantidad menor de tiempo de lo que habíamos visto antes. El Matchmaker ahora también mantiene juntos a amigos, de manera que los jugadores que formen un grupo público siempre sean emparejados para que se encuentren en el mismo equipo en la partida, tal y como se supone que debe ser. Estoy contento de informaros, que a estas alturas de la semana, el nuevo software de matchmaking ha sido integrado y está siendo probado.

El tercer proceso que está actualmente siendo implementado para mejorar el código de red de backend en Star Citizen es lo que estamos llamando el “sistema de entornos dinámicos Phoenix”. Cada vez que el equipo lance una nueva versión de Star Citizen, todos los datas que los servidores necesitan es automáticamente copiado a los discos duros en Google; esto es una “instantánea” de nuestros datos de juego. Estos discos son ahora divididos conceptualmente entre dos o tres partes: Imagen Base (El Sistema Operativo, además de algunas otrs cosas), Registros y Datos del Servidor (Código y Recursos). 

Cuando construimos un entorno (de red), instalamos duplicados de estos discos en cada una de las Máquinas Virtuales (VM) que activamos. Se crean con rapidez duplicados de esa “instantánea”, en torno a 45 segundos para 200 gigas de datos. Hemos escrito algo de código de automatización que hace correr instrucciones automáticamente en la Máquina Virtual para que sea configurada de manera apropiada al tipo de servidor en el que se convertirá (Partida, Matchmaking, Grupo, etc). Durante este proceso, una nueva entrada de DNS es asignada al servidor dependiendo de la versión de los datos que se hayan subido. Cuando una nueva versión es creada, y necesitamos crear un entorno para ella, activaremos una instrucción que automáticamente apagará todas las Máquinas Virtuales, desinstala los discos duplicados de la Imagen Base y el disco de Datos del Servidor (los discos de Registro siempre son almacenados para solucionar errores), y entonces se reinicia el servidor con los nuevos duplicados que se han creado basándose en la “instantánea” y el entorno de servidores ya estará listo para la nueva versión.

Todo este proceso lleva unos 8 minutos. Cuando queremos coger un entorno de servidores de Control de Calidad construido de esta manera y pasarlo al entorno de servidores del PTU, lanzamos una instrucción a nuestra capa de Aprovisionamiento y esta es enviada a Google, solicita más Máquinas Virtuales, construye más duplicados de discos, instala esas instantáneas, lleva a cabo instrucciones Chef para configurarlos, añade sus entradas de DNS y las conecta con la infraestructura ya existente para que sea utilizada. En ese momento ya tenemos un entorno de redes para el PTU. Repetimos este proceso para construir Producción. Cada vez que expandimos un entorno nos lleva de 8 a 10 minutos, dependiendo del tipo de entorno y configuraciones que necesitemos.

Los beneficios de esta creación dinámica y la expansión de entornos es triple. Primero, cualquier configuración que haya sido cambiada, ajustes que se hayan perdido o procesos rotos son borrados por completo cuando las Máquinas Virtuales son construidas usando los nuevos duplicados de disco. Cualquier cambio de configuración que deban persistir serán hechas al nivel del Chef. Segundo, podemos asegurarnos de que PTU y Producción tienen el mismo exacto entorno que en el que fueron probadas las cosas en el entorno de Control de Calidad, así que no existirá ninguna extraña diferencia que no pudimos detectar en Control de Calidad cuando pasemos la versión al entorno Público. El tercer beneficio es de simple velocidad. Es mucho más rápido recrear entornos al vuelo que recopilar los datos en cada ocasión.

Estos dos últimos puntos son de una gran importancia. Si nuestra experiencia nos ha enseñado algo es que es bueno tener un entorno de pruebas consistente que pueda ser propagado y activado con rapidez. Es un enorme multiplicador de fuerza a nuestra habilidad de iterar con rapidez nuestras versiones de pruebas, lo cual significa que Control de Calidad y finalmente nuestros mecenas podrán ser capaces de hacer unas pruebas más variadas con rapidez. Cuanto más precisas sean las versiones que podemos poner en las manos de nuestro equipo de Control de Calidad y nuestros mecenas, mejor podremos hacer el juego al final.

Estos nuevos sistemas y procesos fueron iniciados para reemplazar algunas muy serias limitaciones en la tecnología que teníamos antes. Nos estamos tomando algo de tiempo adicional para desarrollarlos apropiadamente y para poder hacerlo de manera ordenada necesitamos al final un integración más apropiada (pruebas, eliminación de bugs importantes y cosas similares). Pero ya estamos viendo una gran mejora: el nuevo sistema es mucho más fiable y maneja a más jugadores simultáneos debido a un mejorado protocolo de redes y una arquitectura de backend simplificada. En resumen, ¡hacerlo nosotros mismos nos permite hacer un juego mejor hoy y prepara el escenario para cosas todavía mayores que vendrán en el futuro!

Por el lado de jugabilidad, estamos dedicados a asegurarnos de que el juego representa lo que queremos que sea la acción en primera persona en el mundo de Star Citizen. Aquí es donde las cosas se ponen un poco menos técnicas y tratan un poco más sobre la “sensación” que te da la experiencia. Uno de los mayores problemas en este frente es conseguir que el aspecto visual esté bien. Si leísteis nuestro último artículo de diseño sobre el FPS, podréis recordar que una de las maneras en que queríamos diferenciarnos de los demás es que no estábamos “falseando” las animaciones: cualquier cosa que tu personaje hace en primera persona debe tener un aspecto correcto cuando lo ves desde tercera persona por parte de otro jugador sin tener que hacer animaciones “falseadas” por duplicado que tendrán un aspecto diferente para cada persona.

Hacer que esto tenga un aspecto apropiado está requiriendo de más I+D de lo que habíamos anticipado. Es un desafío que superaremos… pero nos va a llevar mucho trabajo cuidadoso. Hemos activado para mejorar las animaciones al nuevo estudio de Frankfurt, que está formado por veteranos de Crytek que conoce el motor gráfico al dedillo y algunos ex-jefes de Crytek que tenemos en LA y Austin y de esta manera ayudar al equipo de Denver a acabar este trabajo.

A medida que nos ocupamos de estos desafíos, el equipo del FPS está mejorando continuamente otras áreas, más allá de lo inicialmente prometido. Nuevos personajes y armas, y así sucesivamente, ya están en el calendario y están siendo desarrolladas mientras nuevas animaciones de captura de movimiento son añadidas diariamente… y otros recursos están trabajando en él para hacer cambios al mapa más sutiles. Por ejemplo, los artistas han estado llevando a cabo pasadas de detalle e iluminación adicionales en el mapa de Gold Horizon, de manera que sea más fácil hacer rápidas lecturas de las siluetas y que sea más fácil saber dónde te encuentras en cada momento en el nivel. Este tipo de pasadas no son tan sexys como construir una nueva nave espacial o disparar una nueva arma… pero son esenciales a la hora de proporcionar el nivel de detalle y jugabilidad que queremos que tenga Star Marine.

Arena Commander, por ejemplo, “salió” con lo que pensábamos que sería una versión muy temprana de los sistemas de control, ¡y está claro que no hemos dejado de oir debate sobre el tema desde entonces! Nos guste o no, sabemos que con Star Marine tenemos que lnzar una versión que al menos muestre a la gente a dónde nos queremos dirigir y no sólo lo que podemos entregar antes de que nos quedemos sin tiempo.

¿Qué significa los problemas con el FPS para el estado del resto del proyecto?

El desarrollo de Star Citizen está distribuído entre distintos módulos o sub-proyectos, con un desarrollo teniendo lugar en todos ellos simultáneamente. Haciendo cuentas, sólo el 15% del equipo ha estado trabajando en Star Marine; simplemente ha sido nuestro foco principal de atención últimamente porque era nuestro próximo lanzamiento público. Esto significa que el desarrollo de otras áreas, como el Escuadrón 42, Multi-Tripulación y el Universo Persistente, han continuado aunque los problemas con el FPS hayan atascado el desarrollo en ese ámbito(aunque incluso en ese caso, el desarrollo continúe en otras áreas: mientras los ingenieros de redes luchan contra el código de backend, los artistas de armas y diseñadores de niveles continúan trabajando en futuros objetivos en el FPS).

No quiero decir que no exista un impacto: integrar el FPS apropiadamente ayudará a echar adelante cada una de las partes de Star Citizen, ya que la tecnología que de este ayudará a crear la sangre y los tendones de todo el juego… pero no puedo dejar lo suficientemente claro que los dos meses adicionales invertidos en Star Marine no equivalen a dos meses de retraso para Star Citizen. El equipo del Universo Persistente en Austin todavía está construyendo brillantes nuevos mundos, el equipo de naves en Santa Mónica está creando grandes nuevos conceptos e integrando las naves ya existentes en preparación para futuras actualizaciones del Arena Commander… y por supuesto, el equipo del Escuadrón 42 en el Reino Unido ha estado trabajando a toda máquina en la campaña para un sólo jugador. El mayor problema al que nos hemos enfrentado es que todo el reciente trabajo en Arena Commander, incluyendo nuevas naves pilotables, ha sido hecho en la rama de desarrollo de Star Marine. ¡Habíamos esperado a tener la versión 1.2 lanzada y queríamos aprovecharnos de las grandes mejoras tecnológicas que la integración con Star Marine nos proporcionaría!

¿Que pasará a continuación?

Para ese fin, vamos a investigar el lanzamiento de una versión que tenga el Star Marine desactivado y que de esta manera se permita experimentar algunos de los cambios y actualizaciones ya hechos durante los últimos meses en el código básico principal. Hay algunos desafíos técnicos a la hora de hacer esto, y no pasará de la noche a la mañana… pero creo que es algo que increíblemente importante de hacer porque necesitamos probarlo públicamente, necesitamos vuestras opiniones colectivas, y francamente necesitamos continuar demostrando que estamos trabajando en lo que os importa.

¿Cuando veréis Star Marine? Esta noche, no tengo una respuesta que daros. Lo que os diré es que sabemos exactamente lo que tenemos que hacer, y estamos en camino a hacerlo. Con la asignación de recursos adicionales y un incrementado interés entre los distintos estudios sobre la porción FPS del juego estamos en camino… pero todavía no hemos llegado. Estoy seguro de que con las importantes actualizaciones y cambios hechos a la arquitectura de backend, discutidos más arriba, tendremos una experiencia que sea digna del nombre de Star Citizen, simplemente va a llevar más tiempo adicional su implementación y sus pruebas. Desde el punto de vista público, sé que ha llegado el momento de abrir nuestras comunicaciones sobre el proceso de lanzamiento del Star Marine: empezando con este mensaje y en cada semana a partir de ahora, proporcionaremos una actualización de alto nivel sobre los desafíos que están por delante, de la misma manera que hicimos con Arena Commander, hasta que haya sido lanzado.

Actualización sobre la funcionalidad de la granada.

Finalizamos la campaña de financiación de 2012 con “La Promesa“, en la que yo definí los objetivos de nuestra nueva compañía a la hora de ser abiertos sobre nuestros procesos. Hoy, quiero que nos redediquemos a esta promesa: No puedo prometeros que cumpliremos cada una de las fechas tope internas o que estéis de acuerdo con cada decisión que tomemos. Habrá desafíos que tendremos problemas en superar, y nunca seremos capaces de predecir todos ellos con certeza… pero os puedo prometer que os mantendremos informados y que no dejaremos de trabajar hasta que el juego esté hecho correctamente. Después de todo, esta es la razón por la que estamos aquí en un primer lugar. Vuestro apoyo nos está permitiendo crear el juego que queremos antes que cualquier otra cosa. Gracias a vosotros, tenemos la libertad de poder asegurarnos de que las cosas funcionan de la manera que queremos, incluso si esto lleva más tiempo y esfuerzos. ¡No os decepcionaremos!

- Chris Roberts

FIN DE TRANSMISIÓN

Original.