Date: Sep 2013
Tags: swarm :: Java :: games :: AI :: A-Life

Current version: 2.0 :: Follow me on Twitter for updates

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}


Robot swarms in action

Watch e-puck robots collect resources and bring them back to base. While the previous simulation work helped us to learn a lot about the...

[read full]

How to compile code for e-puck robots on your computer

Compiling code natively on e-puck robots or cross-compiling on your computer can be very tedious. Luckily, there is a third option:...

[read full]

Coding for tomorrow: Why is good code important?

"Why should I care about how my code is written, as long as it works?" I will argue here that well-structured and well-written code not...

[read full]

How Coding in Python Might Be Bad For You

7 reasons why coding in Python is like writing a really bad essay and getting away with it

[read full]