We know that emulators have inaccuracies with GBAFE enemy AI. But why?

Hey guys, a little background. I’ve been recording an FE7 HHM 0% growths LTC, and in the interest of maximizing emulator fidelity to console, I used BizHawk instead of VBA at the advice of KirbymastaH. Being the dumbass that I am, I had no idea how emulator cores worked, and ended up doing the whole run on a VBA core, obviating all of my precautions. Oops.

So, no big deal, the emulation differences can’t be that bad, right? I tried converting my route to the more accurate mGBA core, and as early as chapter 12 I noticed a discrepancy (timestamped link to 5:09):

https://www.youtube.com/watch?v=SptqKsTFqC0?t=311

On a VBA core, this archer attacks Dorcas as shown. On an mGBA core, this archer instead attacks Lowen, who is at 16 HP. I calculated the targeting priority for each unit and it seems like Lowen should’ve been the preferred target, and I could not explain how Dorcas could’ve been targeted.

Does anyone know why or how different emulators would treat targeting priority differently? Does VBA, like, accidentally skip part of the calculation?

6 Likes

I have no idea. But on discord, some people have previously shared opinions on VBA.

Sme:
vba is old and bad dont use it

Leonarth:
if it doesn’t work in vba, don’t usa vba
vba is a bad emulator, we can’t be supporting it forever

Sme: it works on mgba but not vba
what the $%@#?
Peerless: VBA bad!

Set a breakpoint and trace the calculation. Both vba-sdl-h and mgba support debugging. Post the save file please.

4 Likes