PaulPauls / SuperMarioWorld-NEAT-Agent

NEAT Agent trained with the NEAT-Python library to play Super Mario World
BSD 3-Clause "New" or "Revised" License
2 stars 1 forks source link

NEAT Agent trained with the NEAT-Python library to play Super Mario World

Neuroevolution Agent trained in OpenAI's Retro environment with the game 'Super Mario World' for the SNES. This program makes heavy use of NEAT-Python and its standard configurations.

The in-game data OpenAI's retro environment provides for Super Mario World has been enhanced in the custom data.json provided, which should replace the standard data.json of super mario world. The ram addresses of this in-game data has been found through the ROM RAM map of Super mario World. The following in-game information has been added:


Setup and Execute

  1. Replace the standard data.json in the installation directory of the retro package. Assuming Python 3.7 in a virtualenv:

    $ cp -f ./data.json ./venv/lib/python3.7/site-packages/retro/data/stable/SuperMarioWorld-Snes/
  2. Configure HyperParameters of neat-config as well as those in evolve-agent.py

  3. Execute $ python3 evolve-agent.py