Alfa técnica, PC: Blog de los desarrolladores

Ian, nuestro ingeniero de software sénior, nos cuenta algunas cosas sobre el trabajo realizado con la primera alfa técnica de la versión para PC.

Hola a todos.
Me llamo Ian Norris y dirijo el equipo de ingeniería de la versión Win 10 de Sea of Thieves. En el vídeo de la semana pasada, Ted ya os contó algunas cosas sobre lo que traerá el juego, pero ahora quiero compartir cuestiones más técnicas con la gente de la comunidad a la que le interesa este aspecto del desarrollo.

El equipo que dirijo trabaja en exclusiva en la versión para Win 10 del juego. Esto significa que nos ocupamos de cosas como la configuración de vídeo, el desarrollo de mapas de teclado personalizables, la solución de cuelgues específicos de PC y la optimización del juego para equipos de este tipo. Todos los esfuerzos de mi departamento se centran en desarrollar la mejor versión posible en esta plataforma.

Como estamos desarrollando las versiones para Xbox One y PC en paralelo, todo lo que se hace para Xbox redunda en beneficio de la versión para PC. Además, todas las características que recibe la primera llegan al mismo tiempo a la segunda, porque los contenidos de ambas plataformas (¡y de la futura Scorpio!) se crean a la vez.

Supongo que os estaréis preguntando por qué, si se están desarrollando ambas versiones a la vez, solo dejamos que los jugadores prueben la de PC. Hay varias razones:

Estabilidad

Es complicado desarrollar juegos estables. Y más aún para PC. Con tantas variables diferentes, desarrollar juegos capaces de sacar todo el partido a procesadores multinúcleo requiere mucho esfuerzo.

En un estudio como Rare, para facilitar el desarrollo, utilizamos un entorno de trabajo más o menos "homogéneo". Eso quiere decir que la mayoría de los desarrolladores utiliza los mismos PC "monstruo", idénticos en CPU, GPU y versión de Windows. Esto nos ayuda a reducir incidentes como que un grafista se encuentre con un problema que le impida trabajar y el ingeniero no pueda reproducirlo en su propia máquina.

Para identificar los problemas de rendimiento, el equipo de PC cuenta con un hardware un poco más potente que el resto del estudio. Tenemos los mismos PC "de desarrollo", que son como los de todos los demás, pero también tenemos otros PC de para pruebas, con menor potencia, y también portátiles. Hemos comprado equipos con configuraciones habituales y las usamos para realizar pruebas en el laboratorio de compatibilidad. Además, hemos hecho buen uso del laboratorio SHIELD de Microsoft, del que Ted ha hablado ya. Con él hemos podido encontrar y resolver varios problemas que podrían haberle aguado la fiesta a nuestros queridos jugadores.

Un pequeño número de los participantes en la alfa ha tenido problemas para iniciar el juego. Esta será nuestra principal prioridad en las próximas semanas, para que todos los participantes en ella puedan jugar con nosotros.

Rendimiento

No hay nada que más me moleste (a mí ya al resto de la comunidad de PC) que un juego mal optimizado. La gente quiere tener la sensación de que se le está sacando todo el partido al hardware que tiene. Nuestra intención es que el juego luzca de maravilla en términos gráficos y que lo haga con una tasa de fotogramas estable.

No podemos prometer una experiencia totalmente impecable en las primeras fases de la alfa técnica para PC porque aún hay mucho trabajo que hacer, pero precisamente por ello queremos contar con información sobre su estado actual. No es fácil saber cuándo hemos llegado a un punto "suficientemente bueno", sobre todo porque cada mejora que realizamos en términos de rendimiento puede reducir los requisitos mínimos y abrir la posibilidad de disfrutar del juego a un número de personas todavía más grande.

Esta es una de las razones de que no hayamos publicado aún información sobre los requisitos mínimos del juego: ¡aún sabemos cuáles son! Creo que nos estamos acercando a lo que se podría llamar un mínimo razonable, pero llevar a cabo una alfa técnica con una función de detección automática nos permitirá determinar cuánto nos estamos acercando y, si es posible, reducir aún más ese valor. Como aún estamos introduciendo modificaciones, podría suceder que bajemos aún más y que lo que se definió en su momento como mínimo se convierta en un valor medio. La idea que preside nuestro trabajo es: "¿hasta dónde podemos bajar los requisitos?".

No es fácil conseguir un programa de detección automática que funcione como queremos. La gran mayoría de los jugadores de PC ni siquiera entrará en la pantalla de configuración gráfica, así que, al menos en su caso, tenemos que estar seguros de que el programa toma la mejor de las decisiones por ellos.

