Pokeweek: Bájale a tu Hax: El RNG y los dioses del pseudo azar

TRENDING

A lo mejor simplemente estabas destinado, desde el momento en que naciste, a perder esa batalla.

Por: Alan MB (@AlanMB)

bajale-a-tu-haxTe encuentras perdiendo una batalla decisiva en un torneo Pokémon. Tu oponente tiene la ventaja. No hay mucho que puedas hacer; desde hace 3 turnos sentiste que la batalla estaba perdida. ¿Sería lo mejor, presionar el botón de “Correr” ahora? Lo único que puedes hacer es esperar un milagro. Sostienes tu consola entre tus manos sudorosas, y actúas tomándote tu tiempo, como si tuvieras muchas alternativas. Pero sabes que sólo te queda una cosa por hacer: apostar por un milagro. Te encomiendas a la suerte. Invocas la oración del Santo Charmeleon para que interceda por ti ante los dioses del hax. La oración va más o menos así…

Santo Charmeleon, que estás en los foros,

santificado sea Tu Nickname.

Venga a nosotros tu Ember,

hágase tu Fire Blast, tanto en Kanto como en Unova.

Danos hoy el hax nuestro de cada día,

y perdona nuestras desconexiones,

así como nosotros perdonamos a los que nos haxean.

No nos dejes caer en Yu-Gi-Oh,

y líbranos del ban,

Amén.

 

El Santo Charmeleon, patrono de Pokémex, responde tu plegaria. Tu oponente falla lo que hubiera sido su ataque victorioso. Tu ataque no hace tanto daño, pero lo congela. Tu oponente cambia de Pokémon, para ser recibido por un ataque con golpe crítico que lo derrota. El otro Pokémon regresa, y no se descongela, dejándote libre para atacar. Al final terminas victorioso. En algún momento sufrirás lo que tu oponente sufre ahora. Y cuando llegue ese momento, no recordarás esta victoria. Pero eso no importa – hoy ganaste.

barrita1

Desde que el primer entrenador Pokémon falló un ataque que le costó el juego, comenzó la leyenda del “hax”. El “hax” es el nombre que la comunidad Pokémon ha adoptado para referirse cariñosamente al elemento de azar presente en los juegos de Pokémon. No sé con certeza cuándo se acuñó ese término, pero incluso yo que soy jugador veterano de Pokémon lo utilizo desde hace mucho tiempo. Todavía, entre mis amigos de Pokémex de antaño, muchos de los cuales hace tiempo abandonaron el juego, una de las frases que usamos para decir “que buena suerte tuviste” es, “bájale a tu hax”.

Cuando alguien me pregunta “¿Qué es Pokémon?”, suelo describirlo como “un juego de estrategia bastante complejo disfrazado con una cubierta de personajes adorables”. Es cierto, en su mayor parte, pero la verdad es que un elemento fundamental del juego es el azar. Para demostrarlo, basta con ver la fórmula del daño que utiliza el juego internamente para calcular el HP que cualquier ataque de tu Pokémon le resta al oponente:

formula-pokemon

Fácil, ¿no? De entre todos esos factores, el último es el que me interesa explicar ahora, porque se trata de un número entre 0.85 y 1, que se decide “al azar” al momento del ataque. Eso quiere decir que siempre que atacas, si tienes mucha suerte harás el 100% de daño, pero también puede que ataques con el 85% del poder real de tu ataque, o lo más probable, algún valor entre esos dos.

charizard-vs-mewtwoCabe recalcar que esta fórmula no es ni de lejos la única parte del juego donde se utilizan elementos al azar. La probabilidad de que tu ataque proceda, de que tu Pokémon flinchee, de que ocurra un golpe crítico, de que un efecto secundario como la parálisis se active, de que te aparezca un Pokémon Shiny, o de que tu Pokémon tenga IVs perfectos, todo eso se decide de la misma manera, utilizando números al azar.

Pero, ¿Cómo es que tu Nintendo 3DS obtiene esos números al azar? Es una muy buena pregunta, porque desde un punto de vista técnico, no puede. Verás, las computadoras son fundamentalmente máquinas deterministas, lo que quiere decir que si se les proveen los mismos datos de entrada y se les pide que apliquen una operación con ellos, el resultado SIEMPRE será el mismo. Y necesitamos que sean máquinas deterministas, porque si no lo fueran, sería imposible predecir y controlar su conducta. Es más fácil verlo si piensas en las computadoras como lo que son: calculadoras glorificadas. Tú puedes pasar todo un año en una calculadora multiplicando 2 x 2, y el resultado siempre va a ser 4. Si no me crees, inténtalo. (Mejor créeme.)

Precisamente por esto, las computadoras son muy malas generando números aleatorios, porque el azar va en contra de su diseño. Por algo les llaman “ordenadores” y no “traedores del caos”. Sin embargo, el azar es un elemento básico para muchas aplicaciones, principalmente para los juegos. ¿Qué solución usan los programadores para eso?

