Skip to content

Sylforen/mario-cv

Repository files navigation

Vectorised Epsilon-Greedy RL in Super Mario Bros

This project demonstrates a lightweight reinforcement learning agent for Super Mario Bros. It uses simple sprite detection and tracks objects in the scene with basic vector maths to aid with decision making. The agent also tracks areas of repeated failure and increases exploration near those coordinates. The best-performing episode of the run is saved here. With the global best run being displayed at github.com/Sylforen


Getting Started

Clone the repo

git clone https://github.com/Sylforen/mario-cv.git
cd mario-cv/

Install dependencies:

pip install -r requirements.txt

Start training:

python main.py --episodes 50 --enemy_factor 0.95 --gap_factor 0.9

Press q to close the display window at any time.

Docker

docker build -t mario-ml .
docker run --gpus all -it --rm -v "$PWD":/app mario-ml

About

A novel vectorised implementation of an epsilon-greedy policy for training a reinforcement learning agent in Super Mario Bros.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages