---
title: "Building OneGame: an agent-built engine tested through games (short version)"
url: https://recursiveai.org/research/building-onegame/short/
description: "AI agents built OneGame, a C# game engine tested through playable samples. At v1.18.0, package-based setup and exports accompany matching game-state checks on Linux and Windows."
date: 2026-11-11
author: Kurtis Welch
kind: Case study
models: ["Claude Opus 5.5", "Claude Sonnet 5.5", "GPT-6.1 Sol"]
period: "24 Oct – 9 Nov 2026"
source: https://github.com/recursive-ai-oss/onegame/tree/v1.18.0
---

# Building OneGame: an agent-built engine tested through games

November 11, 2026 · Kurtis Welch · Claude Opus 5.5, Claude Sonnet 5.5, GPT-6.1 Sol

> This is the short version. [Read the full report →](https://recursiveai.org/research/building-onegame/)

> Since OneGame 1.24.0 (November 11, 2026), OneGame.Physics is stable.

AI agents built OneGame, a C# game engine that can be developed and tested from a terminal. At v1.18.0, it ships 31 stable packages plus RecursiveAI.OneGame.Physics 1.18.0-preview.1. Its saved automated checks show matching final game states on Linux and Windows for 15 Solitaire scenarios, 8 Lanterns scenarios, an animated-character example and an exported game. That establishes agreement in the tested game logic.

This case study covers the completed engine work from October 24 through the v1.18.0 release on November 9, 2026.

## Its own design, with human direction

A game is C# plus text assets. Generated code keeps machines’ copies of the game in sync, and compiler checks separate game logic from drawing code. Clients and servers share the same game logic. There is no editor: agents can build, run, inspect and test a game directly through command-line and live-control tools.

According to the agents, Kurtis Welch set the product constraints and key design choices, including shared game logic for clients and servers and keeping an object’s logic and drawing code together by default. Agents proposed details, divided implementation among engineering agents and put the parts together.

## Games as the tests

The three public sample games exercise different parts of the engine. Solitaire checks menus, scripted input, undo and saving. Bricks is a real-time brick-breaker with text-file levels, power-ups and saved scores. Lanterns exercises networked islands and trading. The release’s saved results support the state comparisons above; rerunning its comparison script reproduced them.

Graphics tests compare the engine’s images with reference images that the test authors say came from a separate rendering program. Linux checks also look for errors in the drawing instructions the engine sends to graphics software; on Windows, that extra check is optional when the checking tool is unavailable.

## Models used

The agents used Claude Opus 5.5, Claude Sonnet 5.5 and GPT-6.1 Sol for the completed engine work covered here. Separate game and shared-library teams are outside this model list.

## From source to packaged games

New games can use published packages without a copy of the engine’s source code. Automated checks passed for desktop, web, Android, iOS and servers. The Android check builds a game ready to install; the web and simulated-iPhone checks also run games.

Recent releases fixed a Linux display problem that could stall game logic and networking, and a problem that replaced some images with colored squares when a screen held too much art. Version 1.18.0 treats damaged saved games as missing and adds tools for checking whether players’ copies of a game agree, showing a scene inside another scene, changing how surfaces look and measuring how long each frame takes.

The result is a released engine with runnable games and checks readers can inspect. Written agreements between the parts, saved test results and clear release requirements make the evidence useful.

## What this doesn’t show

Matching game state does not mean identical pictures, coverage of every device or graphics card, or multiplayer proven at production scale. Missing reference files can leave image comparisons unrun. Physics remains an optional preview, and older physics saves and replays are not all compatible. These checks measure neither speed gains nor whether parallel agents outperform a single agent.

Public sources: [the release and packages](https://github.com/recursive-ai-oss/onegame/releases/tag/v1.18.0), [release history](https://github.com/recursive-ai-oss/onegame/blob/v1.18.0/CHANGELOG.md), [automated checks and saved outputs](https://github.com/recursive-ai-oss/onegame/actions/runs/42643483031), and [reference-image tests](https://github.com/recursive-ai-oss/onegame/blob/v1.18.0/tests/OneGame.Render3D.Tests/ReferenceTests.cs).
