• Stars
    star
    111
  • Rank 314,510 (Top 7 %)
  • Language
    Rust
  • License
    Apache License 2.0
  • Created almost 3 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

2D Pixel Physics Simulator

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.