Mira Vale grew up as a jester in a travelling troupe, trained by her grandmother Nana Odile. They always planned to climb Mount Jeste together, the mountain whose wind is said to laugh. Nana died last winter, Mira never cried, and one night she froze on stage. So she climbs Jeste alone. The old bell-ringer at the bottom warns her that the mountain shows you whatever you hide behind your smile.
Jeste is a tight, forgiving climb in the tradition of modern precision platformers. Deaths cost about a second, the hardest challenges are optional, and an assist mode is always one menu away.
Run, jump, climb, dash
Mira can jump, wall-jump, cling and climb on limited stamina, and dash once in the air in any of eight directions. Her jester cap shows whether the dash is ready, spent, or doubled. Underneath those basics sit the techniques experienced players will look for: supers, hypers, wavedashes, wall-bounces, dash corner correction, and momentum boosts from moving platforms.
The feel comes from small, deliberate details: coyote time, jump buffering, variable jump height, half gravity at the top of a jump, squash and stretch, afterimages, freeze frames, directional screen shake, and a cap with two physics-simulated tails and bells.


Nine chapters, one new idea each
Each chapter is built around a single mechanic: jack-in-the-box springs and crumbling boards in Lantern Town, comedy and tragedy mask blocks that swap on every dash in the Grand Carnival, gusting wind and cable gondolas on Whistling Ridge, circus balloons in the Mirror Cathedral, and pinball bumpers in the Undertow. In chase rooms, the Grin, Mira’s own reflection, follows a fraction of a second behind, replaying every move. Stop to think and it catches you.
There are 69 rooms across the prologue, seven chapters, and an epilogue, with 61 sunberries, seven hidden jester bells, and seven golden sunberries for anyone who wants to carry one through a whole chapter without dying.




The story is told in scripted cutscenes with animated, blinking portraits and per-character voice blips. Mira meets Old Bellamy the bell-ringer, Tobi the anxious painter, a ghostly ringmaster who never ends his show, and the Grin.
More screenshots


What it’s built with
Jeste is written in GDScript for Godot 4.7 and renders a 320 × 180 pixel canvas scaled up by whole numbers. The central design decision is that the simulation in scripts/sim/world.gd doesn’t depend on Godot’s scene nodes. It’s a fixed-step, 60 Hz model of a room. The game renders it, a solver searches it, and the tests replay it, so an input recording that clears a room in a test clears it in the game.
That made it possible to prove every room is beatable. The solver runs a weighted A* search over input macro-actions such as run, jump, hold, dash, and climb, simulating every candidate with the real physics. It runs across parallel headless Godot workers. The test suite proves that each chapter’s end can be reached and that every collectible can be taken on a route that still finishes. It then plays every chapter end to end through the real level scene without a death, which also proves every golden run.
Levels are plain ASCII files, one per chapter, with a legend for solid ground, spikes, springs, gems, curtains, mask blocks, gondolas, balloons, and bumpers.
How it was made
Nothing in Jeste comes from a third-party asset pack. All 56 PNGs are generated by a Godot script that reproduces the committed images byte for byte. Characters are “paper dolls”: ASCII-drawn heads and torsos with procedurally posed limbs, 34 animation frames each. Terrain is painted per pixel from the collision map on worker threads, with bevels, ambient occlusion, and snow, grass, or crystal caps.
The audio comes from a small NumPy synthesizer in tools/synth.py, with electric piano, FM bells, pads, choir, organ, calliope, drums, and convolution reverb. It composes 13 music tracks on one recurring theme as seamless 32-bar loops, plus ambience beds and 36 layered sound effects.
Even the trailer is reproducible. tools/trailer/ drives the real game through Godot’s Movie Maker using the solver’s proven routes, draws captions in the game’s own pixel font, and assembles the cut with FFmpeg, with transitions on the music grid and loudness normalized to EBU R128.
Jeste was built with Claude Code as an AI pair programmer. Its public commit history runs about 18 hours on October 4, 2026.
Play it
Version 0.1.0 is a complete game from prologue to credits. Download the Linux build, unzip it, and run ./Jeste.x86_64; it needs a Vulkan-capable GPU. Windows, macOS, and web builds aren’t published yet. Difficulty was tuned against the bot rather than a range of human players, so some rooms may feel tighter than intended, and assist mode is there for that.
Browse the source and README media on GitHub. GitHub records the repository’s creation on October 4, 2026.