Day 3: She beats her fists against the AI but it still insists on making her cry (Patreon)
Content
can i go over this all in fifteen minutes
no
can i try anyway
you bet your budews.
ok so AI right one thing i forgot to mention in yesterday's post is that we DO have a diagnostic tool that prints out the AI's numbers and so I was planning to make liberal use of that during testing only the problem was that the AI changes broke the diagnostic tool meaning when we used it the AI took no action which kind of defeated the entire point and made a lot of the supervised testing time go to waste in that sense because I couldn't just look and see ok why did it just do that thing
which is one of the most frustrating aspects about it all tbh
but marcello fixed that yesterday so thanks marcello i took it and i've been feeling out the same issues from before and see what the hap is fackening
so it's like, you know it's not bad. the scores it's coming out with right now are not very incorrect but it's like, it'll print out for scores and it's supposed to use the highest scored move in general* and then it'll just go and pick the second highest or something and that's a lot of the problem
so i figured out why that was yesterday, basically if there are two really good moves it should have a chance of using the second highest but the window of what constitutes a really good move was too large and that's because it checks the standard deviation of all four move scores and then uses that to determine how far down to look for other good moves but APPARENTLY in calculating the standard deviation it doesn't exclude outliers and i dont know math very well but i was pretty sure that was a given so i either need to make it do That or change how it works entirely or something because in a set of 90,95,5,110 that raggedy-ass 5 still gets counted and makes the whole thing like a StdDev of 47 or some bullshit and this is an extreme case but still p l s behave
so we change that and probably that accounts for many of the problems i saw
another big problem i found is that-- ok so damaging moves have two parts right, they're scored for their effect and they're scored for much damage they do and we capped the damage they do at 110 score (doing 110% of enemy's remaining HP) but apparently that carried over and was capping the final score so it was impossible for any damaging move to be over 110 which is a problem especially when you want to use like charge beam to finish off an opponent with 2 HP and not shadow ball because the chance you get that sp.atk boost is super worth it
just like you
l'oreal
so i'm hoping that those two things cuts the bulk of the problems but even then it's not like i expect it to be perfect we'll probably have to keep tweaking numbers as we go
so as it is right now is the AI worse than before????? yes absolutely. but that's not because of the AI structure-- that's because of typos and bugs. like ok example. i found an issue using our fancy repaired score checker tool yesterday where the AI would have never ever used a non damaging poison move for toxic despite all my logic for it because there was a stray equals sign in the condition for if the enemy was yawned which basically made the score go down to 0 at all times
cases like that aren't very visible but they are highly damaging. if we could solve for all such problems then the AI would definitely be much better, but we can't do that without a lot of testing and love. and we have testing. but i'm all out of love.
basically it's like, who would win:
- 14,000+ lines of newly written carefully considered AI logic
- one parallel boy ( = )
and don't even get me started on the semicolons
...well ruby doesn't use a lot of those but still y'all programmers out there catch my feels i know u do
so we gotta keep looking for these outlying cases and give them the what to the for
there's also a few things that i've realized aren't being considered so we'll keep adding those into
but our work is not only cut out for us but neatly displayed in a world class exhibit
only someone took the museum and turned it upside down and also buried it under ground
thanks someone
holy shit i did it bye