ββββββββββ ββββββ βββ ββββββββββ βββββββ
βββββββββββ βββββββββββ ββββββββββββββββββββ
βββ βββ βββββββββββ ββββββ ββββββ βββ
βββ βββ βββββββββββ ββββββ ββββββ βββ
βββββββββββββββββββ βββββββββββββββββββββββββββββ
ββββββββββββββββββ βββ βββββββ βββββββ βββββββ
Claudo is a 2D top-down murder mystery game built with Godot 4.6.
Someone was murdered in the mansion. Your job is to figure out who did it, with what weapon, and in which room.
See part of the game play here:
claudo_video.mov
- Walk around the mansion and meet the suspects.
- Talk to nearby NPCs and compare their stories.
- Track clues and contradictions in your notebook.
- Build your theory about the killer, weapon, and room.
Each run generates a fresh mystery, so no two games are exactly the same.
- Move: Arrow keys
- Talk to nearest NPC:
C - Close chat window:
Esc - Toggle notebook:
N
- A local Game Master service generates a new murder scenario at startup.
- Six suspect NPCs are created with generated archetypes and backstories.
- Godot runs the game client while a local Node.js/TypeScript server handles AI + state over WebSocket.
The project is in active phased development:
- Phase 0: graphical draft (done)
- Phase 1: core infrastructure (done)
- Phase 2+: NPC intelligence, GM pressure systems, and accusation flow (in progress)
Godot 4.6(GDScript)Node.js >= 18+ TypeScript@google/genai(NPC chat responses)ws(Godot <-> server transport)
- Godot 4.6 installed
- Node.js 18+ installed
- pnpm installed (
npm install -g pnpm) GOOGLE_API_KEYinserver/.env
Copy server/.env.example to server/.env, then add your key.
- Open the project in Godot 4.6.
- Press
F5.
scenes/main/main.gd automatically starts server/start.sh, which launches server/dist/index.js and writes logs to server/server.log.