Detalles de los problemas de actualización del juego del 2 de mayo
- Nessa GW2
- 4 may 2023
- 3 Min. de lectura
Hola a todos, quiero darles un vistazo tras bambalinas a la cantidad inusual de problemas después de la actualización del juego de ayer.
POR RUBY BAYER
Hablé con uno de nuestros ingenieros de software sénior para que me ayudara a resumir lo que sucedió, ¡así que aquí tienes!
En la actualización del estudio del lunes, hablamos sobre "asumir proyectos que mantendrán el juego saludable a largo plazo, como refactorizar grandes franjas de código antiguo". El desarrollo de un juego que ha estado activo durante una década puede ser un campo minado: correcciones como esa corren el riesgo de romper el contenido que inadvertidamente dependía de un error para "funcionar". Eso es lo que sucedió aquí cuando arreglamos uno de esos fragmentos de código antiguo.
Detectamos el problema y lo solucionamos, pero la Ley de Murphy ahora estaba prestando atención. Verá, enviar un gran juego en vivo como GW2 requiere un sistema complejo para administrar el flujo de código y contenido que sale por la puerta. Detrás de escena hay múltiples "copias" de muchas cosas con las que trabajamos: copias que se están modificando, copias que se están probando y copias que están a punto de ser lanzadas. Lo que significa que incluso cuando se hace una reparación y se quita el polvo, aún debe avanzar en varias cintas transportadoras, por así decirlo, para asegurarse de que llegue a usted. En este caso, la solución no detectó una de esas cintas transportadoras en el camino.
¿Qué significó esto para ti? En este caso, el fragmento de código que se rompió estaba relacionado con un contenido que depende del tiempo real, lo que llamamos "lapsos de tiempo". Cuando se puso en marcha, afectó rápidamente a una gran cantidad de contenido que a primera vista parecía no estar relacionado (metas y jefes mundiales, misiones de gremios, beneficios de incursiones, convertidores kármicos y dispositivos de portal, y más), pero todos se basaron en esa parte. de código de una forma u otra.
Entonces, ¿por qué no enviamos esa solución faltante de inmediato? ¡Estaba justo ahí! Bueno, rastrear el problema y encontrar una solución juntos fue una especie de búsqueda del tesoro. Cuando todos marcan un problema en el juego en vivo, lo primero que hacemos es encontrar o recrear el problema en función de la información que tenemos para que podamos examinarlo de primera mano. Los problemas de ayer comenzaron cuando un jugador informó que el meta del jefe nocturno de Umbral Verdeante no se estaba activando, así que comenzamos a buscar qué estaba mal con Umbral Verdeante. Dos informes más sobre metaeventos en otros lugares llegaron poco después, por lo que cambiamos nuestra búsqueda para tratar de encontrar qué estaba mal con los metaeventos.
Mientras tanto, otros jugadores comenzaron a informar que ciertos artilugios estaban rotos, por lo que también comenzamos a investigar este problema aparentemente no relacionado. Luego nos enteramos de que todos los Agentes de Suministro del Pacto habían desaparecido. En este punto empezamos a buscar una conexión, porque estaba claro que algo más grande estaba pasando aquí. Sabíamos que probablemente había una conexión, pero había varias posibilidades que estábamos investigando, incluida la duración. Tener una lista de posibles conexiones nos permitió comenzar a etiquetar a personas de equipos específicos para ayudar, incluido un ingeniero de software que pudo rastrear los diversos problemas hasta ese fragmento de código, confirmar la conexión, encontrar la solución perdida y pegarla. Vuelva a la cinta transportadora y entrégueselo a nuestro equipo de gestión de versiones para preparar una revisión.
Entonces, ¿cómo no detectamos problemas tan importantes antes de enviar la actualización? Cuando hay un error y algo se rompe, no envía proactivamente un mensaje de "¡Ayuda, estoy roto!": lo encontramos cuando probamos ese contenido o elemento específico. Por supuesto, no podemos probar el juego completo antes de cada actualización, ya que hay millones de cosas para probar (cada elemento, habilidad, enemigo, evento, NPC, etc.), por lo que debemos usar nuestro tiempo sabiamente mientras lanzamos la mayor cantidad Posible de redes para los problemas. Nuestros equipos de control de calidad prueban una amplia gama de categorías, incluidas las cosas nuevas en la compilación, las cosas que se rompieron en el pasado y las cosas relacionadas con los cambios importantes recientes en los sistemas fundamentales para asegurarse de que todavía funcionan correctamente. En este caso, ninguno de los sistemas afectados se había estropeado de esta forma antes, ni estaban en ninguna de las categorías "para comprobar". Dicho esto, cuando enviamos errores importantes como este, ¡es una oportunidad para buscar fallas en nuestros procesos y encontrar formas de mejorar!
Obviamente, esta es una explicación simplificada, pero espero que este vistazo al flujo de trabajo y los caprichos, a veces muy sorprendentes, del desarrollo del juego brinden una idea. Mientras tanto, nuestros equipos continúan trabajando en los problemas a medida que surgen, así que gracias nuevamente por informarnos cuando algo no funciona correctamente.
Comments