Voxel sandbox project in Rust
Clone or download
Latest commit 8dce02e Jan 22, 2018
Failed to load latest commit information.
benchmarks merge cleanup Jan 22, 2018
client merge cleanup Jan 22, 2018
common merge cleanup Jan 22, 2018
fonts Joint server+client binary Jan 12, 2016
server merge cleanup Jan 22, 2018
src merge cleanup Jan 22, 2018
.editorconfig editorconfig Jan 12, 2016
.gitignore Make it safer (plus some small refactoring) Jan 4, 2018
.travis.yml Make it safer (plus some small refactoring) Jan 4, 2018
Cargo.lock merge cleanup Jan 22, 2018
Cargo.toml merge cleanup Jan 22, 2018
LICENSE initial commit Jul 16, 2014
README.md Update README.md Oct 18, 2016
buildall.sh buildall script Dec 23, 2017
shaders WIP Aug 11, 2016
sounds move assets around Aug 11, 2016
test.sh z Nov 7, 2015
textures move assets around Aug 11, 2016


Build Status

Current Status

Two main things are in the works:

  • Atmospheric scattering: to give the sky a more realistic color progression across the day (and especially during sunrise & sunset).
  • Performance refactoring: load speed and voxel brushes are slower than they really should be. I'm working on it.


An interactive, modifiable voxel sandbox project in Rust, inspired in part by Voxel Farm and Minecraft. I try to keep a dev blog here.

It's very much a WIP. Hopefully as the Rust ecosystem grows (and, in a perfect world, when Rust gets a story for linking with C++), the hackiest parts of Playform can be outsourced to other libraries (physics and graphics APIs, threading, networking).

Some picture things (perpetually outdated):

screenshot 1 screenshot 5 screenshot 2 screenshot 3 screenshot 4

Making it work

Make sure you have:

  • A nightly build of the Rust compiler and cargo (if it doesn't build on latest, file an issue)
  • OpenGL 3.3+
  • SDL2
  • SDL2_ttf
  • libnanomsg
  • portaudio
  • m4

Playform has a separate server and client, which can be built and run in server/bin and client/bin, but there's also a server+client (singleplayer) bundled binary that builds in the root directory.

cargo build --release and cargo run --release are pretty much required to run Playform with reasonable performance.


  • Move: WASD
  • Jump: Space
  • Look around: Mouse
  • Tree tool: Left mouse button (this is slow)
  • Dig tool: Right mouse button
  • Toggle HUD: H

One mob (red rectangular block) spawns that will play "tag" with you: tag it and it will chase you until it tags you back. If you get too far away from it, it'll probably get lost and fall through the planet. It's a little needy that way.

License & Credit

I'm not intimately familiar with how licensing works: if I've done something wrong, please let me know. To state my intent in a non-legally-binding way: I want Playform itself (i.e. the code I've written in this repository) to be MIT licensed (see the LICENSE file). It includes some snippets that can be easily found published online. I believe those snippets come with links to the online source.

Some of the assets are not mine, and I don't own the rights to them. In particular, thanks to: