Sponsored By

Featured Blog | This community-written post highlights the best of what the game industry has to offer. Read more like it on the Game Developer Blogs.

Fixing Pokemon

I’ve played the Pokemon series for years, but I'm bored with it - the core systems rely on too much grind, too little skill. Here's how Nintendo can fix the core gameplay by using a few of the techniques that we developed for the Halo AI.

Hardy LeBel, Blogger

December 22, 2014

20 Min Read

I’ve played the Pokemon series for years.

I started with the original Pokemon Red on the old black and white GameBoy handheld. Time and again I’ve battled my way across distant regions, made my way down Victory Road, become the new Champion of the Pokemon League and saved the world from rampaging Legendary Pokemon that were released by misguided villainous organizations.

I have caught ‘em all.

But I have no plans to play the new version Omega Ruby and Alpha Sapphire, because the game isn't challenging enough.


The sequence of play in Pokemon is always the same:

  • Enter a new region

  • Figure out what Type gives me advantage against the gym

  • Grind a Pokemon of that Type until it's at least ten levels higher than the ones in the gym

  • Beat the gym leader

  • Repeat

The thing that frustrates me the most is that the core of the Pokemon games is a robust turn-based combat system. It’s designed so that many things could affect the outcome of a battle: the level of the participants, how their Types stack up against each other, which moves they use, debilitating or enhancing status effects, trainer items, timely swapping of Pokemon in and out of the fight… all of them could be critical to successfully winning a Pokemon battle. But new Pokemon releases add flashy features like Mega Evolution or improved graphics while the underlying game systems remain stagnant or worse; entirely broken.

Two factors impact the single-player game: the levels of the monsters in a battle and type advantage. The rest of the features described above only matter in about 1% of the battles that you fight. There is depth and breadth to the combat system, but the computer opponent doesn’t know anything about them. Enemies do not use the combat mechanics of the game against me, or force me to use them to win fights.

I’ve refined my Pokemon tactics to this battle-tested sequence:

  • I set my party order so that my lead Pokemon has a move that will leave my target helpless to attack me back. Even Sleep, Paralysis… even Fly*.

  • As I enter combat, I use that move.

  • Once my “setup Pokemon” lands their move, I swap to a damage type and blast my helpless foe into oblivion. And as I mentioned before, if my damage dealer can attack using a Type advantage, I’ll do that.

* Yes, I know Fly does not cause a Status effect. Thanks!

Unfortunately, that’s all I need to do to win every fight. If I’m looking to capture my target I land my Status move and swap to a damage dealer that knows the move False Swipe, hit ‘em until they are at 1 hp and start throwing Pokeballs. And if my enemy happens to wake up, I switch back to my “stunner” and repeat.

The fact that this strategy always works is an insult to me as a player. It feels like the franchise designers have lost the courage to refine their underlying game systems. Instead of fixing and refining the core game play, new versions of the game just jam new Pokemon into the same “catch ‘em all” metagame, all layered over a tedious level grind.

The problem is in the moves that enemy Pokemon select.

In almost every fight, enemy moves are just selected randomly. This is best demonstrated by Pokemon like Driftblim or Pelliper that have one move that allows them to store up stacking bonuses, and then another move that uses up all the stacked bonuses in an attack. I wish I had a quarter for every time a Driftblim tried to use their Spit Up move against me without first using the move Stockpile. They try over and over, repeatedly getting a “move failed” result while I pound them into unconsciousness (or capture them). I’d have so many quarters that I’d have enough money to pay for the new release of the game!

But the “stacking moves” Pokemon are just one example: I’ve also seen enemies repeatedly try moves against me that have no effect because of my characters’ immunities, or they’ll try to use Status Effect moves over and over that don’t stack, like multiple Sleep moves in a row. The reverse case is more rare, but it’s also true. I have encountered fights early in the game where an enemy Pokemon repeatedly uses the same Defense Lowering status move over and over, and then hits me with an attack that I have no chance of defending against.

All of these are symptoms of the same problem in the core mechanics of the game: that enemy move-selection is random.

New Pokemon games are always big sellers, and if I was a big shot Nintendo executive I might be very risk-averse to major changes in one of our most successful franchises. You might come to the conclusion that adjusting the core mechanics of the game would make it more difficult. And in the minds of business people, difficult often means less accessible, which can translate to less sales. But ironically Nintendo’s typical approach to game development is the exact opposite. Consider the Mario series of games; the transition from 2D to 3D was an amazing developmental leap, and filled with risk. And later on, the evolution of the Mario: Galaxy games continued to push every aspect of that franchise forward including the technical boundaries, controls, interface, level design and game design. That willingness to experiment and refine is one of Nintendo’s greatest strengths – their business model is almost entirely based on their ability to continually re-invent and refine their own franchises. Perhaps the Pokemon series is different because it’s made “out of house”, out from under Sensei Miyamoto’s watchful eye and guiding hand. But whatever the reason, the gameplay is stalled.

I love the Pokemon franchise, and I believe that there is an audience of players that would relish changes to the core mechanics to help revitalize the game and put an end to the same old, repetitive grind.

I call the fix Master Mode.

All Nintendo would need to do is develop some features that would give their game designers some simple tools to “weight” the Attack moves in a Pokemon’s move set, and attach cooldown timers to them as well.

This is a simple fix, and this kind of technique - allowing designers to author a combat behavior table is quite common in AI design. Bungie used a similar system as the basis for the enemy AI in the game Oni, and later on a similar system formed the basis of the AI in the Halo series of games.

