Source code (zlib license)
Installing: Mac / Linux / Windows

On these platforms, BerryBots has a graphical interface (GUI). Installing and launching BerryBots is slightly different on each, but otherwise it works the same.

The first time you run BerryBots on Mac or Linux, you'll need to select a base directory for data files like ships and stages. On Windows, data files are stored in subdirectories where you unzipped.

Installing: Raspberry Pi (Raspbian "wheezy")

Download and extract the files where ever you like, e.g.:

cd ~
tar xfv berrybots_rpi_1.3.3.tar.gz

This will create a berrybots directory containing the app and sample programs. You can view usage instructions by running berrybots with no arguments:

  berrybots [-nodisplay] [-savereplay] <stage.lua> \
    <bot1.lua> [<bot2.lua> ...]
  berrybots -packstage <stage.lua> <version>
  berrybots -packbot <bot.lua> <version>

Ships go in the bots subdirectory and stages in the stages subdirectory. You run a match by passing a stage then any number of ships. For example, to run a jousting match:

./berrybots stages/sample/joust.lua bots/sample/chaser.lua \

To abort a match, press ctrl+C.

Compiling from source: Mac / Linux / Raspberry Pi

To compile BerryBots on *nix platforms, extract the source and run:

sudo make install  # optional, Mac/Linux only

On Raspberry Pi, this has no dependencies and takes about 20 minutes.

The BerryBots GUI has three dependencies: libarchive, SFML 2, and wxWidgets 3.0. You may be able to install these from your package manager or from their web sites, depending on your platform. Otherwise, you can point at local copies of them with parameters:

./configure --with-sfml-src=/home/voidious/SFML-2.3.2 \
            --with-wxdir=/home/voidious/wxWidgets-3.0.2 \

To see all the possible parameters, use: ./configure --help

Compiling from source: Windows

On Windows, edit the Makefile to point at local copies of libarchive, SFML, and wxWidgets, then compile with make. If you're using MinGW:

mingw32-make windows
Compiling from source: in detail

For more detailed instructions, see the following wiki articles:

Fork me on GitHub