World Collision Tester is a library for the Unity game engine to facilitate the search for world collision errors by using agents trained with RL-PPO to find those errors.
This library, combined with ML-Agents to train the agents, offers the ability to clone agents to improve training, detect collisions with objects that should not be traversed, adapting to the different possible shapes of the character, create a heat map of the areas through which the agent has passed, and generate reports on the errors found and the heat map.
Detect collision errors:
Check collisions of the agent simulating the game character with the environment to report bugs.Heat Map:
It generates a heat map that reflects the shape of the specified scenario, and adjusts the colour of the areas according to the frequency of the agent's steps in each zone.Collision error report:
Generates a CSV file containing information about the errors, such as the position, the number of occurrences of the error, the name of the object involved and the names of the agents that encountered the error.Heat Map report:
Generates a CSV file containing information about the heat map such as the position of the grid cell, the number of times the grid cell was walked over and the colour of the cell.
- Unity (2023.1.13f1)
- C#
- ML-Agents
It is recommended to create a virtual environment to avoid conflicts between packages and/or versions. If you have any problem with the ML-Agents version or the compatibility between packages, you can check the installation guide from ML-Agents installation markdown.
-
Install Python: If you haven't already, download and install Python from python.org (version 3.9 or higher).
-
Install required packages: Open a command prompt and run the following commands to install the required packages:
pip install torch==1.7.1
pip install protobuf==3.20.0
pip install mlagents==0.30.0
- Install Python: If you haven't already, you can install Python using your package manager. For Debian-based systems like Ubuntu, you can use:
sudo apt-get update
sudo apt-get install python3
- Install pip: If pip is not already installed, you can install it using:
sudo apt-get install python3-pip
- Install required packages: Open a terminal and run the following commands to install the required packages:
pip3 install torch==1.7.1
pip3 install protobuf==3.20.0
pip3 install mlagents==0.30.0
You can download the specific version of Unity used in the project from Unity Releases.
For detailed instructions on how to use the library, please refer to the User Manual located in the repository.
Find the complete process of the tool's development and the research on the automation of game testing through this link to my Thesis
This project is licensed under the GPL-3.0 license. You can find the full text of the license in the LICENSE file.
This project was created by Sira Garcerán García.