Metroid Learning – The Core

The core script can be metaphorically described as the brain of the AI. It utilizes all the other scripts and is therefore considered the most important element of the project. It is also the most overwhelming, since it consists of over 1100 lines of code (in comparison: the game script boils down to 170 lines). Quite some time ago, I analyzed the functionality of this very script. Today, I want to bring structure into it.

In this blog, I try to structure the code of MarI/O’s core script so that I can salvage re-usable parts and determine the next steps of the project.

Metroid Learning – Player data in the cartridge

An analysis of Super Metroid’s user interface revealed that the AI would perform best when it tried to keep the values of available energy and  ammunition as high as possible at all times. To make the AI focus on these values, it needs to know them. To get to that point, the pointer addresses of these values are needed – in short: more ROM hacking.

In this blog, I will dig into the game cartrigde to find pointers that are needed for the game script.