En un primer momento, no revelaremos a los participantes en qué categoría los hemos metido. La razón para esto es doble: a la mayoría les dará igual, siempre que el juego tenga la mejor pinta posible; y a aquellos que les importe podría no gustarles saber que están en la categoría de especificaciones mínimas. Una vez que estemos contentos con el sistema de detección automática, los jugadores podrán ver la configuración elegida por este en la pantalla correspondiente, cuando la activemos en una fecha futura.

¿Y cómo vamos a saber que funciona? ¡Gracias a la telemetría! La telemetría es nuestra manera de saber cómo están jugando los jugadores. Nos revela cosas como la tasa de fotogramas y la configuración de vídeo que están usando. Al combinar ambos datos, podemos saber si la tasa es la que debería con el hardware que usan.

La primera versión de la alfa técnica se lanzó con un problema de rendimiento conocido, cuya causa última desconocíamos entonces. No afectaba a nuestra capacidad de hacer uso de los datos recopilados automáticamente, porque, en términos generales, sabíamos cuándo se daba el problema, pero pensamos que con vuestra ayuda nos sería más fácil solucionarlo.

Esto nos brinda una de esas raras oportunidades de enseñaros cómo se corrigen los problemas de rendimiento.

Lo primero es que el equipo de pruebas localice el error. Normalmente, esto supone que el "bug" llegue al jefe del equipo al que afecta, en este caso yo. Este es el informe sobre el error en cuestión:

Como es lógico, nos tomamos muy en serio los problemas de rendimiento, así que a este error se le asignó un nivel de gravedad "crítica". El equipo de pruebas siguió experimentando con él para encontrar más información que pueda ayudar al de ingeniería a resolverlo. En este caso, descubrimos que había un tipo de equipo, con una configuración muy concreta, en el que se producía con mucha más frecuencia.

Al saberlo, pedimos al equipo de pruebas que lo reprodujese delante de mí. Entonces, yo usé una herramienta llamada "xperf" rara reunir más información sobre el incidente. Por desgracia, esta herramienta genera una cantidad enorme de datos, así que localizar el problema dentro de ella puede ser complicado y costoso en términos de tiempo.

Existen distintas herramientas que podemos usar para localizar problemas de rendimiento, en función de la persona o la tipología concreta del problema. En mi caso, el "arma" que elegí para enfrentarme a este error fue el Media Experience Analyzer. Este es el aspecto que tiene mi pantalla cuando lo utilizo (junto a otras aplicaciones):

Como resultado de este análisis (realizado a lo largo de varias semanas), logramos identificar tres problemas distintos que generaban pausas muy prolongadas. En casos como este, el siguiente paso consiste en asegurarse de que las soluciones desarrolladas funcionan en todos los equipos, no se cargan la versión Xbox del juego y no generan nuevos problemas. Si las pruebas son positivas, podemos "cerrar el bug". Pero claro, la cosa no se cierra del todo hasta que los participantes en la alfa técnica han tenido la ocasión de someterlo a prueba.

Características en PC

A nadie le sorprenderá si digo que llevar todo esto a buen puerto no es nada fácil, pero podéis tener la certeza de que la segunda alfa técnica para Win 10, en la que estamos trabajando ahora mismo, traerá las correcciones a este tipo de problemas, además de numerosas novedades para PC.

Una cosa que nos pilló desprevenidos fue la demanda de una función de "chat de voz push". Era algo que teníamos pensado añadir en un futuro, pero había muchas cosas por delante. Sin embargo, la cantidad de gente que lo ha pedido en los foros nos ha hecho adelantar su llegada, así que podéis contar con verlo en la próxima alfa técnica.

Sabemos que los jugadores de PC están deseando saber qué aspecto va a tener la interfaz de usuario de la pantalla de configuración. Crear interfaces de usuario es un trabajo muy exigente y queremos estar seguros de hacerlo bien desde el principio. No es fácil desarrollar una interfaz perfecta para un juego como Sea of Thieves. Hemos analizado montones de pantallas de configuración de otros juegos y hemos combinado nuestras conclusiones en la que creemos que será la mejor que hayáis visto nunca.

La verdad es que estamos deseando que empecéis a probar todas estas novedades, sobre todo cuando llegue el momento de invitar más jugadores a la alfa técnica de Win 10, dentro de poco...

¡Gracias por leerme!

Ian, ingeniero de software sénior