Skip to content

longphanquangminh/solstice-cipher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌞 SOLSTICE CIPHER

Crack the light before the longest day ends.

A code-breaking deduction game about racing the dying light of the June solstice β€” and a love letter to Alan Turing.

β–Ά Play it now Β· Built for the DEV June Solstice Game Jam 2026

HTML5 Vanilla JS No build Dependencies License

SOLSTICE CIPHER gameplay


About

A scrambled light-signal pulses over the horizon: six colors of the spectrum locked in a hidden order. Your job is to decrypt the sequence before the sun sets.

Every guess burns one hour of daylight β€” the sun slides down its arc, the sky bleeds from noon-blue to golden dusk to indigo night, and the stars come out. Crack the code and the beacon fires; run out of light and darkness wins.

The machine that grades your guesses is The Bombe β€” the device Alan Turing designed to break the Enigma cipher.

Theme connection

Thread In the game
β˜€οΈ Solstice & passage of time Daylight is the resource. The sun, sky, and stars are all driven by how many guesses you've spent.
πŸŒ— Light vs. darkness The literal win/lose condition β€” decrypt the signal, or let night fall.
🧠 Ode to Alan Turing June is Turing's birth month. Code-breaking is the gameplay; the feedback engine is his Bombe.
πŸ³οΈβ€πŸŒˆ Pride The signal you decode is the rainbow light spectrum β€” honoring Turing, persecuted for being gay.

Features

  • 🎨 Living sky β€” a Canvas day/night cycle (sun arc, fading stars, drifting light-motes, a ghost moon) driven entirely by your remaining daylight.
  • 🧩 Real deduction β€” a Mastermind-style cipher with duplicate colors and gold / hollow feedback pegs.
  • βš™οΈ The Bombe Assist β€” spend a charge to let Turing's machine lock one correct position (2 per level).
  • πŸ”Š Procedural audio β€” retro machine tones via the Web Audio API (no sound files).
  • πŸ“ˆ Endless ramp + scoring β€” codes grow 4 β†’ 5 β†’ 6 symbols; high score saved locally.
  • ⌨️ Keyboard-first and colorblind-friendly (every orb is numbered 1–6).
  • πŸ“¦ One file, zero dependencies, no build.

How to play

You're trying to match a hidden sequence of colored light-glyphs. After each guess, The Bombe tells you how close you are:

  • 🟑 Gold peg β€” right color, right position
  • βšͺ Hollow peg β€” right color, wrong position

Use the feedback to deduce the exact order before your daylight runs out.

Controls (keyboard-first)

Key Action
← β†’ Move the active slot
↑ ↓ Cycle the color of the active slot
1–6 Set a color directly (auto-advances)
Enter / Space Decrypt (submit your guess)
B Bombe Assist β€” lock one correct position
R Reset the run
M Mute / unmute

Mouse and touch work too (click an orb to cycle it, click a color in the legend to set it), but the game is tuned for a laptop keyboard.

Run it locally

No toolchain required β€” it's a single static file.

git clone https://github.com/longphanquangminh/solstice-cipher.git
cd solstice-cipher
# then just open the file:
open index.html        # macOS
# xdg-open index.html  # Linux
# start index.html     # Windows

Or serve it (recommended so localStorage high-scores persist):

python3 -m http.server 8000
# visit http://localhost:8000

Deploy (GitHub Pages)

  1. Make sure the game file is named index.html in the repo root.
  2. Settings β†’ Pages β†’ Build and deployment β†’ Source: Deploy from a branch, branch main / root.
  3. Your game goes live at https://longphanquangminh.github.io/solstice-cipher/.

Tech stack

  • HTML5 Canvas β€” sky, sun, stars, particles, screen shake
  • DOM + CSS β€” board, glassmorphism HUD, animations (Space Grotesk + Space Mono)
  • Web Audio API β€” procedural sound effects
  • Vanilla JavaScript β€” game logic, no framework

Scoring

round score = level Γ— 100  +  daylight saved Γ— 15  +  Bombe charges held Γ— 40

Your total carries across levels until night finally falls. Best score is stored in localStorage.

Project structure

solstice-cipher/
β”œβ”€β”€ index.html      # the entire game (markup, styles, logic)
β”œβ”€β”€ gameplay.png    # screenshot for README / repo card
└── README.md

Accessibility

  • Fully playable with the keyboard alone.
  • Every color glyph carries a number (1–6), so the puzzle is solvable without relying on hue.
  • High-contrast HUD and large, glowing targets.

License

MIT β€” free to play, fork, and learn from.


Made for the June Solstice Game Jam. Happy solstice. 🌞

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages