COMIENZO
Sandi Gardiner y Chris Roberts presentan este episodio, tras el regreso de Chris de los estudios de Europa donde ha estado ayudando a poner en marcha los múltiples sistemas de juego nuevos en desarrollo para la Alpha 3.0 y Squadron 42. También aprovechó para ser el juez de una "Bake Off" en Manchester.
La semana pasada se publicó el informe mensual, con mucha información sobre el desarrollo de Star Citizen.
También anuncian que habrá una venta especial de San Valentín este semana que viene junto a una semana de vuelo gratuito para aquellos que quieran probar Star Citizen con la Constellation.
Esta semana se lanza por fin la primera iteración de Spectrum en la página principal, con soporte de foro, foros de organizaciones y chats integrados que permitirá que la comunidad y los desarrolladores se comunican mejor y más a menudo. (Ndt. Doy fe de ello, desde que hay Spectrum todos los días se pasan varios devs a charlar).
ACTUALIZACIÓN DEL ESTUDIO DE FOUNDRY 42 - MANCHESTER Phill Meller y Mici Olliver+
Han estado trabajando en diversos componentes, como escudos de tamaño medio, una consola de administración de cargamento y un módulo de minería.
El equipo de efectos especiales se lo ha estado pasando bien trabajando en naves (ponen un ejemplo de una Dragonfly siendo destruída por partes, espectacular el sonido del metal crujiendo por cierto).
Como ejemplo del nivel de detalle que tienen a la hora de construir un entorno nos enseñan una de las revistas que hay en estos, la revista Hitbox.
A medida que el juego se expande y el diseño del juego se vuelve más complicado, se desarrollan herramientas tan geniales como esta herramienta del Sistema Stanton.
Los artistas siempre están añadiendo detalles y personalidad a todas nuestras zonas, tales como asteroides, nebulosas
o satélites modulares y estaciones.
SHIP SHAPE: EL SUPERHORNET DE ANVIL
Ben Lesnick: Si hay una nave icónica en Star Citizen es el Hornet, cuyo origen se remonta al F36 Hornet del primer Wing Commander.
Chris Roberts: Quería comenzar con un caza icónico de mi pasado en los videojuegos y por supuesto ahí estaba el caza ligero Hornet de Wing Commander, la primera nave que pilotas en la campaña. Esta nave fue bautizada, como muchas naves de Wing Commander, en honor a precedentes históricos de la Segunda Guerra Mundial u hoy en día. Necesitaba una nave para Star Citizen que pudiese pilotar y que me permitiese demostrar conceptualmente el aspecto visual, el modelo de vuelo, cómo de táctil y visceral sería la experiencia. Así que decidí crear el Hornet en homenaje a mis viejos juegos y al F-18 Hornet de hoy en día o el Hornet de la Segunda Guerra Mundial.
Le di unas especificaciones a Robert McKinnon para que diseñase el arte conceptual del Hornet (además de muchas otras cosas de Star Citizen, hay muchos de sus diseños en el juego), que debía ser un caza ligero. Lo que me trajo era un diseño que molaba mucho, pero lo había artillado hasta los dientes con una gran torreta dorsal, cañones en la carlinga, una torreta canard... ¡esta superarmado, no era un caza ligero! Pero me gustó mucho el diseño, así que como no necesitaba que fuese un caza ligero pensé que podría ser un caza medio/pesado que sería la columna vertebral de la Armada de la UEE, la ficción que yo y Dave Haddock habíamos creado para este mundo de Escuadrón 42.
Dave Haddock: La idea original es que fue un caza adoptado en 2806 y era básicamente un sustituto para el caza de primera línea que operase desde un portanaves... y que antes era el Avenger su caza de combate principal y el Hornet lo superó por completo.
Chris Roberts: Una vez que tenía este diseño junto al Portanaves Bengal hecho por Ryan Church y el Scythe Vanduul de Jim Martin se lo pasé a CG BOT para que creasen los modelos 3D de lo que acabaría convirtiéndose en la demo del juego que mostré en 2012, además del pequeño trailer cinemático que creó Hannes Appell. Yo no tenía realmente un equipo entonces, tenía un grupo de gente que me ayudaba a crear esta demo y Sergio Rosas, que en el pasado fue un Director de Arte de Origin y luego en mi viejo estudio Digital Anvil, fue el que me ayudó con el arte de su compañía CG BOT. Tenía ganas de ayudarme, negociamos un precio muy ajustado debido a que todo el proyecto era muy especulativo y le di la lista de naves junto a los personajes que necesitaba, como el piloto de la demo o una versión muy temprana de los vanduul.
Una vez que me enviaron el arte me puse personalmente a introducirlos en el motor y me puse a extenderlo para soportar los recursos artísticos de ese nivel de detalle y fidelidad con las articulaciones y animaciones que yo quería ver en el juego. Para mi esto era una prueba de concepto y visualizar la sensación táctil y visual que quería que tuviese Star Citizen. Uno de nuestros puntos fuertes es que nuestras naves parecen muy reales. Si andas por ellas puedes ver los asientos, los interruptores, y todas las piezas funcionan y son apropiadas: no son simplemente una vista exterior de la nave y ya está. La Hornet fue la primera nave que hizo eso y demostró cómo podía sentirse y creo que es la razón por la que la gente respondió a ella y al proyecto.
Chris Smith: La nave cayó en mis manos cuando hicimos la primera actualización visual de la nave para su introducción en el hangar a finales de 2013, porque a esas alturas ya tenía dos años de edad y se tomó la decisión de mejorarla. Tomé los componentes, el tren de aterrizaje y cosas como esas y les subí la resolución, pero el casco en general no fue muy modificado.
Mark Abent: En aquellos tiempos no teníamos la tecnología que tenemos ahora, era simplemente un recurso artístico que teníamos que hacer que funcionase de alguna manera. Tomamos la hermosa Hornet de Chris Smith, la hackeamos y pegamos cosas entre si para que funcionase como queríamos mientras hacíamos prototipos con ella, mientras le decíamos que reorganizase la jerarquía de objetos para que funcionase como debería. Un día llegamos y las armas estaban conectadas al modelo, mientras que al día siguiente hacíamos un cambio y las armas dejaban de funcionar. Y luego llegarían las partes rotas de las naves y teníamos que rehacer el sistema de puertos de objetos para cambiar las jerarquías, y la semana siguiente cambiaríamos eso para que pudiesen desprenderse trozos... ¡pero de repente no funcionaban las armas! Fue un gran proceso iterativo de un mes y pico hasta que conseguimos que funcionase como queríamos y aunque tenía bugs molaba bastante.
Chris Roberts: Tras debutar el Hangar en la Gamescom de 2013 y el éxito del comercial de la Hornet que Hannes creó ese octubre creamos el concepto de las variantes de un modelo de nave, unas versiones especializadas como la nave de sensores SWACS Tracker o la sigilosa Ghost. La SuperHornet era nuestra versión del F-18 SuperHornet de hoy en día con un RIO de copiloto que puede utilizar la torreta articulada, fijado de misiles (que por cierto molará mucho más cuando metamos el Sistema de Objetos 2.0). Estas fueron hechas por Chris Smith con ayuda de CG BOT en algunas partes añadidas. Luego las mejoramos con PBR (Physically Based Rendering) y desde entonces (un par de años) utilizamos PBR en todas las partes de nuestro juego para que los materiales parezcan mucho más realistas al reaccionar a la luz.
Y así se quedaron durante un largo tiempo (ndt: 2014) hasta que recientemente Chris Smith volvió a retocarlas para adaptarlas a nuestras nuevas tecnologías de Normales Personalizados (Custom Normals), Bump Mapping, UV2s y por supuesto el Shader de Daños especial que tenemos (ndt: introducido con la Gladius a finales de 2015).
Chris Smith: En 2016 tomamos la decisión de que haríamos una nueva versión de la Hornet que sería como el nuevo BMW de 2016, la nave de nueva generación F7A MarkII. Para mi fue genial, muy divertido, porque había estado involucrado con el Hornet durante tanto tiempo que tenía sentido que yo la rediseñase por la familiaridad que tenía. Todas las cosas que me molestaban del original las arreglé en el nuevo modelo.
Tras terminar con el F7A MarkII me puse a actualizar el Hornet MarkI... de nuevo... (risas) pero esta vez fue una actualización completa: no estaba actualizando piezas aquí y allá sólo. La reconstruí con los materiales, normales, PBR y todos los estados de daño para que estuviese a la altura del resto de naves visual y tecnológicamente que habíamos creado durante el año y medio pasado. Todas comparten piezas y los cambios afectan a todas las variantes a partir del original automáticamente, lo cual es genial porque nos ahorra tiempo que se reutilice el ala, carlinga o lo que sea excepto por pequeños ajustes de texturas y normales.
Y después de eso hice el SuperHornet y este fue en cierto sentido un caso especial porque tiene dos asientos y muchas partes no están compartidas directamente del modelo original porque hay algunos ajustes de geometría y cosas adicionales que el Hornet básico no tiene.
Kirk Tome: Sentíamos que ya era hora de que la serie Hornet fuese actualizada a nuestros estándares actuales, tanto visuales como técnicos y esto también requirió hacer cambios en sus componentes, complemento de misiles y opciones de armas. También tuvimos en cuenta el detalle de si su carlinga estaría a la altura de los cambios de Interfaz y de Jugabilidad con Componentes que tenemos planeada en el futuro. Actualizamos los UVs para que pueda ser destruída como el resto de nuestras naves actuales también.
Patrick Salerno: En el viejo sistema de daños las partes de una nave tenían estados de daño distintos al 25, 50, 75 y 100% de daño, puntos en los que tras cierta cantidad de daño se cambiaba el modelo por el siguiente tipo de daños. Era un proceso que requería de mucha mano de obra y llegado cierto momento las piezas dañadas acababan pareciendo bastante similares.
Mark Abent: Romper partes de una nave puede parecer lo más fácil del mundo pero es algo increíblemete complejo porque había que hacer distintas partes que se podían separar por completo de manera independientemente.
Patrick Salerno: Cuando llegó el nuevo Shader de Daño ahora volamos por los aires grandes trozos de la nave cuando están dañados. Yo escojo dónde creo que deberían separarse del resto de la nave, pongo los proxys y me aseguro de que el resto de los Geos están conectados a ese trozo de geometría, para que si, por ejemplo, se rompe un ala por completo también se lleve las armas que están conectadas a ellas y el resto de la nave siga animándose y funcionando correctamente.
Mark Abent: Básicamente se aplica una textura simplificada alrededor de toda la nave y cuando es alcanzada por un disparo obtenemos estos bonitos efectos de brillo en los decals en cualquier parte de la nave. Y cuando lo perforamos con los disparos tenemos por debajo un esqueleto de la estructura que empieza a vislumbrarse.
Patrick Salerno: Ahora que se sueltan las piezas y tengo daños de los shaders visibles añado la configuración de los efectos, que están aquí representados como pequeños cubos en MAX que explotan, provocan daños a los UVs, hay desgaste y rotura en la superficie y cuando se sueltan crean más daño aleatorio. Puedo poner a mano esos efectos para que cuando dos alas se suelten en situaciones similares puedan haber explosiones en distintas partes y tiene un aspecto más variado.
Chris Roberts: Es increíble comparar la diferencia de calidad entre las distintas versiones que hemos tenido del Hornet a lo largo de los años y lo más increíble es que en 2012 yo pensaba que era genial y que no podías meter nada más molón y detallado en un juego. Y miro cómo avanzamos cada año y siempre me impresiona la habilidad y el talento de nuestros artistas a la hora de construir este mundo que parece tan táctil y real que no da la sensación de que no sean reales. Ese es nuestro objetivo, que te puedas perder a ti mismo en la carlinga de una de tus naves y vivas tus fantasías en el espacio.
SOPORTE PARA SERVIDORES EN MÚLTIPLES REGIONES
En los viejos tiempos se solía tener los servidores dedicados en el propio estudio y esto era un gran gasto económico por su compra, mantenimiento y administración. Ahora podemos alquilar o comprar los servidores que nos hagan falta y cuando no necesitamos esa potencia simplemente dejamos de pagar y hay algún problema técnico están programados para pasar su servicio a la máquina libre más cercana, algo que nos da mucha más flexibilidad a menor coste económico.
Hoy en día los servidores, los clientes de los jugadores no pueden estar conectados sin llegar al DGS (Data Game Server) y si el apoyo de otros servidores de juego que el jugador necesita para cosas como chatear, jugadores amigos con los que agrupar etc Estos servicios se están desarrollando aquí en Austin por Jason Ely y Tom Sawyer.
Ahora mismo los servidores están divididos entre tres tipos de máquinas virtuales (Virtual Machines, o VMs):
- Servidor Hub o Central. Aquí es donde te conectas y te identificas ante el sistema.
- Servidor Core o Principal. Aquí tenemos el GIM (General Instance Manager), Pcache (Caché de Persistencia), Persistencia, Chat, Lista de Amigos, Etc. La Peristencia es subida o bajada de la Base de Datos de una manera organizada y en una cola para que no se sature por múltiples peticiones.
- Servidor Game o de Juego. Este es un servidor que nos da nuestro proveedor del servicio en la Nube (en este caso Amazon AZ2) y es dónde se manejan los PNJs, físicas y el resto de cosas.
Estamos en el proceso de reescribir todos estos elementos individuales para que soporten su lanzamiento múltiple y sin estado sobre la marcha y que lleguen a tener el nivel de carga que queremos que tengan. Lo bueno de estar en la Nube es que podemos escalar todo lo que queramos. Siempre se pone el ejemplo de que tienes un negocio que todo el año necesita sólo un servidor pero gracias a la Nube puedes expandir hasta 200 si lo es necesario durante un Black Friday.
La complejidad del proyecto ha crecido un montón, desde los tiempos del Hangar en que nuestras necesidades estaban cubiertas por un sólo ordenador debajo del escritorio de alguien que hacía una versión de juego al día. Como nuestras necesidades escalaron muy rápidamente tomamos la decisión de construir nuestra propia Nube interna. La infraestructura ha pasado por múltiples
Desde Diciembre nuestros jugadores han estado dándole mucho al Star Marine y nos han pedido servidores multiregión para tener un mejor Ping. Decidimos que este era buen momento para ponerlos y nos pusimos a trabajar en Febrero. Ahora tenemos una primera versión de esto y creo que es una solución que gracias a AWS es lo suficientemente fiable, duro, y funcional como para tener soporte en Frankfurt (Alemania) y Sidney (Australia). Sabemos que los jugadores quieren esto y estamos expandiendo todo lo que podemos dentro de nuestras posibilidades.
Esto se adaptará utilizando una nueva extensión de la DNS que permitirá que el servidor de DNS sepa un poco más sobre la localización de la persona que solicita un servidor. Esto les enviará al Hub Load Balancer (Equilibrador de Carga Central) y de ahí se les enviará al Servidor Hub más apropiado. Una vez llegues allí se te marcará con una ID de tu región y el emparejador de partidas (Matchmaker) respetará esa decisión: si tu ID es de Europa te enviará a un servidor europeo. Si quieres jugar con tus amigos haz tu selección de los mismos y podrás jugar en Estados Unidos. Con suerte esto hará que mejore la situación y tenemos ganas de escuchar sus opiniones y experiencias para mejorar el servicio y que sea todavía mejor.
Ahmed hace que esto parezca fácil, pero llevamos trabajando tiempo en esto y hay mucho más de lo que aparece en lo que respecta a seguridad de red e ingeniería de redes. Ha sido un proyecto divertido, pero ha sido necesario tener en cuenta mucho el ajuste de su rendimiento para que pueda funcionar bien. Si no fuese por los 18 meses de trabajo anteriores no podrían haber hecho en 2 meses esto, es por esto que hay que preparar bien los cimientos y planear todo por adelantado para luego expandirte y no sorprenderte por los cambios.
Poniéndome un poco más técnico, en AWS el mayor cuerpo organizativo que tenemos es la VPC (Virtual Private Cloud, Nube Virtual Privada) y este no puede mezclarse entre las distintas regiones. Por lo tanto no puedes tener una sóla Nube, un sólo VPC, trabajando con las demás porque funciona de una manera similar a una red local con sus propias direcciones internas. Tienes que asegurarte de hacer tus propios túneles y asegurarte de que tus VPCs se están alineando correctamente, que no colisionen, que saben quien viene de donde a hacer qué, que otro tráfico se meta por el medio... y que también se pueda recuperar. Porque la Nube es algo maravilloso, pero siempre hay que diseñar pensando en que las cosas fallen: todo puede fallar. Tienes vecinos, tienes mucho stack de comunicaciones por debajo que no sabe lo que estás haciendo... Hemos estado trabajando para que incluso si perdemos nuestros túneles nos podamos recuperar en unos pocos minutos tras una alerta, de manera que podamos entregar los servidores a larga distancia y que los servidores principales y la base de datos tenga la mejor latencia posible y el mayor ancho de banda posible entre las distintas regiones.
Para el primer lanzamiento vamos a tener Virgina, Frankfurt y Australia, y todas las redes están ya dispuestas para expandir a 14-15 regiones más dentro de AWS cuando sintamos que es necesario. Cómo podéis ver en el mapa de AWS el cielo es el límite y pronto habrá un centro de datos en Paris y otro más en China (ndt: en el caso de los hispanohablantes de Sudamérica parece que su única esperanza por el momento es Sao Paulo en Brasil).
Tenemos un montón de elementos de la infraestructura que revisar, controlar, cuidar, escalar.... Miramos a esto planeando en el futuro tener escalado esto hasta 10.000 VMs informando y coordinando al mismo tiempo sin saturarnos: este es el beneficio de tener un departamento de DevOps trabajando en esto desde una época tan temprana.
Este año hemos tenido más confianza en la automatización, menos "noches de pánico" en las que nos quedamos despiertos resolviendo problemas... El trabajo que hemos hecho ha pagado sus dividendos. Con esta expansión a múltiples regiones se nos está dando más trabajo del que podemos hacer.
BONUS - PROSPECTOR DE MISC EN DESARROLLO
HAPPY HOUR CON WILL WEISSBAUM
- Como la gente está pesada sobre la Carrack Jared indica que está en el calendario para 2017 pero que no están trabajando activamente en ella en estos momentos. Cuando tengan algo que decir lo harán, están aburridos de que se les pregunte sobre ella a estas alturas X)
- Los Xi'an, como se mencionó antes, tienen gusto por comida podrida y fermentada por lo que hay pocos alimentos que los humanos podamos compartir con ellos en gusto y disfrute. Les interesan sobre todo alimentos que tienen texturas y efectos interesantes sobre el paladar más que sobre el sabor en si debido a su sentido del gusto.
- Están desarrollando el lenguaje Xi'an junto a Britton Watkins y comenta que es divertido cómo les hace preguntas específicas sobre elementos de su cultura para poder crear su lenguaje de manera orgánica e inmersiva y eso les hace completar partes de su ficción en las que ni siquiera habían pensando antes.
- Están discutiendo muchísimo los del equipo de Diseño con los Escritores cómo serán los detalles de la integración de los cambios en la ambientación (como que un tevarin como Suj Kosse se presente como candidato al Senado por Elysium) y cómo los jugadores pueden interferir en esto, sea a través de la criminalidad, quitando recursos, añadiendo recursos, etc Quieren que sea un universo vivo en el que las acciones de los jugadores afecten al mundo y Tony Zurovec está creando un equipo de Administradores que se ocuparán de implementar esos cambios estilo GM.
- Debido a que la información no fluye en tiempo real de un Sistema Solar a otro, pero si hay intercambios regulares de información de manera diaria la cultura de la UEE está bastante unificada (es decir, similar) pero sigue teniendo planetas o partes de planetas que tienen su propia cultura y estilo debido a sus distintos entornos, y situaciones locales. Han estado trabajando con el equipo de Arte de Personajes para determinar qué aspecto tiene la gente en función a la región a la que pertenecen (como Goss III). En los comportamientos de los PNJs prefieren centrarse en cosas de alto nivel porque hacer acentos o modismos muy locales limita mucho su disponibilidad para el contenido, por lo que para la Primera pasada están haciendo Fronterizos, Urbanitas, Mineros, Pijos... y luego para la Versión 2 ya se centrarán en cosas más específicas para poblar todo el universo de detalle.
- Aún siguen discutiendo a nivel de Diseño cómo funcionará el periodismo (para la Reliant Mako). Puede que los artículos de los jugadores o reportajes salgan en los mobiGlases en la zona local o que se publiquen en lo monitores privados/públicos, tienen muchas ideas pero no pueden informarnos sobre el tema sin tener claro lo que podrán hacer técnicamente y lo que crean que será divertido.
- Durante el programa uno de los fans bromea que hay una obsesión con la familia Maloy al parecer, porque hay el CEO de Covalex es Hanzo Maloy, un piloto de pruebas de MISC llamado Yark "Badger" Maloy anda por ahí, Helena Maloy Vazquez es la primera oficial de una Starfarer y el Doctor Jake Maloy es un historiador de las carreras espaciales. Will comenta que no sabía que se abusase tanto de eso y que normalmente comparan sus artículos para que sus obsesiones personales (Como llamar a mujeres Janice) no salga constantemente. Cada escritor tiene sus manías subconscientes con palabras, expresiones y nombres y tienen que cuidarse de no usar tanta muletilla. Jared comenta que hay 15 Chris entre los 4 estudios de CIG.
- Will comenta que es realmente desafiante escribir diálogos en árbol en los que un jugador puede tener múltiples respuestas y opciones. Por supuesto no puedes crear y grabar todas las opciones que se le podría ocurrir a alguien, tienes que reutilizar cuantas frases te sean posibles y es bueno poder hacer un bucle en el diálogo para volver a tener opciones y continuar preguntando cosas durante una conversación. Probablemente tendrán oportunidad de mostrar cómo hacen esto en el futuro.