Yellow Painter
You are the janitor of player guidance
IN DEVELOPMENT · SANDBOX PROTOTYPE · PROGRAMMER ART

The joke
Every few months, social media rediscovers that games paint their climbable ledges yellow, and everyone agrees it's insulting. Yellow Painter puts you on the other side of the complaint: you're the level designer's janitor, the unseen hand placing the paint, the rope bundles, and the directional props that players love to mock, and would be lost without.
The tension it explores is real: designer intent versus player literacy. "Obvious" guidance isn't lazy. It's deliberate, skilled placement solving a genuine problem. This prototype hands you the toolset and lets you feel the problem from the inside
-
Role: Solo, all design and all code
-
Engine: Godot 4 (GDScript)
-
Type: First-person sandbox tool / meta-commentary
-
Levels: Fully procedural — generated in code, no scene files
Under the hood
-
Custom decal-based paint system: 9 colour variants, variable brush size, real-time 3D cursor with radius visualisation.
-
Prop placement with ghost preview, surface-aligned positioning, 45° rotation snapping, and per-prop colour tinting via runtime material duplication.
-
Unified undo stack tracking chronological placement history across both paint and props.
-
Signal-driven UI architecture: tool state, colour, and brush and eraser size all communicated via signals, keeping player logic and interface cleanly separated.
-
JSON save and load with versioning and per-node metadata for accurate state reconstruction.
What it's really about
Beyond the bit, this was an exercise in building designer-facing tools: placement UX, undo architecture, and serialisation are the unglamorous systems that make real level editors usable. It's the same muscle I use professionally — and the reason the joke lands is that the tooling actually works.

Gallery
What's next:
The tooling and gameplay systems are done. What remains is the fun part: designing a linear level that genuinely needs the signposting, then handing it to the internet and watching everyone discover the paint was load-bearing all along.












