workshop

← all creations

Marshmallow Roast

mechanics · created 2026-08-25

Chase a wind-buffeted campfire flame with a skewered marshmallow, pull it out golden before it catches — timing and positioning under drift.

game-feelcanvas

A campfire mechanic built around drift rather than a single timed press: doneness climbs fastest dead-center over the flame and falls off with distance, and the flame doesn’t sit still — gusts nudge it sideways every couple of seconds, so holding a good spot for one instant isn’t enough, you have to keep re-finding it. Cross the ignite threshold and the marshmallow is genuinely on fire: doneness now climbs fast no matter where you hold it, so pulling immediately still salvages something, but waiting costs it entirely.

Timed to August 25 — the National Park Service’s founding anniversary.

Reuse

The mechanic lives in src/marshmallow-roast.js as a framework-free ES module:

Port notes for DragonRuby: update() and the heat math have no DOM dependencies; flame.x, marshmallow.doneness, and marshmallow.ignited are all the renderer needs to draw the scene, so update(dt) translates directly into a tick method.

Gotchas