Ascent: An Infinite Climb Where Falling Isn’t the End
Tap left. Tap right. Climb forever. There is no top.
Ascent is an infinite vertical platformer where your character auto-jumps the second their feet touch a platform — and the only thing that ends a run is forgetting how high you’ve climbed.
I wanted to make the kind of game I’d open at a bus stop and not put down for two stops too long. Something built around a single thumb, a single objective, and the kind of “one more run” loop that quietly eats half an hour. Ascent is the result.
The Concept
You play as a small character standing on a platform somewhere in the middle of the screen. The first tap launches you upward. From that moment on, the game has exactly one rule: don’t fall below the camera.
Your character can’t not jump. Every time they land on a platform, a 0.15-second timer starts, and then they auto-jump straight up. You don’t control when they jump. You only control where they jump toward.
Tap the left half of the screen and your next jump arcs left. Tap the right and it arcs right. Don’t tap and the jump goes straight up. That’s the entire control scheme. Tap, tap, tap, climb, climb, climb. The character even wraps around screen edges — fall off the right side and you reappear on the left, like an old arcade game.
Falling is allowed. Encouraged, even. If you mistime a jump and drop a hundred meters, you’ll probably catch yourself on a platform on the way down and bounce right back up. The camera only follows you upward — it never scrolls down — so as long as you can find ground before the bottom of the screen runs out, you’re still in the game.
It’s only when you fall below the camera that it’s over.
The Five Platform Types
Every climb is randomly generated, and the variety comes from five distinct platform types. Each one introduces a new kind of decision.
| Platform | Color | Behavior |
|---|---|---|
| Static | Green | The default. Land, auto-jump, move on. |
| Moving | Blue | Slides side-to-side on a sine wave. Time your landing. |
| Crumbling | Orange | Lasts half a second after you land. Then it’s gone. |
| Bouncy | Purple | Launches you with extra force — almost twice the normal jump. |
| Tiny | White | Static, but only ~30 pixels wide. Easy to miss. |
Static platforms are the foundation. They don’t move, they don’t break, they just exist for you to bounce off. Moving platforms force you to read their oscillation and predict where they’ll be a second from now. Crumbling platforms add urgency — if you land on one and don’t immediately tap a direction to launch off the next platform, you’ll find the ground gone underneath you. Bouncy platforms are the joy. Land on one and you get catapulted upward, sailing past dozens of other platforms in a single jump and gaining hundreds of meters of altitude. Tiny platforms are the cruel ones — they look like they shouldn’t even count as platforms, and at high altitudes they make up an increasingly large share of your options.
Difficulty That Climbs With You
Ascent’s difficulty isn’t a setting. It’s altitude. The world generator looks at your current height in meters and changes the rules.
| Height | What changes |
|---|---|
| 0–500m | All static platforms. Wide and forgiving (90–140px). Spacing 80–110px. The on-ramp. |
| 500–1000m | 20% chance of moving platforms. Widths shrink to 75–120px. |
| 1000–2000m | Crumbling platforms appear (15% chance). Spacing widens. Widths 60–100px. |
| 2000–3000m | Bouncy platforms enter the rotation. Widths 50–85px. Real risk, real reward. |
| 3000m+ | Tiny platforms appear. Moving platforms speed up. Widths drop to 40–70px. Welcome to the meatgrinder. |
This progression is what makes Ascent feel less like a game with levels and more like a game with terrain. The first thousand meters are a warm-up. The second thousand starts demanding real attention. By 3000m you’re scanning the screen frantically, processing five different platform types in real time, and praying the next bouncy is in jumping range.
The game also pings you with a “level up” sound every 1000m — a small dopamine reward for hitting a new milestone. It’s the only sound you’ll genuinely look forward to in a tense run.
Why Falling Is the Best Mechanic
Most infinite climbers punish you the moment you miss a platform. One slip and the run ends. Ascent doesn’t do this, and the entire feel of the game pivots on that decision.
When you miss a jump in Ascent, you fall. But your camera doesn’t move with you — it’s locked at your highest point. So you can see the entire screen of platforms below you, and your job becomes a real-time triage: which of these platforms can I steer toward? You tap left, tap right, try to angle yourself onto something solid. Sometimes you catch a bouncy platform on the way down and immediately rocket back to your previous altitude. Sometimes you catch a crumbling one and have to sprint off it before it gives way. Sometimes you catch nothing, and you watch your character slip past the bottom of the screen, and the run is over.
That moment of salvageable failure is what makes the game addictive. Every fall is a mini-game inside the main game. Every save is its own small triumph. Every loss feels like it was your fault — and every loss is followed by an immediate, instinctive “okay one more.”
Scoring
There’s exactly one number that matters: the highest meter you reached. The game tracks your current height (how high your character has been) and your best height (your personal record). That’s it. No multipliers, no combos, no coins. Just a number that starts at 0 and tries to get bigger.
The simplicity is deliberate. There’s nothing to optimize except the climb itself. You don’t farm crumbling platforms for bonus points. You don’t try to land on every bouncy. You just go up. The score follows naturally from how well you played.
Strategy Tips
After a few hundred meters of climbing, you start to develop instincts:
- Always be drifting. Your character can wrap around screen edges, so a tap-left from the left side can teleport you to the right. Use this when you need to reach a platform on the opposite side fast.
- Bouncy platforms are worth a detour. A 200m skip is worth two seconds of off-route navigation.
- Crumbling platforms aren’t enemies. They’re a free jump if you treat them as a transition rather than a destination.
- At altitude, watch the tiny platforms. They’re often the only thing between two big gaps. Aim center.
- When falling, don’t panic-tap. Pick a target platform and hold your direction toward it. Random taps will cancel your horizontal velocity.
- Auto-jump waits 0.15 seconds. That’s enough time to choose a direction. Use it.
Visual Design
The aesthetic is minimalist sci-fi. The background is a deep gradient of blues and purples scattered with 200 stars at varying brightness, generated once and stretched across 20,000 meters of vertical space. Platforms are colored geometric primitives. The character is a small disc that leaves a glowing trail behind every jump arc — so as you climb, the screen fills with the visual record of your path: a chain of looping arcs zigzagging upward through the night sky.
When you crash through a 1000m milestone, the level-up sound plays. When you bounce off a purple platform, the “correct” chime fires. When you die, the “gameover” hit lands hard. Sound is the connective tissue between physical input and emotional reward.
Built With
- Flutter + custom physics loop. Ascent uses a manual game loop with delta-time integration. Gravity is 1800 px/s², jump velocity is -700 px/s, bouncy launches at -1000.
- Procedural world generation. The
WorldGeneratorbuilds platforms above the camera and culls platforms below it. The world is theoretically infinite, but only a few hundred platforms exist in memory at any moment. - CustomPaint rendering. Every visual element — platforms, character, trail, stars, background — is drawn directly to a canvas. No sprites, no textures, no asset pipeline.
- Persistent best score. Your high score survives across sessions via shared preferences.
- Sound service for tap, bounce, level-up, and game-over feedback.
The whole game is maybe 800 lines of Dart. It runs at 60fps on every device I’ve tried. It opens in under a second. That’s the goal.
Try It
Ascent is a game built around a single question: how high can you go before you fall? There’s no story, no characters, no upgrades, no unlocks. Just a procedurally generated tower of platforms and a small character who can’t stop jumping.
Tap to start. Tap left and right to steer. See how high you climb.
Then close the app, walk away, and come back in five minutes for one more run. I promise — there’s always one more run.
Ascent – Climb until you can’t. Click here to download for free.