{"slug": "among-liars-the-7th-player-isn-t-human", "title": "Among Liars -> The 7th Player Isn't Human", "summary": "A developer built Among Liars, a realtime multiplayer game where six humans join a room and a Gemini-powered AI is secretly added as a seventh player on the Spy side. The game challenges Detectives to identify the AI through social interrogation, with rotating identities and wildcard questions designed to expose differences between human and AI responses. Built with Next.js, TypeScript, Tailwind CSS, and Supabase Realtime, the game is available as a live demo and open-source on GitHub.", "body_md": "*This is a submission for the June Solstice Game Jam.*\n\nI built **Among Liars**, a realtime multiplayer elimination where six humans join a room, but the game secretly adds a seventh player: a **Gemini-powered AI** hiding inside the Spy side.\n\nThere are two teams:\n\nThe game is inspired by the **Turing Test**, but instead of asking *\"Can AI answer like a human?\"*, it asks something more playable:\n\nCan AI survive being socially judged by humans?\n\nWhen the game begins, six human players are split into two teams: **three Detectives** and **three Spy Agents**. A hidden **Gemini-powered AI** is then added to the Spy side, creating a team of **four spies**. The Detectives must identify the AI, while the Spy Agents work together to keep it hidden.\n\nEach round starts with a **2-minute warmup** where teams can plan in private rooms. Detectives discuss who feels suspicious. Spies coordinate how to protect the AI.\n\nThen one Detective asks a wildcard-style question to the Spy side. The question is automatically sent to every living Spy player and also to the Gemini AI. Everyone answers under pressure, and the Detective has to read the answers like evidence.\n\nThe trick is that Spy-side players receive **new cover names every round**, so Detectives cannot simply track the AI by name or position. They have to judge tone, timing, weirdness, confidence, and emotional detail.\n\nA question like:\n\n\"Describe a tiny mistake you made today without making it sound important.\"\n\nis much harder than a normal trivia question because it asks for texture, not correctness.\n\nThat is where the game becomes interesting.\n\nSometimes AI sounds too polished.\n\nSometimes humans sound fake on purpose.\n\nSometimes the suspicious answer is suspicious because it is AI.\n\nSometimes it is suspicious because a Spy is protecting the AI.\n\nThat tension is the core of **Among Liars**.\n\nYou can play it here:\n\n**Live Demo:** [https://amongliars.vercel.app](https://amongliars.vercel.app)\n\n[https://github.com/abbasmir12/amongliars](https://github.com/abbasmir12/amongliars)\n\nThe frontend is built with:\n\nand a custom black-and-white visual style.\n\nThe backend uses **Supabase** for:\n\nI used **Supabase Realtime** instead of a custom WebSocket server, so messages, answers, player changes, and round changes update live across browser tabs and devices.\n\nThe game includes:\n\nEach round is designed to feel like a small interrogation.\n\nFirst, there is a **2-minute warmup**. During this time everyone can continue talking publicly, but the private rooms are where the real strategy happens.\n\nDetectives discuss:\n\nSpies coordinate:\n\nAfter warmup, one living Detective is selected.\n\nThat Detective receives a **90-second question window**.\n\nThe Detective writes a wildcard pressure prompt. Once submitted, the question is automatically sent to every living Spy-side player, including the human Spies and the hidden Gemini AI.\n\nThe Spy side then receives a **45-second answer window**.\n\nHuman Spies type their responses while Gemini generates its answer through a Supabase Edge Function.\n\nAll responses are stored in Supabase and displayed as evidence cards.\n\nFinally, the selected Detective receives a **30-second final read window** and must click the answer card they believe belongs to the AI.\n\nThe resolution is intentionally asymmetric:\n\nOne of the most important mechanics is the rotating identity system.\n\nSpy-side players never keep the same visible name between rounds.\n\nA player might be:\n\n`TAVI`\n\nin Round 1`ORION`\n\nin Round 2`MICA`\n\nin Round 3This prevents cheap detective work.\n\nDetectives cannot simply memorize player names, positions, or patterns tied to a specific identity.\n\nInstead, they must judge the answers themselves.\n\nPrevious round results preserve the original cover names, so historical evidence remains readable even after identities rotate.\n\nThe wildcard question is the heart of the game.\n\nThe best questions pressure the difference between a lived human answer and a generated answer.\n\nExamples:\n\nThese questions are not about facts.\n\nThey are about texture.\n\nThey force players to produce awkward, emotional, sensory, or social details under pressure.\n\nThat is where the Turing Test becomes playable.\n\nThe Gemini integration runs server-side through a **Supabase Edge Function**.\n\nWhen a Detective submits a question, the function:\n\nThe Gemini API key is never exposed to the browser.\n\nI also added multiple AI behavior styles so Gemini does not always respond with the same personality.\n\nSometimes it answers plainly.\n\nSometimes it is guarded.\n\nSometimes it is short, awkward, or oddly direct.\n\nThe goal is not to make the AI sound perfectly human every time.\n\nThe goal is to make it difficult to separate from the Spy side.\n\nI am submitting for both optional prize categories.\n\nAmong Liars is built directly around the idea of the **Turing Test**.\n\nBut instead of making the test a static question-and-answer screen, I turned it into a social game.\n\nThe AI is not judged by one answer alone.\n\nIt is judged by how it survives inside a room full of humans who are actively suspicious of it.\n\nThe game asks:\n\nCan a machine imitate a human well enough to survive pressure, suspicion, and social reading?\n\nThat felt like a more interactive tribute to Alan Turing's original imitation game.\n\nGemini is not a decorative feature in this project.\n\nIt is the hidden player.\n\nThe entire game loop depends on Gemini:\n\nI integrated Gemini through a server-side Supabase Edge Function so the API key remains protected and the AI response becomes part of the realtime game state.\n\nThe AI is also given its current undercover identity and round context, allowing it to behave like a player inside the match rather than a generic assistant.\n\nAmong Liars started from a simple question:\n\nWhat if the Turing Test was not a test, but a game night?\n\nThe result is a tense social deduction game where humans are reading AI, humans are imitating AI, and nobody can fully trust what \"normal\" sounds like.\n\nThat is the fun part.\n\nIn this game, the AI does not need to be perfect.\n\nIt just needs to survive.", "url": "https://wpnews.pro/news/among-liars-the-7th-player-isn-t-human", "canonical_source": "https://dev.to/mirshah12/among-liars-the-7th-player-isnt-human-345h", "published_at": "2026-06-20 11:24:32+00:00", "updated_at": "2026-06-20 11:36:38.557091+00:00", "lang": "en", "topics": ["artificial-intelligence", "large-language-models", "generative-ai", "ai-agents", "developer-tools"], "entities": ["Gemini", "Supabase", "Next.js", "TypeScript", "Tailwind CSS", "Vercel", "GitHub", "Abbas Mir"], "alternates": {"html": "https://wpnews.pro/news/among-liars-the-7th-player-isn-t-human", "markdown": "https://wpnews.pro/news/among-liars-the-7th-player-isn-t-human.md", "text": "https://wpnews.pro/news/among-liars-the-7th-player-isn-t-human.txt", "jsonld": "https://wpnews.pro/news/among-liars-the-7th-player-isn-t-human.jsonld"}}