Week 3: Making Generalizations
April 19, 2024
Howdy! This week, I switched focus from work to doing research in order to determine the best progression for my project. In short, I need some method of pattern recognition by sorting through condensed battle replay logs (aka text file play-by-plays automatically generated from a battle). In their rawest forms, these logs give very specific details needed to understand every movement in battle on the surface, but it’s too general to really create a good model out of. The sheer variety of Pokémon and “builds” (different customizations for them so that they can specialize in different attacks or niches) is too much fine detail. So instead, my mission right now is also to build code that can categorize the Pokémon and their actions into archetypes.
Fig. 1: Raw data for Flutter Mane‘s usage in the January 2024 Doubles OU (rank ≥1825) snapshot. Source: https://www.smogon.com/stats/2023-11/moveset/gen9doublesou-1825.txt
Archetypes
Another recently-introduced Pokémon currently dominating the metagame is Flutter Mane: a strong special attacker that almost always goes first thanks to its massive speed stat, and with an excellent typing (both offensively and defensively) to boot – Fairy and Ghost. Two of its most common moves are Shadow Ball and Moonblast, both strong “special attacks” (as opposed to physical). But these attributes can be abstracted to determine general trends. Say, instead, we have a strong special attacker (spatk) with high speed (spd) and a good defensive + offensive typing, and it uses special attacks with base power ≥80. With these generalized attributes, it’s easy to see a stronger trend in usage for Pokémon similar to Flutter Mane – occupying the same “niche”.
Fig. 2: Graphic of Flutter Mane using Moonblast and Shadow Ball, both strong special attacks with great offensive coverave and STAB (Same Type Attack Bonus).
Academic Advisory
Part one of the long term plan therefore is just to come up with some automatic way of categorizing the Pokémon and actions used in a battle replay log. This simplifies the data I’ll be working with into broad groups that a user can fall into, and broad groups for their actions. But this is the easy part. How I string together these actions is still the meat of this project, and that’s what I’m having trouble with. I reached out to Professor Steven Strogatz of Cornell University, the host of the Strogatz Prize which I won 1st place in last year, asking about methods for pattern analysis. Unfortunately, he was too busy to provide any direct help, but he referred me to his former student Professor Daniel Abrams at Northwestern University (my to-be alma mater!). Emailing Prof. Abrams, he agreed to meet with me when I go to visit the campus for admitted students day on April 12th. Both professors’ work in network theory seem promising as potential project pathways.
Fig. 3: My first-place award-winning piece, The Face Field, from the 2023 Strogatz Prize.
Fig. 4: Graphic depicting an example network, with clusters of vertices. Source: https://www.complexityexplorer.org/explore/glossary/320-small-world-network
I’m eagerly awaiting my next steps in this project! I haven’t gained much traction yet, but I’ll soon be picking up steam. Até mais!
Alex R.
Reader Interactions
Comments
Leave a Reply
You must be logged in to post a comment.
Samantha G. says
Alex, this sounds fascinating! Although I am not very familiar with the world of Pokémon, I think this work sounds incredibly intriguing, and I love how your knowledge of programming and data mining overlaps with your passion for Pokémon. I think it is great that you are looking into what is currently successful in order to help with your research. Examining Flutter Mane and similarly strong attackers will be especially helpful if you are still aiming to make your own Pokémon as you mentioned in your first blog post. Also, what a coincidence that you were referred to a Northwestern professor! I am looking forward to hearing how that meeting went.