Hi! Me again.
So, as many of you noticed, the last post I made (featuring the lovable Meech) was actually just a cleverly disguised teaser for the level cap increasing. This post is going to be a bit more about the level cap itself, why increasing it can make things annoying for anyone actually trying to level up past 100, and probably some nerd stuff on top of that.
First: the level cap.
Changing the level cap is incredibly easy.
In the game files, there's this single line of code:
Increasing that number increases the maximum level. It's really that uncomplicated. You could even increase the level cap to 1,000,000,000,000 if you want to, and it works!
Changing the level cap itself doesn't affect anything in-game since it's, effectively, just a number. The problems with an infinite level cap start to emerge when you have an actual pokemon try to reach it.
Which brings us back to our dear friend Meech.
Instead of explaining this, I'll just show you what happens in game when Meech starts to become Too Stronk (volume warning!):
You can see in the video that Meech is now a level 950,095.
You can also see in the video that the menu lags to hell and back. This lag is what effectively creates a soft limit on the level cap- if I levelled up to the 1,000,000 mark, the game would start crashing every time it tries to load the pokemon screen. The soft limit also varies based on your CPU- forcibly limiting the performance on my laptop also limited the extent to which I could raise Meech's level. The script crashed around level 600,000 when limited, for an example. That said, it's worth nothing that my game crashed literally the moment after I stopped recording the video, so it's not like there's a hard level cap in practice- it all just depends on whether or not your CPU can handle the load.
So: obviously there's a problem with making the level cap too big, but there's not really a technical issue with setting it to, let's say, 50,000. So why don't we? (I rhetorically ask myself in order to set up the next part of this post)
The first issue is EXP.
If you watched the video above to the end, you'd see what the EXP requirements were to level up to 950,096. It takes over 2 trillion points. Meech's level there is, of course, unreasonably high, so here's the EXP values at level 50,000:
Compared to the numbers at level 950,095, this is technically more manageable, but still effectively impossible to reach in-game. To explain why this is the case, I'm going to talk a lot about EXP formulas and... well, I'm going to have to use some math, and I understand that math might not be what you all bargained for by reading this post. In order to spare those you might otherwise be overly startled by the presence of math, I'm going to throw up my specially patented Math Barrier, and those of you who wish to avoid the math can just rejoin the post after the second line of stars.
******************************* MATH BARRIER™ **********************************
There are six types of EXP growth. In order from least EXP needed to most EXP needed, they are:
Erratic, Fast, Medium, Parabolic, Slow, and Fluctuating.
For my own sake, I'm going to be focusing on the middle four growth types, since Erratic and Fluctuating are, uh, really weird and I don't quite know how to make them work for hypothetically high numbers.
Here are the EXPgrowth formulas for the EXP needed to be at a given (level):
Fast: (level)3 * 0.8
Parabolic: (level)3 * 1.2 - (level)2 * 15 - (level) * 100 - 140
Slow: (level)3 * 1.25
(Meech, for reference, is Fast.)
The EXP gain formula- what determines how much EXP you get from battle- is why I made a Math Barrier earlier. It is a mess.
EXPgain = (A / B)2.5 * C * D + 1
A = Lvopp * 2 + 10
B = Lvopp + Lvplayer + 10
C = BaseEXP * Lvopp / 5
D is just a catchall value for things like Lucky Egg boosts, traded pokemon boosts, EXP Share drops, etc. No one needs to see those.
I've tried to make this as readable as possible but it's...it's still a mess. Lvopp is your opponent's level and Lvplayer is yours.
It's worth noting that when Lvopp = Lvplayer , A / B = 1 and the formula basically becomes C * D + 1 = EXPgain. To make things easier for the rest of the explanation, I'll be calculating EXP gain as if Meech was the same level as its opponent.
Anyway, hope you nerds enjoyed the knowledge dump. I'll call the normies back in now.
******************************* MATH BARRIER™ **********************************
The issue here is that EXPgain increases linearly and EXPgrowth increases cubicly. This effectively means that more pokemon will have to be fought in order to level up the higher your level is.
I'll demonstrate this by having Meech fight a bunch of hypothetical Reshirams at the same level in order to level up.
Level 50 Meech needs: 6120 EXP or 2 Level 50 Reshirams
Level 75 Meech needs: 13680 EXP or 2.98 Level 75 Reshirams
Level 100 Meech needs: 24240 EXP or 3.96 Level 100 Reshirams
Level 300 Meech needs: 216720 EXP or 11.8 Level 300 Reshirams
Level 1000 Meech needs: 2402400 EXP or 39.25 Level 1000 Reshirams
Level 50000 Meech needs: 6000120000 EXP or 1960.8 Level 50000 Reshirams
This is basically the EXP crunch that you normally see in the later areas of Reborn taken to extreme levels. The reason you don't see this any earlier is because the base EXP a pokemon gives also depends the sum of its base stats and whether or not it's evolved, with higher base stats and later evolutions having higher base EXP. The increase in EXP for a level up is mostly covered by the fact that the pokemon you're fighting are evolved and give more EXP. But as you can see, when the base EXP of the pokemon you fight isn't increasing anymore, leveling up starts to get harder and harder.
This brings me to my second issue: Leveling up becomes pointless
When you level up, you typically see growths of 1-5 points per stat. At the beginning of the game, this is pretty significant- A 5 point growth when your stat is at a total of 80 is a 6.25% increase. These level up growths effectively always stay the same- whether you're at a level 50 or 75 or 50000.
So let's check MegaMeech's stats.
A level up at 50000 does effectively nothing for MegaMeech, and it takes much much more effort to get one. Level differences between pokemon would also have to be larger to maintain any sort of significance.
So we're still looking into what we'll do with increasing the level cap as far as Reborn is concerned. The main point of it is to make it so there's at least some kind of a challenge with Legendary battles and other postgame shenanigans. I'm also working on tweaks to the EXP formulas so that leveling up isn't such a pain while also making it so that further levelups aren't absolutely necessary to complete the main postgame content (and overleveling won't even be possible before you finish the League).
There's no way we'd push the cap over 200 though. Nuh-uh.
If we're getting to that point and can't increase the challenge without pushing the cap up further then we completely lack creativity and I will personally fire myself.
So, yup, that's my TED Talk. Thanks for listening!
Hi! I'm Cass.
I'm a little new to the dev team- I kinda started in January but the timing didn't quite work because of school and life and stuff so then I left and I came back in like June or so and started doing animations but recently I've started doing more things like breaking things when we get weird bug reports that no one else can figure out and a little bit of spriting and just kind of observing ame's creative process and also being her girlfriend
But anyway, that stuff is not what's important here.
I wanna talk about Meech.
dis is meech. meech ma frand.
While we were testing E18 I decided that I wanted to do a run full of pokemon that I thought were especially cute and my fwuffy little scarf friend here is one of them.
Skill link is what really makes Meech the unstoppable little fuzzball she is. Those multi-hit moves that are usually iffy at best on non-Meech pokemon automatically do the maximum number of hits for her, making things like Bullet Seed and Rock Blast 125BP monster attacks. She took out Reshi with two rock blasts and i was just so proud of her~
So if you want to play with a Meech of your own, just go ahead and find out how to get Cinccino in a game near you. She's real good and that scarf is just A+
Once upon a time, there was an eager youg Dev going on his merry way to the beta store to buy some bugs. You see, that was his hobby, buying them and fixing them up so they could become the features they always wanted to be.
This time, the Dev brought his loyal feature with him to the beta store, her name was 'Stability and proper type effectiveness'. She had always been one of the most important features on the farm. On his way back from the store, a hooded man approached him and asked:
"Oh what an interesting feature you have there. Would you be interested in trading it for this magic bug? If you plant it, it will grow into a mighty tree, and if you climb to the top of that tree, it will take you to a land of all the greatest features you could possibly imagine!"
The eager young Dev pondered the offer. Stability and proper type effectiveness was such a treasured feature, but his mind wandered at the possibility of all the wonderful features this magic bug could bring! And so, he made the trade, before totterring off home to plant the bug.
He was scolded, of course, but insisted they wait for the mighty feature tree. And so they did, and it grew. It grew, not into a feature, but into a mighty Trevenant. That Trevenant got into a conversation with one of the farm's most well respected features, 'Good AI Decisionmaking.' Good AI Decisionmaking told Trevenant, to use Phantom Force on a Bibarel.
And so it did.
And it hit.
It was then that the dev realised his mistake. The strange hooded man had lied. This wasn't a feature tree at all. This, in fact, was a memestalk. A memestalk arriving at the farm with the sole purpose of unleashing it's jank amongst all the other features, and by trading away Stability and proper type effectiveness, the dev had enabled it to do exactly this.
The dev desperately looked over at Good AI Decisionmaking and pleaded with it, asking it how it knew about he memestalk's jank. But Good AI Decisionmaking didn't respond, because features can't talk, only moo. He watched as it told all the other ghost types to not use Phantom Force on Bibarel, because it couldn't hit. And even when the dev forced the other ghost types to do so, it did indeed not hit. But not the memestalk, oh no. It's phantom force hit, and Good AI Decisionmaking continued to tell the memestalk it could hit. It was a conundrum. The developer had never seen this much jank in one place in his life, and given how long he had been farming bugs and features, he had seen a lot of jank.
Without the precious feature he traded away, the dev was at a loss. He went out, located another trevanent and brought it to the farm, he even gave it Phantom Force. And do you know what happened?
It couldn't hit the Bibarel, and Good AI Decisionmaking knew it couldn't. For it was just a Trevenant. It was not the dreaded memestalk.
He thought and thought and thought and thought, and finally had an idea! He had given the new Trevenant Phantom Force specifically, but not tampered with the moves of the memestalk, the memestalk knew it naturally. And so he looked at what other moves the memestalk knew and he wondered to himself.
"...Forest's curse couldn't possibly be that janky, could it? It's not even used it!"
And so he taught the memestalk Flame Wheel, and had it use it against Bibarel.
And, as it turns out, Forest's curse WAS that janky, because it was super effective, despite Forest's Curse never being used, just known, it was still working.
The Dev quickly realised the chaos he had unleashed by trading in Stability and proper type effectiveness as he fled the memestalk to check on his other crops. He first ran to his Gourd(geist)s. And lo and behold, with their powers of Trick or Treat, their Phantom Forces were super effective against the poor bibarels.
He next rushed off to check his Starfruit(mie)s. But, strangely, their powers of Soak seemed to have been spared the infection of the jank.
"But how? The code for Trick or Treat and Forest's Curse is identical to the code for Soak!? Why do you work fine!?" He pleaded. But the Starfruit(mie)s didn't respond. Because they, too, could only moo.
Dejected about the loss of Stability and proper type effectiveness, and the infection of Jank that was quickly spreading about his farm, an affliction that Good AI decisionmaking seemed to understand more than he did, but refused to relinquish its knowledge, the Dev went back to market, trying to find the hooded man. He did, in short order, and pleaded with him to give back his precious feature.
"What a funny little Dev you are. The true Stability and proper type effectiveness was in your heart all along, didn't you know?" He told him cryptically before vanishing into thin air.
With no new answers he wandered back to his farm and caught the culprit red handed. The memestalk was but a scapegoat, as once he arrived, he caught the fiendish Good AI decisionmaking scheming to introduce jank the the great farm.
And so, bugfixing hammer clutched tightly in his fist he went to work, ready to once and for all banish the jank and restore stability to the farm forever more.
(Disclaimer: Many bibarel were harmed in the making of this post)