In this project, you drop blobs of adjustable color, radius, and mass, and watch how they interact.
It uses SFML2 for handling all the graphics.
The left side panel has all the settings for adjusting the type of blob. Once finished adjusting, click on the screen to place. Scroll with the mouse to zoom, and pan with middle click or the arrow keys.
Press 'N' to reset the board.
This project isn't serious, it's mainly there to test the effectiveness of a configuration, and of ease of working in an environment with less build problems. The actual code itself is just based loosely off my state-manager and other engine code, but using some SFML to keep it simple. Code quality isn't representative of my best work either, and is largely vibe-coded. Tune-ups and whatnot are done by me.
To use the script to setup a generic project of yours, from a C++ project, to a website, to Rust, to even a school paper, check out my scripts repo or my dotfiles repo. It should be somewhere in there.
- Git
- GNU Make
- Conan2 (
pip install conan) - A C++ compiler (GCC 13+ / Clang 17+)
- pkg-config
You should just be able to install a C++ compiler, install build tools, and be good to go. If on windows, MSys2 or WSL2 is recommended but wholly possible without with proper PATH and ENV configurations.
git clone https://github.com/PyroFlareX/gravity-dropper.git
cd gravity-dropper
make -C project-tools initcd project-tools
make build # default profile
make build PROFILE=arm-none-eabi # cross-compile
make profile-list # see all profilesmake testmake run # runs build/<profile>/<binary>make fmt
make lint
make compile-commandsFile → Open Workspace from File → project-tools/gravity-dropper.code-workspace
All tasks call make. One source of truth.
C++: Edit project-tools/conanfile.py + CONAN_PKGS in Makefile, then make deps-cpp
Create project-tools/profiles/<name>:
arch=aarch64
os=Linux
compiler=aarch64-linux-gnu-gcc
build_type=Release
CXX=aarch64-linux-gnu-g++
rust_target=aarch64-unknown-linux-gnuThen: make build PROFILE=<name>
make help