[ What Are Genes | Gene Effects | Stat Experience | Gene Origins | Calculating | Shiny Pokémon | Conclusion | Advice | History | Credits | Links ]

Pokémon Genes (DV's) FAQ

All Pokémon Versions

Version 1.42  ©2001-2 Phil Erwin
Created: 9/1/2001 Last Updated: 2/21/2003

This document describes in detail the many aspects of the inner workings of Pokémon genes. Specifically, it will cover:

Some of the information provided is somewhat convoluted, including several not-so-simple equations, so plenty of examples have been furnished for clarification. If you need help with binary conversions, check out the Binary Primer.

What Are Pokémon Genes?

Pikachu wearing bluejeansGood Pokémon genes are hard to find because of the irregular fitting requirements. Levi 550 Loose-Fits are a good first choice because of flexibility and comfort, but Wrangler is good too. Oh-wait a minute-not those kind of genes!

That was my obligatory groaner, I just thought I'd get it out of the way sooner rather than later.

Every Pokémon has a set of genes that are hidden to the player. There is a different gene for Attack, Defense, Special, and Speed. It is these genes that make all Pokémon unique.

Each gene is simply a number from 0 to 15, which is 0 to F in hexadecimal. For those of you who have studied computers and math, this represents half of a byte or a nibble. A gene of 0 is the worst and 15 is the best.

Both Special Attack and Special Defense share a single gene, the Special gene. This was a backward-compatibility-issue because in the Red/Blue/Yellow versions there was only a Special stat. When Gold/Silver/Crystal came out, they split Special into Special Attack and Special Defense but they use the same gene.

Genes never change; they are permanent characteristics of your Pokémon. Other things like stats, level, and moves may change-but never genes.

Pokémon genes are also commonly referred to as "DV's" which can stand for Deter Value, Diffraction Value, or Diversion Value. They may also be called "IV's" which stands for Individual Values. These terms may be used interchangeably in this document.

How Do Genes Affect My Pokémon?

A Pokémon's genes control how high each stat may ultimately get. Their effect is usually relatively insignificant, but Pokémaniacs are always looking to reach the pinnacle of abilities.

Simply put, each DV point equals two stat points. Therefore the range for each stat will vary for each Pokémon a total of 30 points. This doesn't sound like much and it isn't-unless the stat's maximum isn't that high to begin with. For example, a Blissey may only reach an Attack as high as 118. If it had a DV of 0, it would only be able to reach 88, a difference of 25%!

Genes, combined with Stat Experience and Level, determines what the stats of the Pokémon are at any given moment.

What is Stat Experience?

As a Pokémon fights and wins battles, it accumulates Stat Experience. This is another attribute that, like DV's, are hidden to the player. Health, Attack, Defense, Special, and Speed each have their own SE accumulator. The more powerful the opponent the more SE is given in any encounter. The amount of Stat Experience bestowed when a battle is won is equal to the opponents Base Stat.

Stat Experience boosts their respective stat. The higher SE and the higher the level, the higher its associated stat boost will be. Each SE value is a 16-bit number which ranges from 0 (0000 hex) to 65,535 (FFFF hex). A SE of 0 contributes nothing to it's respective ability, but a topped-out SE of FFFF will boost it's respective ability up by 63 points (at level 100). These are referred to as Stat Points (SP).

With only one exception, a Pokémon begins its journey with you starting with zero (0) Stat Experience. This includes both captured wild Pokémon (one that you encounter in the world) or a hatched 5th-level Pokémon. The exception to this rule is a Pokémon that you receive through a trade; such a Pokémon retains its existing Stat Experience.

CalculatorYou can calculate your Stat Experience SE for any Pokémon level if you happen to know its SP (this number is hidden and not visible to the player). Apply this formula:

SE = (400xSP/Level)^2

You may also rearrange the formula to solve for additional Stat Points if you know your Stat Experience. (This would seem to me to be the more useful of the two.)

SP = Level x sqrt(SE) / 400

Any decimal portion of SP that exists is stripped away. So even at level 100 with a maximum Stat Experience (65,535), which equals 63.99951171689 Stat Points, SP becomes 63.

Therefore, to find the minimum SE that will yield that maximum SP, we use the SE formula and discover that 63,504 SE will yield 63 points (at level 100). Any Stat XP higher than 63,504 does not provide any higher stats.

Note: Notice from the above equation that Stat Points are dependant on both Level and Stat Experience. So, for example, say your Pokémon had 25,000 SE points. At level 10 this would only mean a boost of 3 points, but at level 50 this same SE would cause a rise of 19 points! What this means is, your SE at low levels doesn't really affect your stats much, but when you start getting into high levels, it becomes much more significant.

Note: I should mention that the Stat Experience formula as originally provided to me is shown below. I believe strongly that this formula is erroneous, and I'll describe why.
From a computer programming standpoint, including Pokémon video games, overly complicated equations are avoided unless necessary. The equations below are needlessly complex. Barring evidence otherwise, the formula used in the game is probably simple, like the one shown above which I believe is the formula actually used in the game. However, I feel compelled to provide the equations as given to me (reduced to simplified form) and to describe my thoughts on the matter. If I actually prove this with playtesting, I will provide the details here.
SE = 64x(50xSP/Level)^2 - 16x(50xSP/Level) + 2
SP = (Level x ((1/8) + ((SE - 3)/64)^1/2)) / 50
The source also goes on to say that SE reaches a maximum of only 65,025 (FFxFF) which is illogical. FFxFF does indeed translate to 65,025 decimal (FE01 in hex), but what whoever authored this means is it has a range of 0000 to FFFF (hex).

Rare Candies

Rare Candy are items that may be found in any of the Pokémon games. When given to a Pokémon, the item raises it to the beginning of the next level.

What is not obvious, however, is that the Pokémon's internal Stat Experience is left unchanged. Consequently, its stats will not rise quite as high with the level advance. This is why you should avoid using Rare Candy if at all possible. If you do use Rare Candies, however, have no fear–your Pokémon is not "irreversibly damaged". There is a trick to make the game continue to raise your stats to their ultimate maximum.

The Box Trick

The evolution of the Box Trick stems from the following problem: Lets say you have levelled up your Pokémon rather quickly by battling lots of high-level opponents. You have now reached level 100, aren't gaining any more experience points, and can't gain any more levels. However, because you levelled your Pokémon up rapidly, it hasn't reached it's maximum Stat Experience (which, if you recall, is a hidden variable that you can't see). If you haven't reached the maximum Stat XP level of 65,535 points, then your ability scores aren't quite as high as they're going to eventually get to. But there's the problem: if you can't gain any more levels, how can your ability scores go up any more? The only time they go up is when you gain a level, right? What to do, what to do?

As you may have guessed, there is a simple solution. The answer is that there is another way, besides gaining a level, of the game recalculating your Pokémon's stats. Simply store your Pokémon in the Bills's PC and remove it again.

Why does this work? When you retrieve your Pokémon from Bill's PC, the game recalculates all its stats, which factors in the Stat Experience. Do this as often as you wish. You'll know when you've reached maximum SE when your stats don't rise any higher.

Vitamins

VitaminsVitamins may be purchased in various places of the game-Celadon City for example-for 9800 each. They're not cheap. When used by a Pokémon they will raise Health (HP Up), Attack (Protein), Defense (Iron), Speed (Carbos) or Special (Calcium). You can only use them up to a certain point before you will get the message "It won't have any effect."

Vitamins do not boost stats in a direct fashion, but the result appears the same. Vitamins bestow 2,550 Stat Experience points to its respective ability, and it is this increase in SE that causes the ability to rise. Vitamins may be used when the SE is less than or equal to 25,500. This is why they may be used only up to ten times for each stat.

Using Vitamins is a good idea, especially as early as possible, if you have the extra money to spare. They let you get a head start on maxing out your SE. If, however, you are planning on calculating your genes, using Vitamins can foul up your results.

Day Care

In G/S/C, you can place up to two Pokémon in Day Care. Every step you take will add 1 experience point to it/them. In this way, you can level up Pokémon quickly while moving about doing other things in the game.

However, Stat Experience is not gained while in Day Care. Excessive use of Day Care will almost guarantee that you'll need to use the Box Trick to get your stats where they should be when you finally reach level 100.

There are some important side-effects of Day Care. If you're not watchful, your Pokémon can and will change.

Where Do Genes Come From?

Pokémon that are captured from the wild have randomly generated genes. If, however, you are playing Gold/Silver/Crystal and are using Day Care to breed Pokémon, then the baby Pokémon's genes come from a combination of the parents and randomness that we might refer to as Fate.

There are factors controlling which parent will contribute to their offspring. If neither parent is a Ditto, the baby will inherit the genes from the parent of opposite gender from the baby. Therefore, boy babies get their genes from the Mother and girl babies inherit from their Father.

If one of the parents is a Ditto, however, the baby will always get its genes from the Ditto.

Table 1: Where Genes Are Inherited From

Mother

Father

Baby's Gender

Genes Inherited From

Female, non-Ditto

Male, non-Ditto

Male

Mother

Female

Father

Female, non-Ditto

Ditto

Male or Female

Ditto

Ditto

Male, non-Ditto

Male or Female

Ditto

Genderless

Ditto

Genderless

Ditto

The genes of the baby are not simply copied directly from the lucky parent. The parent only contributes its Defense and a tweaked Special gene. The baby's Attack and Speed are random.

Table 2: Gene Values

Gene

Source

Attack

Random number between 0 and 15

Defense

Parents Defense gene

Speed

Random number between 0 and 15

Special

Parents Special gene. Sometimes the high-bit is inverted. This means if the parents gene is 0-7 then add 8. If the parents gene is 8-15, subtract 8. Whether the high-bit is inverted is random; it appears to happen 50% of the time

ExampleBob the Bulbasaur and Glenda the Gloom are the proud parents of a baby boy Oddish named Oswald. Being a boy, Oswald inherited his genes from Mom. His Defense gene is exactly the same as Glendas. Glendas Special Gene is 4, so Oswald's Special gene will either be 4 or 12 (4+8). His Attack and Speed gene were randomly chosen, and he got 14 and 11 respectively.

How Do I Calculate Genes?

As stated before, Pokémon genes range between 0 (the worst) to 15 (the best). Each gene for Attack, Defense, Special, and Speed has it's own individual value. Health has a gene too but is derived from the other four genes.

Every trainer would want to know its Pokémon's stats immediately so it knows what it's potential is. Fortunately, the formula for calculating stats is fairly straight-forward.

There are two formulas for calculating stats. One is for Health, the other is for the rest of the stats (Attack, Defense, Special, and Speed). Both formulas require that you know the Base Stats of your Pokémon.

Base Stats

Base Stats are unchanging numbers (constants) associated with each stat of every type of Pokémon. A Base Stat has a range of 0 to 255 (00 to FF hex). A Base Stat of 0 is very bad and indicates poor ability, while 255 indicates immense capacity. Base Stats do not change from Pokémon to Pokémon of the same type, they are the archetype of each variety. You can find out the Base Stats of your Pokémon here.

Base Stats directly control a Pokémon's stats. For example, a Chansey has a Health BS of 255 (the highest), but a Defense gene of only 5 (the lowest).

When a Pokémon has a battle and wins, it receives Stat Experience equal to the Base Stats of the opponent Pokémon. This added SE is irrespective to the opponents level. A Level 5 Zubat gives the same SE as a Level 68 Zubat.

Equations

The equation for calculating the Health of a wild Pokémon (one that has never participated in a single battle nor had any Vitamins) is:

Health = Level x ((Base Health + DV + 50)/50) + 10

The formula for calculating Attack, Defense, Special, or Speed is:

Stat = (Level x ((Base Stat + DV) / 50)) + 5

Note: These formulas may also be used to calculate "Max Stats" if so desired. Simply use Level=100, DV=15, and the appropriate Base Stat. This represents the absolute highest the stat can ever be for that Pokémon type.

For wild Pokémon (that, by definition, have zero Stat Experience), you can calculate your DV's since you know your stat, level, and Base Stat. Rearranging the formulas, you have:

DV(health) = (50x(Health-10)/Level) - Base Stat(health)-50 or DV(others)=(50x(Stat-5)/Level) - Base Stat

One limitation, though, with using these formulas, is resolution. When Pokémon levels are low (between 5 and, ahem, 50), a difference of 1 in stats can indicate a range of possible DV values! This occurs because your Pokémon stats are integers (numbers without a decimal part). So an Attack of 12, for example, can be anywhere from 12.0000 to 12.99999 for the purposes of the equation and can make a serious difference in the calculated DV. In fact, the math guarantees that at level 5 the possible DV's have a range of 9 (i.e. ± 4˝). It won't become a precise answer until level 50 and beyond.

ExampleYou capture a level 12 wild Rattata who has a Health of 32, Attack of 21, Defense of 14, Special Attack of 15, Special Defense of 15, and Speed of 25.

Ability

Stat Base
Stat
DV
Low High Actual

Health
Attack
Defense
S.Attack
S. Defense
Speed

30
20
13
14
14
24
30
56
35
25
35
72

3
6
-2
12
1
7

7
10
2
16
2
11

5
9
1
14
6
10

The Base Stats are obtained for a wild Rattata and entered for each stat. When we calculate the low DV value for Health (30.00000), we get 3. The high DV value for Health (30.99999) comes out to be 7.

So which is it, 3 or 7? The answer is: there is no way of knowing at level 12. The resolution of the answer can only predict a range of solutions, in this case between 3 and 7. This is because the difference between 30 and 30.999 is numerically significant, whereas if the Rattata was at level 50 and had a Health of 105, the difference between 105 and 105.999 is less important.

Of course there are some circumstances that help. For example, observe that the Defense DV calculates to between -2 and 2. We know that a DV has a range of 0 to 15, so we know that the Defense DV is actually between 0 and 2.

Health Gene

Table 3: Decimal, Hex, and Binary Equivalents

Decimal

Hex

Binary

0

0

0000

1 1 0001
2 2 0010
3 3 0011
4 4 0100
5 5 0101
6 6 0110
7 7 0111
8 8 1000
9 9 1001
10 A 1010
11 B 1011
12 C 1100
13 D 1101
14 E 1110
15 F 1111

As stated before, Health doesn't have an individual gene itself but is derived from the other four. To calculate it, you must first know the Attack, Defense, Speed, and Special genes.

The Health gene consists of taking the least significant bit (LSB, the rightmost bit) of each stat in this order: Attack, Defense, Speed, Special. The table at right shows the conversions from binary to either hexadecimal or binary.