A falling sand simulation game, like https://artsology.com/sand_painting.php, built using Processing3 (https://processing.org/)
The Falling Sand applet implements simple logic to individual pixels in order to simulate falling sand wherever the user clicks on the canvas.
This project is an introductory application of the four principles of Object-Oriented Programming (OOP): encapsulation, abstraction, inheritance, and polymorphism. Additionally, it is an experiment in designing dynamic visual interfaces, implementing particle physics logic, and programming cellular automata.
• Built from scratch in the Processing3 Development Environment using Java • Applied OOP principles such as encapsulation, abstraction, inheritance, and polymorphism (e.g. encapsulated objects such as Sand which inherits from the parent class Particle). • Created interfaces for loosely-coupled and extensibly designed code
-
Download the repository
- Click the green Code button in the top right corner
- Select Download ZIP
-
In your file explorer, navigate to the donwloaded ZIP file. Unzip and open the file.
-
Open the application folder for your specific operating system.
- E.g. if you are using a Mac, select application.macosx. If you are using a PC, select application.windows32 or application.windows64 (either one).
-
Find the application file
- FallingSand.app on Mac or FallingSand.exe on Windows)
-
Right click on the application and select Open
- Make sure you right click and select Open instead of just double clicking on the application. Otherwise, you might get the error; "'FallingSand.app' cannot be opened because the developer cannot be verified."
-
Enjoy!
- Improved sand physics
- Continuously falling sand, in addition to drawing with mouse
- Dynamic cursor sizes
- Multiple particle types
- 🔥
- 💧
- 🌬️
