This is a "Falling-sand game", a sandbox game where you can play with many materials that interact with each other in different ways. This sometimes runs amazingly well, but sometimes runs annoyingly slightly slow. It's extremely inconsistent. Regular: Press 1 to switch to sand. 2 for eraser. 3 for water. 4 for oil. (P.O.I/??//huhh???!POI Po!1i) 5 for soil. 6 for wall. 7 for stone. 8 for honey. Special: Q for void (anything that falls into it is deleted). W for sponge (only for water). E for cloner (most effective when you draw a horizontal line of them) R for POW Blocks (Nintendo, please don't sue me). X for picking materials from the board. Useful for 'discovered' materials that don't have keybinds. Settings: Press enter to pause. Quotation mark ' to step. Press B to switch background. Press N to toggle overwriting. Press M to toggle stuff moving though 1-thick diagonal walls. Camera control: Arrows to scroll. Brackets ('[' and ']') to zoom. = to reset camera. Hold space when pressing the flag to edit map size. Be warned that the selection box shifts around badly with even numbers.
You can add your own materials! It uses a "tag" system: 1. If the material doesn't move at all, change the code so that it's added to the 'stationary:' list under the 'generate' function (at the top of the code). Otherwise, make them solid, liquid or powder! (liquid can flow sideways, powder only moves down and down+diagonally, and solid doesn't move sideways at all) Materials can only be one of solid, powder, and gas. 2. Then, you NEED to add it to the list of relative densities (even if it's solid, because of POW Blocks). In the code, add your material to the list where the other materials are also added. The order matters (that's the point of this list); everything that's added to the list after your material will sink below it, and your material will sink below everything that's added before it. So you can make your material lighter than air by placing it before air in the code! Oh yeah, and make a sprite for the material, too. Credits: Inspired by falling sand games like projectsand.io (my favorite for a while. there are zombies in it now for some reason.) and Sandboxels (this one's even cooler. as soon as I saw that gallium was an available material, i knew what to do). Nintendo for POW block. POI for POI joke funny moment hahahah...im sorry SpongeBob for inventing yellow sponges Me for creating the tile engine: