Marble Rush
Swipe-steered 3D runner, built as an ad creative
A marble rolls down a track on its own; you swipe to steer it around four kinds of obstacle and collect gems on the way. One source tree builds a self-contained HTML file for each ad network, with that network's own click-through wired in. No framework, no physics engine and no asset files — every shape, texture and sound is generated in code.
Numbers
- Built size
- 503 KB
- Gzipped
- 131 KB
- Frame rate
- 60 fps
- Asset bytes
- 0
How it plays
- One finger, one axis: drag anywhere to steer.
- Four obstacle types, each solvable with that single input.
- Three lives, roughly 20 seconds to the finish.
- Hit an obstacle and it bounces you back — but each one can only cost a life once.
One build per network
The adapter is picked at build time, so a Unity build never carries Meta's code.
| Network | Click-through | Limit | Used |
|---|---|---|---|
| Google Ads (App campaigns) | ExitApi.exit() | 5 MB | 9.8% |
| Unity Ads | mraid.open() | 5 MB | 9.8% |
| AppLovin | mraid.open() | 5 MB | 9.8% |
| ironSource | dapi.openStoreUrl() | 5 MB | 9.8% |
| Mintegral | install() | 3 MB | 16.4% |
| Meta | FbPlayableAd.onCTAClick() | 2 MB | 24.6% |
Built from
- three.js
- Vite
- single-file build
- custom collision
- WebAudio
- canvas textures
Validation
Google H5 validator, App campaigns mode — 23 checks, 0 errors
