How complicated is a Pokemon game? You may be surprised.

Hello Nintendo3DSDaily readers, I am new here, and this is my first article! I hope you enjoy my articles, because I work hard writing them!

Anyway, lets get to the question… How complicated is a Pokemon game?

Well, lets look into some of the mechanics, we’ve got:

-Pokemon capturing

-Level systems



Pokemon Capturing

Lets start with the capturing of Pokemon. First we have to think about what happens during catching Pokemon. First, the player throws the ball, catching the Pokemon in the ball, ether permanently, or for a few seconds. Sounds simple right? Yeah, You’d think. So what determines the catch rate? Bulbapedia seems to have an answer:

a = (3 × HPmax – 2 × HPcurrent) × (rate × bonusball) / (3 × HPmax) + bonusstatus

with the final value rounded down to the nearest integer, where

  • HPmax is the number of hit points the Pokémon has at full health,
  • HPcurrent is the number of hit points the Pokémon has at the moment,
  • rate is the catch rate of the Pokémon (which may have been previously modified from the use of the Heavy Ball modifiers),
  • bonusball is the multiplier for the Poké Ball used, and
  • bonusstatus is the multiplier for any status ailment the Pokémon has (10 for sleep and freeze, and 0 otherwise).
    • bonusstatus was intended to equal 5 for paralyze, poison and burn, but due to a glitch, the game accidentally skips this check.

More complicated than it seems. It only gets better.

Level Systems and Stats

Let’s look at the level systems, leveling up, gaining experience, stats, and so on. Again, lets think what happens. Pokemon gain experience based on specific variables, and level up when reaching a certain point.

But what determines when they level up? Or what their stats increase by? Again, Bulbapedia, the best source for Pokemon mechanic information, has more information on the topic. But before we start I want to mention, not all Pokemon level up in the same way. There’s 6 experience types: Slow, Medium Slow, Medium Fast, Fast, Erratic, and Fluctuating.

For now, we’re just going to talk about Medium Slow, and Medium Fast. Let’s start with Medium Fast the easiest one:

Medium Fast:

(Current Level)^3

Yep, it’s just your Pokemon’s level cubed.

Medium Slow:

1.2(Current Level)^3 – 15(Current Level)^2 + 100(Current Level) – 140

This one’s definitely more difficult.

I’d love to write the others, but we’re already reaching the 400 word count, and I don’t want this to stretch too long, but now that we’re done with that, we go on to battles:


So there’s many mechanics with battles, so I’m only going to go over the most common one, damage calculation. But this time we’re getting our example from Dragonfly Cave:

Damage Calculation:

floor(floor(floor(2 * L / 5 + 2) * A * P / D) / 50) + 2

floor() : Means to round up everything within the brackets to the nearest integer.

/ : Means to divide.

The letters stand for the following variables:

L (Level)

P (Base Power)

A (Offensive Stat)

D (Defensive Stat)

Still, pretty complicated, mostly for a game that may seem really simple. I remember playing as a kid, and never would of thought how just leveling up, or hitting the other player could be so complex. Anyway, that’s all we have for now. I hope you liked this article, please tell me your thoughts on how I did on the comments below. Thank you.




Dragonfly Cave


Sort by:   newest | oldest | most voted

Great article! It’s interesting to think of all the things that are happening “under the hood” in a game. Makes you wonder exactly how the developers came up with these formulas i the first place.


Absolutely amazing article! Have to say, Pokemon’s a lot more complex than I ever thought, I never considered any of this stuff back when I played in gen 1 and 2.