For our example case, consider a basic Pokemon; the Rattata.


Let’s assume that she has the four basic starting moves in her move set:

  • Tackle

  • Tail Whip

  • Quick Attack

  • Focus Energy

In the current game this Pokemon would randomly pick from one of it’s four moves on each turn. Since the choices are random, they only occasionally fall into a sequence that makes any sense. But all you would have to do is develop a simple system to allow their game designers to assign some simple rules to the moves.

For example:

  • Tackle (use only after Tail Whip)

  • Tail Whip (do not use if Focus Energy was used)

  • Quick Attack (use twice after Focus Energy was used)

  • Focus Energy (do not use if Tail Whip was used)

Using the rules above, our new and improved Ratatta would either use their Tail Whip move followed by Tackle, or else they would use Focus Energy followed by two Quick Attack moves. Either of those sequences would make the enemy Pokemon feel more intelligent, and therefore more exciting to fight.

Players would eventually learn to recognize those attack patterns and react to them. For example during the Focus Energy/Quick Attack x2 sequence, the safest time for the player to attempt a counter-attack would be during the Rattata’s Focus Energy move. If a player was facing the repeating Tail Whip/Tackle sequence they would have to interrupt the Rattata at some point before too many of the debuff moves stacked up, making it impossible to block the Tackle. Both of those outcomes make each Ratatta fight much more interesting and therefore more meaningful and memorable to the player.

If you wanted to make the model even more sophisticated, you could assign weights to particular move sets, creating a “combo chart” which might look something like this:

  • Tackle Combo 70%

    • Tail Whip

    • Tackle

    • –complete-

  • Quick Attack Combo 25%

    • Focus Energy

    • Quick Attack

    • Quick Attack

    • –complete-

  • Flee 5%

    • Only available if less than 10% health, otherwise: roll again

    • –complete-

In this structure, the enemy AI would randomly select a combo package of moves from the chart based on probability. Once that combo had been executed the system would be free to choose again from the list.

The gamplay changes a lot with the full “chart”. Based on the percentages Rattata (Rattatas? What is the plural here?) would most commonly use their Tail Whip / Tackle combo. But with the right sequence of random rolls, a Ratatta could bust out repeated Focus Energy / Quick Attack x2 combos and prove to be a very fierce enemy indeed!

That gives me an idea: you could tie the Nature of the Pokemon to the weighting of certain combos. It would be fascinating to see Pokemon with different natures fight differently in the wild!

To make the “combo chart” system more robust, cool-downs could be attached to the combo data. Cool-downs would limit how often a Pokemon was able to re-select one particular option off the combo chart.

Pokemon Hiker

Enemy Trainers are even more guilty of being brain-dead. Only the Elite Four and the League Champion will recall their “signature” Pokemon and gym leaders will use a Full Heal if their main Pokemon drops below 20% health but for the most part my battles are all against robotic, random and generally brain-dead enemies. They don’t switch Pokemon to achieve a type advantage over the enemy or recall weakened Pokemon out of battle, and only a very few use Healing items. None of them use battle items or status cures.

But by switching to the Move Table format, trainers could have weighted combat moves as well.

For example:


  • Use Healing Item (active Pokemon)

  • Use Healing Item (reserve Pokemon)

  • Use Status Item (active Pokemon)

  • Use Status Item (reserve Pokemon)

  • Use Battle Item

  • Recall Pokemon

  • Swap for Type Advantage

If there were some simple conditions that designers could set on those options, you could create a wild variety of trainer battles just by adjusting the enemy inventory and their available Pokemon.

Consider this example:

Handsome Hiker

This fellow looks a lot like a famous game-design blogger!                                                         _

Move Name




Heal (active Pkmn)


Health <30


Heal (reserve Pkmn)


Health < 30


Heal (reserve Pkmn)


Health < 100


Cure (active Pkmn)




Cure (reserve Pkmn)


Status Con


Use Battle Item






Health <30


Swap/Type Advantage




A setup like this would make our Handsome Hiker very likely to pull hurt Pokemon out of a fight and use healing items on them. He might try and use a healing item on his active Pokemon, but he wouldn’t use Battle Items at all, nor would he swap to try and gain a Type advantage.

* To maintain control over game balance, instead of a Cooldown value I would let that value control the maximum number of times that an enemy trainer was ever allowed to use a particular trainer move. So in the example above, the Handsome Hiker could potentially recall and heal hurt Pokemon 3 times, but no more than that. Putting a hard cap on the moves would eliminate the need to create an “inventory” for enemy Trainers. Instead, the combat system would actually just simulate the various effects (healing, status cures etc), making it simpler to manage the content.

There is other stuff to figure out, like arranging the data around archetypes, parents and children so that the designers can more easily control the overall game balance. There’s also the matter of testing: creating emergent systems based around probabilities like this means that you have to have data designers that are good at adjusting probability-based systems to make them really sing.

I would set up the tutorial so that the player can choose to play in Master Mode at the start of the game. It could then be disabled or re-enabled in the options menu, preserving the broken but comfortable mechanics of the game as it exists now.

I’m utterly convinced that these changes would elevate the core gameplay in Pokemon above a repetitive grind and help propel the franchise to new heights.

Master Mode.

How about it, Nintendo?



If you made it this far, please come and check out my website: www.hardylebel.com

Note: Everything that belongs to Nintendo is copyright Nintendo. The rest is all me.

Read more about:

Featured Blogs

About the Author(s)

Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like