One command builds a playable Godot level. Painting and rigging run in that same command when their tokens are set. They are not separate steps you have to remember.
# macOS
./run_oneshot.sh
# Windows
run_oneshot.bat
# painted bushes, if OPENROUTER_API_KEY is set
./run_oneshot.sh --paintThen open game/ in Godot 4 and press Play. WASD moves, Shift sprints, J attacks.
Walk to the marker to win. The scene reloads.
Requires Blender on PATH, or BLENDER_BIN. On a Mac the launcher uses
/Applications/Blender.app/Contents/MacOS/Blender if that exists.
- Writes a crate and a bush GLB. No shape model.
- Writes a capsule hero with idle and walk bobs, so the level plays with no Mixamo.
- Builds
worlds/clearing.jsonand a terrain GLB with scattered bushes. - Copies the world, the hero, the state machine, and the loop into
game/. - Godot adds collision to every mesh, follows the camera, and reads the brain.
A missing token skips that stage and still writes the level. Mixamo is not
scraped. Drop FBX files in clips/ yourself.
Edit JSON, then rerun the one shot. Do not regenerate a mesh to move a bush.
worlds/clearing.json— instances, scatter, terrain seedgame/state_machine.json— states and transitionsgame/loop.json— health, goal, win and fail
game/brain.gd reads those files. Gameplay code in game/main.gd should not
be rewritten to change a transition.
Not a 3D generator. Not Tripo, Meshy, or Hunyuan. shape_gen.py is leftover;
do not use it. Not an AAA pipeline. The cloud rig is a community Replicate
model, and its bone names may not match Mixamo until you check the armature.
