Skip to content

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.

ProjectresearchMIT

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

TypeQuestionAnswers
ChoiceWhich move to make next given the fight state—

How it works

  1. Serialize the fight state to JSON.
  2. Ask Jev for one of seven moves (about five times per second).
  3. Optionally distil Jev into a 168-weight local policy or run a hybrid.
  4. 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

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.

    ProjectprototypeJavaScript
  • Experimental Conway's Life game where Jev makes each move with one boolean per legal cell, plus a broker that wraps any LLM as Jev.

    ProjectprototypeTypeScript
  • Evaluates Jev as a fixed policy in Gymnasium and Atari games, picking a legal action each step via one Choice question.

    ProjectresearchPython
  • Harness where Jev plays the first StarCraft shareware mission from structured state, with recorded per-decision action probabilities.

    Benchmarkresearch
  • 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