Skip to content

TheLeshuga/WorldCollisionTester

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

World Collision Tester

About

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.

scene

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.

Functionality

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

Used Technologies

  • Unity (2023.1.13f1)
  • C#
  • ML-Agents

Installation Step

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.

Windows

  1. Install Python: If you haven't already, download and install Python from python.org (version 3.9 or higher).

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

Linux

  1. 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
  1. Install pip: If pip is not already installed, you can install it using:
sudo apt-get install python3-pip
  1. 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

Download Unity:

You can download the specific version of Unity used in the project from Unity Releases.

User Manual

For detailed instructions on how to use the library, please refer to the User Manual located in the repository.

License

This project is licensed under the GPL-3.0 license. You can find the full text of the license in the LICENSE file.

Author

This project was created by Sira Garcerán García.

About

World Collision Tester in Video Games Using RL-PPO

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages