{"repo":"kiwijuice56/sand-slide","free":true,"listed":false,"github":"https://github.com/kiwijuice56/sand-slide","clone":"git clone https://github.com/kiwijuice56/sand-slide.git","description":"Fast falling sand game made within Godot and utilizing GDExtension features","language":"C++","stars":136,"topics":["cpp","falling-sand","gdextension","godot","godot4","sandbox-game","simulation","cellular-automata","gdscript","godot-engine"],"license":"MIT","category":"game-templates","readme_excerpt":"sand-slide A falling sand game made with Godot 4's GDextension feature. The full game can be downloaded for free on itch.io or on the Google Play Store. Project Structure The simulation logic is implemented in C++ as a GDextension (in extension ) that gets compiled into a binary file (in game\\bin ). The user interface was created in a Godot 4.3 project (in game ). Compiling for Windows If coding on Windows, no dependencies or installations are required to build the .dll binaries. Compiling For Other Platforms Compilation for other platforms is essentially the same as on Windows, but it will sometimes require you to install other dependencies. The [official Godot documentation] on building for target platforms has all of the necessary information to compile sand-slide on other platforms. Creating New Elements Each element is a class within extension\\elements that inherits the Element class. To create your own element, create a new .h file and define a class with the name of your element. Your element must inherit the Element class and implement the virtual methods process( SandSimulation sim, int row, inc col) , get explode resistance() , and get acid resistance() . process( SandSimulation sim, int row, inc col) contains the main logic for your element. As the simulation iterates through each cell, it will call process on the respective Element class and pass the row and col that the cell was encountered in. Elements have no data or information associated with them, so process","default_branch":null,"files":null,"tree":[],"storefront":"/r/kiwijuice56","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/kiwijuice56/sand-slide/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}