About TUNL

TUNL is a one-button cave flyer for iOS, Android and the web, made by one person. Everyone who plays on a given day flies exactly the same cave.

About · updated 20 September 2026

What TUNL is

You tap to hop, hold to climb and let go to fall. The tunnel scrolls past, narrows and speeds up, and you try to get further than you did yesterday. That is the whole control scheme, and the game is built around making that one input as deep as it can be: coins that change the corridor, hazards that ask different questions, and a cave that is different every day but identical for every player on that day.

That shared cave is the heart of it. The level is not stored anywhere and no server sends it. It is calculated from the calendar date, so a player in Lisbon and a player in Tokyo meet the same stalactites in the same places, and a score means the same thing on every phone. The daily cave devlog explains how that works and the two bugs that quietly broke it along the way.

Who makes it

TUNL is made by Theodoracatos, a solo indie developer. There is no studio and no publisher: the design, the code, the sound work and this website come from one person, with the store listings, the leaderboard backend and the support inbox all run from the same desk. That is why the devlog is written in the first person and why a bug report to [email protected] is read by the person who can fix it.

How it is built

The game is plain JavaScript on an HTML5 canvas. There are no libraries, no modules and no build step for the game itself: a page loads a set of scripts in order and they share one global scope. The same files ship in three places. The iOS app runs them in a WKWebView, the Android app in a WebView, and this website serves them at flytunl.ch/play, so the web version is not a port or a demo. It is the same game with a few browser-only touches.

Because a shared daily cave is a promise, a lot of the engineering is about keeping it. Automated tests replay the cave generator at six different screen sizes and compare the results byte for byte, guard the physics against different refresh rates, and check that a stretch of world is equally hard to fly on every device. The devlog is where those decisions are written up.

What guides the design

How TUNL is paid for

TUNL is free to play. In the apps it shows a full-screen ad after some deaths, no more than once every couple of minutes and only after a run that got somewhere. There are two optional videos you can choose to watch for a benefit: one to continue a run and one for a daily shard bonus. A one-time Remove Ads purchase turns the forced ads off, and a one-time Unlock All Ships purchase unlocks the whole roster for players who would rather not wait. Ships can also be earned entirely by playing, and cosmetic paint finishes are bought with in-game shards, never with money. Details about the data involved are in the privacy policy.

Credits and disclosures

Contact

Questions, bug reports and ideas: [email protected]. For help with purchases and progress see Support, and for logos and screenshots see the press kit.

Play today's cave