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)
ok so over in the X% thread Burning Ocean commented on how development pace has picked up recently, and was asking why.
it's a good question, considering that we basically went from nothing for months/weeks and now we're back to a % every few days. there's basically two and a three half reasons:
Walpurgis is a good person.
those of you who know her from the bug/troubleshooting section probably already know that. what fewer people know is that we ended up taking her from bug reporting to bug fixing. instead of just fixing save files, she's not fixing the game. what an actual hero. we have her helping out with the scripts after Marcello and Kuro taught her how to mingle with 'em, which has freed Marcello up to focus solely on AI without having to worry about the pile of outstanding battle system errors. Also Marcello finished his school term. so that helps too.
Kanaya is also a good person,
but the difference is not as many people already knew that, and she'd probably gripe at me for saying that she is ;D. Previously just helping out with mapping, I've also been teaching kanaya to handle events and I've given her a solid handful of the sidequests to do for the episode. like walpurgis with marcello, that freed me up to focus solely on the story (and other bits) which meant i could cut through those pretty quickly. at this point sidequests are all that's left so i'm going back to them a bit, but it was super helpful to have other hands on it in the meantime regardless. this is the first time i've ever actually had other people working directly on adding the game's content so it's a pretty big step for me. and also promising for future endeavors.
the other three half reasons all have to do with me and my home life. more active users might know that dan moved in with me around february, and that was fine at first. however, as time went on there was some conflict around his schedule and financial stability. his schedule being janked meant he was here a lot of the time, and i quickly discovered it's near impossible for me to focus on writing with someone else around. story is usually the quickest part of development because i get super motivated for it and just hole myself up for a few days and slam it all out. but with everything going on and him always being around, i couldn't really do that. also, when one isn't sure what their living situation will be like in two weeks or two days, productive energy tends to take a hit. also also this episode had more than normal in the way of story stuff to do in the first place, so that was unlucky.
so the three half reasons we suddenly sped up are because basically:
conflict/financial/schedule stuff at home finally seems to have worked out, so no more issues swarming around
i got over myself and learned to actually ask for time when i needed it even if he was around, something i didn't feel able to do in the past because i'm bad at people
and very shortly after either of those things happened, i finished the story anyway making it all a non-issue
so, here's what's left to do for the episode:
small AI piece concerning partners using moves on their allies (i.e instruct, pollen puff, etc)
some other outstanding AI improvements/bugs based on E17 performance
like 2 squests (the objectively better name for sidequests)
some trainer battles
remember, the misc updates progress bar is not real.
we'll start supervised testing once probably like all but the first bullet point are hit, since that's pretty minor. my hope is that that will be within the next two weeks, but don't take that as an expectation.
wish us smooth sailing and few buggos.
so it's been too long and there's a million reasons why updates haven't been consistent lately, from me going out of the country to my laptop being balls to coming back into a stressathon and fgjhlklklk
so not much has happened, and it's possible there won't be much new development to report for a while longer yet,
still working on story stuff, and i actually don't want to update the scoreboard % for that until i finish because how to properly divide a scene, it's iffy. and also i had suddenly decided to add a handful of new maps and expand the episode's story a bit.
anyway i can't really talk about storystuff cuz spoilers, but speaking of spoilers, i'll give you pinkest screenshot from the new content of 18:
this is from the area i was eventing during march. that eventing is all done and it was a doozy, i ended up having to change the puzzle a handful of times and remove some elements from it because of the risk of lag and of players getting stuck. so that feels bad. but we made it. that was the hardest thing in the episode so the rest is just a matter of finding the time and focus i've so desperately lacked lately to actually do it which is not a chance my home life has recently afforded me
but we've got some other past stuff i can share. i've been updating a few past things recently, such as the railnet puzzle. i was reviewing it last week and talking about the original concept for it-- that you would just ride the train under there through a collapsed wall to break out after connecting the track, rather than all this hand-wave "digital signal" junk. the reason i hadn't done that in the first place was because of not having a good way to animate the train moving around corners on the rails (you'll notice even in the scrapyard, trains never turn corners) so it didn't work with the puzzle concept. however, since E17 we now have plenty of train and train-interior accessories, so i realized that i could return to this original concept by having the player stay inside the train while it moves.
so the core railnet puzzle is the same but the context and outcome of it is now different-- much better, and as originally intended. i guess the player learns how to hijack trains from charlotte or something.
i also went back and touched up some other things recently, such as all of serra's graphics, and especially the mug. i'll post that here on before/after:
yikes, by the way. how did i ever allow that old one.
one last thing to post today since doing sidequests previously. this one goes out to all the folk still around from showdown and PO:
because showdown may be dead, but clarice never will be.
that's all i've got for today. hang tight through my inconsistency, everyone~
I categorically did NOT make this topic purely for the terrible pun in the title.
So, I've been slowly but surely fighting the AI to make it work, but this isn't about that. AI, of course, is not the only responsibility I have on Reborn. Sometimes it's important to pay attention to quality of life features. And Gen VII added a few of these which we have yet to catch up to. Well, E18 will come with one of my favourites of those features included:
(Get it? BOXING with my responsibilities? Because you can send your pokemon to the box upon getting a new one? :]]]])
It should also be noted this doesn't just work with wild pokemon. You're given this same option with Event pokemon and, on top of that, even eggs! (And yes, that also means if you so wish, you can either add eggs straight to your party, or send them to the pc, no trips back to a pokemon centre necesarry anymore!)
Well, that's been this small update, and so I have to go slink back into my AI hole, I hope you're all excited for E18.
(will unlock after above is completed)
story the bulk left; six scenes remain
eventually this will just be one big trail of quote blocks.
tbph figuring out how to divvy up the eventing and story for victory road for this scoreboard is almost not worth the time it would take to math it out because it's very wimey-wibbly-wobby, so numerically the next month or two or howeverlong is just going to be a big bag of questionmarks and it's up to you all to deal with it.
but i'll chat here, so don't worry. won't be totally in the dark.
so it is going to be my earnest goal to start updating this daily for real now even if there's no progress to speak of. and that's probably not going to happen right away so like please nag me if i go a couple days without or something, ok? ty