Tinkering
NeatUpdate to Seth Bling's Mar I/O lua code, forked from mam91/Neat-Genetic-Mario.
(Planned) additions & changes
- Fixed function which determines if Mario got hit.
- Added a variable for BizHawk path to make setup easier.
- Include lists of good/neutral for both sprites and extended sprites.
- Include powerups to fitness calculation. (as antagonist to the damage counter)
- Option to start with specific powerup.
- Give bonus for received 1-Ups.
- Move bonus multiplicators to config.
- Show fitness calculation in GUI.
- Make GUI drawing optional. (Network & data)
- Make the drawing of the circle optional & disable it in overworld. (just cosmetical changes)
- Let the Restart button appear again.
- Reorganize the control form.
original repository
Readme fromAdded coins/score/damage to fitness calculation.
Added version with weighted distance: added circle around mario where enemies inside the circle are treated as most important and enemies outside of the circle have their weights reduced depending on how far outside the circle.
Added a start/stop button so that the algorithm doesn't auto-start on load and so that one can easily pause the algorithm.
For some reason, the load feature did not work on my machine. This is now fixed so that I can load a previously saved pool.
Moved the neat graphics to the form window instead of as a gui overlay. I liked the gui overlay but I prefer to to separate the game > window from the neat information.
Did some miscellaneous house-keeping, like moving global config settings into their own file, etc. =======
NeatResearch
Update to Seth Bling's Mar I/O lua code.
Added coins/score/damage to fitness calculation.
Added version with weighted distance: added circle around mario where enemies inside the circle are treated as most important and enemies outside of the circle have their weights reduced depending on how far outside the circle.
Added a start/stop button so that the algorithm doesn't auto-start on load and so that one can easily pause the algorithm.
For some reason, the load feature did not work on my machine. This is now fixed so that I can load a previously saved pool.
Moved the neat graphics to the form window instead of as a gui overlay. I liked the gui overlay but I prefer to to separate the game window from the neat information.
Did some miscellaneous house-keeping, like moving global config settings into their own file, etc.
Instructions
- Install BizHawk prerequesites & emulator:
- Get the rom of Super Mario World (USA). (Other Super Mario World roms might work too but are not tested)
CRC | MD5 | SHA1 |
---|---|---|
B19ED489 | CDD3C8C37322978CA8669B34BC89C804 | 6B47BB75D16514B6A476AA0C73A683A2A4C18765 |
- Clone the repository or download the zip file and place the neat-mario folder in your \BizHawk-2.2\Lua\SNES\ folder. (like: BizHawk-2.2\Lua\SNES\neat-mario)
- Open config.lua and change variable _M.BizhawkDir to point on your BizHawk directory.
- Open BizHawk (EmuHawk.exe)
- Click File > Open ROM (Ctrl + O) and find Super Mario World (USA).sfc file.
- Once loaded, click Tools > Lua Console
- In the new window, click Script > Open Script (Ctrl + O) and select mario-neat.lua in your \BizHawk-2.2\Lua\SNES\neat-mario folder.
- The NEAT control window will display and you can then click Start to begin training.
======= 9. The NEAT control window will display and you can then click Start to begin training.