Official codebase for "Automatic Gameplay Testing and Validation with Curiosity-Conditioned Proximal Trajectories" paper. Alessandro Sestini, Linus Gisslén, Joakim Bergdahl, Konrad Tollmar, and Andrew D. Bagdanov.
This repo contains the Curiosity-Conditioned Proximal Trajectories (CCPT) algorithm (Algorithm 1 in the paper).
A link to our paper can be found in arxiv.
For the visualization tool, see this repo.
- The code was tested with Python v3.7.
- To install all required packages:
git clone https://github.com/SestoAle/CCPT.git
cd CCPT
pip install -r requirements.txt
pip install mlagents==0.5.0 --no-deps
- To download the environment and the demonstrations:
python download_data.py
sudo chmod +x games/Playtesting_Final.x86_64
By default, the script will download an environment with timescale x100. Unfortunately, old versions of Unity MLAgents have the timescale value hard-coded into the game, so it is not possible to change it after you download the binaries. However, we provide another environment with timescale 1, in case you want to test the your agent. To download the envrionment with timescale 1, you can do:
NB: The script will overwrite the environment you already have (the environments with timescale 100 and 1 have the same name)
python download_data.py -sp=1
sudo chmod +x games/Playtesting_Final.x86_64
- To train the agent to playtest the environment, use the command:
python train_ccpt.py -ga=1 -dn=dem_playtest_1.pkl -gn=games/Playtesting_Final -mn=playtest_1
where -ga specifies the goal area we want to test, -dn the name of the demonstrations to use, -gn
the name of the environment and -mn the name with which we save the results.
To visualize results, we suggest to visit the VisCPPT repo, which contains the visualization tool described
in the paper.
