Supervised Tail > Internal Head + !!!!! (Patreon)
Content
...i apologize.
posts flow slower than even i do, so let's talk about some things from the end of Supervised Testing before getting to the New Stuff
inuki 4.0
charlotte on the inverse run. the lad is at it again. unlike bennett, he doesn't particularly dislike charlotte (as far as i know). but i do imagine he isn't terribly interested in dealing with her classic brand of in-battle shit.
setting aside his inverse shenanigans and god forbid his poor shedinja, he had a simple strategy.
prankster murkrow tailwind.
speed-boosted diggersby to EQ literally everyone to death
there is only one problem with that, and it's name is rotom. rotom has levitate, so no EQ.
fortunately, that's where a good old-fashioned iron ball comes in. all inuki had to do was have his class klutz lopunny switcheroo the iron ball to rotom and--
get outsped and die before it can move because like lagging tail and the seeds and every other cool thing he's tried to do with this ability, it didn't prevent iron ball's effect.
hey ame did you know th--
collapse collapse
those of you who were at the stream for the railnet might remember when we came up with the Aggron Battle on that one sidequest.
those of you who were not there need only understand that we made a whole sidequest battle that revolved solely around the gimmick of collapsing the cave over and over as the only mechanic to KO a player's pokemon.
what i did not realize at the time was that the collapse only works once per battle, not repeatedly.
so naturally, i fixed that after supervised.
good luck.
in less luck-related news, i also fixed a bug relating to the collapse, and also corromists' combustion (since they're implemented similarly) that caused abilities like sturdy and battle armor to not reduce the damage properly-- they were reducing based on current hp rather than max hp, which made sturdy mons all but invulnerable to it anyway.
whups.
sucky punch
always a sucker punch error smh
this one was pretty simple tho, sucker punch was one of the more common moves that we did in our remaining function code batch for this ep
only i noticed that the AI didn't really like to use it very much ever
at first i thought it was interacting with our new priority handler poorly
but upon further insp'tion, a final score piece to it had just been typo'd
something like
if this pokemon is slower than the target
score *= 1.3
had instead been typo'd to... score *= 1/3
meaning it was cutting the final score to use the move to 33% instead of increasing it.
lead off, lead out
so we had an issue with the aster and eclipse battle not working, as inuki found out, because of something within our new potion method breaking specifically for factory and electric terrains when it was considering how well this pokemon benefited from the field because we didnt account for intelligent trainers having fewer than six pokemon because lol what game is this
so we fixed that, but then saw a new problem with A&E where they kind of just switched solrock in and out repeatedly? despite our changes to decrease the likelihood of switching in successive turns at all. so that was frustrating.
when i looked at the scores it seemed like solrock was still being put over the value we upped to discourage switching because it's specifically a lead pokemon, and then for the same reason it was volunteering to switch in earlier (since leads generally don't need to stay into the late game of a battle)
so i just kind of slashed both of those lead specific scores and hopefully that creates fewer anomaly situations like that.
--
okay, so internal.
because i'm taking a more passive role to internal (i.e not literally watching the entire playthroughs myself) i only know what i hear about rather than being able to give full accounts of stories. so these lists maybe more glancing than for supervised.
first, a quick answer to the general question of how the internal test is going:
could be worse, could be better. ai is starting to bare some fangs. the good news is that unlike last episode it seems to be affecting trainer battles more than it's affecting major character battles (which is expected given the nature of moves we did this time) so i think it will still not be as bad even anticipating the pace of inactions picks up during alpha and beta.
here's some of the bugs we've found so far:
- deerling. deerling what r u doin'. one thing we did this episode was make it so that chrysolia had spring and summer deerlings, and route 4 and winter and autumn ones.
what has apparently -actually- happened is that the spring and summer/winter and autumn deerling pairs have decide to merge themselves into singular autonomous paired beings and now switch between being spring/summer or autumn/winter every time you look at them. are we oracle of seasons up here or what. - during internal testing we fixed an issue with infestation causing inactions.
turns out there was a second, entirely different typo error within infestation and similar moves that was causing an inaction under that one.
so that was frustrating.
but we fixed that too.
if there's a third one we'll just delete the moves from the game i think. - so since the last test kanaya got a new computer, and unfortunately her reborn save files didn't come with it. so this cycle she's testing everything up from the start again, which i thought wouldn't really be necessary because i didnt make that many changes to early game aside from the railnet.
keyword being... thought.
she ran into a fatal error that would've absolutely stopped new players cold at the tangrowth event in obsidia. for whatever reason, the game would freeze as soon as amy and florinia tried to move into the park. maybe it was protecting them, idk. but there was nothing obstructing their movement path so i couldn't find what in the blazes would be causing the problem.
it's not too surprising though since the moment of freeze was marked by a Wait for Move command, which is supposed to time events to proceed only after other things have finished moving. in this case-- it wasn't just waiting for amy and rini. it was waiting for some other random mysterious event, somewhere on the map.
so did what i'm best at, and just started mass-deleting things until it decided to work.
it's a fool proof strategy, really.
it turned out the culprit was.... the day care man. that's right! mr. don't know how it happened himself!
it makes sense in retrospect, but i had completely forgotten i added a handler that would check every few seconds and adjust his facing based on whether or not he had an egg for the player-- something that was requested as an addition. unfortunately, since he was off the screen when the player was opening the way to the park, the event couldn't properly turn because essentials is bad like that, and freezes when things try to move off screen and can't instead of just not thinking about them or letting them move anyway
which is part of the anti lag script but
y'all know how well that don't work
so anyway i added a check that the egg facing thing only starts after doing that tangrowth stuff, which should be fine, but will be awkward if anyone tries to do it before that and finds it inconsistent
so don't report that
or i'll cry
thanks - remember that time i said the inactions were affecting minor trainers more than major ones? i lied.
or even if i didnt lie, here's a counterpoint: terra was taking no action at all-- which i feel like happens every time we make changes to the AI. hm.
anyway we've found and fixed the reason already-- so i've talked about how we added a method so trainers know how good the field they're on is for their pokemon, right, similar to the aster and eclipse thing above.
so the ai now knows that glitch field is actually super good for terra.
which is good!
unfortunately it knew it was sooo good for her that it reduced the score for how much we want to change this field all the way to zero!
which is good! because terra definitely doesn't want to change the field!
what is less good is that we need to divide by that score.
aka terra was dividing by zero.
aka who's even fucking surprised. - another now-fixed inaction with retaliate... this one was actually super clean to identify. it was only happening the first turn the pokemon was out, and our debuglog stopped printing moves at all after its second move.
so what's it's third move? retaliate.
now normally with function codes we get an initial score for damage and a final score for other factors, and it tends to crash between the two cuz that's where all the code is
but there wasn't even an initial score here.
meaning!
it was crashing trying to figure out how how much damage retaliate would do
which! matches directly up with it only happening the first turn the pokemon is out, since that's when the doubling effect is active
so we checked that immediately and indeed "basedamage" had been typo'd as "basdamage" which we have concluded is short for "bass damage" which we have concluded is what someone like arclight or hardy would deal in.
--
so that was basically day 1 for internal.
i'll post more about some of the errors we found today, but we currently don't have fixes for most of today's stuff yet sooo hopefully i'll have answers to the questions by the time i do post them
in the meanest of times...
as of today, i've hit my next milestone on here !!!!
i'm gonna post some more elaborate words about that and what's coming up as a result, on the tomorrow, but i can't not mention it tonight
because you guys are why the game has been able to get to this point already, and why i've been able to find as much happiness as i have in the past year and a half (which by the way, is a lot)
a lot of you may have seen my tweet last night (which made not even realizing this was about to be a thing), but i think it happens to sum it up pretty well

that last part really goes like, tenfold for all of you
thanks for making my life~