Skip to content

jev-town

3D town game where 50 citizens each choose whether to investigate, join, flee, warn or ignore your broadcast in one batched Jev request.

Projectprototype

Overview

Jev Town is a browser game in which you play the Town Crier of a small 3D town. You write one broadcast per round and all 50 citizens decide in parallel whether to investigate, join, flee, warn or ignore it. Each citizen has a distinct role and personality, so the same announcement can split the town in surprising ways. Rounds come with directives and scoring goals, and you balance trust and unrest while building a streak.

The game sends one batched Jev Choice request per round. The hosted demo at jev-town.vercel.app runs on a built-in deterministic simulation so sharing it costs nothing; a deployment ignores its own key unless explicitly allowed, so anonymous visitors cannot spend the owner's quota. To see real decisions you can run it locally, where only the Express backend reads the key, or add your own key in the hosted app, where it is kept in sessionStorage for the tab and forwarded once to Jev without being stored or logged, which a test asserts. If Jev is unavailable the game falls back to the labelled simulation.

What the decision model decides

TypeQuestionAnswers
ChoiceHow does this citizen react to the broadcast?investigate · join · flee · warn · ignore

How it works

  1. Player writes a broadcast
  2. One batched Choice request covers all 50 citizens
  3. Citizens walk the 3D town according to their decisions
  4. Round is scored on trust, unrest and directive goals

Strengths

  • 50 decisions in one request, shown visually
  • Careful bring-your-own-key handling with a test
  • Playable fallback without a key

Caveats

  • Hosted demo uses a simulation unless you add a key
  • Game rather than evaluation

Getting started

npm install && TYPESAFE_API_KEY=... npm run dev, then open http://localhost:5173.

At a glance

Type
Project
Status
prototype
Language
TypeScript
Runtime
Browser + Express
Has code
yes
Has tests
yes

Use cases and integrations

How curated lists describe it

  • A 3D town where 50 AI citizens each decide how to react to your broadcast, in parallel, in under a second - powered by TypeSafe's Jev decision model.

    hellogumbo/awesome-jev

Frequently asked questions

What does each citizen decide?

Whether to investigate, join, flee, warn or ignore your broadcast.

Does the hosted demo use real Jev?

Only if you add your own key; otherwise it runs a labelled deterministic simulation.

Is my key stored?

No. It stays in sessionStorage for the tab and is forwarded once without being logged or stored.

Related projects

  • 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
  • Minecraft agent where Hermes plans, Jev picks one bounded action at a time and a Mineflayer harness validates and executes.

    ProjectprototypeJavaScript