AustereDreamX: the time-tested formula of decreasing xp gains when the difference between player and monster levels is too big.
That approach can have some strange behavior. Specifically:
* You have situations where the level a character can reach depends on the order in which non-repeatable fights are done. (When this affects final level, this can lead to something like the missable stats issue.)
* You have situations where a character who starts out at a lower level can end up a higher level than another after killing the same boss.
* When XP is used for other things (D&D 3.x), this provides an incentive to spending XP on those other things rather than leveling up.
* If average party level is used (like in D&D 3.0, and particularly Icewind Dale 2), you have situations where adding a new low level character to a group will make higher level characters level up faster. (In IWD2's case, you essentially have to cheat to avoid the game becoming too easy if you introduce a new character to the party later on.)
Edit: Also worth noting that, for table top games, division is harder to do by hand than multiplication or even adding large numbers. Hence, in that case, decreasing XP gains may not be the best approach.
AustereDreamX: Still, I believe those huge numbers that require scientific notation should be saved for incremental/idle games only, as it's just unnecessary clutter in story-based RPGs in which ways should be found to keep the numbers low.
What about RPGs that *aren't* story-based?
mqstout: (There are other games that that go the other direction and implicitly level you up to a challenge set, or set you to specific stats even, too.)
The Magic of Scheherezade is an interesting example. Once you kill a chapter boos, you are automatically leveled to the maximum level for the chapter you just cleared, which then becomes the starting level for the next chapter.
(Except that, I believe this doesn't happen when you kill the final boss.)
mqstout: The way the XP works behind the scenes so they didn't overflow the integers... "We can't make level-ups require this much, so how about we add global XP penalties instead?"
Reminds me of early Pokemon. In the damage formula, the game has to divide the attacker's attack by the defender's defense. However, the game can only do 8-bit division, so if either stat is 256 or greater, the game will first divide both stats by 4 (which is just a bit shift) before doing the division.
For example, if the attacker has 256 strength and the defender's defense has been reduced to 3, in R/B/Y the game will first reduce them to 64 and 0, respectively, and will then try to divide 64 by 0, causing the game to hang. (G/S/C added an extra check for this, dividing by 1 instead in this case.)
Then again, there's other games that divide by 0, with different results:
* SaGa 1/2 gives 0
* Final Fantasy 6 gives 65,535 or so
* Civilization 2 crashes with an "overflow or division by zero" error (requires cheat mode to trigger this)