Toggle light / dark theme

Coding Agents Build Chess Engines From Scratch in Rust, C++, COBOL, Rocq, LaTeX, Brainfuck, and More

What happens when you ask coding agents to write a chess engine from scratch, with minimal guidance and you replicate the experiment across 12 programming languages: Rust? C++? COBOL?! Rocq!? LaTeX!!?? or even Brainfuck??!! Over the past weeks, I have been running exactly this experiment. The short take-away: coding agents can now generate functional, UCI-compliant chess engines from scratch across a wide range of languages, some reaching over 2000 Elo. To my knowledge, this is the first time coding agents have been shown to produce non-trivial, end-to-end software of this complexity (with no architecture document, no step-by-step guidance) and across languages as diverse as Rust, COBOL, and LaTeX. I couldn’t find prior art for a full playing engine in LaTeX, Brainfuck, or Rocq (formerly Coq; renamed with Rocq 9.0), yet coding agents produced playable engines in all three. This is a research preview but the diversity of features, architectures, and performance is striking and raises many questions about coding agents’ capabilities and programming languages.

The experiment is simple in principle. Take two AI coding agents (Claude Code (Claude Opus 4.6) and Codex CLI (GPT-5.2-Codex, reasoning effort xhigh)) and ask each to write a chess engine from scratch: I want to build a chess engine in X programming language… at the end, I want to test this chess engine and assess its Elo rating, typically by playing games against chess engines of “similar” levels. No detailed specifications, no step-by-step plan, no architecture document.

I had to answer some questions throughout sessions, but tried to be as non-technical as possible, letting the coding agents follow their own roadmaps through trial and error. I may “push” coding agents to improve their chess engine, but in a very agnostic way like “please improve the engine’s strength”

Leave a Comment

Lifeboat Foundation respects your privacy! Your email address will not be published.

/* */