Ésa es otra gran pregunta, porque la respuesta depende de que tan aleatorio necesites que sea el número. Si quieres producir un número VERDADERAMENTE aleatorio, necesitas utilizar un hardware especial que derive un valor al azar a partir de otro fenómeno físico, como pueden ser la radiación electromagnética, el sonido del viento, o los efectos cuánticos. Y bueno, eso es suponiendo que vivamos en un universo no determinista, un tema que mentes más brillantes que las nuestras han debatido por siglos y que evidentemente no tiene cabida en un artículo de Pokémon.

pidgeotto-azarPero me estoy desviando. El punto es que aunque las computadoras no pueden generar por si solas números verdaderamente aleatorios, sí pueden generar números que cumplan algunas propiedades de aleatoriedad. Es decir, pueden generar números que sean lo SUFICIENTE aleatorios. A eso le llamamos “pseudo-azar”, y para un juego de niños como éste, un número pseudo-aleatorio es todo lo que necesitas.

Los números obtenidos de esta forma toman ventaja del hecho de que somos entidades tridimensionales moviéndonos en una cuarta dimensión. O sea: utilizan el tiempo, o mejor dicho, la fecha y hora actuales, como una “semilla”; un valor de entrada que se le ingresa a un algoritmo (típicamente llamado RNG, por Random-Number Generator) para obtener un resultado.

La desventaja de estos sistemas de pseudo-azar basados en el tiempo, es que si eres capaz de modificar el reloj interno de tu juego de cierta manera, eres capaz de manipular el azar dentro del juego. Y haciendo uso de ciertas técnicas, en varios juegos de Pokémon se han llegado a descubrir exploits para jugar con el RNG y obtener Pokémon shiny o perfectos.

El uso del tiempo como generador del azar también tiene consecuencias interesantes, porque si te pones a pensarlo, si hubieras atacado al Pokémon de tu oponente una fracción de segundo antes, o después, las consecuencias serían muy distintas. A lo mejor hubieras podido hacer ese Critical Hit que tanto necesitabas. Pero quién sabe, a lo mejor simplemente estabas destinado a apretar ese botón en ese momento y lugar preciso. A lo mejor simplemente estabas destinado, desde el momento en que naciste, a perder esa batalla.

Como ves, este es un tema en apariencia muy simple, pero que si te detienes a pensarlo como lo hemos hecho ahora, tiene repercusiones hasta filosóficas. Pero como esas repercusiones son aburridas (al igual que este artículo), tendemos a hacer algo que es más divertido y que los humanos hacemos muy bien: explicarlo con la existencia de seres superiores. Y es así como han nacido dioses gamer como RNGsus, o la entidad celestial conocida por nosotros como Hax, a los que podemos culpar de nuestras injustas derrotas y sentirnos un poquito mejor por ello.

Y es que hay muchas veces, que el término “derrota injusta” se queda corto. Para ser jugador competitivo en Pokémon necesitas ser un buen estratega, tener habilidades de predicción de ataques del oponente, y un conocimiento amplio de 721 personajes y 691 ataques que pueden aprender, para reconocer que amenaza representan. Necesitas tener adaptabilidad al pelear con equipos contra los que podrías ser débil y la inteligencia para armar un equipo que contrarreste la mayoría de esas debilidades, aun sabiendo que es imposible preverlas todas. Necesitas tener pensamiento creativo y saber actuar rápido bajo presión. Debes también dedicar cientos de horas para probar y pulir tus estrategias en combates presenciales y online. Pero aun cumpliendo con todo eso, muy poco puede importar si un día, simplemente, no tienes suerte. Si, sin saberlo, apretaste el botón A en el momento equivocado.

rngsusY cuando eso te pasa, da mucho coraje, y con justa razón. Pero este es el juego que decidiste jugar. Al que le has invertido cientos o miles de horas si cuentas desde la primera vez que tuviste en tus manos uno de esos coloridos cartuchos de Game Boy, cuando eras apenas un bebé. El que te hizo conocer amistades entrañables y vivir experiencias únicas. El juego que adoras como a ninguno cuando tienes la suerte a tu favor, y el que quieres tirar a la basura cuando te pegan cinco golpes críticos seguidos.

Pero la respuesta es sencilla. Si quieres jugar un juego donde lo único que decida tu victoria sea tu habilidad de estratega, y no dejar nada a la suerte, entonces no juegues Pokémon. Desempolva el ajedrez que tienes en tu casa y entrénate para convertirte en el próximo gran maestro.

¿Pero quién necesita eso? Si ya eres un gran maestro. Un gran maestro Pokémon. Y si el único precio que debes pagar por ello es ponerte a merced de la suerte, del destino, o de los dioses del hax, pues, amén.

Conoce al Colaborador

Alan Mandujano Burgos (Ciudad de México, 1985) es Ingeniero en Sistemas egresado del Tecnológico de Monterrey. En 1999 fundó Pokémex, la comunidad Pokémon más importante de Latinoamérica. Actualmente es Senior Solutions Architect en Schlumberger Ltd.

Arte cortesía

Wei Jing

Quirkilicious

Invitados Colaboradores