Skip to content

JevBird

Python Flappy Bird where the game simulates candidate flight paths through each gap and Jev picks one per pipe.

ProjectprototypeMIT

Overview

JevBird is Flappy Bird in Python and pygame, played in real time by Jev. Jev never sees the screen: whenever a new pipe becomes the target, the game simulates a spread of possible flight paths through the gap and asks Jev one question, which path should the bird fly? Jev answers with a typed Choice and a probability distribution, and the game schedules every flap in the chosen path so the bird flies it at full speed, roughly one API call per pipe.

While Jev flies, the game draws its reasoning into the world: the chosen path in purple, rejected candidates as white lines with opacity set by their probability, arrows where flaps are scheduled, and a safe corridor band across the gap, while a console prints each request and reply. Pressing J toggles Jev mode; without a key the game runs manually. A self-hosted System One server such as Laya can be used by setting a base URL, which takes priority over the TypeSafe key. It is MIT licensed with a full demo recording.

What the decision model decides

TypeQuestionAnswers
ChoiceWhich simulated flight path should the bird fly through this gap?—

How it works

  1. New pipe becomes the target
  2. Game simulates candidate flight paths
  3. Jev picks one path with probabilities
  4. Game schedules the flaps; repeat per pipe

Strengths

  • About one API call per pipe
  • Visualises all candidates weighted by probability
  • Works with local System One servers like Laya

Caveats

  • Demo game; no performance statistics reported
  • Path simulation does the physics work

Getting started

pip install -r requirements.txt, put TYPESAFE_API_KEY in .env, run `python flappy_bird.py` and press J.

At a glance

Type
Project
Status
prototype
Language
Python
Runtime
pygame
Has code
yes
License
MIT

Use cases and integrations

How curated lists describe it

Frequently asked questions

Does Jev see the screen?

No, it only chooses among simulated flight paths described in the request.

How many API calls per game?

Roughly one per pipe.

Can I use a local model?

Yes, set JEV_BASE_URL to a self-hosted System One server such as Laya.

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