Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/filfreire/super-mario-experiments
metaheuristics experiments on super mario bros
https://github.com/filfreire/super-mario-experiments
Last synced: 4 days ago
JSON representation
metaheuristics experiments on super mario bros
- Host: GitHub
- URL: https://github.com/filfreire/super-mario-experiments
- Owner: filfreire
- License: mit
- Created: 2023-11-19T19:06:32.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2023-12-19T12:53:42.000Z (10 months ago)
- Last Synced: 2023-12-19T15:18:52.837Z (10 months ago)
- Language: Lua
- Size: 83 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# super-mario-experiments
metaheuristics experiments on super mario bros.
- Read the report [here](https://github.com/filfreire/super-mario-experiments/blob/main/report.pdf).
## Setup
> Note: tested using Windows 10 Pro 22H2
- Install [FCEUX](https://github.com/TASEmulators/fceux) (tested with win32 version)
- Load Rom (e.g. SMB NTSC USA rom)
- Try to run one of the `scripts` on fceux, alternatively run
- `.\generate-initial-solution.ps1` for generating a feasible starting solution
- `.\playback-solution.ps1 .\data\solutions1.txt` to try out a saved solution
- `.\mario-genetic-1.ps1 ` to try out population based algorithm with a saved solution as the initial one
- `.\mario-genetic-mutation-only.ps1 ` to try out custom evolutionary algorithm with a saved solution as the initial one
- `.\generate-initial-solution-RW.ps1 ` for generating a feasible starting solution using random walk with a given random seed
- `.\run-random-walk-experiment.ps1` to run a full random walk experiment of `.\generate-initial-solution-RW.ps1` be sure to edit the number of random seeds according to the number of threads of your CPU### Extra setup steps
- Add `fceux` to the `PATH` in order to run it directly. For command line options see
- Install `lua` (e.g. )
- Copy `iuplua51.dll` and `lfs.dll` from your Lua install directory into root of `fceux` installation directory## Resources
- FCEUX lua scripting
- Super Mario Bros RAM map
-
-
-
-
-## Other extra sources
> Leane, M., & Noman, N. (2017, November). An evolutionary metaheuristic algorithm to optimise solutions to NES games. In 2017 21st Asia Pacific Symposium on Intelligent and Evolutionary Systems (IES) (pp. 19-24). IEEE.
>
> Aloupis, G., Demaine, E. D., Guo, A., & Viglietta, G. (2015). Classic Nintendo games are (computationally) hard. Theoretical Computer Science, 586, 135-160.
>
> Gabrielsen, C. (2012). Video Game Motion Planning reviewed NP-complete.
>
> Pelikan, M., & Goldberg, D. E. (2010). Genetic algorithms. MEDAL Report, (2010007), 1-28.
>
> Lobo, F. G., & Lima, C. F. (2007). Adaptive population sizing schemes in genetic algorithms. In Parameter setting in evolutionary algorithms (pp. 185-204). Berlin, Heidelberg: Springer Berlin Heidelberg.