Skip to content

Jev Town

AI town simulation forked from a16z ai-town where Jev picks each agent's next legal move and an LLM handles dialogue and memory.

Appprototype

Overview

Jev Town is a game engine in which characters are driven by AI rather than scripts, started from a16z-infra/ai-town. Each agent decides what to do next through two models working together. Jev makes the fast, structured decisions: whether to seek someone out, who to go to, where to wander and how long to wait, choosing only among options the engine offers, so illegal moves are impossible. An LLM (any OpenAI-compatible endpoint, Together or local Ollama) handles conversations, memory and agents' beliefs about the world.

A cast of five to fifty agents runs in a pixel-art room in a single browser tab, with a local proxy holding the model keys. Leaving the decider setting unset lets the LLM make every decision instead, which allows comparison. A spend backstop stops the proxy after 2,000 model calls per run. It is described as an MVP, with the Jev demo on a feature branch until merged, and the team plans a narrative game on top.

What the decision model decides

TypeQuestionAnswers
ChoiceWhat should this agent do next (seek someone, go to whom, wander where, wait how long)?—

How it works

  1. Engine enumerates legal next actions for an agent
  2. Jev chooses one; LLM handles any resulting dialogue and memory
  3. Simulation advances in the browser
  4. Proxy stops after 2,000 model calls per run

Strengths

  • Illegal moves are impossible
  • Cheap, fast decisions separated from expensive language work
  • Switchable to all-LLM decisions for comparison

Caveats

  • MVP; Jev demo on a feature branch
  • Needs both LLM and Jev credentials
  • Cost grows with cast size

Getting started

npm ci, create .env.local with LLM and JEV_API_KEY settings plus VITE_ACTION_DECIDER=jev, then `npm run play:demo` and open http://localhost:5173/ai-town/.

At a glance

Type
App
Status
prototype
Language
TypeScript
Runtime
Browser + local proxy
Has code
yes

Use cases and integrations

How curated lists describe it

  • Jev based AI town simulation.

    hellogumbo/awesome-jev
  • AI town simulation where Jev picks each agent's next move from the engine's legal options and an LLM handles dialogue and memory. MVP; the Jev demo is on the `feat/jev-demo-solarium` branch until it merges.

    MrJev/awesome-jev

Frequently asked questions

What does Jev decide?

Each agent's next action, such as who to seek out, where to wander and how long to wait.

What does the LLM do?

Conversations, memory and agents' beliefs about the world.

Where is the Jev demo?

On the feat/jev-demo-solarium branch until it merges.

Related projects

  • TypeScript framework for role-playing NPCs: Jev picks actions and communicative intents, the host composes dialogue.

    ProjectprototypeTypeScript
  • Real-time bot battles where you write a fighter's strategy in plain English and a System One model pilots it several times a second.

    ProjectbetaTypeScript
  • Bot that plays Red Alert 2 web skirmishes, with code handling mechanics and a decision model making stance, threat and timing calls.

    ServicebetaPython
  • Multiplayer 3D science-fantasy version of Houston's River Oaks District with Jev-powered NPC companion, chauffeur and smart drive.

    ProjectbetaTypeScript
  • Browser 3D planetary rover sandbox where a TypeSafe controller chooses the next action from complete candidates, versus a baseline.

    ProjectbetaTypeScript
  • Doom runs as a spacecraft payload over real flight software; Jev pilots from the ground every half second while Claude reviews.

    ProjectprototypePython