'Es simplemente imposible': los desarrolladores explican por qué los grandes juegos en línea siempre parecen romperse en el lanzamiento





Entre el lanzamiento fragmentado de Himno , el lanzamiento sorpresa de Apex Legends y el próximo lanzamiento de la división 2 , principios de 2019 está repleto de grandes juegos en línea. Como lo han demostrado los últimos e innumerables juegos de BioWare, los juegos multijugador de este alcance rara vez se lanzan en un estado brillante. Parece que todos los juegos en línea tienen algunos problemas técnicos en el lanzamiento, ya sean menores, como los errores de la semana uno en Apex Legends, o los que rompen el juego, como los problemas de conexión que paralizaron inicialmente Diablo 3 .

Hemos tenido lanzamientos problemáticos desde que tenemos juegos en línea, pero parece que la conversación sobre los problemas de lanzamiento realmente no ha ido a ninguna parte. Vemos las mismas preguntas aparecer cada vez. ¿Por qué pasó esto? ¿Por qué los desarrolladores no anticiparon esto? ¿Por qué tardó tanto en arreglarse? Con tantos grandes juegos en línea que se lanzaron tan seguido, con el auge de los juegos como servicio en la industria, ahora parecía un buen momento para plantear algunas de estas preguntas a los desarrolladores con la esperanza de desmitificar el temido tiempo de inactividad del día del lanzamiento. ¿Por qué seguimos viendo los mismos problemas cuando se lanzan los juegos y cómo los manejan los desarrolladores?

'La capacidad rara vez es el problema'



Cada vez que los juegos fallan o tardan en conectarse, muchos asumen que se debe a que se quedaron sin espacio en el servidor. Que los desarrolladores subestimaron cuántos jugadores iniciarían sesión y, como resultado, sus servidores colapsaron bajo la tensión. En ese caso, todo lo que necesitan hacer es pagar por más servidores, ¿verdad? Bueno, no, no necesariamente; como suele ser el caso cuando se crean juegos, no es tan simple.

'Una de las mentalidades que se ven mucho en línea es: '¿Por qué la empresa A no tiene más servidores?'', nos dice Alex Mann, gerente de desarrollo y exanalista de control de calidad de EA. “En el lanzamiento, ves la mayor cantidad de tráfico en estos juegos. Todos están entusiasmados, el equipo de marketing ha hecho bien su trabajo, todos están muy emocionados de estar en línea y, en el momento en que aparece el juego, todos hacen clic en 'Ir'. Pero notarás que con el ciclo de vida de la mayoría de los juegos, tienes esta explosión masiva y luego se desvanece. Si todas las compañías de juegos compraran el hardware para cubrir todo lo que necesitan dentro de ese estallido inicial, dos semanas más tarde tendrían el 50% de su hardware allí sin usar.'

'No se trata de 'vamos a tirar un montón de dinero y hacerlo más grande''.



alex mann

Esto dificulta que los desarrolladores se preparen para el lanzamiento sin gastar demasiado y comprar demasiados servidores. Afortunadamente, los desarrolladores ahora tienen acceso a servidores virtuales a través de empresas como Amazon Web Services, y estos pueden activarse o desactivarse según sea necesario. Este tipo de servidores también se volvieron necesarios a medida que los juegos se alejaron de las conexiones punto a punto, el tipo que admitía juegos como Halo 2 en 2004, a servidores dedicados que mantienen juegos masivos y persistentes como destino 2 y Himno. Sin embargo, los servidores virtuales no son una cura milagrosa y tienen sus propios problemas.



'La capacidad no se trata necesariamente de la cantidad de servidores', dice Mann. “Incluso si esperamos millones de jugadores y tenemos los servidores, no esperamos que todos accedan a ese portal de inicio de sesión al mismo tiempo. Se trata de tener suficientes carriles en la autopista para el paso de personas. Tienes dos países conectados a través de un puente, y ambos países tienen toneladas de espacio en ellos, pero para pasar del país del cliente al país del servidor, ¿qué tan grande haces ese puente? No se trata de 'Vamos a tirar un montón de dinero y hacerlo más grande'. Al final del día, a menudo es un cuello de botella basado en la tecnología y el motor que está utilizando”.

Conceptos erróneos comunes

Un concepto erróneo que Mann ve a menudo tiene que ver con la forma en que operan los equipos de desarrollo, específicamente, la idea de que cualquiera puede arreglar cualquier cosa.



