Skip to content
Voxel sandbox project in Rust
Branch: master
Clone or download
Latest commit 8dce02e Jan 22, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
benchmarks merge cleanup Jan 22, 2018
client
common
fonts
server
src
.editorconfig
.gitignore Make it safer (plus some small refactoring) Jan 4, 2018
.travis.yml
Cargo.lock merge cleanup Jan 22, 2018
Cargo.toml
LICENSE
README.md
buildall.sh buildall script Dec 23, 2017
shaders
sounds
test.sh
textures

README.md

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.

Overview

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.

Controls

  • 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:

You can’t perform that action at this time.