This repository contains a PIP package which is an OpenAI environment for simulating an environment for the AbadIA (The abbey of crime game).
Also included some agents from random to more complex ones.
We recommend use virtualenv in order to have a controlled (and tested/controlled) enviroment.
You can create this enviroment with:
virtualenv -p python3 python3
We're using python version 3 and the name of the directory with the enviroment will be python3. In this case it's created at the current directory.
The second step is invoke this enviroment with:
source ./python3/bin/activate
Note: that I created previuosly at the current directory this enviroment directory (python3) but you could create this wherever you wish.
Note2: you don't need to do that if you have python3 and you are not worried of messing with your current (and global) python enviroment.
For install AbadIA-gym just install all the dependencies from the requirements.txt file using pip3:
pip3 install -r requirements.txt
import gym
import gym_abadia
env = gym.make('abadia-v0')
Clone the game engine project and do the usual things like read the README.md file and then launch the game engine:
./VigasocoSDL abadia -input:libVigasocoFakeInputPlugin.so,FakeInputPlugin -audio:libVigasocoNULLAudioPlugin.so,NULLAudioPlugin
or use our not so cool bash shell loop:
./loopVigasocoSDL.sh
run the version 4 agent QTables implementation and a few options to control the enviroment.
python3 agentv4_dqn.py --episodes=5 --steps=300 # --model=models/model_v1_lastest.model -c /tmp/check # -c partidas/20180602/abadia_checkpoint_180602_214255_980367_2_1_4_21_25_0.checkpoint
You can run it in a loop:
./loopagentv4.sh
run the version 3 agent QTables implementation and a few options to control the enviroment.
python3 agentv3_qlearning.py --episodes=100 --steps=250 # -c partidas/20180429/abadia_checkpoint_18-04-29_19:53:02:726983_1_4_34_13_0.checkpoint
You can run it in a loop:
./loopagentv3.sh
** Note: You can expects lot of log info and some ascii art **
run the dumb agent:
(python3) ~/proyectos/abadia-gym (master ✘)✹✭ ᐅ python3 agentv1.py
run the version 2 agent a simple QTables implementation
(python3) ~/proyectos/abadia-gym (master ✘)✹✭ ᐅ python3 agentv2_qlearning.py