An open API service indexing awesome lists of open source software.

https://github.com/howz1t/yafsg

Yet Another Falling Sand Game
https://github.com/howz1t/yafsg

Last synced: 2 months ago
JSON representation

Yet Another Falling Sand Game

Awesome Lists containing this project

README

          

# YAFSG
Yet Another Falling Sand Game.

---

This project is a work in progress and mostly to have fun messing around with
implementing a falling sand simulation.

---
### Demo
Click on the image to go to the demo video on Youtube.
[![Early YASFG Demo Video on YouTube](https://img.youtube.com/vi/7FrXy7sJ4fo/0.jpg)](https://www.youtube.com/watch?v=7FrXy7sJ4fo)

### Todos
- [ ] Add gravity rules for particle acceleration when falling.
- [x] Add particle interaction rules, i.e. solids falls through liquids.
- [x] Add fixed solids.
- [ ] fancy rendering with shaders:
- [ ] Sand shader.
- [ ] Water shader.
- [ ] Bloom.
- [ ] Add dirty rectangles to control which areas need updates.
- [ ] Add multi-threading.

### Bugs
- [ ] Water has left bias when falling.
- [ ] Sand has right bias when falling.

---

## Controls
- `Left Mouse` - Place a particle.
- `Right Mouse [Hold]` - Pan the camera.
- `Mouse Wheel` - Zoom in/out.
- `Space` - Step the simulation if paused.
- `P` - Pause the simulation.
- `D` - Toggle debug mode.

---

## Building
This project uses raylib-go as the rendering backend.
Please ensure you have a _*64-bit c*_ compiler set for use in your go build toolchain (e.g.: `export CC=`).