Race three models to build a Counter-Strike clone
Introducing CS Bench: we ask all top models to build a multiplayer Counter-Strike from scratch. Task: The team tasked Codex Max 5.1, Claude Opus 4.5, and Gemini 3 Pro with building a multiplayer Counter-Strike clone from scratch using their respective CLIs. They provided sequential prompts for frontend mechanics (physics, characters, guns, sounds) followed by backend features (multiplayer presence, shooting logic, map persistence). Human engineers monitored progress, pasted error logs back to the models, and manually inspected code to resolve complex bugs, such as React useEffect issues in Claude.; tools: Codex, Claude, Gemini. Human role: The original post does not say how a person stayed involved.; limitations: This workflow requires high-tier API access and CLI tools for each model provider. Success depends on the human's ability to interpret error logs and identify when to intervene manually, as seen when Claude required engineer-led debugging for useEffect bugs. The process is not fully autonomous; models may misinterpret ambiguous prompts (e.g., animating deaths vs. adding sound) or fail to self-correct without external feedback. Integration with specific libraries like InstantDB for presence and persistence is assumed..
Tools
Published on Agent Work Atlas:
Overview
Introducing CS Bench: we ask all top models to build a multiplayer Counter-Strike from scratch.
Workflow
The team tasked Codex Max 5.1, Claude Opus 4.5, and Gemini 3 Pro with building a multiplayer Counter-Strike clone from scratch using their respective CLIs. They provided sequential prompts for frontend mechanics (physics, characters, guns, sounds) followed by backend features (multiplayer presence, shooting logic, map persistence). Human engineers monitored progress, pasted error logs back to the models, and manually inspected code to resolve complex bugs, such as React useEffect issues in Claude.
Reported result
All three models successfully produced functional multiplayer FPS games with zero hand-written code, though quality varied by component. Claude excelled at frontend visuals and shooting logic but struggled with backend refactoring due to subtle React bugs. Gemini performed best on backend persistence and multiplayer stability, while Codex offered balanced but less distinctive results. The experiment highlighted that while models can iterate via CLI, human intervention remains critical for debugging complex state management issues.
Human role
The original post does not say how a person stayed involved.
Limitations
This workflow requires high-tier API access and CLI tools for each model provider. Success depends on the human's ability to interpret error logs and identify when to intervene manually, as seen when Claude required engineer-led debugging for useEffect bugs. The process is not fully autonomous; models may misinterpret ambiguous prompts (e.g., animating deaths vs. adding sound) or fail to self-correct without external feedback. Integration with specific libraries like InstantDB for presence and persistence is assumed.
Try it
Act as a lead engineer evaluating AI coding agents. I will provide three model CLIs (Codex, Claude, Gemini) and a target framework (e.g., Three.js + InstantDB). Your task is to build a simple multiplayer 3D game. Step 1: Prompt each model to create a basic 3D scene with a first-person camera and simple physics. Step 2: Add character models and shooting mechanics. Step 3: Implement multiplayer presence using the specified backend. Step 4: Add map selection and persistence. For each step, run the model's output, capture any build or runtime errors, and paste them back to the model for correction. If a model fails to resolve a bug after two iterations, manually inspect the code and apply a fix. Do not publish or deploy any code without my explicit approval. Start with a dry run on a single 'hello world' 3D scene to verify CLI connectivity before proceeding to complex features. Report which model handled which component best and where human intervention was required.
Source reports are not independently verified. Publication date is the catalog publication date, not the original article date.