Our 2014 Christmas Contests have begun! Check the Bulbagarden Forums to find out how you could win 1 of 30 copies of ORAS!
Please remember to follow the manual of style and code of conduct at all times.
Check BNN and Bulbanews for up-to-date Pokémon news and discuss it on the forums or in our IRC channel #bulbagarden on irc.systemnet.info.

Talk:Experience

From Bulbapedia, the community-driven Pokémon encyclopedia.
Jump to: navigation, search

The erratic formula

Erratic (600000) E = -1/50*l^4 + 2*l^3 for level<=50

http://www.math.miami.edu/~jam/azure/forum/tuff/ultimatebb.php?ubb=get_topic;f=1;t=001260

It's mentioned in the thread that level 45 does not work for that. Level 45 is 100273, not 100237. Sheep 16:42, 21 Feb 2005 (UTC)

Nevermind the previous message, I figured it out myself. Sheep 18:09, 21 Feb 2005 (UTC)

Simplify the formulas

Was that copied from matlab or something? It can be simplified...

((0.814 - 0.02*(((n - 69) / 3) - (((n - 69) / 3) modulo 1)) - ep(((n - 69) modulo 3))(n^3)

((0.814 - 0.02*(((n - 69) / 3) - float_part((n - 69) / 3) ) - ep(((n - 69) modulo 3))(n^3)
((0.814 - 0.02*( int((n - 69) / 3) ) - ep(((n - 69) modulo 3))(n^3)
((0.814 - 0.02*( int(n/3 - 23) ) - ep(((n - 69) modulo 3))(n^3)
((0.814 + 0.46 - 0.02*( int(n/3) ) - ep(((n - 69) modulo 3))(n^3)

int(  (  1.274 - 0.02*(int(n/3)) - ep(n%3)  ) * (n^3)  )
That would be easier to read.
2*(1 - 0.01n)*(n3)
= int( 2n3 - 0.02n4 )
(  1 - ((n - 50)*0.01)  ) * (n^3)
= int( 1.5n3 - 0.01n4 )
(1.6 - 0.01n) * (n3)
= int( 1.6n3 - 0.01n4 )


Qgpr03:05, 01 Mar 2005

I really want to avoid using expressions that are not standard math notation. I don't even know if there's a way to represent some integer rounding using standard math notation, just some pseudo-code, that's why I stuck mod 1 subtraction in there. My plan was to simplify/clean it up once TeX was implemented on bulbapedia.

In the meanwhile you can simplify them. Just keep "mod" or "modulo" instead of "%" and avoid "int()." Sheep 20:20, 1 Mar 2005 (UTC)


The big problem is that when I first read that I got confused. No person that would bother to understand that formula wouldn't know how to program anyways, to represent that rounding you use ||x|| I think, maximum integer, unless I got the symbol wrong, long time I don't touch math. I'll leave that formula but also add the simplification for anyone that wants someting simplier to read. I will also simplify your standard math formulas, but won't add the ||x|| because I am not sure if its the right symbol, those - 69 can be taken out of modulo since they will be equal to zero. Qgpr 20:03, 5 Mar 2005 (GMT-5)

|x| is modulus - gives the absolute value of function, i.e. |-0.5| = 0.5. Modulo is simply represented as mod in mathematics. Anyway, while we do not have TeX at the moment, you can try this instead - leave the original math formula as a <!-- COMMENT -->, and copy the image from Wikipedia (it will generate the image on preview, so you can download that and reupload it here. Don't overdo it of course.)
||x|| ( double | ) is what I was taught here at college, but I guess is not an standard, however I found what it seems is the standard, and used the UTF code to show it. However <*pre> is not happy with <*sub>, you should find a way around because mine doesn't look that good. By the way it was "greatest integer" not maximum, problems for using a direct translation. Qgpr 22:16, 5 Mar 2005 (GMT-5)

First shot at a TeX markup image. Using

\begin{math}
b \star x \rightarrow \frac{b}{x} - (\frac{b}{x}\;mod\;1)
\end{math}

\addvspace{.2cm}

\begin{math}
e(n) = \left\{
\begin{array}{clrr}
n^3(\frac{100 - n}{50}); & 0 < n \leq 50 \\*
n^3(\frac{150 - n}{100}); & 51 \leq n \leq 68 \\*
n^3(1.274 - \frac{1}{50}(n\star3) - p(n\;mod\;3)); & 69 \leq n \leq 98 \\*
n^3(\frac{160 - n}{100}); & 99 \leq n \leq 100 \\*
\end{array}
\right\}
\end{math}

\addvspace{.2cm}

\begin{math}
p(x) = \left\{
\begin{array}{clrr}
0.000; & x = 0 \\*
0.008; & x = 1 \\*
0.014; & x = 2 \\*
\end{array}
\right\}
\end{math}

I came up with


Kind of cramped. Does it meet the approval of you two? Looking for revisions before I even post it. Especially since I forgot how to properly represent a custom operator (\star). Is that how? Sheep 03:32, 6 Mar 2005 (UTC)

This seems better:

\begin{equation}
E(n) = \left\{ \begin{array}{ll}
\frac{n^{3} \left(100 - n\right)}{50}, & \textrm{if $0 < n \leq 50$} \\
\frac{n^{3} \left(150 - n\right)}{100}, & \textrm{if $51 < n \leq 68$} \\
n^{3} \left(1.274 - \frac{1}{50}\left\lfloor\frac{n}{3}\right\rfloor -p\left(n \bmod 3\right)\right), & \textrm{if $69 < n \leq 98$} \\ 
\frac{n^{3} \left(160 - n\right)}{100}, & \textrm{if $99 < n \leq 100$}
\end{array}\right.
\end{equation}

\begin{equation}
p(m) = \left\{ \begin{array}{ll}
0.000, & \textrm{if $m = 0$} \\
0.008, & \textrm{if $m = 1$} \\
0.014, & \textrm{if $m = 2$}
\end{array}\right.
\end{equation}

But when I tested it on Wikipedia, there were a few problems, so if we do get around to installing Texvc, we'll have to go hammer those problems out. Also, I'd appreciate it if we could find the exact fractions for those decimalised numbers - after all, the computer works in binary, not decimal - hence we won't have 0.008, we might instead have 523/65536 (or maybe 8/1000, but the result would still be stored as a binary fraction) - 刘 (劉) 振霖 07:22, 6 Mar 2005 (UTC)

I updated texerratic.png up there with something that looks more like yours. I didn't use Wikipedia for mine, I was using TeXnicCenter. I think the decimals are all right how they are, because they actually are more correct. I don't know exactly how the games handle decimal arithmetic, but it appears that the formulas use values accurate to 3 decimal places. (525/65536) or (523/65536) are not exactly 0.008, and if you put in those values, you'll get numbers that are off (I got about 6 points off for level 70). Sheep 13:47, 6 Mar 2005 (UTC)

Mmm. Since the experience points have to be accurate to about 7sf - I think the fractions should therefore be accurate to 7sf as well. But it might well be that they did use integer multiplication + division (× 8 ÷ 1000) rather than a simpler constant floating point multiplication (× (1 + 402653/224) × 2-7) - which is approximately how accurate a single-precision IEEE 754 binary fraction is. Funnily enough, IEEE 754 single-precision fractions are accurate to approx 7sf (without exponentiation) by defintion (this one is 0.008 correct to 11sf)). - 刘 (劉) 振霖 14:40, 6 Mar 2005 (UTC)

Hmm. I just learned from Meowth that the game simply stores the values for these as constants in the game, so the fractions are just best-fit and the formula is not used in-game - 刘 (劉) 振霖 14:44, 6 Mar 2005 (UTC)

So we need to reach a conclusion. There will be a note added that says these values are stored in the game as constants, not calculated. The formulas, I guess, do not have to be specific to any system of number storage now, so are we saying that the decimal constants are acceptable? Sheep 15:04, 6 Mar 2005 (UTC)

quick question

Why does Level redirect here? An even better question is, why does this page link to Level, thus linking back to itself? --greengiant

Sorry my reply is formatted wrong, I don't know how to do it normally yet. Anyway, the last time I checked, Level is its own, seperate article. Maybe they fixed the problem you saw before. {{SUBST:Superbreeder]] What's up? 23:30, 16 October 2008 (UTC)

Modify this!

Can someone modify the erratic and the fluctuating part of experience? I want to understand it like all the other ones!

I think those formulas should be explained. It would help quite a lot of people who want to understand those formulas but haven't seen them before.Dullstar 02:16, 26 June 2010 (UTC)


Color-Coded

I color-coded the exp type descriptions to more-or-less match the colors used on the graph. I did this to make it easier to distinguish them from eachother. I wonder where I can find the look-up table in the game, I bet I can simplify those two honking large piecewise formulas. Twigpi 15:51, 20 November 2007 (UTC)

See http://www.upokecenter.com/games/rs/guides/exptable.html. The "1,050,000" in one of the top columns is a typo (should be "1,059,860"). At Level 1, the Experience is always "0" (here, they have it at "1"). Ultraflame 22:53, 10 December 2007 (UTC)

Organize Pokémon

I really think there should be either a list of Pokémon by experience types or a category for each type. You can find out on each particular Pokémon's page, but there is no way to find Pokémon based on their experience type. Cheesus Is Lord 13:23 23 January 2008

Here is the whole list. Someone could modify it and put it into the main article.
600000
Nincada/Ninjask/Shedinja
Volbeat
Swablu/Altaria
Zangoose
Lileep/Cradily
Anorith/Armaldo
Feebas/Milotic
Clamperl/Huntail/Gorebyss
Cranidos/Rampardos
Shieldon/Bastiodon
Finneon/Lumineon

800000
Cleffa/Clefairy/Clefable
Igglybuff/Jigglypuff/Wigglytuff
Happiny/Chansey/Blissey
Ledyba/Ledian
Spinarak/Ariados
Togepi/Togetic/Togekiss
Marill/Azumarill
Aipom/Ambipom
Misdreavus/Mismagius
Snubbull/Granbull
Corsola
Delibird
Smeargle
Skitty/Delcatty
Mawile
Spoink/Grumpig
Spinda
Lunatone
Solrock
Shuppet/Banette
Duskull/Dusclops/Dusknoir
Chingling/Chimecho
Luvdisc
Glameow/Purugly

1000000
Caterpie/Metapod/Butterfree
Weedle/Kakuna/Beedrill
Rattata/Raticate
Spearow/Fearow
Ekans/Arbok
Pichu/Pikachu/Raichu
Sandshrew/Sandslash
Vulpix/Ninetales
Zubat/Golbat/Crobat
Paras/Parasect
Venonat/Venomoth
Diglett/Dugtrio
Meowth/Persian
Psyduck/Golduck
Mankey/Primeape
Ponyta/Rapidash
Slowpoke/Slowbro/Slowking
Magnemite/Magneton/Magnezone
Farfetch'd
Doduo/Dodrio
Seel/Dewgong
Grimer/Muk
Onix/Steelix
Drowzee/Hypno
Krabby/Kingler
Voltorb/Electrode
Cubone/Marowak
Tyrogue/Hitmonlee/Hitmonchan/Hitmontop
Lickitung/Lickilicky
Koffing/Weezing
Tangela/Tangrowth
Kangaskhan
Horsea/Seadra/Kingdra
Goldeen/Seaking
Mime Jr./Mr. Mime
Scyther/Scizor
Smoochum/Jynx
Elekid/Electabuzz/Electivire
Magby/Magmar/Magmortar
Ditto
Eevee/Vaporeon/Jolteon/Flareon/Espeon/Umbreon/Leafeon/Glaceon
Porygon/Porygon2/Porygon-Z
Omanyte/Omastar
Kabuto/Kabutops
Sentret/Furret
Hoothoot/Noctowl
Natu/Xatu
Bonsly/Sudowoodo
Yanma/Yanmega
Wooper/Quagsire
Unown
Wobbuffet
Girafarig
Dunsparce
Qwilfish
Teddiursa/Ursaring
Slugma/Magcargo
Remoraid/Octillery
Phanpy/Donphan
Poochyena/Mightyena
Zigzagoon/Linoone
Wurmple/Silcoon/Beautifly/Cascoon/Dustox
Wingull/Pelipper
Surskit/Masquerain
Nosepass/Probopass
Meditite/Medicham
Plusle
Minun
Numel/Camerupt
Torkoal
Barboach/Whiscash
Baltoy/Claydol
Castform
Snorunt/Glalie/Froslass
Bidoof/Bibarel
Burmy/Wormadam/Mothim
Pachirisu
Buizel/Floatzel
Cherubi/Cherrim
Shellos/Gastrodon
Buneary/Lopunny
Stunky/Skuntank
Bronzor/Bronzong
Spiritomb
Croagunk/Toxicroak
Rotom

1059860
Bulbasaur/Ivysaur/Venusaur
Charmander/Charmeleon/Charizard
Squirtle/Wartortle/Blastoise
Pidgey/Pidgeotto/Pidgeot
Nidoran-F/Nidorina/Nidoqueen
Nidoran-M/Nidorino/Nidoking
Oddish/Gloom/Vileplume/Bellossom
Poliwag/Poliwhirl/Poliwrath/Politoed
Abra/Kadabra/Alakazam
Machop/Machoke/Machamp
Bellsprout/Weepinbell/Victreebel
Geodude/Graveler/Golem
Gastly/Haunter/Gengar
Mew
Chikorita/Bayleef/Meganium
Cyndaquil/Quilava/Typhlosion
Totodile/Croconaw/Feraligatr
Mareep/Flaaffy/Ampharos
Hoppip/Skiploom/Jumpluff
Sunkern/Sunflora
Murkrow/Honchkrow
Gligar/Gliscor
Shuckle
Sneasel/Weavile
Celebi
Treecko/Grovyle/Sceptile
Torchic/Combusken/Blaziken
Mudkip/Marshtomp/Swampert
Lotad/Lombre/Ludicolo
Seedot/Nuzleaf/Shiftry
Taillow/Swellow
Whismur/Loudred/Exploud
Sableye
Budew/Roselia/Roserade
Trapinch/Vibrava/Flygon
Cacnea/Cacturne
Kecleon
Absol
Spheal/Sealeo/Walrein
Turtwig/Grotle/Torterra
Chimchar/Monferno/Infernape
Piplup/Prinplup/Empoleon
Starly/Staravia/Staraptor
Kricketot/Kricketune
Shinx/Luxio/Luxray
Combee/Vespiquen
Chatot
Riolu/Lucario
Shaymin

1250000
Growlithe/Arcanine
Tentacool/Tentacruel
Shellder/Cloyster
Exeggcute/Exeggutor
Rhyhorn/Rhydon/Rhyperior
Staryu/Starmie
Pinsir
Tauros
Magikarp/Gyarados
Lapras
Aerodactyl
Munchlax/Snorlax
Articuno
Zapdos
Moltres
Dratini/Dragonair/Dragonite
Mewtwo
Chinchou/Lanturn
Heracross
Swinub/Piloswine/Mamoswine
Mantyke/Mantine
Skarmory
Houndour/Houndoom
Stantler
Miltank
Raikou
Entei
Suicune
Larvitar/Pupitar/Tyranitar
Lugia
Ho-Oh
Ralts/Kirlia/Gardevoir/Gallade
Slakoth/Vigoroth/Slaking
Aron/Lairon/Aggron
Electrike/Manetric
Carvahna/Sharpedo
Tropius
Relicanth
Bagon/Shelgon/Salamence
Beldum/Metang/Metagross
Regirock
Regice
Registeel
Latias
Latios
Kyogre
Groudon
Rayquaza
Jirachi
Deoxys
Gible/Gabite/Garchomp
Hippopotas/Hippowdon
Skorupi/Drapion
Carnivine
Snover/Abomasnow
Uxie
Mesprit
Azelf
Dialga
Palkia
Heatran
Regigigas
Giratina
Cresselia
Phione
Manaphy
Darkrai
Arceus

1640000
Shroomish/Breloom
Makuhita/Hariyama
Illumise
Gulpin/Swalot
Wailmer/Wailord
Seviper
Corphish/Crawdaunt
Drifloon/Drifblim
Ultraflame 20:45, 23 January 2008 (UTC)

I like this idea and think it would be useful. Anyone else agree? Eric the espeon 19:43, 25 November 2008 (UTC)

Yes, but I don't know if it belongs on this page. We could create categories, but I think I like the idea of another page better, like List of Pokémon by experience requirement, or something. — Laoris (Blah) 19:52, 25 November 2008 (UTC)

Makes sense, and link to that list from here? Eric the espeon 18:19, 4 December 2008 (UTC)

???

If the formula returns a decimal, is the result rounded up or down? --Shiny Noctowl 15:39, 26 May 2008 (UTC)

Always rounded down, I believe. Ultraflame 22:59, 26 May 2008 (UTC)

Hmm...

Does anyone else think that a chart that lists the experience needed to reach each level in an experience group would be a good addition to this page? TTEchidna 05:20, 1 July 2008 (UTC)

yes MathijsP 07:22, 1 July 2008 (UTC)
I added the charts, but, as I had a computer program generate them, I haven't been able to check the piecewise ones yet. It would be good if someone else could check the piecewise functions ("erratic" and "fluctuating") to make sure they're correct. --Shiny Noctowl 00:15, 29 September 2008 (UTC)
the "Erratic" one is messed up. lvl 98 is 1.2 million, and lvl 99 is under 600,000. also, thats a lot of text, so, i added the show/hide ability. -- MAGNEDETH 00:24, 29 September 2008 (UTC)
It's still messed up. Can you fix it please? --Shiny Noctowl 00:27, 29 September 2008 (UTC)
i dont know how to fix it, i just added the show/hide things. im just noting its not right. you said you had a computer do it. try again? -- MAGNEDETH 00:29, 29 September 2008 (UTC)
The formula for Level 98 comes out to 583539, which is correct. Ultraflame 23:05, 29 September 2008 (UTC)
well thats fine, but currently it says lvl 98 is 1185901, which it wrong. -- MAGNEDETH 23:21, 29 September 2008 (UTC)

Pokémon Gold/Silver Version ROM - Hack-O-Matic - "Secret" Experience functions

I'm sure someone else has noticed that if you use the ROM hack tool Hack-O-Matic to open a Pokémon Gold/Silver ROM and edit Pokémon, there will be eight "experience gradient" choices for each Pokémon as opposed to the four that were actually used in Generation II. I've figured out three of the four "secret" functions, and due to a glitch in Hack-O-Matic I can't examine the fourth one.
Hack-O-Matic displays the eight experience functions as eight "types" (the numbers go from Level 2 to 100):

2

Same as Fifth Type

5

First Type

6

Fourth Type

7

Sixth Type

8

Unknown due to glitch in Hack-O-Matic. Hack-O-Matic provides graphs for each experience function, but they may not be accurate. Do you want me to upload that graph's picture anyway?
Are these "hidden" experience functions notable enough to be added to the article somewhere? Thanks. Ultraflame 20:44, 12 October 2008 (UTC)

I dont understand any of this? Could you make it clearer for the average user to be able to read, if an average person sees that they wont be able to understand it, only smart people will --Guardian of Earth |SGMS 2010

When a Pokémon gains experience it levels up. Different Pokémon level up at different rates, and take different amounts of experience to gain each level. Some Pokémon level up faster than others. The amount of experience a Pokémon needs to gain a level is determined by one of eight possible formulas. That's really the premise of the whole article. — Laoris (Blah) 18:27, 4 December 2008 (UTC)

oh ok thank you, it was that last line "The amount of experience a Pokémon needs to gain a level is determined by one of eight possible formulas." I didnt really get till you explained it. I just thought they made the pokemon that way, i wasnt aware there was a formula, if this is in the article, can we have the easier to understand version, your version, underneath the complicated bit. --Guardian of Earth |SGMS 2010

I'll add some clarification to the article later. — Laoris (Blah) 18:36, 4 December 2008 (UTC)
Reeeeeaaaaaaally late reply here, but I wrote Hack-O-Matic ages ago. I can tell you that those graphs are definitely not accurate. (I don't remember how exactly I made them, but they're very rough estimations.) I never really examined how the game computes the different EXP growth rates, but I know that four of them are "real" and four of them are "glitched" (and there might even be more than those four glitches). If I had to guess, I'd assume all the EXP growth functions are the same function with different constants plugged in, and the glitch rates just put in strange constants, resulting in silly things like 100K EXP to level 100. (talk) 12:26, 16 July 2014 (UTC)

List of base experence yeald

Can someone add this in as a hide able table?- unsigned comment from Eric the espeon (talkcontribs) ; massive amount of data hidden by trom.

Already in List of Pokémon by effort value yield. Ultraflame 00:42, 21 November 2009 (UTC)

No, that is EV yield.. The list I provided was base EXP yield. Quite a major difference there. Eric the espeon 17:57, 21 November 2009 (UTC)

If you take a look at the article, there's a column marked "Exp.", which contains exactly the same data that you have provided. Confusing, I know. Ultraflame 19:06, 21 November 2009 (UTC)

Ok, fair enough. This article should probably link to that list then, no? Eric the espeon 21:59, 21 November 2009 (UTC)

Negative EXP

According to the "medium slow" formula, the EXP for level 1 should be -54. This is exploited in the Pokémon Blue TAS. However there's no sign of this in the article. Was it fixed in later games? - unsigned comment from Gyorokpeter (talkcontribs)

It was fixed as of Generation III at the latest, I believe. According to the article, "Due most likely to the issue of speed when using these formulas, the GBA games will simply use a lookup table for each value of any type instead of computing them. Because of this, these formulas are not actually part of the game mechanics." Ultraflame 05:41, 22 December 2009 (UTC)

Experience gain in battle

The section on the experience gained in battle only mentions the total experience gained, and not how experience is spread throughout multiple participants in the battle. That information seems like a useful mechanic and should be appended by someone who can add it. --Naokohiro 19:21, 9 January 2010 (UTC)

It is divided evenly among participants, unless some participants have EXP share or whatever. In this case, they receive their share plus the bonus from the held item. —darklordtrom 03:56, 10 January 2010 (UTC)
How is it divided among arbitrary amounts of Pokémon involved in the battle, and Pokémon with Exp. Share, including cases where Pokémon have both an Exp. Share and participated in the battle? There are many different cases. For example, when some Pokémon have Exp. Share and some don't, but some of the Pokémon with Exp. Share participated and some didn't, but also some Pokémon without Exp. Share that did participate, etc. --Naokohiro 04:41, 14 January 2010 (UTC)
I don't know exactly how experience is divided among multiple Exp. Share holders (does each Pokémon with Exp. Share receive (1/(number of Exp. Shares + 1))*(total experience), or does each receive (1/2)*(total experience)*(1/number of Exp. Shares), or something else?), but the experience that is not allocated solely as a result of Exp. Share being held is always divided evenly among the participants of the battle, regardless of whether or not those participants hold Exp. Share. Ultraflame 06:22, 14 January 2010 (UTC)

Switching???

I'll give an example.

Say I have a Charizard out, and the opponent has Venusaur. The opponent switches to Blastoise, and later I switch to Raichu. If the opponent switches back to Venusaur, and I KO it, will my Charizard still gain exp? - AxxonntheAwesometrainer 20:59, 4 May 2010 (UTC)

No, at least not in my experience. The Pokémon must face the Pokémon since it has last been sent out from its Poké Ball. Werdnae (talk) 21:40, 4 May 2010 (UTC)
Nope. Tried it before. ht14 21:59, 4 May 2010 (UTC)

Errors with formulas?

I was just double-checking the erratic output based on the formula given, when I realized that the given formula is impossible, in programming terms. Specifically, the game would never output two values for levels 50, 68, and 98, as the current formula shows it does. So I checked to see what the correct distribution of the formulas was, and came up with the following: level 50 could go either way, as both formulas it is attributed to result in the same output, level 68 is calculated based on the second formula given, and level 98 is calculated on the final formula. In other words, the actual division of the formulas should be something along the lines of the first applying to levels below or equal to 50, the second applying to levels greater than 50 but less than or equal to 68, the third applying to levels greater than 68 but less than to 98 (or, to keep similar formatting, apply to levels greater than 68 but less than or equal to 97), and the final one applying to levels greater than or equal to 98 (or, to keep formatting, apply to levels greater than 97). Glitchfinder 03:31, 6 May 2010 (UTC)

It would also appear that quite a bit has been left out of the fluctuating piecewise function. Specifically, it would appear that the formula used for levels one through 14 will change based on the level modulo 3, resulting in three different yet very similar formulas for these levels. The middle levels, from 15 to 34, remain with the same formula that is given. However, it would appear that there are two separate formulas used for levels 35 to 100, determined by the level modulo 2. Here is the code I was using to test the function, which is written in Ruby:

test.fluctuating[1] = 0
for i in 2...101
  if i >= 1 && i < 15 && i % 3 == 0
    val = ((i.to_f ** 3.0) * ((24.0 + ((i.to_f) / 3.0)) / 50.0))
  elsif i >= 1 && i < 15 && i % 3 == 1
    val = ((i.to_f ** 3.0) * ((24.0 + ((i.to_f - 1.0) / 3.0)) / 50.0))
  elsif i >= 1 && i < 15 && i % 3 == 2
    val = ((i.to_f ** 3.0) * ((24.0 + ((i.to_f + 1.0) / 3.0)) / 50.0))
  elsif i >= 15 && i < 35
    val = ((i.to_f ** 3.0) * ((14.0 + i.to_f) / 50.0))
  elsif i >= 35 && i <= 100 && i % 2 == 0
    val = ((i.to_f ** 3.0) * ((32.0 + (i.to_f / 2.0)) / 50.0))
  elsif i >= 35 && i <= 100 && i % 2 == 1
    val = ((i.to_f ** 3.0) * ((32.0 + ((i.to_f - 1.0) / 2.0)) / 50.0))
  end
  test.fluctuating[i] = val.truncate
end

Please note that the code is given as a demonstration of how the formulas are chosen, and does not include the necessary setup for the test variable. I don't know the Wikipedia math functions well enough to replace the image, so it would be a good idea for someone else to do it instead. Glitchfinder 05:17, 6 May 2010 (UTC)

I believe that the modulo operator business is already covered in the formulas, using the floor function symbol (looks a little like square brackets). But I do agree that the erratic functions' domains should be clarified as you said. Ultraflame 05:25, 6 May 2010 (UTC)
That would certainly explain the problem. There should probably be a note stating that those values are actually encased in a floor function, and not simply placed within brackets. (I had to look quite closely to see that they were in fact the floor function symbols, and not simply brackets, like I had assumed they were) Glitchfinder 05:47, 6 May 2010 (UTC)

Understanding the formulas

Could anyone tell me what is ment with "N" in the formulas? I can't find it anywhere on the page. - unsigned comment from Ragnearoa (talkcontribs)

"n" generally means "number" when used in equations as a variable, in this case... I believe the "n" stands for the base experience given out by a Pokemon. ▫▫ティナ 15:21, 20 May 2010 (UTC)
"n" actually represents the level of the Pokémon. "e(n)" is therefore the number of Exp. Points a Pokémon needs to get from level 1 to level "n". Ultraflame 01:21, 21 May 2010 (UTC)

Erratic formula

The erratic formula's piecewise functions are defined inclusively in all inequalities, and thus overlap.

Math-formula5.png
Expcalc erratic.png

The left formula is how I believe it should be, the right is the current one. -- Pokey 07:38, 27 May 2010 (UTC)

At the overlaps, the values are equal. Ztobor 22:34, 15 July 2010 (UTC)

Does Not Compute

The Trivia sections on the species pages for Arceus, Blissey and Chansey all state that they give 13,933 experience at level 100 when owned by a Trainer. But based on the way that the experience given in battle formula is written right now (with a being 1 plus an additional possible 1.2 depending on Trainer status, trade, and foreign language), it only equals 8,014, not 13,933.

a=2.2 b=255 L=100 a+b+L=56,100 56,100/7=8,014

Add a Lucky Egg (multiply by 1.5) onto that and you only get 12,021. The only way to get the 13,933 is to multiply 1.5 for the trade and 1.7 for the foreign language after the initial Trainer experience (with a being 1.5) has been calculated, not to add .5 and .2 to a. --PhantomJunkie 17:17, 17 July 2010 (UTC)

We'd better look into that. Perhaps you don't add 0.5 to a, but multiply a by 1.5 instead. I'll see about it. Ztobor 02:50, 22 July 2010 (UTC)
Hold on, you mean: if you calculate 1.5x for the Lucky Egg, 1.7x for the foreign language trade, and 1.5x for the Trainer battle as well.
If we're going by that logic, it might actually be that you multiply everything, instead of adding to the multiplier. In which case it would actually be 14,753 experience points. I'll still have to look into it. Ztobor 02:58, 22 July 2010 (UTC)
Okay, I found out. I tried battling against a trainer's Level 28 Mime Jr. with a German-traded Gabite holding a Lucky Egg. The base Exp. is exactly 312, and it gained 1193, which is 1.5 x 1.7 x 1.5. So yes, you actually do need to multiply 1.5 twice, and the article as it stands now is wrong. Ztobor 03:18, 22 July 2010 (UTC)
Fixed. Ztobor 03:57, 22 July 2010 (UTC)

Minor wording issue

I didn't want to just go in and edit this without asking. The section on the Experience Underflow glitch contains the following sentence: It is due to this bug that no level 1 Pokémon can be found in the wild without glitching or hacking the game, and why, even though level 2-4 Pokémon can be found wild, Pokémon hatched at level 5 in the first two generations. However, since breeding and, by extension, hatching eggs wasn't added until Generation II, shouldn't the sentence be changed to state that "Pokémon hatched at level 5 in the second generation"? The following paragraph refers to level 5 hatching in Generation III, so I don't feel it's necessary to add it here. --PhantomJunkie 08:08, 19 July 2010 (UTC)

Changed to "Pokémon hatched at level 5 when eggs were introduced in Generation II." Ultraflame 01:30, 20 July 2010 (UTC)

Use of asymptotic notation

It's not really appropriate to use asymptotic notation in the manner this article does currently: the notion is not really useful unless the functions tend to 0 or infinity, as we can write many statements that say equally true and unhelpful things. For example, all six functions in the article are O(1) at n=100, or O(n), or O(n^10) (using the lim sup definition in the Wikipedia article, for example), none of which show the detail we want.

In other words, the notation is effectively meaningless the way it is being used. Perhaps considering f(x)-f(100) would be better.

Small extra note: to be rather fussy, similar remarks could be made about the way the article used "continuous" before I removed it: these functions are defined on the integers, and since there is no way of talking about limits on a finite set of integers, you can't talk about continuity either. (The integers are called discrete or totally disconnected because of the way the topologies on them must be defined, if anyone wants more detail.) Of course, this also means you can't use asymptotic notation in this case at all... Chappers 00:32, 24 July 2010 (UTC)

Alright, I'll remove that part. A friend of mine also said it was inappropriate too.
Also, about the "continuous" function part, I can see why it's notation abuse now. I just meant to say that it wasn't piecewise, and could be represented as one function. I guess "polynomial" is a good compromise if we can't really find a suitable word for it. Ztobor 19:42, 24 July 2010 (UTC)

Where to put this?

A graph showing the number of experience points required to go from one level to the next.

I created a table with the number of experience points required to go from one level to the next level, not just from level 1 to a level, but the formula won't fit anywhere.

Image is to the right. Ztobor 20:26, 24 July 2010 (UTC)

Misleading names

The Medium Slow (a.k.a. Parabolic) function is not actually strictly slower than the Medium Fast (a.k.a Cubic) function.

The only functions that are actually strictly ordered in terms of speed of levelling up are the Slow, Medium Fast, and Fast functions. The other three are all quirky.

What I'd suggest is renaming the Medium Fast function to simply Medium, and rename the Medium Slow function to... something. I still need to come up with a name, hence why I haven't actually edited the page yet. Ztobor 00:44, 1 August 2010 (UTC)

You could just change it to "Parabolic", but do leave a reminder that there exist different names for the experience functions. In my opinion "Erratic" and "Fluctuating" are okay names for their respective functions. Ultraflame 04:51, 1 August 2010 (UTC)
Or, to go with the quirky nature of the function compared to the others, rename it to "Quirky". Because "parabolic" is a huge misnomer. What do you think? (I didn't say anything about Erratic or Fluctiating... o_O) Ztobor 17:25, 1 August 2010 (UTC)
Hard to say, since you're the first person I've ever seen to refer to that experience function as "Quirky". I just mentioned Erratic and Fluctuating because you didn't, and I wasn't sure what your own opinion was on those names. Ultraflame 22:07, 1 August 2010 (UTC)
Well, I didn't mention those, but I think they're perfectly fine. It was just the four that were "ranked" by speed that I had a problem with - and even then it's only the Medium Slow one simply because it doesn't even fit into that rank nicely. Ztobor 13:34, 2 August 2010 (UTC)
Actually, even those three names should probably be changed to "Cubic", "Fast Cubic", and "Slow Cubic". It just doesn't make sense to rank them all by speed if they vary so much. Ztobor 13:36, 2 August 2010 (UTC)
You could try something like "Fast (Cubic)", "Medium (Cubic)", and "Slow (Cubic)". As for 1059860, we might be able to get away with calling it "Parabolic" and adding a note that the name only refers to the existence of a "not-purely-cubic" part in the function. Ultraflame 01:06, 4 August 2010 (UTC)
Not to mention all the article-renaming we'd have to do. >_< Ztobor 14:48, 4 August 2010 (UTC)

Experience table for PMD

It seems random, at least from what I've played so far. I have a character named Vino the Torchic, and here's her experience table for levels 7 through 15:

Level Exp.
7 410
8 700
9 1250
10 2250
11 4150
12 7290
13 10430
14 15430
15 (etc.)

I don't see a formula here at all. Does anybody have the full table? Ztobor 23:43, 4 August 2010 (UTC)

Okay, no, I did find a table, from UPokeCenter. But man, those numbers are arbitrary. From levels 16 through 24, the EXP. required to get to the next level is always 6000. o_O Ztobor 23:47, 4 August 2010 (UTC)

New Exp. gain formula

I'm doing research on it right now, by watching playthroughs. Apparently, there's actually a +1 in the formula >_> Ztobor 02:47, 25 October 2010 (UTC)

Okay, here it is:

Delta exp gen5.png

The only differences in the formula is that the 7 has now been changed to a 5, and the dL represents the level relationship factor, which I'm still trying to figure out. Also, a constant of 1 is now added to all experience point yields, probably to prevent defeated monsters from yielding 0 experience points due to a low dL modifier. Ztobor 03:00, 25 October 2010 (UTC)

Do you know if any rounding down is involved in the calculation? Hexagon Theory 03:50, 7 November 2010 (UTC)
There is, but I don't know where it applies. Ztobor 14:00, 7 November 2010 (UTC)
This formula can't be correct; no matter where I apply or don't apply rounding, I get slightly higher or slightly lower values than the experience I actually get in the game. Also, unless this one formula gets special treatment out of all the formulas in the game, the Pokémon games round down after every division or any other operation resulting in a non-integer, so if this were literally it, the level factor could never be anything between 0 and 1. Dragonfree 14:37, 7 November 2010 (UTC)
I think it multiplies by the defeated Pokémon's level + 2 first. It's been correct every time I've checked it, at any rate. Ztobor 03:48, 9 November 2010 (UTC)
Could you include some of your calculations and data? It could speed up finding out what's going on here. Dragonfree 23:00, 13 November 2010 (UTC)
Okay, take your first battle with the other starters - Level 5 vs. Level 5 (a level multiplier of 1) gives you 43 experience points. The starters' base yield is 28, which is multiplied by 1.5 because it's a trainer battle, giving you 42. No other multipliers apply, so you add 1 to 42 which gives you 43. Ztobor 22:57, 15 November 2010 (UTC)
For that matter, could you report some of your own data? You might be applying the wrong formula. I'll set up a report section on the talk page for it.

Okay, I'm new here so I hope I'm not breaking any rules, but so far, the formula looks pretty accurate. I've only begun research on this a few days ago, battling my Yooterii against wild Pokemon around Route 1 of levels 2 through 4. I kept my Yooterii as the 'constant,' creating a data table as it levels from battles against wild Pokemon.

From the experiences gained, I've been able to construct this formula:

[(base experience)(level)/5] + 1 = total experience.

However, this is only when both the user's and wild Pokemon's levels are equal. The only question I have is what all of the variables represent, such as a and e. Again, I'm very new to this, so any explanation would be greatly appreciated. Thanks!

P.S. I am constructing a large data table for various battles. Would anyone like to help me, or be interested in the data?

--Xazel 06:50, 4 March 2011 (UTC)

Sorry, but we got to all this information already. The only thing left to do now is to find out how the relative level multiplier works. Ztobor 00:26, 12 March 2011 (UTC)
Also, what the variables represent are on the page itself. a represents "trainer battle", t represents "trainer ownership", b represents "base", e represents "lucky egg", l represents "level", and s represents "share", or "exp.share". Ztobor 00:26, 12 March 2011 (UTC)

Can anyone tell me what the above ^2.5 power means? We're discussing this on Yahoo Answers and I'm trying to calculate what would actually happen if a level 70 Pokemon took down a level 70 Latias or Latios. It doesn't matter because they yield the same EXP Points at any given level. (MichaelXD 09:01, 7 January 2012 (UTC))

Base EXP

The page currently says that the Pokemon that gives the most base EXP is Blissey with 608 - only every other page on this wiki and on other sites says that it's only 255. (Tabunne, for the record, has a yield of 390.) It also says that the fifth-gen starters give the least at 28; this time, the NUMBER is right, but Magikarp still apparently only gives 20. What gives? --HeroicJay 22:51, 25 October 2010 (UTC)

Those yields are still from before Generation V. The information on other pages is correct for Generations IV and prior. I haven't had the time nor the patience to change them all yet. Ztobor 00:43, 26 October 2010 (UTC)
Magikarp's yield is now 40, BTW. Just so you know Ztobor 00:44, 26 October 2010 (UTC)

Report anomalies in the new Exp. gain formula

As far as we know right now, this is the new formula for experience used in Gen.5:

Delta exp gen5.png

If you think this formula might not apply to a certain type of battle, append your case to the bottom of this post with the following data:

  • The Pokémon that was defeated, and its level.
  • The Pokémon that were involved in the battle, and their levels.
  • Whether the battle was a Trainer battle or not.
  • Whether the Pokémon involved were holding any items.

Your support is much appreciated. Ztobor 23:01, 15 November 2010 (UTC)

Report 1 (example)

On the GameFAQ's forums, a user named JakeisaLie reported the following: A Level 48 Tabunne, was defeated by a level 52 Rotom holding a Lucky Egg, and yielded 5119 experience points instead of 5201 as the formula predicts.

The level difference multiplier, in this case, seems to be 72/79 (48 / 52+(2/3)), instead of 50/54 (48+2 / 50+2). Ztobor 16:25, 23 December 2010 (UTC)

Watched some playthroughs of the first bit of the game...

... and what I found is below. I didn't record what Pokémon were used to battle, because I didn't think it was relevant. None of the Pokémon were holding any experience-affecting items. Format is
<level of player's Pokémon> vs. <level of defeated Pokémon> <defeated Pokémon>: <Exp. gained> (formula predicts <exp. expected from formula>)

Hope it helps. Ultraflame 01:24, 25 December 2010 (UTC)

Thanks for the info, but just to clarify - are these Trainer battles? Because the formula seems to identify them as such. Ztobor 22:45, 26 December 2010 (UTC)
I had them divided into two sections: "Trainer battles" (at the beginning) and "Wild battles" (at the end). Only the last five entries are wild battles. Ultraflame 23:53, 26 December 2010 (UTC)
Well. It certainly created more questions than it answered... my formula is definitely wrong, but it brings us nowhere closer in getting the actual formula right. >_> Ztobor 02:54, 27 December 2010 (UTC)
Could you get some higher-level ones? Those ones are better resolution, and leave less room for error. Ztobor 02:56, 27 December 2010 (UTC)

A few more...

These are all trainer battles.

Level 45 and level 37 vs. level 43 Zuruzukin (171 base exp.): 1048 (level 45) and 1295 (level 37) (formula predicts 1057 and 1273)

Level 44 and level 38 vs. level 43 Roobushin (227 base exp.): 1427 (level 44) and 1674 (level 38) (formula predicts 1433 and 1648)

Level 44 and level 38 vs. level 43 Kojofu (70 base exp.): 441 (level 44) and 516 (level 38) (formula predicts 442 and 508)

Level 52 vs. level 45 Erufuun (168 base exp.): 1916 (formula predicts 1975)

Level 52 vs. level 45 Zeburaika (174 base exp.): 1984 (formula predicts 2045)

I have to say, despite the formula not being completely accurate, it does give a pretty good rough idea of how much experience you're going to get. Ultraflame 22:33, 1 January 2011 (UTC)

I guess so. It's just that I just know that people are going to be disappointed when they don't actually get 1,581,409 points for defeating a level 100 Blissey in the way I mentioned. Ztobor 21:05, 2 January 2011 (UTC)
Although, given the looks of the variations in this formula, it looks like that fight would yield more than 1,581,409. Ztobor 21:09, 2 January 2011 (UTC)

Existing formula tends to overestimate if the attacking Pokémon is higher level, and underestimate if the defending Pokémon is higher level (what you hinted at with the Blissey example). (Existing formula is correct if the two Pokémon are the same level.) Ultraflame 05:45, 3 January 2011 (UTC)

I'm pretty sure now that it involves square roots (or other such concave functions) in some way. That means that my formula only underestimates for a little of the time - and then it goes back to overestimating. Ztobor 03:01, 8 January 2011 (UTC)

ERRATIC behaviour in Mathematica

So, I went to type in the EXP per level into Wolfram Mathematica 6, in an attempt to come up with both better graphs and interesting phenomonons. The non-piecewise functions turned out fine. However, the erratic and fluct. formulas kept coming up with strange behaviour in their plots, which I was able to filter out. However, look at this plot for the erratic formula:


This is the derivitive of the function of the Erratic experience group. Look at the range 68-98. Any ideas as to what is causing this? I had typed the formula in direstly as was shown on the article. --TruePikachu 20:37, 20 November 2010 (UTC)

*Facepalm* Just zoomed in, seems to be caused by the Floor() function and the erratic nature of that portion of the growth curve, which is why it didn't show up for Fluct. The formulas weren't designed for this kind of manipulation...time to weite an interger-based derivitave function to better model this...
Anyway, any ideas as to wether or not I should undergo this project? I can easily cut out the inputted formula (It is harder to include it rather than exclude it). The GenI formulas are rather well established, being elementry curves, but the GenIII curves I can do lots of research into, and add to the article under a different heading. For example, I can easily generate a graph of the 'changing multiplier' for these two functions, or superimpose all parts of the piecewise function (so someone could see what happens if one part of it is used for the entire function). --TruePikachu 20:47, 20 November 2010 (UTC)
I already created a changing multiplier graph. Third one down from the top. I also created an "EXP per level" graph (shown here on the talk page), but for lack of a place to put it, haven't put it onto the main page yet. Ztobor 03:19, 22 November 2010 (UTC)

Reshiram and Zekrom don't gain experience?

For some reason, people are editing this onto the article, even though it isn't true, at least from what I've seen of the playthroughs. Why do people think that it doesn't yield experience? Ztobor 00:59, 30 November 2010 (UTC)

What that means is when you defeat one you don't gain experience. I wonder if this is true or not. --Landfish7 01:03, 30 November 2010 (UTC)
When facing the wild version mascot before facing N, defeating it yields no Exp, as when the battlt ends, it'll just be there in the overworld as if nothing happened. Facing the one N has will yield Exp though. Shiramu Kuromu 03:18, 12 December 2010 (UTC)

Question

If there was a Pokémon that would change it's Exp group upon evolution, what would happen? Shiramu Kuromu 03:18, 12 December 2010 (UTC)

In Generation III at least, the Pokémon would change level so that it would be consistent with the what the new group's experience formula would dictate.
For example, if you hacked a Pikachu (1000000 at level 100) so that it would evolve into Gyarados (1250000 at level 100) at level 20, the Pikachu would only need 8000 exp. points to reach level 20. So suppose that the Pikachu receives 8000 exp. points, reaches level 20, and is allowed to evolve. But since Gyarados is in a different experience group, the Pokémon would actually drop down to level 18 (for Gyarados's group, 8000 points is only sufficient for level 18) immediately after evolution is complete. Meaning that when you check your Pokémon menu right after evolution, the Pokémon will appear as level 18, with 8000 exp. points.
This has apparently been observed with a Generation III ROM, but I don't know exactly what would in other Generations. Ultraflame 04:55, 12 December 2010 (UTC)
Just realized that a potential question might arise with my example: Would the newly-evolved Gyarados attempt to learn Bite (a level 20 move), even though it's technically level 18 after evolution? Unfortunately I don't have the answer to that particular question. Ultraflame 05:06, 12 December 2010 (UTC)
Based on what you've said about the situation, I'd guess no - after evolution, the new level is 18, period. Otherwise, the bug would be that it stays at Level 20, but as soon as it gains experience points, it reverts to 18. Ztobor 15:46, 23 December 2010 (UTC)
Well, a regular Magikarp evolving into Gyarados at level 20 would immediately try to learn Bite upon evolution (without leaving the evolution screen). In other words, we haven't even seen the new level of the Gyarados until after it attempts to learn Bite. Basically it's a question of when does the game "notice" that the Pokémon's experience group has changed - immediately upon evolution (i.e. while the evolution screen is active) or immediately after leaving the evolution screen? Ultraflame 17:09, 23 December 2010 (UTC)
That's a good point, actually. We'd need somebody to test that out. Ztobor 01:52, 24 December 2010 (UTC)

Level multipliers in the new Exp. gain formula

We're going to have to change that article - it certainly is not adding the levels by 2 and dividing them.

I'm getting a table set up with the approximate multipliers. Perhaps we can figure something out. Ztobor 05:19, 27 December 2010 (UTC)

underflow glitch

can we get a detailed example of this please? - unsigned comment from DJLO (talkcontribs)

The medium-slow growth algorithm itself is 1.2L^3 - 15L^2 + 100L - 140. This is applied to Mew and all 3-stage evolutionary Pokémon except Dragonite, Butterfree and Beedrill. Substitute L for anything greater than 1 like 2 and the equation will suffice i.e. this would give 9.6 which floors down to 9 total experience for a level 2 medium-slow growth Pokémon. If you use 1 or 0 however you get a negative result, e.g. replacing L with level 1 gives -53.8 experience which floors down to -53. The main problem is that Pokémon experience is an unsigned integer; this means that negative numbers are essentially taken as a positive (w^X)-y value [where w^X is the highest value possible; {at least 2^8} and -y is the negative integer]. Pokémon experience is stored in three 8-bit bytes ((2^8)^3) so for a Mew Tricked level 1 Pokémon with no experience we can use the analogy that it has ((2^8)^3)- 53 experience which is 16,777,109. Since 256^3 (16,777,216) is essentially the 'largest value' in this case, if this Pokémon got 54 experience it would revert back to a total experience of 0, though gaining less than 54 experience would cause the game to recalculate what level (very high) the Pokémon should be after a battle ends or the box trick is used. Since it is way over the total experience required for level 100 by far the level 100 cap comes in and makes the Pokémon level 100. --Chickasaurus 21:00, 11 January 2011 (UTC)
It is explained in depth in the article itself, no? Ztobor 19:04, 20 January 2011 (UTC)

Wait, how is a base yield of 28 lower than a base yield of 20?

"The Pokémon with the highest base experience yield is Blissey, with a base yield of 608. The Pokémon with the lowest base experience yield are Snivy, Tepig, and Oshawott, with a base yield of 28.

   * Before Generation V, the Pokémon with the lowest base experience yield was Magikarp with a yield of 20, and the Pokémon with the highest base experience yields were Arceus, Happiny, Chansey, and Blissey, with a yield of 255."

Magikarp still has the lowest base yield. And this can't be generation only, as Blissey is in there. I'm not willing to correct anything until I know how this mistake was made (is 28 supposed to be 18? Did somebody think 28 is lower than 20? How did this happen?) - unsigned comment from Shadowater (talkcontribs)

Most of the base exp. yields changed from Generation IV to V. Blissey, for example, had its own base exp. changed from 255 in Generation IV to 608 in Generation V. Pokémon If you take a look at the base exp. column at List of Pokémon by effort value yield, Magikarp now has the tenth lowest base exp, with 40 (up from 20 in Generation IV). Ultraflame 01:49, 30 January 2011 (UTC)
Ah, ok then. I had checked Magikarp's page to make sure, and it says 20 there, so I got confused by that --Shadowater 04:33, 30 January 2011 (UTC)

My Pokémon got one EP less?

If I start in the yellow edition, I fight with my Pikachu against Gary's Eevee. I gain 97 EP, but why? It is a trainer battle (1,5), Eevee's base experiance is 92 in the first generation and it has level 5. If I multiply 1,5*92*5 and divide it with 7 (as it is described in the article), I got 98 EP and not 97. What's the reason for gaining 97 EP? I controlled it with wild Rattatas and Pidgeots in the same edition, and there the EP-gaining is right (with Rattata: 1*57*2 (1 = wild battle, 57 = Rattata's base experiance in Generation one, 2 = its level) divided with 7 = 16 EP for Pikachu. But I used a long time to find a solution of my problem, but I can't. Can anybody help me here? --LaBumm 23:40, 28 February 2011 (UTC)

Maybe it does the abL/7 thing before multiplying anything else, rounding down in the middle. That's the only explanation I can think of, and that gives 97.5, which rounds down to 97. Ztobor 12:54, 1 March 2011 (UTC)

On the Gen V formula

According to poccil's post here, Lucky Egg and trade multipliers are applied after the +1. Since I can't seem to replace the existing file, I have instead left the repaired formula on Wikipedia's sandbox. Could someone perform the replacement of the formula? Arcorann 09:01, 30 June 2011 (UTC)

Updated the image with yours. I skimmed the page to see if anything was wrong due to using the old formula, but it seemed to be using your formula anyway. However, it's possible that I missed something. --SnorlaxMonster 05:36, 2 July 2011 (UTC)

Experience Gain Formula Mistake?

I saw the experience gain formula and decided to test out. This is the situation: In a Generation IV game a Scyther who defeats a wild level 11 Rattata gains 89 EXP. points. The Scyther is with his original trainer, has no Lucky Egg, there is no EXP. Share in his team, and no EXP. All in the Bag to affect the outcome. Though, using the formula, Change in EXP would simplify to 561/7, which equals 80.14, or 80 EXP. I'd understand if it were off by 1 or 2 EXP but the gap is noticeable here. Could someone help me in finding out my mistake? I'm pretty sure I'm the one mistaken here. Thanks in advance to any help. Chrispizza 20:41, 9 July 2011 (UTC)

I tried the exact same thing (Scyther KOing a lv 11 Rattata in Gen IV), and got 89 EXP as well. I don't think it was you that messed up, but the formula. --SnorlaxMonster 07:07, 30 July 2011 (UTC)

Gen IV International Pokémon

Does the 1.7 multiplier exist in pre Gen IV games? If not then this info should be added to this page. I only ask because a lot of the benefits of international trading weren't added until Gen IV. Jmvb 14:53, 1 August 2011 (UTC)

I would doubt it. The byte which indicates its country of origin wasn't added until Gen IV, so I don't see how the Gen III game would have been able to tell. --SnorlaxMonster 15:25, 1 August 2011 (UTC)

Level 100 Exp. Share

If I battle a Pokémon with a level 100 Pokémon and another one in my party has an Exp. Share, does the one holding it get 100% of Exp. Points since the one battling doesn't? MasterGiygas 23:16, 21 December 2011 (UTC)

No. In generation IV at least, the 50% that would go to the level 100 Pokemon battling is lost. Werdnae (talk) 23:19, 21 December 2011 (UTC)
Just tested, it gets 50% in 5th gen as well. -- Trainer Hunter -- 23:38, 21 December 2011 (UTC)
I used to do this in Gen III. It is true there as well. --SnorlaxMonster 01:17, 22 December 2011 (UTC)

A most accuracy GenV formula for Exp. Points gained in battle

(I'm spanish so, I'm sorry if my english isn't perfect)

I'm working and testing the actual formula for gain Exp. Points in battles and, in some cases, I noticed that the actual formula has some little mistakes in certain specific cases. I modified the actual formula, and with this new version I didn't fail any case until now. I will try to explain it as well as I can:

- Step 1: Calculate total Exp. Points.

   totalExp = tct((b x L) x a)
   NOTE: tct() meas truncate decimals.

- Step 2: Calculate particular Exp. Points.

   This step is slightly different from the actual formula.
   "aux1" is equal to 1 if the Pokémon has participated in the battle or 0 if not.
   "aux2" is equal to 1 if the Pokémon has Exp. Share equipped or 0 if not.
   "s1"  is the number of Pokémon that participated in the battle and have not fainted. If any Pokémon in the party is holding an Exp. Share, "s1" is
   equal to twice the number of Pokémon that participated instead.
   "s2" is equal to twice the number of Pokémon holding the Exp. Share in the party.
   partExp = (aux1 x tct(totalExp / (5 x s1))) + (aux2 x tct(totalExp / (5 x s2)))

- Step 3: Calculate Exp. Points per level multiplier.

   This step is slightly different from the actual formula.
   multiplier = tct((tct((2L + 10)^2.5) x 1000) / tct((L + Lp + 10)^2.5))

- Step 4: Semi final Exp. Points.

   This step is slightly different from the actual formula.
   sFinal = tct((partExp x multiplier) / 1000) + 1

- Step 5: Final Exp. Points.

   finalExp = tct(tct(tct(sFinal x t) x e) x p)
   NOTE: I can't test if that's the real order, because I don't have any international traded Pokémon and any Exp. Point Power.


Amazing! I just make it into a better look equation, but I haven't test it yet
Note that big brackets '[]' means truncate decimals
Exp process 1 totalexp.png
Exp process 2 partexp.png
Exp process 3 multiplier.png
Exp process 4 sfinal.png
Exp process 5 finalexp.png
Exp process 6 mixed.png
Where
b is the base experience yield of the fainted Pokémon′s species, listed here.
L is the level of the fainted Pokémon.
a is equal to 1 if the fainted Pokémon is wild, and 1.5 if the fainted Pokémon is owned by a Trainer.
aux1 is equal to 1 if the Pokémon has participated in the battle or 0 if not.
aux2 is equal to 1 if the Pokémon has Exp. Share equipped or 0 if not.
s1 is the number of Pokémon that participated in the battle and have not fainted. If any Pokémon in the party is holding an Exp. Share, "s1" is equal to twice the number of Pokémon that participated instead.
s2 is equal to twice the number of Pokémon holding the Exp. Share in the party.——Kolu (talk) 06:30, 19 August 2012 (UTC)

EXP and Tag Battles

How does being in a story-based tag battle affect EXP (for example, when you're teamed with Bianca in Reversal Mountain in B&W2)? I don't think it's consistent between different games. Legionaireb (talk) 19:26, 2 March 2013 (UTC)

Possibly minor page error

So, on the chart listing "Experience at each level" comparing the exp groups, at the top of the chart for Medium Slow on the "To next level" side, it reads 0 with use of the {{tt}} template reading "63 in Generations I and II". This should probably either read 6 or 3, but probably not 63, since that would be more than the next number down. Schiffy (Speak to me|What I've done) 17:22, 7 September 2013 (UTC)

Remember that in those generations the formula was actually broken at level 1. Werdnae (talk) 21:15, 7 September 2013 (UTC)
Oh.... right..... Forgot, it's Gen I/II, where more than enough random pieces of code was broken, and level 1's weren't even legitimately obtainable. Schiffy (Speak to me|What I've done) 22:49, 7 September 2013 (UTC)

"Unexplainable" deviation in Gen I?

The text states that in Gen I "... the calculated experience deviates by as much as three experience points from the experience received in-game, a deviance which cannot be accounted for by simple rounding errors."

I would like to know more about this. A 3-point deviation is certainly possible assuming that the game truncates any intermediate result to integers; for example, 13/7*1.5*1.5≈4.18, but int(int(int(13/7)*1.5)*1.5)=int(int(1*1.5)*1.5)=int(1*1.5)=1.

Bbbbbbbbba (talk) 15:56, 19 February 2014 (UTC)

I put part of the data I gathered on a user page (I have data for parties of 1-5 as well). You should just be able to import (copy/paste*) that data into a spreadsheet if you want, marking comma as the delimiter. About half of those result in some deviation (with a half-dozen or so deviating by 3). You're welcome to try to reconcile those with some rounding. Tiddlywinks (talk) 16:32, 19 February 2014 (UTC)
Try this sequence of operation:
1. Divide the base exp of the enemy by the number of participating Pokémons. In case of Exp. All, divide the above result by the number of all Pokémons in party. Truncate the result (to an integer).
2. Multiply by the level of the enemy, then divide by 7. Truncate the result.
3. Multiply any factor of 1.5 (trade/trainer) that is applicable. Truncate after each multiplication.
This should work like a charm.
[Actually I "cheated" by reading the assembly code:)] Bbbbbbbbba (talk) 18:56, 19 February 2014 (UTC)
Yup, that does it for all the data I've got (except that you forgot an extra /2 for Exp. All in Step 1). Thanks! I think the main difference with everything I tried is that I was always multiplying enemy level and base exp together right away.
I really wish I could mark rounding in the formulas, but I'm still waiting for them to be updated for Gen VI, even. =( And I don't really want to try to explain it purely textually... Tiddlywinks (talk) 19:44, 19 February 2014 (UTC)

What's wrong with EXP All?

In Generation I, when Exp. All is in the Bag, every Pokémon in the player's party also receives some experience from Exp. All; that amount is equal to the amount that a battling Pokémon would have received (before any bonuses) divided by the number of Pokémon in the player's party (this method of calculation appears to be an error).

I don't see what the error is here. If you have 6 mons in your party and you defeat an opponent and win N EXP, each mon gains N/6 EXP. Is that not what happens? (talk) 19:55, 15 July 2014 (UTC)

In point of fact, if your party has 6 Pokemon and only one of them battles and Exp All is in the bag, they each actually get (N/2)/6 Exp (and the battler gets N/2 Exp). That's no problem.
If you send 2 Pokemon out of a 6-Pokemon party in to battle, though, the battlers each get N/4 Exp and each of the 6 party Pokemon get (N/4)/6 Exp. But they should be getting (N/2)/6 Exp. The game should be using half the opponent's experience to divide among the party; instead it uses the amount that a battler receives, which will be less than N/2 if there is more than one battler. Tiddlywinks (talk) 21:59, 15 July 2014 (UTC)
I think I understand, but I'm still not clear... it divides the EXP into two pools (one for those who battled, one for those who didn't) of 50% each, except the non-battler pool isn't actually 50%, but (50 / #battlers)%?
Maybe I'm just a derp, but I don't find either explanation completely clear. (talk) 12:20, 16 July 2014 (UTC)
That's basically right. What it looks like is that someone thought, "Hey, I've got one guy battling so he's gonna receive 50% of the experience, then I need to divide 50% among the party...I can just divide the number that the guy in battle got, easy peasy!". And if they only tested it with one battler, that would look correct and they could have missed the mistake. On the other hand, it could be more of a bug and they meant to actually use the right value but forgot or didn't quite do it right somehow. It's hard to say. Tiddlywinks (talk) 13:23, 16 July 2014 (UTC)

B2W2 cap.

...I think they capped the yield at 100k in B2W2. I've seen Lv. 79 Blissey with all the bonuses (Pass Power, trade, Lucky Egg) giving exactly 100 000EXP. This is not the case here. - unsigned comment from Eridanus (talkcontribs)

This seems to be true. It can be seen here for example. The video Eridanus linked to is from BW, not B2W2, so the change seems to have been implemented during Gen V. Maybe add this to / change the text in the Trivia section where the maximum value for Exp. Points amounting to >100k is said to be possible in 'Gen V'? Peterpansexuell (talk) 19:05, 9 August 2014 (UTC)