DEV Community

Cover image for Solstice Runner — A Browser Game Tribute to Alan Turing
MakendranG
MakendranG

Posted on

Solstice Runner — A Browser Game Tribute to Alan Turing

June Solstice Game Jam Submission

This is a submission for the June Solstice Game Jam


What I Built

Solstice Runner is a browser-based endless runner where you play as a ray of sunlight racing across the June solstice sky — the longest day of the year. Your goal: jump over creeping shadow obstacles and survive as long as possible.

As you play, the world transforms around you. The sky slowly shifts from warm midsummer gold to deep solstice night — a dawn-to-dusk progression tied to your score. Stars emerge, the moon rises, and the obstacles grow faster and taller. The game ends when shadow swallows you.

Alan Turing tribute: the shadow obstacles are etched with binary code — fragments of the ASCII encoding of "ALAN" and bits from the binary patterns of early computing. As you play, facts about Turing appear at the bottom of the screen, reminding you whose birthday falls just after this solstice. He was a man whose brilliant light the world tried to extinguish. In this game, you fight to keep the light alive.


Video Demo


Code

GitHub logo MakendranG / solstice-runner

A June Solstice browser game — tribute to Alan Turing

solstice-runner

A June Solstice browser game — tribute to Alan Turing




The full game is a single HTML file — no frameworks, no build tools, just vanilla Canvas 2D.

Key files:

  • index.html — the entire game (canvas, game loop, rendering, input handling)

How I Built It

The game is built entirely with the HTML5 Canvas API and vanilla JavaScript — no libraries, no frameworks. Everything runs in a single <canvas> element.

Game loop: A standard requestAnimationFrame loop handles both update and draw each frame, keeping physics and rendering in sync.

Physics: The player has a simple gravity accumulator (vy += 0.58 per frame) with a ground clamp. Jumping applies an instant upward velocity (vy = -12.5). It's minimal but feels satisfying because the gravity is tuned to feel snappy rather than floaty.

Sky progression: Instead of a timer, the sky phase is derived directly from the player's score — skyPhase = score / 280. This means the longer you survive, the deeper into night you go. Colors are linearly interpolated between hex values for dawn and dusk, so the sky transitions feel smooth without any keyframe animation system.

Obstacle spawning: Spawn interval shortens as the score rises (interval = max(38, 88 - score * 0.38)), creating a natural difficulty curve. Tall obstacles (60–84px) appear once your score passes 8, requiring better-timed jumps.

The Turing layer: Every shadow obstacle has a ~55% chance of displaying a binary string down its face — fragments of ASCII "ALAN", "10" (binary for 2, Turing's birthday month), and "T". These are purely decorative but reward players who notice them. Additionally, a fact about Alan Turing surfaces every ~420 frames, surfacing quietly below the game without interrupting play.

Celestial bodies: The sun tracks across the sky and fades as skyPhase rises. The moon fades in after skyPhase > 0.35 and gently bobs using a sine offset, giving the night sky a living quality.

Particles: Jump particles are emitted from the player's base on each jump — 8 small circles that arc outward and fade over ~22 frames. They reinforce the feel of launching a burst of light.


Prize Category

Best Ode to Alan Turing

Alan Turing was born on June 23 — two days after the solstice this game is built around. He was one of the greatest minds of the 20th century: the father of modern computing, the codebreaker who helped end World War II, and the man who first asked whether machines could think. He was also persecuted by the British government for being gay and died at 41.

This game honors him in several ways:

  • The shadow obstacles carry binary — the shadow in this game isn't random noise; it's encoded. Binary fragments of "ALAN" and early computing symbols are etched into each shadow pillar. The thing trying to stop you isn't mindless — it has structure, like the ciphers Turing spent his life breaking.
  • The player is light — Turing's work was about illuminating problems that seemed unsolvable. Playing as a sunbeam fighting off darkness felt like the right metaphor.
  • Turing facts surface during play — players learn about his work and his life without it feeling like a lecture. A new fact appears every ~40 seconds, quietly, below the game.
  • The solstice timing — June 23 is two days after June 21. The jam ends on the solstice. This game is set on that exact day. The connection felt too meaningful to ignore.

The mechanics, the visual language, and the narrative are all built around one idea: light persists, even when the world tries to extinguish it.


Built during the June Solstice Game Jam, June 2026.

Top comments (0)