{"id":233793,"date":"2026-03-21T14:16:49","date_gmt":"2026-03-21T19:16:49","guid":{"rendered":"https:\/\/lifeboat.com\/blog\/2026\/03\/coding-agents-build-chess-engines-from-scratch-in-rust-c-cobol-rocq-latex-brainfuck-and-more"},"modified":"2026-03-21T14:16:49","modified_gmt":"2026-03-21T19:16:49","slug":"coding-agents-build-chess-engines-from-scratch-in-rust-c-cobol-rocq-latex-brainfuck-and-more","status":"publish","type":"post","link":"https:\/\/lifeboat.com\/blog\/2026\/03\/coding-agents-build-chess-engines-from-scratch-in-rust-c-cobol-rocq-latex-brainfuck-and-more","title":{"rendered":"Coding Agents Build Chess Engines From Scratch in Rust, C++, COBOL, Rocq, LaTeX, Brainfuck, and More"},"content":{"rendered":"<p>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\u2019t find prior art for a full playing engine in LaTeX, Brainfuck, or Rocq (<a href=\"https:\/\/rocq-prover.org\/releases\/9.0.0\">formerly Coq; renamed with Rocq 9.0<\/a>), yet coding agents produced playable engines in all three. This is a <em>research preview<\/em> but the diversity of features, architectures, and performance is striking and raises many questions about coding agents\u2019 capabilities and programming languages.<\/p>\n<p>The experiment is simple in principle. Take two AI coding agents (<a href=\"https:\/\/docs.anthropic.com\/en\/docs\/claude-code\">Claude Code<\/a> (Claude Opus 4.6) and <a href=\"https:\/\/github.com\/openai\/codex\">Codex CLI<\/a> (GPT-5.2-Codex, reasoning effort xhigh)) and ask each to write a chess engine from scratch: <em>I want to build a chess engine in X programming language\u2026 at the end, I want to test this chess engine and assess its Elo rating, typically by playing games against chess engines of \u201csimilar\u201d levels<\/em>. No detailed specifications, no step-by-step plan, no architecture document.<\/p>\n<p>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 \u201cpush\u201d coding agents to improve their chess engine, but in a very agnostic way like \u201cplease improve the engine\u2019s strength\u201d<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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 [\u2026]<\/p>\n","protected":false},"author":715,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-233793","post","type-post","status-publish","format-standard","hentry","category-robotics-ai"],"_links":{"self":[{"href":"https:\/\/lifeboat.com\/blog\/wp-json\/wp\/v2\/posts\/233793","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lifeboat.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lifeboat.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lifeboat.com\/blog\/wp-json\/wp\/v2\/users\/715"}],"replies":[{"embeddable":true,"href":"https:\/\/lifeboat.com\/blog\/wp-json\/wp\/v2\/comments?post=233793"}],"version-history":[{"count":0,"href":"https:\/\/lifeboat.com\/blog\/wp-json\/wp\/v2\/posts\/233793\/revisions"}],"wp:attachment":[{"href":"https:\/\/lifeboat.com\/blog\/wp-json\/wp\/v2\/media?parent=233793"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lifeboat.com\/blog\/wp-json\/wp\/v2\/categories?post=233793"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lifeboat.com\/blog\/wp-json\/wp\/v2\/tags?post=233793"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}