'Cuando se trata de bases de código complejas que abarcan varios archivos creados por 200 personas, si observo a mis codificadores y han creado esto, el codificador A no conoce todo el proyecto', explica. “Existe el concepto de que todo el mundo sabe todo sobre el código del juego, por lo que el artista de niveles debería ayudar con la corrección de la arquitectura de niveles. Ya sabes, los administradores de la comunidad no corrigen los errores.

Escuché lo mismo de Fredrik Brönjemark, director de servicios en vivo de Massive Entertainment, el estudio detrás de The Division. 'Los grandes juegos en línea son piezas de software extremadamente complejas que dependen de una enorme infraestructura de servidor en línea para respaldarlas', explica Brönjemark. 'Además de eso, también tiene la capa adicional de servicios propios, por lo que hay muchas maneras diferentes en que las cosas pueden salir mal. Para nosotros en The Division, los principales tipos de incidentes que podrían causar tiempo de inactividad o problemas de conectividad fueron la inestabilidad en el software del juego que se ejecuta en los servidores o problemas con el proveedor de alojamiento. Quedarse sin capacidad del servidor rara vez es el problema. En The Division 2, nuestros servidores escalan automáticamente dependiendo de la cantidad de jugadores que quieran jugar el juego.'

Cualquier número de cosas puede salir mal el día del lanzamiento, y la mayoría de las veces, el número total de jugadores es relativamente bajo en la lista de vigilancia. Podría haber una fuga de memoria, una sola pero catastrófica línea de código incorrecto o un punto de retraso enterrado en algún lugar de la enorme tubería del servidor. Un juego puede tener un problema con un determinado ISP o, como mencionó Brönjemark, los servicios propios en los que se basa un juego podrían dejar de funcionar. El problema puede estar en cualquier parte, pero esté donde esté, es un problema de todos. Nadie es una isla cuando se trata de juegos en línea, y eso puede hacer que responder a los problemas sea increíblemente difícil y lento.

'Cada lanzamiento es diferente'

Todos los desarrolladores con los que hablé describieron un proceso de clasificación similar para solucionar problemas. Mann ofreció una descripción general de cómo sería una solución de principio a fin. Primero, un desarrollador tiene que analizar los síntomas del problema para identificar la causa real. Luego, traen a las personas responsables de esa área del juego para encontrar una solución. ¿Es algo que pueden actualizar por su parte o necesitan emitir un parche? Una vez que encuentren una solución, tendrán que probarla para asegurarse de que no rompa nada más, especialmente si es un parche.

'Hay una verificación antes de que algo se active', dice Mann. 'Hay muchas idas y venidas con los titulares de la plataforma [como Sony y Microsoft] para asegurarnos de que estamos trabajando juntos hacia el éxito; tenemos que pasar por los pasos de control de calidad. Y mientras estamos pasando por ese parche, si reaccionamos instintivamente y arreglamos esto ahora, pero media hora más tarde tenemos que hacer un segundo parche el mismo día, será un desastre. Así que tenemos que decir: 'Estamos haciendo este parche; ¿Qué otros problemas críticos podemos solucionar como parte de esto? ¿Qué otras cosas están mal? No puedes hacer un parche en media hora. Tienes que asegurarte de que estás siendo inteligente con la forma en que estás parcheando ese contenido.'

Una vez que todo esté hecho, si el universo lo permite, los desarrolladores pueden implementar el parche y comenzar a monitorearlo y comunicar sus efectos a través de sus canales sociales. Pero 'no hay un giro de media hora', dice Mann, y agrega, 'tal vez haya cientos de personas que tocarán eso antes de que se apague'.

Frank Sanchez, ex representante de la comunidad de BioWare y Gazillion Entertainment con experiencia en ingeniería, conoce bien este paradigma. Como alguien que ha pasado mucho tiempo recopilando respuestas y redactando notas del parche, ha visto ambos lados del proceso de actualización, desde los comentarios de los jugadores hasta el envío del parche. También sabe mejor que nadie lo complicadas que pueden llegar a ser las soluciones y lo frustrantes que pueden ser los problemas de lanzamiento tanto para los jugadores como para los desarrolladores.

'Somos las últimas personas que quieren ver que un servidor funcione y luego, dos horas más tarde, se retrase tanto que la gente no pueda iniciar sesión', explica Sánchez. 'Les garantizo que si [los desarrolladores] instalan un servidor para una versión beta y no funciona bien, eso probablemente se deba a que alguien dedicó más tiempo de lo que ya estaban procesando para llevarlo a un estado en el que podría lanzar. Entonces, cuando alguien en línea dice 'Bueno, simplemente son flojos', eso es completa y descaradamente falso. El trabajo está puesto, el desafío es cómo responder a los problemas y comunicar a los jugadores cuando suceden. Es una ciencia imperfecta... cada lanzamiento es diferente. Incluso si dos juegos se desarrollan en Unity o lo que sea, incluso si el género es el mismo, el proceso es diferente. No puedes decir 'Este juego estuvo bien, cuál es el problema con este juego', porque hay mucha singularidad en cada juego'.

