54 lines
3.3 KiB
Markdown
54 lines
3.3 KiB
Markdown
# Neat[Tinkering]
|
|
Update to [Seth Bling's Mar I/O][1] lua code, forked from [mam91/Neat-Genetic-Mario][2].
|
|
|
|
## (Planned) additions & changes ##
|
|
* [x] [Fixed function which determines if Mario got hit].
|
|
* [x] [Added a variable for BizHawk path to make setup easier].
|
|
* * [x] [Added instructions to Readme][Readme#1].
|
|
* [ ] Include powerups to fitness calculation. (as antagonist to the damage counter)
|
|
* [ ] Option to start with specific powerup.
|
|
* [ ] Give bonus for received 1-Ups.
|
|
* [ ] Include lists of good/neutral for both sprites and extended sprites.
|
|
|
|
## Readme from [original repository][2]
|
|
> 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
|
|
1. Install [BizHawk] prerequesites & emulator binaries:
|
|
1. [BizHawk prerequesites]. (currently 2.1)
|
|
2. [BizHawk binaries]. (currently 2.2.2)
|
|
2. 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
|
|
3. 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)
|
|
4. Open config.lua and change variable _M.BizhawkDir to point on your BizHawk directory.
|
|
5. Open BizHawk. (EmuHawk.exe)
|
|
6. Click File > Open ROM (Ctrl + O) and find Super Mario World (USA).sfc file.
|
|
7. Once loaded, click Tools > Lua Console.
|
|
8. 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.
|
|
9. The NEAT control window will display and you can then click Start to begin training.
|
|
|
|
[1]:https://github.com/wts42/Neat-Genetic-Mario/wiki/MarI-O
|
|
[2]:https://github.com/mam91/Neat-Genetic-Mario
|
|
[Fixed function which determines if Mario got hit]:https://github.com/mam91/Neat-Genetic-Mario/commit/d5ec3aaded533f1c5061e144e6c3b250d6f63e28
|
|
[Added a variable for BizHawk path to make setup easier]:https://github.com/wts42/Neat-Genetic-Mario/commit/9c920eb34be55a69c751cf5e725516a1ab2c6205
|
|
[Readme#1]:https://github.com/wts42/Neat-Genetic-Mario/commit/7b87f31eda57beced08bd360c4ec620c17375e8c
|
|
[BizHawk]:https://github.com/TASVideos/BizHawk
|
|
[BizHawk prerequesites]:https://github.com/TASVideos/BizHawk-Prereqs/releases
|
|
[BizHawk binaries]:https://github.com/TASVideos/BizHawk/releases
|
|
[Super Mario World (USA)]:https://www.google.de/search?q=Super+Mario+World+(USA).sfc
|
|
|
|
[Tinkering]:http://togelius.blogspot.de/2016/04/the-differences-between-tinkering-and.html
|