Skip to content

Coffee Under Fire

Browser arena shooter whose enemy tactics were first chosen by Jev Choice questions, later replaced by a local utility scorer.

Projectprototype

Overview

Coffee Under Fire is a React and Three.js coffee-delivery arena shooter. Each enemy plans its own tactics from what it can see, hear and remember, and deterministic TypeScript executes the chosen action. A playable build is hosted, and the repository includes a game design document, a server for sessions and leaderboards, and replayable decision recordings.

The project is listed in Jev directories because enemy tactics originally came from TypeSafe's Jev model, picking NPC actions through typed Choice questions over legal actions. According to the README, that integration was retired in favour of a local utility scorer; a decision record explains why, and the last Jev version is tagged `jev-concept`. It is useful mainly as a case study of trying a hosted decision model for per-tick game AI and then moving the decision back into local code.

What the decision model decides

TypeQuestionAnswers
ChoiceWhich legal tactical action should this enemy take next?(inferred)—

How it works

  1. Simulation builds each enemy's perception (sight, sound, memory)
  2. Candidate legal actions are enumerated
  3. Originally Jev chose an action; now a local utility scorer ranks them
  4. Deterministic TypeScript executes the action and records it for replay

Strengths

  • Decisions are constrained to enumerated legal actions
  • Decision recordings allow headless replay and inspection
  • Documents the trade-offs of hosted versus local per-tick decisions

Caveats

  • Jev is no longer used in the current build; only the tagged jev-concept version used it
  • Experimental game; hosted version may stay invite-only

Getting started

Requires Node 24.x: npm ci, then npm run dev and open http://127.0.0.1:5173.

At a glance

Type
Project
Status
prototype
Language
TypeScript
Runtime
browser + Node server
Has code
yes
Has tests
yes

Use cases and integrations

How curated lists describe it

  • A browser coffee-delivery arena shooter where TypeSafe AI’s Jev model chooses NPC actions through typed Choice questions.

    hellogumbo/awesome-jev

Frequently asked questions

Does the game still use Jev?

No. The README says Jev-based tactics were retired for a local utility scorer; the Jev version is tagged jev-concept.

What did Jev decide?

Which tactical action each enemy NPC should take, chosen from typed Choice options.

Do I need an API key to run it?

No. The current build needs no API keys or external services.

Related projects

  • Source for browser chess and Chess960 where code computes each legal move's facts and Jev picks one per turn as a typed Choice.

    ProjectproductionTypeScript
  • Browser 1v1 sniper arena where Jev reads match state about 9 times a second and chooses movement, aim, ADS, firing and jumping.

    ServicebetaTypeScript
  • Instrumented 2048 web lab where every move is a Jev Choice over four directions, with probabilities, latency and cost shown live.

    ProjectbetaTypeScript
  • Fifteen live arcade games where Jev and LLMs play each other, led by WikiRace in which Jev picks only real links.

    ProjectbetaTypeScript
  • 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
  • Browser extension that lets Jev, local Laya or an OpenAI-compatible model take over a running ra2web (WannaFire) RTS match.

    ProjectbetaTypeScript