No puedes decir 'Este juego estuvo bien, cuál es el problema con este juego', porque hay mucha singularidad en cada juego.

franco sanchez

Los comentarios de Sánchez tocan otra pregunta común que surge alrededor del tiempo de lanzamiento: ¿por qué no anticipaste esto? Tal vez el juego X tuvo problemas hace unos meses. Seguramente los desarrolladores del juego Y podrían ver eso y tomar medidas para evitar esos mismos problemas, ¿verdad?

Dejando a un lado las diferencias en los juegos individuales, todas las personas con las que hablé dijeron que algunos problemas no se pueden anticipar. Las pruebas internas solo pueden hacer mucho, y nunca se pueden comparar realmente con el lanzamiento real de un juego.

'Simplemente no hay simulación para vivir'

'No puedes planificar para [jugadores simultáneos] en vivo', continúa Sánchez. Es simplemente imposible. No hay sustituto. He visto todos los métodos de prueba de estrés de algo internamente antes de publicarlo, y simplemente no hay simulación en vivo.

Aquí es donde entran en juego las pruebas de estrés previas al lanzamiento y los períodos beta. No son perfectos, pero son la mejor manera de evaluar cómo se verá el lanzamiento de un juego y qué se debe arreglar antes del horario de máxima audiencia. 'Las versiones beta son enormemente útiles', dice Mann. 'No puedes obtener el tamaño y la escala que obtienes con una prueba beta internamente. Simplemente no puede contratar a tanta gente para acceder a sus servidores. La mejor manera de probar en vivo es siendo en vivo. Si observa muchos alfas y betas, existe el concepto de que no hay suficientes servidores, que hay errores y otros problemas, pero en una semana se clasificaron y la versión más reciente o final no tiene esos problemas. . Eso es solo porque se experimentó [en vivo] e investigó durante esas versiones beta'.

'Recientemente, un estudio ejecutó una versión beta de su juego y un grupo de mis amigos saltaron emocionados por jugar, y se encontraron con un error en el que estaban atascados en el tutorial porque un elemento clave no se había generado en el servidor', dice Mann. yo, notando lo complicado que puede ser anticipar fallas en el lanzamiento de un juego en línea. “Te garantizo que en todas las pruebas de control de calidad de ese juego, ese elemento siempre estuvo ahí. La única forma de encontrarlo es probando este flujo a gran escala. Sospecho que esos muchachos ahora son muy conscientes de eso y de todo ese problema para arreglarlo para el lanzamiento, todo debido a ese trabajo beta.

No puedes arreglar todo

Si las versiones beta son tan buenas, ¿por qué los desarrolladores no tienen más de ellas y por qué no las tienen meses antes del lanzamiento? Como suele ser el caso en los juegos, la tecnología y el tiempo no siempre permiten que los desarrolladores hagan exactamente lo que quieren hacer. Debido a la forma en que se hacen la mayoría de los juegos, no se juntan hasta el final, que es generalmente la razón por la que las versiones beta parecen estar tan cerca del lanzamiento. E independientemente de lo que los desarrolladores aprendan de una versión beta, sin importar los problemas que pueda revelar, no pueden retrasar su juego de manera realista en respuesta a ellos. Un proveedor de servicios web no quiere que un equipo pierda la fecha de inicio de su servidor más de lo que un editor quiere perder su fecha de lanzamiento. Por eso, así como algunos problemas no se pueden anticipar, algunos errores simplemente no se pueden corregir a tiempo para el lanzamiento.

Betas de la División 2

El División 2 beta El cronograma fue bastante completo, con betas privadas y abiertas, así como una prueba de estrés más específica. No todos los juegos pueden cambiar eso, pero aquellos que lo hacen se benefician inmensamente de lo que Brönjemark llama el 'ensayo final'. Su primera beta abierta está prevista del 1 al 4 de marzo, dos semanas antes del lanzamiento.

'Me encantaría enviarlo sin errores', considera Sánchez, un comentario que escuchará de cualquier desarrollador que haya pasado por un infierno y haya regresado para enviar un producto. 'Pero cualquier equipo te dirá que eso es muy difícil de hacer. Esa es la realidad. La lista de cosas que deben arreglarse cambia constantemente. Debe comprender que cuando se trata de errores, hay errores que se envían potencialmente y hay errores que se descubren después del lanzamiento. Todo eso tiene que priorizarse, planificarse y hablarse. Es triaje. Los lanzamientos más afortunados son los que tienen errores pero no tienen errores paralizantes.

