GD x People Playground, a Melty mashup. Garry's Mod is the host game. You build a physical sandbox scene, pick a real Geometry Dash level read from your own installed copy, press Start Run and play that level as the GD cube while your props stay physical and interact with the course. Die and the attempt restarts instantly with everything you built still standing.
Status: v0.1.0, first playable version. The GD cube simulation, the level reader, the course physics and the run loop are implemented and tested outside the game; the Garry's Mod side has not yet been run inside Garry's Mod (see docs/TESTING.md for exactly what has been tested and what has not).
sandbox on gm_flatgrass.| Where | Key | What it does | | --- | --- | --- | | Sandbox | F4 | Level list and sandbox palette | | Sandbox | any sandbox tools | Physgun, toolgun, spawnmenu, duplicator — as usual | | Run | Space / left click | Jump (hold to keep jumping on each landing) | | Run | R | Restart the attempt from the first block | | Run | E | Leave the run and return to the sandbox | | Run | F4 | Same menu (also restarts and leaves) |
Geometry Dash\Resources\LevelData.plist; the level
strings are decoded in game. Nothing from Geometry Dash is included in the download or uploaded anywhere.Through Melty (one click), or by hand:
addons/gdpp into GarrysMod\garrysmod\addons\.stage\gdpp-stage.cmd "C:\...\steamapps\common\GarrysMod" (or just double-click it after editing the
path in the command), or set GDPP_GMOD_DIR and run wscript.exe gdpp-stage.js.The staging wrapper only reads your Geometry Dash LevelData.plist and writes the level strings into
garrysmod\data\gdpp\. It needs no installs: it is Windows Script Host, which every Windows ships.
The staging step can be verified without Garry's Mod:
python tools/inspect_levels.py "<GarrysMod>\garrysmod\data\gdpp"
It lists every level it found with its block count, hazards, pads, orbs and portals, warns about features v0.1.0 does not simulate, flags levels too long for the world, and walks the cube through each level with no input to show where an idle run stops. Exit code 0 means every level decoded, parsed and fits.
melty.json Melty manifest (games, mappings, setup, launch)
addons/gdpp/ the Garry's Mod addon
lua/gdpp/shared/ pure simulation: constants, objects, lzip, level, physics, catalog
lua/gdpp/server/ course physics, run controller, sandbox palette
lua/gdpp/client/ course rendering, camera, HUD, menus
tools/windows/ the staging helper (JScript)
stage/gdpp-stage.cmd Windows wrapper Melty runs in setup
tools/package.py builds the release zip
tests/ LuaJIT, Node and Python test suites
docs/ physics, packaging, testing and architecture notes
Geometry Dash is RobTop Games'. Garry's Mod is Facepunch Studios'. People Playground is studio-minus'. This is a fan project and is not affiliated with or endorsed by any of them. No game files are redistributed; see THIRD-PARTY-NOTICES.md for the sources behind the physics constants.