DEV Community

Shaheer Rustam
Shaheer Rustam

Posted on

Turing’s Light: Escape the Enigma – June Solstice Game Jam Submission

🎮 The Game

Turing’s Light: Escape the Enigma is an AI‑powered puzzle game where you wake in a dark room and rely on ECHO, a ghostly AI echo of Alan Turing, to fire beams of light into the void.

  • Live Demo: https://turing-light-game.netlify.app
  • How to Play: Type answers to Turing‑themed riddles generated live by Google Gemini. Each correct answer fires a beam of light that reveals a hidden digit. Collect all four digits, pass the Imitation Gate (a Turing Test), and enter the sequence to win.
  • Theme Connection: Light vs. dark is the core mechanic – you literally push back the night with each correct answer, culminating in the solstice sunrise.
  • Built with: HTML/CSS/JS, Canvas, Web Audio API, Gemini API (gemini-2.5-flash)

🤖 Best Google AI Usage

The game uses the Gemini API as its central mechanic:

  • Gemini generates a unique, contextual riddle each round, tailored to the player’s difficulty.
  • It evaluates free‑text answers with semantic understanding, not exact matching – accepting synonyms, partial phrasing, and clever interpretations.
  • At the Imitation Gate, Gemini improvises a sincere answer to "What does it mean for a mind to be truly free?" and the player must distinguish it from a scripted impostor – a literal Turing Test within the game.
  • Without the AI, the game falls back to a small archive, but the full experience – dynamic riddles, adaptive hints, and the climactic gate – only works with Gemini.

🎥 Demo Video

https://youtu.be/CtjprKqM59E

💡 Development

I built the entire game solo, from a single HTML file, using vanilla JavaScript and the Canvas API. The Gemini integration was done via a simple fetch call with prompt engineering to control tone, difficulty, and output format. The solstice theme is embedded in every layer: the gauge, the lives (sparks), the colour palette, and the final sunrise.

This is my entry for the June Solstice Game Jam.

Top comments (0)