A Dwarf Fortress/Rimworld-like game written in Rust
Rust Shell
Clone or download
Latest commit 9c58042 Feb 4, 2017



Linux / OS X travis-badge
api-docs-badge license" coveralls-badge

A Dwarf-Fortress/Rimworld-like game written in Rust.

See the changelog for what's new in the most recent release.


Table of Contents

Platforms & Tool Chains

Colonize should be compilable on any of the major rustc tool chains (stable, beta, or nightly).

In the long run, Colonize intends to support all major platforms (Windows/Mac OS X/Linux, 32-bit+64 bit). However, at the moment, I can only afford to prioritize one or two platforms at a time. For the rest, I will attempt to set up automated builds to at least ensure that the project compiles on the other platforms.

If you wish to help test or debug the game on any platform, please let me know! Your help would be greatly appreciated.

Both tool chain support and target support can be tracked at a glance via the Travis CI page for the project.

Further information regarding the status of support for specific platforms can be found on the project's issues page.

A quick overview of the platforms and their status can be found below:

Target Confirmed Working Automated Travis/Appveyor Builds Automated Deployment Notes
i686-unknown-linux-gnu ✓ (missing assets) 32-bit Linux (2.6.18+)
x86_64-unknown-linux-gnu ✓ (missing assets) 64-bit Linux (2.6.18+)
i686-pc-windows-gnu 32-bit MinGW (Windows 7+)
x86_64-pc-windows-gnu 64-bit MinGW (Windows 7+)
i686-apple-darwin (currently broken) 32-bit OSX (10.7+, Lion+)
x86_64-apple-darwin 64-bit OSX (10.7+, Lion+)
x86_64-unknown-linux-musl 64-bit Linux with MUSL

Running Precompiled Binaries

Pre-compiled binaries for each of the major targets can be found on the releases page, here.

Compiling & Running From Source



Compiling on Rustc stable:

cargo build

Compiling on Rustc nightly:

cargo build --no-default-features --features nightly


Running on Rustc stable:

cargo run

Running on Rustc nightly:

cargo run --no-default-features --features nightly


Currently, the Config struct holds all the configurable values for Colonize. This struct and further information on its usage can be found here.

When running Colonize, the game first attempts to load the configuration from a colonize.json file in the game's directory. If no such file is found, it falls back to the specified defaults. An example colonize.json file can be found at the root of this repo as colonize.json.example.

In the future, the capability to define the config directory might be added.


Contributions are always welcome! If you have an idea for something to add (code, documentation, tests, examples, etc.) fell free to give it a shot.

Please read CONTRIBUTING.md before you start contributing.


Colonize is distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE, and LICENSE-MIT for details.


The list of contributors to this project can be found at CONTRIBUTORS.md.