a bot that learns to play super mario bros. a work in progress. kinda sucks right now.
Connor Olding
f3fc95404c
- rename mean_adapt to weight_rate - sigma and covar update rates can be specified separately (sigma_rate, covar_rate) - base decays on current rates instead of initially configured rates (this might break stuff) - base_rate takes the place of learning_rate |
||
---|---|---|
ars.lua | ||
Base.lua | ||
config.lua | ||
gameconfig.lua | ||
main.lua | ||
nn.lua | ||
README.txt | ||
smb.lua | ||
snes.lua | ||
strict.lua | ||
util.lua | ||
xnes.lua |
this program is largely incomplete and not in a presentable state. please be mindful when sharing it. however, feel free to copy any snippets of code you find useful. usage: 0. edit config.lua as you please 1. open FCEUX 2.2.3 2. load Super Mario Bros. (U) (CRC32: 3337EC46) 3. open a new Lua script window (it's in the File menu) 4. browse and open main.lua TODOs: (that i can remember right now) - normalize `for i=a,b` code style - normalize and/or embed sprite type inputs - settle on a network architecture - compute how many input neurons the network needs instead of hardcoding - add some detection for enemies later in the game - fix cfg.enable_overlay (smb.lua doesn't see it being changed) naive: - learn any combination of buttons, starting from title screen - learn to run network without frameskip - learn other games