Applications02

thoosie

Draw a line, ride it as a roller coaster.

Live

Context
self-initiated

The premise

You draw a track freehand. thoosie turns it into a rideable coaster and runs real physics on it, measuring speed, vertical G, airtime and inversions, then lets you ride it from the train.

The whole design problem is the gap between those two things. Drawing is loose and expressive. Physics is unforgiving. A line that looks great is often a ride that either stalls out halfway up the hill or pulls G-forces that would put a person in the hospital. The app has to let people draw freely and still produce something that works.

What I built

A full track editor: freehand, straight, and arc tools, plus a library of prefab elements: first drops, vertical loops, camelbacks, bunny hops, valleys, barrel rolls, half loops, Immelmanns, dive loops. Track types that behave differently under the physics sim: chain lift, launch, brake run, and trigger track.

A trigger and reaction system, so pieces can respond to the train passing: a brake run that holds the train, counts down, then launches it onward, or track that physically moves between two positions when a trigger fires. That turned the editor from a drawing tool into something closer to a small state machine, and it's the feature that made people build things I didn't anticipate.

Live physics telemetry surfaced during the ride: current speed, vertical G, airtime accumulating in real time, then a summary of height, top speed, max and min G, inversions, length and ride time.

Plus the unglamorous half: autosave, cross-platform level sharing, a gallery, a tutorial, a content filter on shared coasters, and a full mobile pass.

The decision that mattered

The physics readouts started as debug output. I kept them and made them a first-class part of the interface, because watching airtime tick up while you're cresting a hill you drew is the thing that makes the feedback loop work. Players learn what makes a good coaster by watching the numbers respond, not by reading a rule.

It's the same instinct as DrawEvolve, honestly. The system's job is to teach you to get better, not to do it for you.

What I cut

I built the game to run inside Reddit as a Devvit app and then didn't ship it there. Two platforms meant two sets of layout bugs, two embed environments, and a mobile letterboxing problem I'd have owned indefinitely. I shipped the standalone web build only.

Cutting a finished platform is unpleasant. It was the right call. The standalone build launched a day early and I spent that time on the game instead of on embed CSS.

Outcome

Launched. Promoted through the coaster and indie dev communities with a single gameplay clip.

The response I actually cared about: two testers played for twenty-five minutes unprompted, without being asked to and without stopping to give feedback. For a physics toy with no goals, no score, and no progression, that's the only signal that means anything.