Tavern — AI companions for Warcraft 3
Free, offline local-LLM teammates and opponents for Warcraft 3: they chat, take voice commands, strategize over AMAI, and trash-talk — all on a LAN, no cloud.
Fill a 4v4 lobby without six more humans: AI players who listen to your voice, react to the map, strategize at the macro level, and talk trash — good-naturedly. The AI does the talking and the strategy; the existing AMAI mod handles unit micro it's already good at. Everything runs fully offline once installed.
What's technically interesting
The whole architecture falls out of one constraint: Warcraft 3's Lua/JASS sandbox can't open sockets, make HTTP requests, or touch the filesystem — so the LLM can't live inside the map. The fix is a host-side Companion Daemon (Python/asyncio, one persona per AI player, talking to a local model via Ollama) that communicates with the game through an indirect file-based bridge — a TypeScript-compiled-to-Lua layer baked into a modified melee map. Voice is a decoupled frontend: whisper.cpp in, Piper out.
Designing around a sandbox you can't change — and keeping it deterministic
enough to test offline with a --fake-llm stub — is the kind of constraint
problem the rest of the site is built around, here wearing a fun costume.