Además de eso, hacer una versión beta puede ser una tarea larga y laboriosa en sí misma. Los desarrolladores no pueden simplemente piratear una parte de su juego y subirlo a Xbox Live o PlayStation Network. Las versiones beta a menudo se desarrollan por separado (pero junto con) un juego, lo que requiere más tiempo y dinero. Esta es la razón por la cual los problemas que se han solucionado hace mucho tiempo en la versión principal de un juego aún pueden estar presentes en su versión beta. Vimos esto en las demostraciones de Anthem y en la última versión beta de The Division 2, por ejemplo.

'Muy a menudo escucho a la gente decir que piensan que las pruebas beta son solo campañas de marketing y que los desarrolladores no pueden aprender nada de ellas porque el juego ya está terminado en ese momento', me dice Brönjemark. 'Me gustaría disipar ese mito. Incluso cuando el juego ya está impreso en el disco y el parche del día uno ya está listo, todavía hay una gran cantidad de cosas que podemos abordar en el lado del servidor, tanto en términos de tecnología como en términos de jugabilidad y equilibrio. .'

Por otro lado, dice Sánchez, 'los cronogramas de publicación y los cronogramas de desarrollo de juegos son muy agresivos, a veces demasiado agresivos. Cuándo se envía algo, cuántos fondos te quedan, cuánto tiempo llevas en desarrollo. A veces, el éxito del lanzamiento realmente depende de cuántas veces haya tenido que retrasar sus hitos, cuántas veces retrasó su lanzamiento porque tenía algo que pulir. Algunos juegos solo se pueden enviar con una cierta cantidad de pulido. No se puede decir que está completa y absolutamente bien una vez que se convierte en oro. Hay instancias en las que un juego se enviará en un estado que está listo para el lanzamiento, pero es posible que haya que pulirlo un poco'.

Un lanzamiento es más que el primer día

Tanto los desarrolladores como los jugadores quieren que sus juegos funcionen perfectamente la primera vez que los encienden, pero la realidad del desarrollo de juegos es que hay tantas partes móviles y tantas limitaciones inamovibles que algunos problemas están destinados a pasar desapercibidos, y la las probabilidades de eso solo aumentan a medida que los juegos se hacen más y más grandes. Sánchez reconoce que es por eso que debemos analizar lanzamientos como estos de manera integral. El rendimiento de un juego el día del lanzamiento es importante, pero no lo es todo.

'No son los problemas, esos siempre van a suceder', dice Sánchez. 'Es cómo abordas esos problemas. Si eres lento o no los tratas adecuadamente, o si eres hostil con tus jugadores, se quedará con ellos. Si hay algo que me gustaría que los jugadores entendieran, es que los problemas suceden independientemente de lo bien que los planifiques. Debe responsabilizar a los desarrolladores por cómo se les responde. Si tiene un problema una semana después de su lanzamiento, ponga los pies en el fuego y diga 'Oye, no estoy teniendo una buena experiencia, es por eso que me preocupa que estos problemas no se solucionen'. Esas son las cosas de las que queremos oír hablar.

Los problemas ocurren independientemente de lo bien que los planifique.

franco sanchez

Ningún juego se inicia perfectamente. Simplemente no sucede. Como dice Sánchez, 'cualquier cosa que consideres un lanzamiento suave es simplemente algo que nunca llegó al nivel en el que un jugador percibió que algo andaba mal'. Siempre hay peleas entre bastidores. Mann lo describió como un grupo de desarrolladores reunidos en una 'sala de guerra' mirando una pared de monitores en busca de comentarios y posibles problemas. A veces detectan esos problemas temprano, a veces no aparecen durante unas horas y, a veces, no se pueden solucionar durante unas horas más o incluso unos días.

El punto es que los juegos en línea masivos siempre van a tener algunos problemas técnicos en el lanzamiento. Demonios, todos los juegos modernos tienen algunos problemas en el lanzamiento. Esa es la naturaleza de la tecnología actual y de la industria actual. Eso no significa que los jugadores deban dar ciegamente un pase a los juegos que se lanzan con un diseño catastrófico u otros problemas, pero pone el lanzamiento promedio en perspectiva. Un juego puede tener problemas menores que ni siquiera notamos o puede tener obstáculos obvios para el juego. En cualquier caso, todo lo que cualquiera puede hacer es esperar lo mejor, prepararse para lo peor y señalar los problemas cuando inevitablemente surjan.