/SandGears

SandGears is an interactive 2D sandbox simulation that allows users to experiment with mechanical contraptions and granular materials like sand. Play around with pistons, hinges, heaters, and more to create unique contraptions and observe their effects on the sand environment.

Primary LanguageRustGNU General Public License v3.0GPL-3.0

Rustfmt

SandGears

Inspired By Powder Toy

SandGears is an interactive 2D sandbox simulation that allows users to experiment with mechanical contraptions and granular materials like sand. Play around with pistons, hinges, heaters, and more to create unique contraptions and observe their effects on the sand environment. intro gif

Getting Started

To get started with SandGears, clone the repository and follow the instructions for building and running the project on your platform.

bash

cargo run
cd SandGears

Prerequisites

Building and Running

cargo run

Contributing

Please check the Issues section for more specific tasks and feature requests.

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

TODOs

  • Implement basic sand simulation with a 2D grid.
  • Add more particles...
    • Water
    • Fire
    • Lava
    • Gas
    • Snow
    • Sand
  • Implement text rendering
  • Add support for mechanical contraptions (pistons, hinges, etc.).
  • Implement a heater that can melt sand.
  • Create a user-friendly interface for adding and interacting with contraptions.
  • Develop a system for saving and loading user-created scenes.
  • Optimize the simulation for better performance.
  • Add more types of granular materials with different properties.
  • Cross-platform builds
  • Sign builds from here
  • Test on various platforms and fix platform-specific issues.