Your orders
Orders save automatically to this device (and to your profile when signed in). Unordered units Hold. Illegal orders are explained, not silently accepted — a Backstabbr pain point fixed here.
✅ Orders not checked yet — validation runs live as you type, and again before any turn can be submitted.
Turn log
Trophy cabinet 🏆
Trophies reward the habits that make Diplomacy great — showing up, giving clear orders, keeping (or breaking!) your word, trying new maps. Built on self-determination theory: autonomy (your maps, your personas), competence (hints, clean sheets), relatedness (press, pledges). No punishment streaks, no dark patterns — come back because it's fun. Full design notes: docs/GAMIFICATION_AND_GAME_THEORY.md.
AI endpoint (optional, yours)
Any OpenAI-compatible server works: OpenAI, OpenRouter, Ollama (http://localhost:11434/v1), LM Studio, llama.cpp. Your key stays in this browser only — it is never sent anywhere except the endpoint you type.
Your profile
Your photo is stored only in this browser, shown next to your name, and unlocks the 📸 Face of an Empire trophy.
Google Sign-In
Backstabbr uses Google accounts — so does this. Paste your own Google OAuth Web Client ID (Google Cloud Console → APIs → Credentials) to enable real Google Sign-In here; your saves are then keyed to your Google profile on this device. Without a Client ID, Demo sign-in shows the full saved-profile flow.
Notifications
Real cross-device Web Push needs a small VAPID push server — subscription + server stub are documented in docs/GOOGLE_SIGNIN_AND_PUSH.md. In-app and Android PWA notifications work from this page today.
Maps — Classic, variants & custom maps 🗺️
Pick a built-in map, import a variant JSON in the vDiplomacy/webDiplomacy data model (territories + borders + centres + coordinates), paste your own custom map, or download the current map and edit it. The bundled Classic variant lives in variants/classic.json.
Custom-map JSON is validated before loading — unknown border references, missing centres or missing starting units are reported (with a notification) instead of breaking the game.
Opponents
Powers you are not controlling are played by simple bots in this local edition, so a game always moves. Switch “Playing as” any time for hot-seat play with friends on one device.