Skip to content

SestoAle/CCPT

Repository files navigation

CCPT

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.


Prerequisites

  • 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

Instruction

  • 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.

Visualization Tool

To visualize results, we suggest to visit the VisCPPT repo, which contains the visualization tool described in the paper.

About

A deep reinforcement learning algorithm to perform automatic analysis and detection of gameplay issues in complex 3D navigation environments. CCPT method combines curiosity and imitation learning to train agents to methodically explore in the proximity of known trajectories.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages