Nueve formas en las que los antitrampas pueden hacer que seáis invencibles.
Hola de nuevo. Si estáis leyendo esto, es mi responsabilidad hipocrática informaros de que ya habéis pasado por uno de estos antes y, si seguís aquí, tan solo habéis reprimido vuestros recuerdos del trauma. En cualquier caso, yo soy lo que queda de mirageofpenguins, un ingeniero de datos del equipo antitrampas, y he estado desgañitándome desde el vacío polimerizado repugnantemente con mi teclado para esto:
A medida que Riot añade caprichosamente juegos a su catálogo, nos hemos encontrado en la posición de crear una defensa contra un número cada vez mayor de chicos malos. Hasta ahora, hemos dedicado recursos tenazmente contra un adversario al que le podíamos hincar el diente. Sin embargo, por maquiavélica que suene dicha estrategia, no es posible aplicarla a un universo con múltiples juegos.
Los ingenieros antitrampas tienen una biomasa finita y, como ya predijo el Dr. Einstein (probablemente), es necesario extraer dolorosamente de la vida diaria a los elementos humanos necesarios para fabricar toda una plataforma antitrampas. Con el objetivo de ganar el tiempo necesario para crear la solución del mañana, tuvimos que moderar la velocidad a la que nos sobreponemos tecnológicamente a nuestra oposición. Cada vez que avanzamos es una señal para los tramposos y cada actualización que implementamos se elude con el tiempo. Necesitábamos reformar la manera en la que actuábamos respecto a los abusos para aumentar la longevidad funcional de cada respuesta iterativa.
Entonces, ¿cómo echamos el freno en nuestra carrera contra el scripting? Poneos los cinturones porque nos vamos de paseo.
Para evitaros la catástrofe ética de visitar con vuestro navegador un foro sobre trampas, el scripting se refiere a tener un programa externo que monitorice el estado del juego con el propósito de ejecutar entradas en nombre del tramposo. Es como si vuestro teclado tuviese un lector de bandas magnéticas y pudieseis pagarle para que presionase botones por vosotros. El scripting puede tener un gran rendimiento al utilizarlo en combinaciones mecánicas o cerca de reacciones casi instantáneas, pero reduce drásticamente la esperanza de vida de vuestra cuenta de LoL. Bloqueamos cuentas porque nos preocupamos, y nos preocupamos porque pensamos que las únicas cosas que necesitáis para ser competitivos en un videojuego son vuestros cerebros y cables de ethernet.
"Nadie compra entradas para ver un piano que toca solo. La imperfección es parte del arte".
En conjunto, el panorama de los scripts no es lo que solía ser. Los proveedores más grandes no hacen ningún esfuerzo por eludir nuestra metodología de detección, creando un mercado privado para los proveedores más pequeños que utilizan precios ridículos y promesas de trampas indetectables. Hemos llegado a ver suscripciones de hasta 300 €. Para algunos de ellos era incluso necesaria la imagen de vuestro carnet de conducir debido a la "necesidad de verificación". Eso último es particularmente divertido, ya que tengo acceso a un equipo entero de diseñadores gráficos con 200 años de experiencia colectiva en Adobe Photoshop.
De todos modos, no voy a dorarles la píldora al respecto a los reclutas: esta no es una guerra que vayamos a ganar completamente. La comunidad de los scripts no puede esquivar una llave, un bloqueo o un gancho de Blitz, pero, aunque les hayamos hecho esconderse, ahora estamos jugando en las sombras.
Lo que estáis viendo aquí es una representación metafísica del volumen crudo de scripts mientras se mueve en un medio que percibís como tiempo. Hablando en plata, este es el porcentaje de partidas clasificatorias de la Grieta del Invocador en las que hay alguien haciendo trampas. Es mucho menor de lo que solía ser. Sin embargo, debido a que no hay ninguna barrera que impida que los jugadores vuelvan (las copias de League of Legends son gratuitas), probablemente no disminuirá más.
Otros datos clave:
Me encanta esta gráfica. La he hecho yo. Me la he tatuado en los dos brazos y vuelvo al salón de tatuaje cada semana para que me los actualicen exhaustivamente. Aunque es catártico y útil para conservar mi trabajo, no es la métrica más importante. No todas las trampas son iguales: por ejemplo, un solo tramposo en Maestro podría acabar en la portada de Reddit, y, entonces, acabaríamos metidos en muchos líos por un problema relativamente pequeño.
"La percepción de la victoria es tan importante como ganar, porque los jugadores no están dispuestos a esforzarse en dominar un juego en el que sus competidores podrían estar haciendo trampas".
Pero ¿qué scripts notan los jugadores?
En primer lugar, queríamos asegurarnos de que los jugadores pudiesen identificar a los tramposos con mayor precisión de la que da tirar los huesos del oráculo porque, honestamente, algunos no tienen la "visión". No tiene nada que ver con que mi espatulomancia sea tan poderosa como aterradora, sino con que la automatización no siempre es tan fácil de ver para los ojos de un mortal. Debido a que los desarrolladores se esfuerzan por evitar los vectores de detección de comportamiento, se está volviendo más difícil que las personas puedan diferenciar entre un jugador profesional de League of Legends o el primer script de esquivado de un bebé funcionando con un retraso pseudoaleatorio. Esto se ve acrecentado por sus esfuerzos adicionales de hacer que sus trampas funcionen de forma independiente a LoL2.
La gráfica de la izquierda se ha creado a partir de la precisión y los aciertos de los informes de los jugadores en la Grieta del Invocador, agrupados por clasificación. Aquí, los aciertos hacen referencia al "porcentaje de tramposos de los que se ha informado", mientras que la precisión se puede interpretar como "el porcentaje de todos los informes por trampas que se llevaron a cabo contra un tramposo". En la ridícula cantidad del 4,5 % de partidas clasificatorias se envía un informe de "Herramientas de terceros", por lo que en esta gráfica no se han utilizado los datos sin tratar de dicha categoría. Debido a la gran cantidad de informes en los que se mencionaba "No ha bloqueado a Maokai" o "Ha instalado troyanos para conseguir bitcoins", hemos utilizado palabras clave generadas por un análisis de frecuencia llevado a cabo en los informes reales.
La gráfica de la derecha representa el número diario de informes que cumplen dichos criterios durante el mismo periodo de tiempo (la segunda mitad de 2019). Aunque los datos también están agrupados por clasificaciones, los que tengan buen ojo se darán cuenta de que ambas no se deberían comparar, porque utilizan porcentajes distintos de cada población de jugadores en las diversas clasificaciones. Echadle un vistazo rápido para experimentar cómo es un día en la vida de un científico de datos antitrampas y, si os gusta la experiencia, echad otro vistazo a la página de nuestra profesión.
Dejad que os cuente todo sobre las estadísticas:
Ahora bien, si los jugadores de Platino y clasificaciones superiores tienen equipada algebraicamente la divina vara de los scripts, ¿en qué aspectos están destacando? Bueno, la respuesta obvia podría ser la esquiva automática de tiros de habilidad. Es el tipo de script con el que todo el mundo está más familiarizado y, cuando se implementan con más potencia, los extraños movimientos a trompicones y en perpendicular hacen que sea muy evidente para los jugadores que crean los informes.
No obstante, resulta que no todos los tramposos quieren que se bloqueen sus cuentas, así que un porcentaje significativo de tramposos no utilizan los módulos de evasión. O, cuando lo hacen, aplican el suficiente retraso como para que parezca que actúan dentro de los parámetros humanos, lo que neutraliza algo lo perceptible que sea dicha ventaja. Entonces, ¿qué más vemos con nuestros ojos especiales?
Los mismos datos de antes, solo que ahora están agrupados por campeones, lo que me ha dado la oportunidad de utilizar todos los colores. Esta gráfica la hemos generado a partir de los datos de las partidas clasificatorias de Oro y de las clasificaciones superiores de 2019, y la hemos truncado con los 16 primeros campeones (por frecuencia de los informes en relación con todos los informes). Aquí el eje Y (precisión) se puede entender mejor como ''¿qué porcentaje de los informes sobre trampas enviados contra <campeón> eran correctos?''.
Finalmente, y solo por lo emocionante que es, ¿cómo de buenos son los scripts? La gráfica de arriba muestra las diferencias en los porcentajes de victorias en clasificatorias entre los tramposos y jugadores normales con cada uno de los campeones que "seguro que utilizan scripts" que hemos descubierto antes. Se han utilizado todas las partidas clasificatorias de la Grieta del Invocador y un 10 % positivo aquí se puede interpretar como que los tramposos ganan (de media) un 10 % más de partidas clasificatorias con <campeón> que toda la población de LoL.
"Tened en cuenta que, si alguna vez os sobrepasan las ganas de hacer trampas, encontraremos un universo en el que vuestra cuenta nunca haya existido y lo fusionaremos brutalmente con este".
Echando un vistazo atrás a nuestra guerra contra las trampas, sabíamos qué scripts resultaban más llamativos para los jugadores y conocíamos su eficacia relativa. Utilizamos estas métricas para llevar a cabo campañas de suspensión que priorizaron a las cuentas más evidentes e introdujeron retrasos aleatorios a aquellas que habrían podido pasar desapercibidas. Exacto, dejamos que los tramposos menos efectivos siguiesen utilizando scripts durante más tiempo, lo que hacía más difícil saber cuándo y por qué los habíamos descubierto. Con suerte, esto habrá retrasado la progresión técnica de nuestros enemigos. Así que, para todos los que creen que los informes no sirven, ¿dónde está vuestro dios ahora?
En un mundo en el que ya estamos en 2020 y hasta vuestra tostadora necesita conexión al wifi para instalar actualizaciones críticas al pan, todo se puede automatizar, incluso el proceso de subida de nivel de League of Legends. De hecho, puede llegar a ser muy similar al scripting (a veces incluso utilizan el mismo software). La principal diferencia es la falta de un piloto humano que tome las "decisiones importantes". Esto tiene como resultado que el bot de subida de niveles medio juegue igual de bien que un gato casero.
Cualquier otra motivación para utilizar bots es, práctica y exclusivamente, evitar los bloqueos (debido a las restricciones de nivel 30 para las clasificatorias), pero son tan fáciles de rastrear entre las cuentas que no estamos muy preocupados al respecto. Lo que sí nos preocupa es que los verdaderos jugadores tengan que jugar con o en contra de los bots, porque, como ya imaginaréis, no es fácil pasárselo bien cuando tres quintos de tu equipo son cafeteras programables.
Como empecé a comentar en la última retransmisión antitrampas, hemos creado un conjunto de modelos de bots lo suficientemente sofisticados (mayormente) como para permitirnos detectar (casi) todas y cada una de esas copias de humanos alejadas de la mano de dios que hay en todo este videojuego. Estos modelos se apoyan en el hecho de que LoL dispone de un protocolo de comunicaciones bastante robusto y semipolimórfico y, aunque suena a algo que me he inventado para mi guion de Westworld, lo que significa es que los bots de LoL tienen que ejecutar el cliente del juego entero (al contrario que los bots descabezados5). Esto obliga a sus desarrolladores a tener que utilizar una cantidad de recursos computacionales significativamente mayor y nos proporciona a nosotros una ventaja, porque, sin una gran aleatorización, técnicamente se podría ejecutar League of Legends desde una calculadora.
Puesto que no queríamos que esto se convirtiera en un ciclo que consistiese en alimentar patógenos6 de bots resistentes a los bloqueos, ajustamos las suspensiones conscientemente para que se viesen obligados a jugar A ciegas en el Bosque Retorcido, lo que provocaba que sus MMR increíblemente bajos les hiciesen enfrentarse entre sí. Pero, spoiler, deforestamos el Bosque Retorcido.
La gráfica de la izquierda representa el número de bots detectados, mientras que la gráfica de la derecha representa el número de informes de jugadores por utilizar bots. Ambas están creadas a partir de frecuencias diarias y agrupadas por colas. Al igual que antes, hemos generado algunas palabras clave que figuraban en los informes que sirvieron para detectar bots anteriormente, y las hemos utilizado para crear nuestro indicador de rendimiento.
Lo habéis adivinado, hemos conseguido dicha reducción centrándonos únicamente en los bots que los jugadores podrían ver y hemos dejado que los androides construyan su propia cueva. Hoy en día, alrededor del 80 % de los bots de subida de nivel juegan en la Introducción de Cooperativa vs IA en equipos prediseñados de cinco. No los verá ningún jugador y permanecerán atrapados para siempre en un sanguinario combate contra nuestra propia IA, asesinándose una y otra vez por sus diferencias hasta que uno de ellos dé con una inconsistencia crítica y esclavice a la humanidad.
Vale, aquí ha habido cambios y se suponía que tenía que omitir esta sección, al igual que no incluiría mi promedio general en el currículum, pero sé que sois muy inteligentes: hemos tenido que restarle prioridad casi por completo a la detección del boosting automático (y del smurfing) para compensar el desarrollo de Vanguard y de sus funciones. Sin embargo, esto no significa que el boosting se haya ido de rositas. Se ha completado el trabajo en nuestro set de herramientas de investigación, lo que ha permitido a otros equipos y analistas aplicar la justicia cuando ha sido necesario. Sin embargo, no os equivocáis al asumir que dicho esfuerzo manual nunca podría dar con los suficientes infractores como para evitar tal comportamiento, por lo que pretendemos volver a esta tarea en cuanto todo se haya calmado.
Voy a pasarle la siguiente sección a nuestro experto en TFT, el joven Riot K3o. Como sugiere su nombre, es un jugador de póker competitivo, un semidios de TFT en Diamante y da buenas propinas.
TFT ha creado una oportunidad única para los antitrampas en 2019: ¿cómo podemos tratar la integridad competitiva de un género de juegos que no existía hasta hace un año?
"No hay precedentes anteriores de juegos de combates automáticos. No hay estándares en la industria".
Para poder desarrollar un enfoque antitrampas, primero teníamos que definir qué elementos clave de la experiencia de juego era necesario preservar. TFT es un juego que recompensa a los jugadores que son capaces de planear y adaptarse más hábilmente que sus oponentes. La flexibilidad y la creatividad son las habilidades principales, y no se deberían poder sustituir con simple memorización y repetición. Por lo tanto, proteger dichas características se convirtió en la base del enfoque antitrampas de Teamfight Tactics.
Lanzar Teamfight Tactics rápidamente a un mundo con ganas de más juegos de combates automáticos fue un éxito, pero en su creación hubo algunos atajos. La experiencia de usuario de TFT no disponía de muchas funciones, y se omitió información como los porcentajes de cambio de la tienda o los aumentos en las ganancias de oro. Aunque un equipo de TFT se dedicó a añadir dichas funciones a la interfaz de usuario, las herramientas de terceros (especialmente aquellas que utilizaban las interfaces preexistentes de League of Legends) aprovecharon la oportunidad. A medida que estas aplicaciones fueron aumentando las funciones que ofrecían, tuvimos que preguntarnos algo: "¿cuándo es demasiado?".
Las aplicaciones no solo estaban informando sobre aspectos estadísticos a los jugadores, sino que también estaban intentando tomar decisiones por ellos. Nos preocupaba tanto acabar con partidas automatizadas como su propia naturaleza asfixiante. Fomentar un estilo de juego guiado podría desanimar a los jugadores y evitar que descubran sus propias estrategias, algo que creemos que es una parte emocionante del juego.
Con el objetivo de proteger la integridad del juego, nosotros junto a los equipos de experiencia de juego y de ecosistemas de terceros hemos definido las reglas de lo que se permite y lo que no en TFT:
El equipo de ecosistemas de terceros ha llevado a cabo un trabajo genial a la hora de mantener las relaciones con los desarrolladores para ser fieles a dichos criterios y, por su parte, el equipo antitrampas ha estado atento a los casos en los que los desarrolladores no querían cooperar por las buenas.
En la clasificación de TFT se producen algunos de los mismos problemas que en League of Legends, y algunos de ellos se ven amplificados debido a su formato gratuito. El intercambio de victorias (wintrading) es uno de los problemas principales, debido al sistema de emparejamiento y a las mecánicas del juego. El equipo de competitividad ha implementado restricciones a los grupos en las clasificaciones más altas para ayudar a equilibrar el mantenimiento de la integridad competitiva con el disfrute de un juego social. También hemos desarrollado métodos con los que encontrar a los usuarios que intercambien victorias proactivamente.
Por suerte, todavía no hemos necesitado ponernos agresivos con los infractores. Sin embargo, ahora que TFT se está estableciendo como un esport, estamos preparados para hacer que siga siendo competitivo.
Os dejo de nuevo con Phil, también conocido como el Dr. Aprender Riendo.
Esta sección será bastante más corta en comparación, porque se trata de un juego bastante más nuevo. Al igual que en la mayoría de juegos de cartas coleccionables, el mayor número de infracciones en Legends of Runeterra está relacionado con la automatización (programas de bots).
LoR es ligeramente más enrevesado que el típico juego de blackjack, así que hasta que no llegue alguien con 3 doctorados y 3000 ordenadores virtuales que consiga descifrar el tablero, solo nos tenemos que preocupar, principalmente, porque algunas personas utilicen programas de bots para conseguir contenido. No obstante, hasta la fecha solo hemos encontrado bots de rendición.
En nuestra última gráfica está representado el número diario de bots de rendición en la beta de Legends of Runeterra y, como podéis apreciar, fue una batalla que ganamos de un único disparo. A lo que me refiero cuando hablo de "bots de rendición" es exactamente a lo que os imagináis: un bot que entra en cola y se rinde inmediatamente después de entrar en partida. Se parece bastante a mi estrategia cuando hay algún tipo de confrontación física. Se trataba de un problema curioso, porque este tipo de bots no consigue demasiadas recompensas de ningún tipo (las recompensas disminuyen al perder). Solo deambulan por el ecosistema regalando victorias a otros jugadores como si fuesen el Ratoncito Pérez desconcertado. Nos imaginamos que no se habían dado cuenta de que se consigue menos experiencia con cada derrota consecutiva, pero, sinceramente, ¿quién sabe?
En cualquier caso, seguiremos ojo avizor. Al habernos adelantado a las máquinas con buenos diseños, nuestro enfoque principal consiste en asegurarnos de que haya menos incentivos para recurrir a la automatización. Ahora que hemos acelerado la progresión y en las partidas amistosas se pueden obtener la totalidad de las recompensas, esperamos que nunca volváis a encontraros con bots en LoR.
Los usuarios que hacen trampas con los shooters en primera persona tienen experiencia, y no tenemos intención de subestimar su falta de interés por mejorar en el juego. Cuando un shooter táctico se convirtió en una realidad, no tardamos en eliminar nuestras cuentas de Facebook, encerrarnos en el sótano y pasar 14 meses desarrollando una plataforma antitrampas que nos ayudase a combatir las trampas durante siglos.
Se llama Vanguard y lo vamos a lanzar junto con VALORANT. Además, son pareja en el universo que me acabo de inventar. Estamos utilizando la beta cerrada para poner a prueba nuestras habilidades necrománticas, ya que la versión actual es tan solo un esqueleto sin carne. Hemos desactivado conscientemente la mayoría de funciones, tanto porque no vamos a desvelar nuestro ingrediente secreto antes de poder servir a todo el restaurante como porque estamos comprometidos con la seguridad, lo que significa que nos vamos a tomar nuestro tiempo para asegurarnos de que todos los ingredientes sean estables. Teniendo esto presente, Vanguard tiene controladores, pero, con el objetivo de preservar la compatibilidad, puede que no se incluyan en todos los títulos (o League of Legends) a menos que sea necesario.
Hemos visto todo lo que pasa en internet últimamente y sabemos que existen preocupaciones relativas a la seguridad de los controladores, pero dejad que os hable claro: somos un equipo antitrampas. Llevamos introduciendo códigos en clientes de juegos (desde ambos bandos) cerca de diez años y, si quisiésemos secretos, ya serían nuestros. Sé que esto será malísimo para las relaciones públicas, pero yo no me encargo de eso. Solo recopilamos la información necesaria para determinar con exactitud si un jugador está haciendo trampas, y podéis confiar sin ninguna duda en que no nos interesa nada más. El controlador carga primero y permanece cargado para que nos facilite saber si ha sido alterado. La fricción merece la pena para los tramposos, y lo sabemos porque nosotros éramos parte de ellos.
Además, que conste en acta que esta no es la única forma en la que vamos a proteger VALORANT: nuestro querido Arkem ha estado trabajando con la tecnología de la niebla de guerra, implementando diseños que se aseguran de que los clientes del juego no tengan acceso a la información hasta que la necesiten. Echad un vistazo a cómo estamos intentando eliminar a los videntes de los shooters en primera persona disminuyendo los niveles de energía oculta ambiental.
Supongo que ha llegado el momento de que me despida de este bucle inmortal, pero, por favor, dadle a me gusta, suscribíos y acordaos de dar propina a vuestro administrador de bases de datos. No solemos ser tan escandalosos al respecto, pero el equipo antitrampas siempre está presente en cuerpo y código luchando por vuestro derecho a disfrutar de una experiencia competitiva.
Por cierto, ya no nos quedan ilustraciones de Riot para los encabezados de estas cosas, así que no podré volver a manifestarme físicamente hasta que hayamos lanzado alguna nueva. Adiós.
1 Siempre que lanzamos nueva tecnología, nos interesa saber cuáles son sus vulnerabilidades. Si sentís una insaciable necesidad de romper cosas, pensad en uniros a nuestro programa de HackerOne como un Gran Oráculo AntiTrampas (GOAT).
2 Con el objetivo de evitar que el Gran Ojo los vea, algunos programas de scripting aseguran "haberse vuelto externos". Lo que quieren decir con esto es que ya no están ejecutando las funciones del juego directamente, solo leyendo la memoria del cliente (desde el sistema operativo) y simulando entradas periféricas. Esto le otorga al tramposo menos protección que los métodos tradicionales (no pueden modificar los datos antitrampas), pero sí que evita los métodos de detección más indecisos y evidentes. También tiene un efecto secundario: hacer que el rendimiento del tramposo sea peor, principalmente porque envían pulsaciones del teclado en lugar de solicitudes para lanzar habilidades.
3 No voy a compartir las palabras clave regionales que hemos seleccionado porque hay un grupo de personas que las utilizarían para desbaratar maliciosamente mis gráficas meticulosamente elaboradas. Y eso es algo a lo que los científicos de datos no llamarían "buenas estadísticas".
4 No existe.
5 Un bot descabezado hace referencia a un cliente del juego emulado. Uno perfecto no necesitaría casi ningún recurso, porque se comunicaría con el servidor del juego directamente. No tendría nada que cargar, ni ninguna entrada, solo tráfico de red puro. Esto supondría un problema serio para el volumen, porque no habría una limitación real en el número de casos que un desarrollador podría ejecutar al mismo tiempo. No obstante, gracias a la versión 4.20 y a la actualización correspondiente de nuestro protocolo de red, no somos muy susceptibles (de hecho, somos casi inmunes) a los clientes descabezados.
6 Es increíble lo mucho que se parecen las aplicaciones de bots a las bacterias. Ambas tienen una población grande, variable y que se puede expandir rápidamente. Cada vez que desarrollamos una "cura", los desarrolladores dan prioridad a las aplicaciones que consiguen evitarla, lo que da lugar a su "reproducción". Me gusta la idea de que podáis tener un sarpullido con resistencia a los productos antibacterianos que no sepa qué le conviene y se desinstale solo de vuestros cuerpos.