Skip to content

chess-vs-jev

Pygame chess where python-chess owns the rules and Jev picks one labelled legal move per turn, with Human or Jev on either side.

Demoprototype

Overview

Chess vs Jev is a pygame chess game whose opponent is a decision model rather than an engine. The point is a clean sandbox where rules stay in code and each turn is one small question: pick the best move from this list.

python-chess handles legality, including castling, en passant, promotion, checkmate and draws. Jev only sees legal moves labelled like e2-e4 or e7-e8=Q, with target squares, captures and special moves written out, and answers with one label. The answer is matched against the board and revalidated; an unrecognized label becomes a random legal move, so a bad answer costs a bad move but never crashes the game. Modes are Human vs Human, Human vs Jev and Jev vs Jev. Jev is accessed via OpenRouter or TypeSafe.

What the decision model decides

TypeQuestionAnswers
ChoiceWhich legal move should be played?labelled legal moves (e.g. e2-e4)

How it works

  1. python-chess lists legal moves
  2. Label moves with their facts
  3. Jev picks one label
  4. Validate and play; fall back to a random legal move if unrecognized

Strengths

  • Rules entirely in code
  • Safe fallback on bad answers
  • Easy to watch model behaviour

Caveats

  • Hobby demo; no strength evaluation stated

Getting started

Set up .env with your Jev key and run python main.py, choosing a mode.

At a glance

Type
Demo
Status
prototype
Language
Python
Runtime
pygame desktop
Has code
yes

Use cases and integrations

How curated lists describe it

  • Pygame chess where python-chess owns the rules and Jev picks one legal move per turn, playable Human vs Human, Human vs Jev, or Jev vs Jev.

    AnotiaWang/awesome-decision-models

Frequently asked questions

Can Jev make illegal moves?

No, it only sees legal moves and answers are revalidated.

What happens on a bad answer?

A random legal move is played instead.

Which modes exist?

Human vs Human, Human vs Jev and Jev vs Jev.

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