hundred
Town simulation in which Jev chooses the next action for each of 100 NPCs while game rules handle everything else.
Overview
Hundred is one of two apps in the Jev Lab monorepo, alongside Jev Shogi. One hundred NPCs live in a tiny town with hunger, money, jobs, relationships and memories. The engine keeps all the rules; Jev answers only one question per NPC: what should this person do next? The story emerges from the world applying those choices.
It is a showcase for game and simulation developers of the principle stated in the README: Jev only answers the next choice, engines keep the rules. The apps run locally with pnpm and start in a Rules mode that needs no API key; Jev is opt-in via a key in .env. The repo includes a pinned Nix development shell, a pnpm check command and Playwright browser tests.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | What should this person do next? | — |
How it works
- Simulation builds each NPC's state (needs, money, job, relationships, memories)
- Jev chooses the next action from the engine's allowed options
- Engine applies the action and updates the town
- Without a key, local rules make the choice instead
Strengths
- Actions are always legal because the engine supplies the options
- Runs without a key in Rules mode for comparison
- Shows per-agent decisions at a scale of 100 NPCs
Caveats
- Demo project, not a game framework
- Jev mode requires an API key and makes many calls per tick
- No licence stated
Getting started
`git clone https://github.com/jammaru/jev-lab.git && cd jev-lab && pnpm install && pnpm dev`, then open http://127.0.0.1:5188 for Hundred.At a glance
- Type
- Project
- Status
- prototype
- Language
- TypeScript
- Runtime
- browser (Vite)
- Has code
- yes
- Has tests
- yes
Use cases and integrations
How curated lists describe it
100 AI NPCs live in a tiny town. Jev chooses the next action; the world writes the story.
hellogumbo/awesome-jev
Frequently asked questions
What does Jev decide in Hundred?
Each NPC's next action; everything else is handled by the simulation's rules.
Can I run it without a TypeSafe key?
Yes. It starts in local Rules mode and only uses Jev if you opt in.
What else is in Jev Lab?
Jev Shogi, where Jev picks the computer's reply from engine-legal moves.
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.
ProjectbetaTypeScriptBot that plays Red Alert 2 web skirmishes, with code handling mechanics and a decision model making stance, threat and timing calls.
ServicebetaPythonMultiplayer 3D science-fantasy version of Houston's River Oaks District with Jev-powered NPC companion, chauffeur and smart drive.
ProjectbetaTypeScriptBrowser 3D planetary rover sandbox where a TypeSafe controller chooses the next action from complete candidates, versus a baseline.
ProjectbetaTypeScriptDoom runs as a spacecraft payload over real flight software; Jev pilots from the ground every half second while Claude reviews.
ProjectprototypePythonMinecraft agent where Hermes plans, Jev picks one bounded action at a time and a Mineflayer harness validates and executes.
ProjectprototypeJavaScript