CREEPER LOGO Multi-agent systems Libraries Java Games AI Date: Sep 2013

Current version: 2.0 :: Version history

Technologies used: Java, JFreeChart, Model-View-Controller, Git

Creeper is a Java MVC framework for those who want to create multi-agent simulations (or games) and need something to build on. The download zip file includes the Creeper library as well a simple demo project that will help you start fast. To learn more, read the tutorials below and the Java Doc.

Would you like to cooperate? Join the BitBucket repo!


  • Designed for multiple runs and trials of many agents. Creeper lets a user specify how many times a simulation should run and the program can be left running and reporting on its own. A single run can have a number of trials where in each trial the world can completely change or preserve agents from previous trials. The behind-the-scenes Java is optimised for subsequent simulations of many agents.
  • Creeper takes care of effective updating and rendering. You only need to specify the world objects and how they should look like.
  • Reporting done easily. Creeper contains various types of reports including basic csv, time series, and world snapshots. Your agents tell the reports what they need to record and the reports automatically save themselves as text or graphs.
  • Java user interface done easily. Creeper gives you the basic control interface and a view of the world. Extensions are done easily thanks to the CRComponentFactory class.
  • Math functions. The CRMaths helper provides functions for generating random numbers, formating numbers into strings and converting values based on various non-linear functions.


Stuck? Try requesting a tutorial.

Projects that use Creeper

Do you have a project where you used Creeper and would you like to have it displayed here? Email me with your details on contact[at]lenkaspace[dot]net.

Class diagram

Only the most important attributes and methods are shown. Method arguments and return types are not shown. Overridden methods are not shown. Refer to the JavaDoc for more detail.

Creeper class diagram

{Please enable JavaScript in order to post comments}

Controlling Ant-Based Construction

Stigmergy allows insect colonies to collectively build structures that no single individual is fully aware of. Since relatively minimal sensory and reasoning capabilities are required of the agents, such building activity could be utilised by robotic swarms if we could learn how to control the shape of the final structures.

Boid Game-Playing through Randomised Movement

The original boid flocking algorithm is extended by adding randomised movement to the flock members. This approach is a light-weight alternative to other ‘follow the leader’ techniques implemented in order to create a ‘game-playing’ behaviour during which a flock changes its movement direction as observed in real birds.

A small compiler script for C with GCC

One of my favourite classes at the moment is the one where they teach us C. Knowing C already, it is a nice relaxation for Monday morning...


The main purpose of pyCreeper is to wrap tens of lines of python code, required to produce graphs that look good for a publication, into functions. It takes away your need to understand various quirks of matplotlib and gives you back ready-to-use and well-documented code.

Novelty detection with robots using the Grow-When-Required Neural Network

The Grow-When-Required Neural Network implementation in simulated robot experiments using the ARGoS robot simulator.

Fast Data Analysis Using C++ and Python

C++ code that processes data and makes it available to Python, significantly improving the execution speed.