-
-
Impossible Coasters app icon.
-
Pull, rotate, and snap chunky track pieces into place.
-
Complete one continuous coaster circuit.
-
Place the finished ride in your space and watch it run in AR.
-
Master 21 denser Diamond Coaster Challenges.
-
Build through 30 handcrafted campaign levels.
-
Unframed in-app gameplay capture for judging.
Inspiration
Roller coasters are giant machines that can be understood from a single silhouette: climb, drop, loop, return. Physical construction toys create the same satisfaction at a smaller scale. Impossible Coasters combines those ideas into a tactile spatial puzzle. The goal was to make building a dramatic 3D ride feel as immediate as fitting a few chunky pieces together on a desk.
What it does
Impossible Coasters is a native iPhone and iPad puzzle game about completing one continuous roller-coaster circuit.
- 30 handcrafted campaign levels introduce hills, loops, corkscrews, crossovers, cutout plinths, empty-space constraints, and convincing decoys.
- 21 Diamond Coaster Challenges add denser layouts and harder construction goals.
- Tactile construction lets players pull pieces from a drawer, rotate them, retract a move, and snap the track onto an isometric grid.
- Three-star mastery goals are revealed after a successful build, giving each puzzle a second life without blocking the first solution.
- AR rides let players carry the exact finished coaster into their room on supported devices.
- Multiple visual themes recast the same readable track language as glowing rails, graph-paper sketches, terminal diagrams, and bright physical models.
- Game Center achievements and leaderboards provide optional progression outside the core single-player campaign.
Five campaign levels and the Comet Switchback AR ride are free. A one-time Full Game purchase unlocks the remaining 25 campaign levels, all 21 Diamond challenges, and their associated AR rides.
How we built it
Impossible Coasters is built natively with Swift and SwiftUI. The puzzle and route systems live in a reusable Swift package, while ARKit and RealityKit place completed rides into the player's space. StoreKit handles the App Store transaction, RevenueCat validates and synchronizes the full_game entitlement, and GameKit powers optional achievements and leaderboards.
The game treats a coaster as both a logical route and a projected object. The logical model checks sockets, joins, occupancy, continuity, construction limits, and level-specific constraints. The renderer can then rotate and present that same solved route across the board, completion view, themes, and AR without inventing a second version of the coaster.
We also built validation around authored solutions and alternate valid constructions. That let levels support discovery instead of forcing players to reproduce one hidden answer.
Monetization
The monetization matches the shape of the game: one optional, permanent Full Game purchase for $2.99 in the United States, with purchasing-power-adjusted regional pricing.
Free players get five complete campaign puzzles and one AR ride. Full Game unlocks the other 25 campaign levels, all 21 Diamond challenges, and their associated AR rides. There are no subscriptions, advertisements, consumable coins, energy timers, randomized rewards, or pay-to-win advantages.
RevenueCat powers the purchase path through the default offering, full_game package, and full_game entitlement. Restore Purchases is available from the paywall.
Challenges we ran into
The hardest interaction problem was making a spatial object feel precise under one finger. A track piece can overlap the board visually while still belonging to a different grid cell, and a correct connection can look wrong if the projection, hit target, or snap animation disagrees. We separated grid placement from projected drawing, expanded touch targets without changing visible geometry, and made rotation, retraction, and snapping operate on the same placement model.
The second challenge was level authorship. A puzzle can have a valid solution and still feel unfair if the useful pieces are indistinguishable from decoys, the three-star condition is too rigid, or a large coaster is clipped on a smaller screen. We added route analyzers, construction-limit checks, camera-fit tests, and device-specific visual validation. Selected levels deliberately accept multiple constructions so success feels like reasoning rather than guessing the designer's exact path.
AR created a third boundary: the reward had to be the coaster the player had just built, not a loosely related model. Campaign completion hands the exact route, theme, and grade into the AR experience while keeping placement and scale controls simple.
Shipping added one more lesson. Our first marketing previews were more cinematic than App Review allowed. We rebuilt every localized preview as a direct, edge-to-edge capture of the real interface, with synchronized interaction audio and no external frame. The constraint improved the submission because the strongest footage was the product itself: placing a final piece, closing the circuit, and watching the train run.
What we learned
The best spatial puzzles do not need to explain every rule in advance. A clear silhouette, a responsive snap, and one visible break in the circuit can teach more quickly than another tutorial panel. We learned to reveal complexity gradually and to reserve three-star conditions for replay, after the player already understands how to finish the ride.
We also learned that visual themes only work when geometry remains stable. The track can look like neon tubing or a technical drawing, but sockets, supports, held pieces, and collision feedback must keep the same hierarchy. Sharing render and route data across gameplay, completion, marketing capture, and AR prevented style from weakening readability.
What's next
After launch, we plan to expand the puzzle and AR-ride catalog, use completion and replay data to tune the difficulty curve, and keep exploring coaster mechanics that change how players reason about space without changing the game's simple rule: close one continuous circuit.

Log in or sign up for Devpost to join the conversation.