Sandbox
Sandbox is a pixel physics simulator inspired by other such like Sandspiel and Noita. It's also a precursor for an ongoing game project. Sandbox is written in Rust.
Download for MacOS, Windows and Ubuntu
Download from Releases. MacOS release build still requires VulkanSDK to be installed and libs found in /usr/local/lib
. Linux and Windows should work as is.
Features
- Vulkan renderer with Vulkano
- Gui with Egui using egui_winit_vulkano
- Cellular Automata simulation with Compute Shaders (Why? To see if I can)
- Deformable pixel objects with Matter from
.png
images - Customizable matters & their reactions
- Simple physics using Rapier
- More
Development
Windows
Ensure following libs are installed: cmake
, ninja
, python
Ubuntu
sudo apt-get install build-essential git python cmake libvulkan-dev vulkan-utils libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev
MacOS
See MacOS installation. Basically you need Vulkan SDK on mac and it should then work out of the box.
Running
cargo run --package sandbox --release
Run tests & checks with ./run_checks.sh
before pushing & making a PR.
Building Cross Compiled Releases on Ubuntu
Run run_build_dist.sh
.
Notes
I'd be very happy to see improvement suggestions. This is very unoptimized at this point, thus there are plenty of things to improve on. For example, there is barely any parallelization apart from some par_iter
s.