Este mes responde preguntas Chris Roberts y el programa empieza un cuarto de hora tarde porque estaba duchándose tras hacer algo de ejercicio por la mañana.
¿Alguna noticia sobre la nueva Holomesa que se puedo previsualizar en ATV 31?
Están trabajando en muchas cosas de Interfaz de Usuario al mismo tiempo porque están trabajando para la Persistencia en 2.4 y eso ha retrasado su implementación, que probablemente se irá para 2.5 en la que vendrá muchas cosas de ese tipo, moviendo muchas mecánicas al mobiGlas. Por eso decidieron no invertir tiempo implementando la Holomesa nueva antes de poner persistencia, porque el objetivo final es que no tengas que volver a tu hangar para poder cambiar la configuración de tu nave y que puedas hacerlo en cualquier plataforma de aterrizaje que tenga compra/venta/reparación desde tu mobiGlas.
Sabemos que la gente quiere una mejor manera de configurar sus naves, pero la holomesa fue creada por Paul Reindell en 1 semana hace un par de años y desde entonces se han dado cuenta que pese a que una interfaz holográfica mola mucho da problemas de usabilidad con la detección, etc. Por lo tanto mejorarán ese mecanismo y que junto a holomesas tengas la personalización en tu mobiGlas en cualquier parte y el objetivo es que no tengamos que volver a ir al hangar o ArcCorp o el Universo con un menú y que sea todo accesible en cualquier parte de manera transparente antes de que acabe el año.
¿Qué has estado haciendo en Europa?
¡De todo! La idea es pasar algo de tiempo cara a cara en todos los estudios cada semana porque las conferencias de Skype no son lo mismo. La que viene iré a Austin, luego regresaré una semana, luego iré a Europa de nuevo.
Este año estamos centrados en poner todas los cimientos de ingeniería del proyecto: el servidor de backend, como se escalan los servidores para tener la mayor cantidad de gente posible... Hay ingeniería en marcha que todavía no ha debutado en público que hará que sea más eficiente y fiable que lo que tenemos actualmente que en cierto sentido tiene partes viejas que están sujetas con chicle, cables y pegamento y estamos poniendo un sistema de siguiente generación para el servicio en la nube. También tenemos que hacer mucho trabajo de IA para el Escuadrón 42 y Star Citizen.
¿Qué nos puedes contar de Persistencia?
Es la habilidad de que el juego recuerde el estado de tu personaje, objetos y naves tras cerrar tu sesión de juego. Hasta ahora esto no ha sucedido y cada vez que cargas el juego se copian los archivos que tienes desbloqueados en la página web y cada vez que cierras todo se resetea. Esto impide tener moneda difícilmente hackeable (no como los REC actuales), almacenar objetos y comprar cosas ingame.
En el siguiente parche todas las cosas temporales se irán y el juego se comunicará con la base de datos persistente del juego que está en la Nube y serializaremos tus estados, tu inventario etc Ahora si cambias de PC y conectas con tu cuenta toda tu configuración y objetos serán actualizados a lo que esté en tu archivo, en vez de quedarse guardado localmente como antes.
Tenemos múltiples planes de cosas que queremos que tengan persistencia y puede que no todas lleguen en el 2.4 y que necesiten de varios lanzamientos, pero queremos que persista tu dinero con UEC Alpha que la gente podrá obtener haciendo misiones para comprar objetos ingame, lo cual hará que la tienda Voyager Direct de la web desaparezca y esas cosas estén en el juego poco a poco según se añadan sus respectivas tiendas. También persistirá los daños que tengan tus naves para que tengas que repararlas y rearmarlas pagando UECs Alpha.
Lo malo es que esto afectará a la jugabilidad porque ya no habrá reparaciones y rearmes gratuitos. Los misiles y las armas balísticas son poderosas atravesando escudos pero valen más dinero y tienes una cantidad limitada, mientras que las de energía son detenidas por escudos y hacen menos daño pero tienes munición ilimitada. La idea es que cuando vayas por el espacio utilices las balísticas y los misiles cuando quieres hacer daño con mucha rapidez para salvar el día, pero sus cantidades limitadas y su coste harán que sea una decisión consciente usarlas o no. Una vez que eso debute cambiará mucho las cosas, hará que sea más emergente y vivo y el comportamiento de los jugadores será muy distinto, más parecido a un universo real. También se introducirá el desgaste y envejecimiento de los componentes y tendrás que cambiar el motor tras cierta cantidad de horas de operación etc.
Y los jugadores tendrán algo para lo que jugar, objetivos que alcanzar, con los UEC Alpha. Y si hay un bug o un exploit como son UEC Alpha podremos borrarlos cada cierto tiempo y ese es otro aspecto negativo: que perderás el avance que hayas hecho. Probablemente lo que haremos es que puedas utilizar tus UEC normales y los objetos que consigas con estos no serán borrados y puedas venderlos de segunda mano si quieres.
Será similar a la implementación final en ese sentido y lo iremos sacando poco a poco. Es importantísimo porque permitirá que persistan las relaciones con los personajes y la reputación. También permitirá que se pueda pasar transparentemente entre un servidor y otro de la nube teniendo más gente en una zona como el Sistema Stanton, que tendría áreas manejadas por diferentes servidores de manera dinámica, como Port Ollisar con un servidor y Security Post Kareah por otro servidor y los jugadores pasarían de uno a otro sin darse cuenta. Estas dos cosas (persistencia y paso invisible entre un servidor y otro) es lo que hará que Star Citizen pase a ser un MMO viviente hecho y derecho.
Todo esto será implementado progresivamente porque habrá un enorme cambio en el código del juego que no será aparente a primera vista, pero los hangares se comportarán de manera distinta porque ahora son persistentes. Podrás elegir un hangar y seleccionar los objetos que pones por todo tu hangar en los puertos que haya allí en el futuro. Todo esto y la interfaz irá llegando poco a poco durante los siguientes parches, simplemente se hará el parche que hará todo persistente y luego se irán añadiendo las funcionalidades. Probablemente habrá un montón de bugs, pero esa es la naturaleza de la bestia.
Ahora que la EVA fisicalizada está implementada, ¿cual es el plan para el movimiento muscular con empujones y tirones?
Es sólo una extensión de lo que hacemos ahora fisicamente en EVA. La idea es que puedas agarrarte o propulsarte desde superficies u objetos, sea empujando desde la misma o agarrándote formando el extremo de tu miembro una constricción simulada del cuerpo humano. Será bastante fiel físicamente. Es algo que va a requerir bastante ajuste para que sea útil y divertido, por lo que probablemente haremos que puedas estirar un brazo hasta un "punto de agarre" si estás lo suficientemente cerca y usarlo para tirar hacia allí o empujarte con él. Si lo hiciésemos físicamente exacto sería muy difícil de utilizar.
Por lo tanto, el EVA fisicalizado es el primera fase del sistema de movimiento muscular y está en manos del equipo interno de FPS que tenemos en Frankfurt (que se dedican a la máquina de estados del personaje, su movimiento, etc). Creo que para 2.4 ya tendremos el salto de objetos y más adelante deslizamientos y resto de movimientos FPS habituales en la industria. Todo eso está en nuestro calendario. El aspecto del movimiento en gravedad cero es único de nuestro juego y llevará algo de tiempo llevarlo al nivel que queremos. Tenemos a 4 ingenieros en ese equipo trabajando sólo en el FPS y unos cuantos animadores y diseñadores técnicos ayudándoles eso. Estamos intentando hacer todo eso de una manera muy sistemática y hay cosas muy específicas que no tiene CryEngine porque da por supuesto que estás en primera persona (armas o granadas por ejemplo) y nosotros estamos ajustando para que las trate de manera genérica para tener un sistema más extensible para que más adelante cuando queramos crear nuevas armas u objetos sea bastante fácil porque tenemos un sistema estandarizado que llamamos Items 2.0. No sólo se ocupa de armas, artilugios, armaduras y ropa para FPS si no que también se ocupa de los componentes y armas de las naves o incluso las puertas (ej, puerta tiene que estar conectada a una planta de energía y esto es así tanto en una nave como en una estación espacial. Si no hay energía tendrías que abrirla manualmente).
Estamos sustituyendo, en la práctica, todos los objetos del juego con este sistema para evitar tener sistemas paralelos con reglas distintas haciendo exactamente lo mismo (ejemplo, un sistema de componentes para naves, otro para estaciones etc) y así reducir los bugs que aparezcan por esas diferencias. Ahora el sistema de objetos 2.0 es lo que tu llamarías en programación de juegos una clase de entidades principal (core entity class): un concepto principal. Cogemos el objeto, esa entidad, y añadimos estos componentes a esa entidad y le añades una funcionalidad como malla de renderizado, o la simulación de físicas o el componente de red o ciertos comportamientos. Esa es la manera en que los motores de nueva generación tratan estas entidades a nivel de componentes y CryEngine fue creado hace bastante por lo que hemos estado haciendo re-ingeniería bajo el capó para soportar un sistema de componentes como el que queremos para tener mucha flexibilidad. Tenemos un mundo enorme con estaciones espaciales repletas de entidades y componentes con luces y puertas funcionales que funcionan junto a sistemas de seguridad... y también quieres tener una Fragata Idris que tú como Capitán quieres poder controlar desactivando componentes o sistemas. Incluso si sólo portas un traje espacial este está potenciado con energía y sistema de soporte vital en la espalda que si es dañado por un disparo dejará de producir oxígeno hacia tu casco y eso hará que de manera sistemática te asfixies. Todo este sistema de comportamiento viene de serie con el sistema de objetos 2.0.
Hay partes de este sistema ya en el juego en estos momentos e iremos integrando más durante los siguientes meses, porque es una enorme tarea de ingeniería y han estado trabajando en este sistema durante un año, pero cuando esté en marcha habrá un montón de funcionalidades y comportamiento sistémico que permitirá hacer cosas muy molonas como abordar o defenderse de un abordaje. O en una estación podrá haber más de una manera de resolver un problema y creo que será divertido. Esto dará sus dividendos en Escuadrón 42 y por supuesto en el Universo Persistente (ndt. vuelve a explicar el sistema de componentes y cómo quitar componentes, repararlos, como los efectos de batalla dañan el interior y provocan la destrucción interna, como el componente de aviónicas tiene ranuras con placas de componentes internos que si están conectados proporcionan funcionalidades adicionales a las de serie etc)
¿Cuales son las soluciones a corto plazo que se van a tomar para ocuparse de las desincronizaciones en Arena Commander y el Universo?
A corto plazo nos estamos intentando ocupar de ellas. Parte del problema es que el servidor y el cliente no corren al mismo framerate y fácilmente podemos tener un servidor bajo una carga muy severa que lo baja a 5 FPS, mientras que el juego en tu cliente corre a 30 o 40 FPS. Estamos trabajando en arreglar parte del comportamiento del servidor y en los últimos parches añadimos funcionalidades adicionales e IAs que saturó todavía más el servidor, porque cada IA es simulada a nivel de IFCS y si maneja simultáneamente 50-70 modelos de vuelo de naves es bastante cálculo matemático. Por lo tanto, estamos intentando optimizar esos cálculos porque con los años hemos ido añadiendo funcionalidades pero no lo hemos optimizado todavía. También tenemos conflictos de los hilos de las físicas y el principal en el servidor, por lo que estamos intentando arreglar eso para obtener mejor rendimiento de los servidores y eliminar la desincronización.
Pero la respuesta real es el backend nuevo serializado que vamos a usar, que elimina por completo la vieja configuración de CryNet y hará que haya mucho menos ancho de banda en la red porque ahora mismo hay muchos datos intercambiados al aparecer una nave nueva de lo que es necesario. A partir de ahora sólo se enviarían los datos que han cambiado y no todos ellos y también será mucho más flexible. Una nave de 60 componentes como un Hornet al aparecer envía ahora por red el aviso de que está ahí y actualiza cada uno de los objetos que debería tener en su interior, generando un montón de tráfico. Lo sencillo será el nuevo sistema que dirá "soy un Hornet y aquí está mi lista de 60 objetos" Y pum, aparece en todos los clientes. Es lo que llamamos un "spawn bundle", que determinísticamente envías un pack de hornet + componentes una sola vez para replicar, en vez de lo que tenemos ahora que tenemos una Retaliator que propaga 5 megabytes de datos por la red tendríamos un envío de una ID de entidad de 150 componentes multiplicado por 64 bits... mucho, mucho menos.
Así que estamos intentando arreglar lo que podemos en el sistema actual, porque el nuevo sistema no está tan lejos en realidad y no queremos hacer trabajo en el sistema actual cuando el nuevo será mucho más flexible. Pero si, queremos ocuparnos de esos problemas y solucionarlos.
¿Se utilizará la tecnología procedimental para algo que no sean planetas?
Será utilizado para lo que llamamos planetoides: cualquier cosa con la suficiente masa como para que sea esférica. No usaremos la tecnología actual para hacer pequeños asteroides de formas dentadas, porque no está realmente creado para eso, pero lo usaremos para las lunas o grandes asteroides que son particularmente esféricos.
Una de las primeras cosas que haremos cuando debute será la zona de aterrizaje (ndt: Crusader) y la minería recolectando minerales. Vamos a poner sobre la superficie vetas de mineras que podrás sobrevolar, escanear, cosecharlas, acumularlas y venderlas a cambio de dinero. Cuando metamos los planetas procedimentales que no están muy lejos en realidad podremos aterrizar en esos planetas y minar en ellos. Primero vendría aterrizaje y luego vendría la minería.
Estamos muy centrados en añadir jugabilidad que te permita hacer cosas distintas a combatir, por lo que hacer transporte de cargamento y minería que complemente el sistema de economía básica.
¿Cómo va la personalización de personajes?
Va bastante bien y deberíais ver la primera parte de la misma en 2.4. Pasamos los personajes y sus objetos al sistema de objetos 2.0 para que tengas un modelo de hombre o mujer desnudo y puedas acoplar sobre ellos ropa como en la vida real: pantalones, camisas, armaduras etc Tendremos una buena cantidad de personalización más adelante, pero para empezar tendremos camisetas, chaquetas y pantalones de diferentes colores.
La personalización del rostro está un poco más lejos y por el momento tendremos 16 arquetipos de personajes, 8 femeninos y 8 masculinos. Podrás escoger uno de ellos para tu personaje (creo que esto no saldrá en 2.4) y que luego puedas editar ese arquetipo y lo modifiques a tu gusto con una nariz más grande, color de ojos, pelo y todo eso moviendo la geometría.
Todo esto llegará con el concepto de la máquina de cirujía plástica Caliope, algo que aparece en el Escuadrón 42 cuando te quemas horriblemente al comienzo y así puedes reconstruir tu cara para tener el aspecto que quieras.
El nivel de calidad actual de armaduras y personajes está por debajo del nuevo nivel de shaders, materiales y tecnología que usaremos al final, y con los siguientes parches iremos dando el salto dando cada vez más opciones. Estoy muy contento con cómo está saliendo, estamos al nivel de cualquier juego del mercado y no miro al Uncharted o The Order 1886 pensando que son mejores que el nuestro. Creo que os gustará mucho.
¿Cual será el próximo documento de diseño?
No sé. Ahora mismo estamos poniendo el diseño del sistema de Recuperación (ndt. rescate) para que no sólo indique tu posición, si no de que puedas emitir tu posición a tus amigos y todo lo demás. Será parte del mismo sistema. La gente ya lo hace en el juego a través del chat, pero queremos que sea un trabajo ir a recoger gente perdida en el espacio y que te paguen por el rescate para que lo dejes en alguna parte.
Con la Starfarer vendrá el repostaje y estamos empezando a añadir áreas en Stanton para tener más cosas que hacer. Hay muchas cosas sucendiendo simultáneamente este año, no tan rápido como me gustaría a mi o a los fans, pero cuando esté ahí con el nivel de detalle que queremos no habrá ningún juego como este. Para ser sincero creo que será muy difícil que alguien haga algo similar para competir con nosotros. Creo que los chicos de Rockstar podrían porque tienen los recursos, pero construir algo a este nivel de detalle y calidad requiere de mucho trabajo y nosotros lo hemos conseguido porque nos habéis dado los recursos para hacerlo realidad. Gracias por eso.
¿Qué hay del rediseño del Launcher?
Estamos trabajando en ello activamente para que la gente no tenga que descargar tanto ineficientemente, pero no tengo una actualización sobre esto en estos momentos. Esto será bueno tanto para los fans descargando el juego como para la construcción e instalación de nuevas versiones internas para desarrollar más rápido. (ndt: explica en detalle esto de nuevo como funciona y los gastos de CDN, repetitivo)
¿Cuando podremos visitar los hangares de otras personas?
Ni idea, tendría que preguntar a Tony Zurovec. Está en el calendario, pero no tengo ni idea ahora mismo. Lo que implementásemos ahora no sería útil porque sería activar multijugador de una manera que no serviría cuando estén en planetas como Stanton o asteroides como Delamar.
¿Cual es el progreso para tener mejor uso de los múltiples hilos del procesador?
Es lo mismo que mencioné para los hilos del servidor antes, pero el cliente controla más renderización y sonido. Estamos trabajando en escalar el uso de los núcleos porque es muy útil en los servidores (que tiene 16 núcleos con otros 16 núcleos lógicos), nos permitiría tener muchísimos mas jugadores en un sólo servidor físico. El motor no está hecho para aprovecharse de eso, por lo que estamos rehaciendo un montón de cosas: entidades, serialización, físicas que serán más escalables y eficientes. De hecho Escuadrón 42 no debutará con el nuevo motor de físicas pero no es necesario porque es para un sólo jugador, pero llegará para Star Citizen por razones de escala. Las físicas es lo que más trata el servidor junto con trabajo de red, por lo que si cambiamos CryPhysics por un sistema que use más de 4 núcleos escalando a tope en paralelo podremos poner todo en la misma instancia física y de paso no tenemos todas estas instancias compitiendo por acceder al mismo disco.
Estamos haciendo cosas por el lado de renderizador para pasar a las nuevas APIs de nueva generación (Vulkan y DirectX12) así como limpiar el DX11 porque en realidad la mayor de los DX11 como CryEngine eran implementaciones de DirectX9 a las que pusieron DX11 por encima y no operaban muy bien, pero como tenían que operar durante una época en DX9 y 11 a la vez no podían deshacerse de esas cosas. Pero como las cosas que queremos hacer para DX11 son las mismas que queremos usar para DX12 y Vulkan. Nos desharemos de todo lo de DX9 y reharemos las cosas para paralelizar mejor. Es un lento trabajo en curso siendo hecho por los mismos ingenieros que crearon CryEngine. Veréis una gran diferencia entre el Star Citizen de los próximos años que el de 2015. Siempre estaremos mejorando los gráficos, el rendimiento, el contenido y las funcionalidades. Lo veo como un trabajo a largo plazo en el que estaremos construyendo este universo durante tanto tiempo como haya gente ahí fuera que quiera jugarlo para vivir su vida virtual allí.
¿Cuando llegarán las puertas con seguridad para que no me roben las naves?
Cuando cerremos Items 2.0, mediante el que queremos poner en marcha todo el tema del abordaje, los niveles de seguridad en las puertas, volarlas con explosivos etc Está en el futuro cercano.
¿Alguna actualización en pintar naves o decoración?
No. Es una baja prioridad ahora mismo para nosotros, pero podrás personalizar tu nave de la misma manera que podrás personalizar tu hangar: sofás, posters, etc La pintura también estará ahí, pero se volverá complicado con las naves más grandes porque están hechas de muchas partes modulares y con cómo utiliza el sistema de daños el shader de UVs, por lo que estamos pensando en restringirlo a color primario y secundario y permitir calcomanías (decals) en vez de hacer pinturas muy personalizadas con llamas (que podrían hacerse con decals si tenéis ganas). Vamos a implementar las ElectroSkins que la gente compró hace tiempo después de eso para dar algo más de variedad, pero creo que es mucho más importante que por ejemplo funcione el transporte de carga ahora mismo. Es como la realidad Virtual: me encantaría que funcionase ahora mismo pero hay otras prioridades (creo que enseñaste el Oculus que me regalaron por apoyar su kickstarter) como la tecnología procedimental que están haciendo esos mismos ingenieros gráficos.
FINAL
- Han puesto en el hangar de todo el mundo la Starfarer para que podamos verla con tranquilidad durante un par de días.