Skip to content

Dowsley/sandstone

Repository files navigation

Sandstone

Falling sand simulation using Raylib and vcpkg for dependency management.

Building

Prerequisites

  • CMake 3.21+
  • C++20 compiler
  • vcpkg (cloned to ../vcpkg/)

Quick Build

./build.sh

Manual Build

cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmake
cmake --build build

Running

./build/sandstone

Main Features

  • Basic sim
  • Rewrite on better design pattern
    • Hierarchy of elements
    • Flyweight
    • Solids
    • Liquid
  • Brush/sizes
  • Main Application Class
  • Better build system/dependency handler
  • Basic Input handler
  • Gases
  • Density
  • Basic text on UI
  • Controls expanded
    • Q and E to switch elements
    • Scroll wheel to change brush size
    • RMB as eraser
    • Tab to switch between brush shapes (show this mode as text on screen)
  • Data-driven approach
    • XML loading like in live-world-engine
  • Temperature
  • Fire
  • Friction
    • (chance of movable_solid sliding down)
  • Extremely basic UI
    • Element chooser (from list)
    • Brush visualization
  • Particle System
  • Rigid Body System
  • Lazy Squares
  • Chunking
  • Camera

Improvements

  • Better water behavior (dispersion rate)
  • No more raw pointers (complete refactor)

About

Falling sand engine in Raylib.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages