Un colega que también tenia un plan ambicioso.

Si has seguido este blog desde hace tiempo, sabes que Pokémon Go ha sido un tema recurrente desde sus inicios. Le dedicamos una entrada cuando el juego llevaba menos de un mes, analizamos lo bueno y lo malo, y todo lo que prometía. Desde entonces, hemos documentado cada mejora relevante:

  • En 2017 llegaron las incursiones.
  • En 2018, las hoy extintas incursiones EX, que nos reunían en grandes grupos para cazar Pokémon excepcionalmente raros.
  • Más adelante, las Rutas, que retomaron el espíritu original del juego: salir a caminar, descubrir rincones, recorrer la ciudad.
  • Y este año, el Safari de Ciudad en Santiago demostró que el interés por el juego sigue vivo.
  • Finalmente, hace poco mejoraron el sistema de incursiones con un planificador integrado que facilita mucho la experiencia grupal.

Pero hubo una actualización que me hizo cambiar el chip por completo: la nueva Pokédex:

Una Pokédex más completa, un desafío más ambicioso

Hace poco, Pokémon Go actualizó su Pokédex para mostrar mucho más que simplemente si has atrapado un Pokémon. Antes solo mostraba un cambio de color si uno lo tenía con suerte. Ahora distingue entre:

  • Pokémon atrapados y no atrapados,
  • Sus versiones macho/hembra,
  • Variocolor (o shiny),
  • Con IV perfectos (100%),
  • Con suerte,
  • Y en tamaños extremos: XXS y XXL.

Y al ver todo eso junto, me hice la gran pregunta: ¿Qué pasaría si intento completarlo todo?

Hasta ese momento, nunca me lo había planteado como una meta alcanzable, porque no había una forma clara de visualizar el progreso real. Pero con la nueva Pokédex, decidí que podía atacarlo como un problema de ingeniería.

Paso 1: Construir la base de datos

La parte más tediosa fue esta: trasladar toda la información desde el juego a una tabla de Excel/Google Sheets, con casillas de verificación para cada variante por Pokémon. Sí, cada uno. Sí, a mano.

Pensé en grabar un video recorriendo mi Pokédex y usar algún sistema de detección para automatizarlo, pero entre calibrar eso, programar el reconocimiento y revisar errores… quizás me habría tomado incluso más tiempo. Así que opté por el método clásico: paciencia y click.

Paso 2: Automatizar las búsquedas

Con la base de datos ya armada, el siguiente problema era evidente: revisarla manualmente es un suplicio. ¿Tengo al Swablu shiny? ¿Y el de tamaño XXL? ¿Y si es hembra? ¿con IV perfectos?

Así que conecté la hoja a un App Script que permite realizar consultas desde una web, usando funciones tipo GET y POST. Lo integré a mi página personal, y ahora puedo hacer búsquedas simples del tipo:

“¿Tengo esta versión de este Pokémon?”

Y voilà. El resultado aparece de inmediato.

Paso 3: Mantenimiento y visualización del progreso

Ya con todo funcionando, lo que me faltaba era una forma de ver el progreso sin tener que revisar fila por fila. Así que le añadí unas funciones para resumir cuántos Pokémon tengo “listos”, cuántos faltan por categoría, y en qué me conviene enfocarme. Básicamente, una especie de dashboard para la cacería.

¿Y por qué cuento todo esto?

Porque aunque todo este esfuerzo fue por algo “inútil” como saber si tengo un Gastly con suerte o variocolor o XXL, el sistema que construí es totalmente adaptable para tareas mucho más importantes.
Organización de inventarios, control de versiones, seguimiento de tareas complejas… cualquier situación donde una hoja de cálculo sea insufrible sin una interfaz decente.

Hasta ahora llevo 59 Pokémon “listos”: es decir, que tengo al menos todas sus versiones especiales. ¿Suena a que no voy a terminar nunca? Absolutamente. ¿Me importa? Para nada.


¡Estoy demasiado ocupado celebrando que conseguí un Mienfoo con IV perfectos! (Y poniéndole un nombre exquisitamente ridículo pero ad-hoc)

Y tú, ¿qué meta absurda (o brillantemente innecesaria) te está esperando para empezar? A veces, perseguir un objetivo aparentemente trivial es el mejor pretexto para crear una herramienta útil.

Adelante estudios.

Agregar un comentario

Tu dirección de correo electrónico no será publicada. Los campos requeridos están marcados *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.