Preposterous! Not in my Reborn! Perish the thought!
G R E E T I N G S, Rebornians. Over the years I have carefully crafted Reborn's AI from the ground up (shoutout to ame who actually designed it tho, she the real mvp). With each episode the AI has only gotten smarter, and better at playing pokemon. In particular with the advent of 18.2, our AI has really stepped up it's game with some major bugfixes, outplaying you* so hard, it really makes you FEEL like you're a shit pokemon trainer.
*by 'you' I mean me, I'm terrible at pokemon and the AI has consistently been better than me since like, E18, let alone 18.2
And with the constant AI improvements, we are often asked 'Hey, how come the AI is so smart when battling me, but so garbage when it's my partner? Is this just designed that way to make the game harder?'
To which we say 'No, of course not! We don't believe in that kind of unfair game design, AI shouldn't cheat and we would never artificially dumb it down in situations where it should be helping the player!'
...We'd never do that on purpose.
So have you ever had an experience in Reborn where your AI partner has an all hitting move like, say, Earthquake, and uses it when it would KO your mon? Or doesn't use it when it would barely damage your mon and seriously hurt the opponent?
Because in E18 we added code specifically to deal with that, and have your partners make smarter choices! And guess what? They still didn't make smart choices and we were sad.
So let me tell you a little something about loops. Loops are great. They let you check through a bunch of cases with only a single block of code!
I could write 'for i in 1..4' to go through four different cases (funny that, just as many cases as a mon has moves!) with a single bit of code!
But do you know what is near i, both in the alphabet and on the keyboard? j.
And do you know what happens if you loop through i and accidentally type a j somewhere? Why, it checks whatever j is, which is probably something else from earlier in the code, nothing to do with poor old i.
And that can have the side effect of making AI real unpredictable. Like, for example, lets say your AI wants to use Earthquake. But part of the AI for that is to check how much damage it does to it's partner.
But oh no, I typed a j instead of an i in that check? So instead of checking how much damage Earthquake would do, it checks another move. Could be any of them. Like say, a status move. So it'll think no damage. And Earthquake away no matter how hard that'll hurt your mon. Oops.
But now this is fixed. We have officially cancelled j. Except for like, the places it's meant to be. In those places we've cancelled i. So for E19, you can finally look forward to the partner AI being just as smart as the opponent AI! Hopefully that should make some of the paired fights in the game a lot easier.
Eeeeeeexcept the fact that this cuts both ways. The AI is also now much better at being a partner, regardless of which side it is on,, so this fix will also mean that AIs will act a lot smarter about not sacking their own mons in doubles so like... Y'know, have fun with the AI being better in literally every double battle in the entire game!
Of course, this wouldn't be a devblog post without at least a LITTLE teaser for E19. And sure, I've told you about an AI update that it will bring but, because I'm such a great guy, you can have a little more. So I leave you with a screenshot of some actual dialogue from E19 with no context... I wonder what character would say this?