
GET DIAMBRA
The time has come: DIAMBRA Environment is finally available for download! Built with the OpenAI-Gym standard, is super easy to interface and use. Are your ready to take up the challenge, train your AI algorithm and compete for the championship?
REQUIREMENTS
Hardware
- (*) 16 Gb RAM
- (*) 4 Gb GPU
Operating System
- Linux Mint 19 or newer
- Linux Ubuntu 18 or newer
OS Packages
- Mint 19 / Ubuntu 18
- sudo apt-get install libboost1.65-dev libssl-dev libsdl2-ttf-dev
- Mint 20 / Ubuntu 20
- sudo apt-get install libboost1.71-dev libboost-system1.71-dev libssl-dev libsdl2-ttf-dev
- (*) Mint / Ubuntu
- sudo apt-get install cmake libopenmpi-dev python3-dev zlib1g-dev
Python Packages
- Use a Python Virtual Environment to manage dependencies (VirtualEnv or [Ana]Conda)
To create a working python environment allowing to successfully execute all examples, first install your virtual environment manager of choice, then execute:
- virtualenv / pip
- python3 -m venv env
- source env/bin/activate
- pip install -r diambraPipRequirements.txt
- conda
- conda create --name envName --file diambraCondaRequirements.txt
For a manual python packages installation, you need to install the following packages:
- pip install jupyter opencv-python gym
- (*)(**) pip install stable-baselines[mpi]
Repository content
SHA256 for each rom are found in the json file inside the roms/ folder
(*) Specific for PPO Algorithm (based on Stable Baselines Reinforcement Learning library)
(**) For additional details on Stable Baselines dependencies, visit their documentation here.
GETTING STARTED
General advice
- Make sure you are connected to the Internet when running the environment
- Extract mame binary contained in mame/mame.zip archive and place it inside mame/ folder
- Rename DIAMBRA Environment library file inside diambraEnvLib/ folder:
- Mint 19 / Ubuntu 18: rename libdiambraEnv18.so to libdiambraEnv.so
- Mint 20 / Ubuntu 20: rename libdiambraEnv20.so to libdiambraEnv.so
- Download games roms and place them in a folder of choice
- WARNING #1: Downloading roms can be illegal depending on different conditions and country. It is your sole and only responsibility to make sure you respect the law. More info can be found here.
- WARNING #2:
Only a specific rom will work for each game.
It is uniquely identified by means of its SHA256 sum value.
Check it with the specific shell command:
sha256sum path-to-file
- Absolute base path inside Jupyter Notebooks has to be updated accordingly to where you extracted/cloned the repository
- Paths to mame/ and diambraEnvLib/ folders are needed, if you move them from the downloaded archive, make sure to update them accordingly
- Watch our tutorials you find below for a step by step walkthrough
- Join our Discord server to interact with other developers and share ideas and questions, or simply have a chat!
TRAIN YOUR AGENT AND TAKE PART IN DIAMBRA TOURNAMENT
Want to try to win the championship? Register here.