Skip to content

th3maxspe3d/turing-blend-game

Repository files navigation

Project: Turing Blend

A tense, meta social deduction game. You are the lone human in a simulation, facing a panel of advanced AIs. Your goal: pass as a machine.

Five AI players, powered by Gemini, answer the same questions you do and look for linguistic anomalies. Each cycle, subjects can accuse someone or skip, accused subjects can defend themselves or stay silent, and every active subject votes. The subject with the most votes is purged.

Survive until only one AI remains alongside you. Then you win.


Stack

  • React 19 + TypeScript
  • Three.js - 3D interrogation chamber (roundtable, atmospheric lighting, 6 avatar sprites)
  • Gemini 2.0 Flash - AI player responses, suspicion, defenses, and voting logic
  • ElevenLabs - narrator voice and generated animal cue sounds
  • Vite 8

Prerequisites

  • Node.js >= 18 - check with node -v
  • A Gemini API key - get one free at aistudio.google.com/apikey
  • An ElevenLabs API key - used by the local Vite audio proxy for narration and animal cues

Quick start

# 1. Clone and install
git clone <repo-url>
cd turing-blend-game
npm install

# 2. Add your API keys
cp .env.example .env.local
# Edit .env.local and add your Gemini and ElevenLabs keys

# 3. Run
npm run dev

Open http://localhost:5173.

Without .env.local: the game will prompt for your API key on the intro screen instead. It saves it to localStorage so you only enter it once per browser.


Environment variables

Variable Required Description
VITE_GEMINI_API_KEY No Your Gemini API key. Leave blank to use offline random mode.
ELEVENLABS_API_KEY No Server-side ElevenLabs key for generated narration and animal sounds. Without it, voice features quietly disable.
ELEVENLABS_NARRATOR_VOICE_ID No Optional narrator voice ID. Defaults to the ElevenLabs quickstart sample voice.
VITE_ELEVENLABS_NARRATOR_MODEL_ID No Optional narrator model. Defaults to eleven_v3 for more expressive horror-style delivery tags.

.env.local is gitignored - never commit your actual key.

The ElevenLabs key is intentionally not prefixed with VITE_, so it stays in the local Vite server and is never bundled into the browser.


How to play

  1. Briefing - Read the mission. Click anywhere to start.
  2. Question - A question appears. You have about 45 words to answer. Sound like a machine, not a human.
  3. Review - Hover each subject to inspect their answer in a speech bubble.
  4. Accuse - Each subject gets a turn to accuse or skip. Your turn has a 30-second timer.
  5. Defend - If accused, you can submit a defense or skip. The defense timer is also 30 seconds.
  6. Vote - You and all AI subjects vote. The subject with the most votes is eliminated.
  7. Repeat - Cycles continue with fewer subjects. Reach the final 2 (you + 1 AI) to win.

You lose if the AI majority votes you out.


Scripts

npm run dev      # dev server with HMR
npm run build    # type-check + production build
npm run preview  # preview the production build

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages