jev-flappy-bird
Flappy Arena races Jev against GPT-6 Luna on the same seeded Flappy Bird course, each choosing flap or wait live.
Overview
Flappy Arena runs two Flappy Bird games on the same randomly seeded course and physics, one controlled by Jev and one by GPT-6 Luna. Both birds launch together after each model's first decision, then live with their own choices. The screen shows each bird's score, latest action, confidence and response time.
Each model sees its own bird's projected position, velocity and next pipe, with the projection accounting for expected response time, and chooses flap or wait. Games run at 30 percent speed and request decisions every 50 ms; multiple requests can be in flight, and a flap supersedes pending answers based on the old path. Late or failed answers leave the bird falling under gravity, and the browser shows which answers were applied, superseded or skipped. Decisions and diagnostics are logged locally. A list summary notes it also compares runs with and without physics context.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Should the bird flap or wait? | flap · wait |
How it works
- Seed a shared course for both models
- Each model gets its bird's projected state every 50 ms
- Apply answers, superseding stale ones after a flap
- Log decisions and timing for inspection
Strengths
- Head-to-head comparison on identical courses
- Latency-aware state projection
- Inspectable logs
Caveats
- Needs both TypeSafe and OpenAI keys
- Game demo only
Getting started
`npm install`, put TYPESAFE_API_KEY and OPENAI_API_KEY in .env, `npm start`, open http://localhost:4173.At a glance
- Type
- Project
- Status
- prototype
- Language
- JavaScript
- Runtime
- Node 22 server with browser game
- Has code
- yes
- Has tests
- yes
Use cases and integrations
How curated lists describe it
Jev learns to play flappy-bird game with physics based context and without it
logicrw/awesome-jev-projects
Frequently asked questions
What is compared?
Jev and GPT-6 Luna each controlling a bird on the same course.
How is latency handled?
State is projected forward by expected response time, and stale answers are superseded.
Where are logs?
Local JSONL files and /api/jev/logs and /api/openai/logs.
Related projects
Fifteen live arcade games where Jev and LLMs play each other, led by WikiRace in which Jev picks only real links.
ProjectbetaTypeScriptOne-page web app where Jev plays chess against OpenRouter LLMs, Stockfish or you, showing the moves it weighed and their probabilities.
AppbetaJavaScriptPac-Man where Jev or other System One models choose each move at junctions, with live odds, fallbacks and a leaderboard.
ProjectbetaTypeScriptBrowser chess lab where Jev, LLMs and people play, each Jev turn being one Choice over the legal moves, with Stockfish analysis.
ProjectbetaPythonNiceGUI desktop chess app for evaluating Jev's move choices against Stockfish, random players or itself, with PGN export.
ProjectprototypePythonBrowser 2D driving sim where Jev answers lane, speed, hazard and pedestrian-yield questions every 200 ms, with an LLM comparison mode.
ProjectprototypeJavaScript