Dieciséis días sin llamadas
La queja llegó por partes, en noches distintas. El sistema de llamadas no funciona. La llamada no llega nunca; la genero yo mismo y tampoco vuelve. Cada una sonaba a un bug distinto, y durante un tiempo cada una se trató como tal.
Después se contó el log entero: veinticinco compilaciones. La búsqueda de un lugar para la llamada había arrancado veintitrés veces. Las veintitrés se quedaron en el primer paso; ninguna llegó al segundo ni al tercero. El plan de respaldo, que debe atrapar una búsqueda vacía, se había ejecutado cero veces. Una cadena que tenía que recorrer cuatro pasos había recorrido uno, todas las veces, durante dieciséis días.
La causa era un arreglo. El 6 de septiembre la búsqueda le hacía al motor del juego veinticuatro preguntas en el mismo fotograma, y eso se notaba como un tirón. Así que el siguiente paso se aplazó un fotograma. Era correcto, y el tirón desapareció. Pero el paso que se movió antes atravesaba una comprobación sin detenerse, y ahora se la encontraba desde el otro lado. Una bandera —un simple sí/no que indicaba que había una búsqueda en curso— ya estaba apagada cuando el paso aplazado la consultaba, así que decidía que no había nada que hacer y se retiraba. Sin error, sin una línea en el log. La búsqueda simplemente se detenía.
Esa salida no hacía ruido, y por ese silencio duró veinticinco compilaciones. Nada fallaba lo bastante fuerte como para notarse. Un jugador que fuerza una llamada a mano sigue recibiendo una llamada, así que el mod parecía vivo.
Se arregló el 22 de septiembre y se confirmó esa misma noche: tres cadenas en cinco minutos. Una con el motor del juego ofreciendo seis puntos, otra en la que todos los pasos volvieron vacíos y el respaldo por fin se ejecutó, y otra cinco segundos después de una entrega en la comisaría. El jugador, después de dieciséis días: está funcionando.
La corrección también va aquí. Durante esos dieciséis días, este sitio dijo que, de servicio, las llamadas llegan cada sesenta segundos. No llegaban. La página describía el diseño, no el juego, que es justamente lo que existe para no hacer.
La lección es corta. Cuando aplazas algo, revisa qué espera encontrar encendido cuando llegue su turno. Y una comprobación que se retira sin decir nada no es un detalle: es donde un bug se queda a vivir.