🏆 This is a submission for the June Solstice Game Jam
🎯 What I Built
Turing's Frequency is a browser-based rhythm game where you decrypt encrypted radio signals by listening to musical patterns and recreating them. Each signal carries a message from a historical figure who changed the world — voices that were silenced, ignored, or forgotten, now restored through your rhythm.
📖 The Story
The game is set in 1954, on the desk of Alan Turing at the University of Manchester. A radio crackles with fragmented transmissions — encrypted messages carrying words of Pride, resistance, and identity.
You are a student who has found Turing's last notebook, and with it, the key to decrypting these signals.
🌅 The connection to the June solstice: As you decrypt each signal, the screen literally brightens — from near-darkness to a flood of golden light. The solstice is the moment light and dark trade places, and this game makes that transition tangible.
🎬 Video Demo
👆 Watch the full gameplay loop: title → story → rhythm gameplay → decrypted messages → victory screen with solstice light effect.
🕹️ How to Play
| Key | Action |
|---|---|
1 2 3 4
|
Play notes |
↑ ↓ ← →
|
Arrow keys (alternative) |
Space / Enter
|
Advance screens |
- 🎧 Listen to the signal pattern
- 🎹 Repeat the notes in order
- 🔓 Decrypt the message
- 🌅 Restore the voice
💻 The Code
The entire game is a single HTML file (~32KB) with zero external dependencies. No frameworks, no libraries, no asset files (similar to how I built my npm package with zero dependencies) — just HTML, CSS, and vanilla JavaScript.
mamoor123
/
turings-frequency
Turing's Frequency - A Rhythm of Light. June Solstice Game Jam 2026 entry.
⚡ Key Technical Decisions
🔊 Web Audio API for all sound:
Every tone is synthesized in real-time using oscillators. The game uses a pentatonic scale (C4, E4, G4, C5) so every combination of notes sounds pleasant. No audio files needed.
function playTone(freq, duration = 0.3, type = 'sine', volume = 0.3) {
const osc = audioCtx.createOscillator();
const gain = audioCtx.createGain();
osc.type = type;
osc.frequency.setValueAtTime(freq, audioCtx.currentTime);
gain.gain.setValueAtTime(volume, audioCtx.currentTime);
gain.gain.exponentialRampToValueAtTime(0.001, audioCtx.currentTime + duration);
osc.connect(gain);
gain.connect(audioCtx.destination);
osc.start();
osc.stop(audioCtx.currentTime + duration);
}
📺 CRT aesthetic with pure CSS:
Scanlines, flicker, and glow effects are all CSS — no canvas rendering needed.
🌅 Progressive brightness:
A radial gradient overlay transitions from 0% to 12% opacity gold as you progress through levels, creating the solstice "longest day" effect.
🤖 Auto-demo mode:
Adding ?demo to the URL triggers an automated playthrough — perfect for recording videos or showing judges the full experience.
🎵 The Five Signals
| Level | Historical Figure | Pattern | Theme | Quote |
|---|---|---|---|---|
| 1️⃣ | Alan Turing | C-E-G-E-C | 🔢 Mathematical precision | "Sometimes it is the people no one imagines anything of..." |
| 2️⃣ | Marsha P. Johnson | C-G-E-C-G-C | ✊ Joyful resistance | "You never completely have your rights..." |
| 3️⃣ | Bayard Rustin | E-C-C-G-E-G-C | 🤫 Quiet power | "We need, in every community, a group of angelic troublemakers." |
| 4️⃣ | Audre Lorde | C-G-E-C-C-E-G-C | 📝 Poetry as revolution | "It is not our differences that divide us..." |
| 5️⃣ | The Solstice | C-E-G-C-C-G-E-C-E-C | 🌅 All voices together | "We are all infinite when we choose to be seen." |
🧠 Why Rhythm?
Most June Solstice Game Jam submissions are visual — platformers, puzzles, cipher games. I wanted to make something auditory.
A rhythm game where the mechanic itself is "listening and repeating" felt like the right metaphor for amplifying voices that deserve to be heard.
💡 "The best games are the ones where the mechanic IS the message."
🏆 Prize Categories
🎖️ Best Ode to Alan Turing
This game is directly inspired by Alan Turing's life and legacy:
- 🏛️ The setting: 1954, Turing's final year at Manchester
- 🔐 The mechanic: Decrypting signals mirrors Turing's work at Bletchley Park
- 🏳️🌈 The metaphor: Turing was persecuted for being gay — this game restores voices of Pride
- 1️⃣ Level 1 is dedicated to Turing himself
🤖 Best Google AI Usage
I used Google Gemini to assist with (see my full Google I/O 2026 tools review for more AI tools):
- 📚 Research and quote verification
- 🎵 Pentatonic scale design for pleasant sounds
- 🐛 Debugging the auto-demo mode
- ✍️ Crafting the narrative framing
🛠️ Tech Stack
| Technology | Usage |
|---|---|
| HTML5 | Structure |
| CSS3 | CRT effects, animations, glow |
| Vanilla JavaScript | Game logic |
| Web Audio API | Sound synthesis |
| GitHub Pages | Hosting |
No frameworks. No libraries. No build tools. Just web. (If you're interested in AI agents, check out my Hermes Agent vs LangGraph vs AutoGen comparison)
🔗 Links
💬 What Do You Think?
I'd love to hear your feedback! (For more on AI and development, read my take on Vibe Coding is Fun Until You Hit Production)
- 🎵 Did the rhythm mechanic feel satisfying?
- 🌅 Did you notice the brightness increasing?
- 💡 Any ideas for new levels or historical figures?
Drop a comment below! 👇
🏳️🌈 Built with Web Audio API, vanilla JavaScript, and a lot of respect for the voices in this game.
Happy Pride Month. Happy Solstice. Happy Birthday, Alan. 🌅
📚 Related Resources
- Web Audio API Documentation — Learn how to synthesize sound in the browser
- How to Build Games with JavaScript — Community for HTML5 game developers
- GitHub Pages Deployment Guide — Host your own games for free
- Alan Turing's Legacy — Learn about the father of computer science
- Stonewall Riots History — The history of Pride
- CSS Tricks: Animations — Create CRT effects like mine
What did you think of this post? Let me know in the comments! 👇
📚 My Other Posts You Might Enjoy
If you liked this post, check out my other work on dev.to:
- 🚀 I Revived My Abandoned Python Script Into a Published npm Package — How GitHub Copilot helped me ship
- ⚔️ Hermes Agent vs LangGraph vs AutoGen — What Actually Happened — AI agents comparison
- 🔒 I Replaced ChatGPT with Gemma 4 Running Locally — Local AI for privacy
- 🔥 Every Google I/O 2026 Developer Tool — What Actually Works — Hands-on tool review
- 💣 10 Microservices Concepts Every Developer Should Know — Architecture essentials
- 🎓 Junior Devs in 2026: What Bootcamps Won't Tell You — Career advice
- 🎵 Vibe Coding is Fun Until You Hit Production — AI coding reality check
- 🤖 AI Agents Replaced My Dev Workflow — Here's What Broke — Productivity lessons
👆 Follow me @mamoor_ahmad for more posts on AI, game development, and web tech!

Top comments (2)
Nice concept. Related to cybersecurity - Encryption and decryption. Your thoughts are philosophic and realistic.
Even I have constructed the game for the same challenge which is cybersecurity based related to SIEM log analysis and philosophical.