Create a SCRIMMAGE Plugins Project

The SCRIMMAGE core project provides a general purpose agent-based simulation framework. The SCRIMMAGE core project also provides example behaviors in the form of Autonomy plugins, motion model plugins, low-level controller plugin, metrics plugins, sensor plugins, and entity interaction plugins. While SCRIMMAGE core developers will make modifications to the SCRIMMAGE core project, most third-party developers will not modify the SCRIMMAGE core or its plugins. Instead, third-party developers will create their own SCRIMMAGE plugins project and develop their plugins in their third-party project. To facilitate setting up this third-party project, SCRIMMAGE provides a script that generates a template third-party project. The user just has to provide a name for the project and the location to place the project.

To create a SCRIMMAGE plugins project with the name “my-scrimmage-plugins” in the ~/scrimmage directory, run the following script:

$ cd /path/to/scrimmage/scripts
$ mkdir ~/scrimmage
$ ./create-scrimmage-project.py my-scrimmage-plugins ~/scrimmage

Now build your project:

$ cd ~/scrimmage/my-scrimmage-plugins
$ mkdir build && cd build
$ cmake ..
$ make

Now to make sure scrimmage will find the new plugins:

$ source ~/.scrimmage/setup.bash

Running the cmake command will be successful if the SCRIMMAGE core project has already been built/installed on your system. The final output of the CMake command will look like the following if it was successful:

-- Configuring done
-- Generating done
-- Build files have been written to: /path/to/scrimmage/my-scrimmage-plugins/build

The make command should be succesful, but since we haven’t created any plugins yet, nothing will be built.