mk-jev-fly-brain
Model Kombat: a 12,000-neuron fly connectome fights Jev in mk.js, with Jev picking one of seven moves about five times a second.
Overview
Model Kombat pits a simulated fly brain against a language model in the mk.js arcade fighter and instruments the fight to see what each side contributes. The fly is a 12,000-neuron sensory-to-motor subgraph of the maleCNS connectome simulated spike by spike in the browser at ten decisions a second, learning only through a dopamine-like rule during play.
Jev reads the fight state as JSON and returns one typed choice among the same seven moves about five times a second. Other opponents include a five-line rule bot, a 168-weight local policy distilled from Jev, and a hybrid where the local policy moves fast and Jev corrects it. EXPERIMENTS.md documents thirteen experiments, including failures, and standings from 84 archived matches are published online. It is an entertaining but carefully instrumented study of decision latency and policy distillation.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which move to make next given the fight state | — |
How it works
- Serialize the fight state to JSON.
- Ask Jev for one of seven moves (about five times per second).
- Optionally distil Jev into a 168-weight local policy or run a hybrid.
- Log every match to telemetry JSON for comparison.
Strengths
- Clear side-by-side of Jev, rules, distilled policy and a spiking connectome.
- Local and rule modes need no account or API calls.
- Experiments are documented including failures.
Caveats
- Jev mode needs a TypeSafe API key.
- Game sprites must be fetched separately and are not redistributable.
- A research toy, not a game AI framework.
Getting started
pip install -r requirements.txt; python scripts/fetch_game_assets.py; python server.py, then open http://127.0.0.1:5000/mk/ (add TYPESAFE_API_KEY to .env for Jev).At a glance
- Type
- Project
- Status
- research
- Language
- Python
- Runtime
- browser, local server
- Has code
- yes
- License
- MIT
Use cases and integrations
How curated lists describe it
Compares a fly-connectome spiking simulation, Jev and rule policies in the mk.js fighting game.
logicrw/awesome-jev-projects
Frequently asked questions
What does Jev decide?
One of the seven fighting moves for each tick, from the fight state sent as JSON.
Can I play without a TypeSafe key?
Yes; the fly brain, the rule bot and the distilled local policy run without an account.
What is the hybrid mode?
The local distilled policy acts quickly while Jev corrects and teaches it.
Related projects
Browser 2D driving sim where Jev answers lane, speed, hazard and pedestrian-yield questions every 200 ms, with an LLM comparison mode.
ProjectprototypeJavaScriptExperimental Conway's Life game where Jev makes each move with one boolean per legal cell, plus a broker that wraps any LLM as Jev.
ProjectprototypeTypeScriptEvaluates Jev as a fixed policy in Gymnasium and Atari games, picking a legal action each step via one Choice question.
ProjectresearchPythonHarness where Jev plays the first StarCraft shareware mission from structured state, with recorded per-decision action probabilities.
BenchmarkresearchFifteen live arcade games where Jev and LLMs play each other, led by WikiRace in which Jev picks only real links.
ProjectbetaTypeScriptReal-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