OoT Randomizer AI experiment
Find a file
2021-03-09 16:01:09 -08:00
build Refactor to hopefully avoid compiler bugs 2021-03-09 16:01:09 -08:00
mem Refactor to hopefully avoid compiler bugs 2021-03-09 16:01:09 -08:00
oot Refactor to hopefully avoid compiler bugs 2021-03-09 16:01:09 -08:00
.gitignore Refactor to hopefully avoid compiler bugs 2021-03-09 16:01:09 -08:00
dolphin.ml Refactor to hopefully avoid compiler bugs 2021-03-09 16:01:09 -08:00
main.ml Refactor to hopefully avoid compiler bugs 2021-03-09 16:01:09 -08:00
pretty.ml Refactor to hopefully avoid compiler bugs 2021-03-09 16:01:09 -08:00
README.md Initial commit 2021-03-08 19:55:25 -08:00
save_context.ml Refactor to hopefully avoid compiler bugs 2021-03-09 16:01:09 -08:00

ootAI

An experiment to create an AI that plays OoT Randomizers automatically, getting as many checks as possible in an efficient manner.

how does it work

This runs using the Lua Core fork of the Dolphin Emulator project. As of right now it only works on ROMs generated by the OoT Randomizer.

Eventually I'll have an explanation here on how it does pathfinding and memory reading, but I don't know how to do enough of that yet.

how to build

  1. Install AmuletML.
  2. Run amc compile main.ml -o main.lua --lib /path/to/amulet/lib
  3. Copy everything between the first do and the last end from main.lua
  4. Create a new script in the Dolphin Lua Core Scripts directory:
function onScriptStart() end

function onScriptCancel() end

function onScriptUpdate()
  -- paste what you copied here
end

function onStateLoaded() end

function onStateSaved() end

This script should now run properly when you start it from the Dolphin scripts menu.