Poké-rant
I had what I thought to be an excellent idea for an application. One which thousands of people might find useful. But due to the strange way type-based advantages were implemented in Pokémon Go, the idea is futile. And so I’m peeved.
Normally in Pokémon games, creatures (and their attack moves) have types. Different types are effective against certain things, and ineffective against other things. For instance, water is generally 2.0x effective against fire-type enemies, but 0.5x effective against grass-type enemies, whereas electricity is 2x effective against water-type. And then there’s immunities: flying are immune to ground-type attacks, for instance.
I’d wanted to create an application which would keep track of a user’s Pokémon, their various types and moves, and then help them strategize how to attack an enemy gym. You’d input the gym’s defenders, it would determine their types, and output a list of which of a user’s Pokémon would be most effective against each defender. It eventually would even have given the user a percentage chance that the defending Pokémon had moves which would be effective or ineffective against your Pokémon, and thus an added probability of effectiveness.
But then Niantic had to go and diverge from the basis of every single Pokémon game ever. Instead of effective attacks being 2.0x the damage, they’re 1.2x, whereas ineffective are 0.8x. Immunities don’t exist. And to make things more unreasonable, these multipliers play almost no role in how effective a Pokémon is at attacking and defending: what matters is their move-set (which moves they spawned with) and how fast their attacks are, all of which plays far more into their DPS (damage per second) than does type effectiveness or even their attack power.
It’s… frustrating. It seems a very strange, un-nuanced approach. But worse, my super-cool idea is rendered useless. Neutered. I’m hopeful that at some point, they’ll modify battle mechanics so that type effectiveness plays a more significant role, at which point I’ll disinter my project and bring it back to life.
It was fun creating though. Coming up with the domain model of Pokémon, Moves, Types etc., was far more involved and complex than I’d expected. Plus, creating all the data to seed the project with was exceedingly tricky. Then figuring out how to represent a user’s individual Pokémon, as distinct from the base ones which they would be essentially a copy of (because each Pokémon can have several potential moves, but an actual user’s Pokémon only has two, a quick move and a special move).
Lots of surprisingly involved logic, and a lot of fun to make and test. Plus, figuring out the logic of advantages, as well as how to present it to the user in a meaningful, understandable way.
Hopefully I’ll be able to resurrect this and turn it into something more than a fun experiment. Niantic! Get crackin’!