Skip to content

hakolao/sandbox

Repository files navigation

Sandbox

CI Apache

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.

Screenhot

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_iters.