openc2e is a free and open-source game engine for the Creatures artificial life games.
The goal is to allow you to play games such as Creatures, Creatures 2, Creatures 3, Docking Station and more, on many different platforms.
Want to know more? Come visit us on the Caos Coding Cave Discord.
openc2e is intended to support:
- Creatures (1996)
- Creatures 2 (1998)
- Creatures 3 (1999)
- Docking Station (2001)
- Creatures Playground (1999)
- Creatures Adventures (2000)
- Agents (COBs) work
- Imperfect physics
- Creatures biochemistry
- Sound effects
- Actual creatures (C3+ creatures work somewhat, C1 and C2 ones don't work at all)
- Physics improvements (Especially C3+)
- Network ability (the Docking Station warp)
- Serialization (world saving, creature exporting, ...)
There are lots of open issues that still need solving.
openc2e depends on:
- SDL2
- SDL2_mixer
- Python
- CMake
- Boost.Serialization (optional)
On Ubuntu 18.10 and up, you'll need these packages:
sudo apt-get install \
build-essential \
libsdl2-dev \
libsdl2-mixer-dev \
cmakeInstall dependencies using Homebrew:
brew install cmakeInstall Python, and Visual Studio's C++ CMake Tools for Windows.
Open the folder in Visual Studio and it will automatically run CMake and set up the build system.
Create a new build directory and compile:
cmake -B build .
make -C build openc2e -j4You should provide a path to a game's data files with the -d or --data-path flag:
./build/openc2e -d /path/to/Creatures2The engine will try to guess the game based on files in the directory. If it can't decide, it will default to C3/DS.
To see an overview of all available options, use -h / --help:
./build/openc2e --help