Sbixel is a very simple pixel physics simulator I made to learn Rust.
It uses macroquad for drawing β and I was pleasantly surprised by how simple and awesome it is!
Quick demo (click for youtube link):
β οΈ This project is very basilar and doesn't have much ambition to go anywhere β it's mainly a learning sandbox.
The simulation uses a "sector" system to reduce unnecessary processing by only simulating active areas of pixels.
All settings related to simulation and performance can be found in src/def.rs.
That said, here's the current (loose) roadmap. If anyone wants to contribute, Iβd be happy to give my support:
- π§ͺ Upgrade water simulation
- π Improve sand/water interaction
- πΌοΈ Render pixels only in active sectors instead of rewriting the whole window every frame
- οΏ½οΏ½ Refactor
pixel_already_processedlogic β it's very trivial and causes potential bugs - π¨ Add gas simulation
- π§± Add static objects
Make sure you have Rust installed. Then, run the project with (for performance go --release):
cargo runFeel free to explore, break things, and maybe even improve the code π
