Mr.Pkmn
Ordinary ASM Magician
- 53
- Posts
- 16
- Years
- Seen Nov 17, 2023
"How can leveling Pokemon be made less boring?": that is the question.
This is something that bothered me some time ago. When you complete the original game or normal difficulty hacks, your team rarely surpass lv 60. Challenging hacks may require you to grind up to lv 80-90, but the experience needed to reach those levels is 2-3 times the experience to reach lv 50, which can be very frustrating.
So I came to the conclusion that modifying the way the game gives you the experience or the required experience to gain a level could be a way to solve this problem and speed up things (& ending the game with lv 100 pokes). Since i can't ASM hack, i chose the second way.
Hacking the experience table
In Fire Red, around 0x253AE8, there's a table with all the values of the experience curve function stored in double words. Different tables for the different functions (erratic, fluctuating, medium-slow ecc..) exist, leaving the possibility of creating a custom function: linear, parabolic, logarithmic, exponential (lol no), piecewise ecc...
These functions are stored in this order:
I made this video for testing purposes:
Hacking the experience gain formula
This area needs research, but it can potentially do neat things like give a biased value of experience based on the level like in BW, or change the equation from linear to parabolic in order to gain more experience at higher levels.
My own implementation (Patch included)
I've decided to simply reduce the pendency of the original curves by dividing their values by a factor which is increased as the level rises. You can see the effect with this graph (old medium-fast compared to new):
h**p://i52.tinypic.com/2lrlu8.png
- Little to nothing changes up to level 30+
- The same experience required to reach lv 50 now allows you to reach lv 59
- The total experience to reach lv 100 is now halved
This graph shows you how the new curve follows the experience gained from battle:
h**p://i56.tinypic.com/wv69t0.png
Obviously this won't solve the problem of grinding at the lower levels, but you can create your own reducing factor. Please note that an excessive lowering of the needed experience to lv 100 can shorten the lifespan of your hack!
This is something that bothered me some time ago. When you complete the original game or normal difficulty hacks, your team rarely surpass lv 60. Challenging hacks may require you to grind up to lv 80-90, but the experience needed to reach those levels is 2-3 times the experience to reach lv 50, which can be very frustrating.
So I came to the conclusion that modifying the way the game gives you the experience or the required experience to gain a level could be a way to solve this problem and speed up things (& ending the game with lv 100 pokes). Since i can't ASM hack, i chose the second way.
Hacking the experience table
In Fire Red, around 0x253AE8, there's a table with all the values of the experience curve function stored in double words. Different tables for the different functions (erratic, fluctuating, medium-slow ecc..) exist, leaving the possibility of creating a custom function: linear, parabolic, logarithmic, exponential (lol no), piecewise ecc...
These functions are stored in this order:
Don't ask me why there are three Medium-Fast groups (the real one is the first). This might be exploited to create new experience curves (eg: super slow only for legendaries).Medium-Fast
Erratic
Fluctuating
Medium-Slow
Fast
Slow
Medium-Fast
Medium-Fast
I made this video for testing purposes:
Hacking the experience gain formula
This area needs research, but it can potentially do neat things like give a biased value of experience based on the level like in BW, or change the equation from linear to parabolic in order to gain more experience at higher levels.
My own implementation (Patch included)
I've decided to simply reduce the pendency of the original curves by dividing their values by a factor which is increased as the level rises. You can see the effect with this graph (old medium-fast compared to new):
h**p://i52.tinypic.com/2lrlu8.png
- Little to nothing changes up to level 30+
- The same experience required to reach lv 50 now allows you to reach lv 59
- The total experience to reach lv 100 is now halved
This graph shows you how the new curve follows the experience gained from battle:
h**p://i56.tinypic.com/wv69t0.png
Obviously this won't solve the problem of grinding at the lower levels, but you can create your own reducing factor. Please note that an excessive lowering of the needed experience to lv 100 can shorten the lifespan of your hack!