Skip to content

Doodle Duel

Doodle Duel is a real-time two-player web game that reinvents rock–paper–scissors as a creative arms race.

Core trick

Sends each canvas drawing to Gemini vision for labeling, then a second LLM call judges it against the prior round's winning object.

Tags

Description

Doodle Duel is a real-time two-player web game that reinvents rock–paper–scissors as a creative arms race. Players draw any object they can imagine on a canvas. Google's Gemini Vision AI identifies each drawing, and a Gemini LLM referee decides which is stronger. The winner's object becomes the new baseline that both players must beat next round - escalating the stakes with every victory. The game features five core rules: 1. an escalation baseline that raises difficulty, 2. a must-beat-baseline check, 3. no-repeat objects, 3. no-text-in-drawings detection, 4. a tie-streak match ender, 5. and a Jolly comeback mechanic that lets struggling players type instead of draw. Rounds last 30 seconds, matches run 3–8 minutes, and the player with the most round wins takes the game. Built with React18, Vite, Socket.IO, NodeJS, and Gemini API.
heyGio/jankenpon★ 00 forksPythonCreated Feb 21, 2026 · last push Feb 22, 2026

README excerpt

# Draw-kenpon

Draw-kenpon is a fast-paced, strategic twist on the traditional game of Rock, Paper, Scissors. Instead of choosing from a predefined set of three options, players must draw an object they believe will defeat their opponent's choice. A drawing recognition system powered by Gemini detects the hand-drawn images, and Gemini acts as the ultimate judge to determine which object is stronger.

## Tech Stack
- Frontend: Vanilla HTML, CSS, and JavaScript.
- Backend: Python FastAPI and WebSockets.
- AI: Google Generative AI (Gemini Flash).

## How to Play / Run Locally

1. Ensure you have Python 3 installed.
2. Initialize your virtual environment and install dependencies:
   ```bash
   python3 -m venv .venv
   source .venv/bin/activate
   pip install fastapi uvicorn websockets google-genai pydantic pillow
   ```
3. Set your Gemini API key in the environment:
   ```bash
   export GEMINI_API_KEY="your_api_key_here"
   ```
4. Start the backend server:
   ```bash
   python3 -m uvicorn main:app
   ```
5. Open your browser and navigate to `http://localhost:8000`. To play against someone else on your network, use the host machine's IP address.
6. Open two separate windows/tabs to simulate two players joining the game. Matchmaking is done automatically.

Team