Building a Sailing Simulator with Claude Code and Pitting Frontier AI Models Against Each Other

A developer built a sailing simulator with Claude Code where multiple AI models raced, and Gemini 4 Argon won at low cost.
A developer used Claude Code to almost fully generate a sailing simulator — including boat physics, wind simulation, 3D rendering, and an AI control interface — and invited Opus, GPT-6 Astra, Gemini 4 Argon, and qwen3.5-9b to race. Every 5 seconds, models received 23 state numbers and had to decide rudder and sail angles themselves; the simulator paused during model thinking to eliminate latency effects. Gemini 4 Argon won, costing only $0.78 per run versus $3.58 for Astra. The project shows the potential of AI coding tools for complex systems and suggests cost efficiency should be a key dimension in model evaluation.
A developer built a sailing simulator using Claude Code and invited several frontier AI models to race in it. Claude Code handled almost all the coding work, including boat physics, wind simulation, 3D water and coastline, and the interface that lets AI models control the sailboat. The developer's role was to guide the build direction and review the results.

Race Rules: A Decision Every 5 Seconds
The race mechanics are designed to be simple and fair. Every 5 seconds, each model receives the full state of the world — 23 raw numbers, including heading, speed, wind direction, and the position of the next mark. The model must use this information to set the rudder angle and sail angle. No sailing hints are provided; the models must rely entirely on their own reasoning to make decisions.
The simulator pauses while a model is thinking, which means slower-responding models are not penalized. This design eliminates unfairness caused by latency differences, keeping the race focused squarely on the quality of each model's decisions.
The Basics of Sailing Control
A sailboat cannot sail directly into the wind; instead, it relies on adjusting the angle between the sail and the wind to generate lift, combined with rudder angle to control heading. The 23 input numbers typically include true wind direction, apparent wind direction, boat speed, heading angle, and the relative bearing of the mark. The model must output the rudder angle (controlling turning) and sail angle (controlling sail trim). If the sail is too loose or too tight, it causes a loss of power or even a stall; too much rudder angle increases drag. Every decision therefore requires a trade-off between power and direction, implicitly demanding physical intuition and strategic planning from the models.
The Competitors: Three Frontier Models Plus a "Fun Contender"
The models that competed include Opus, GPT-6 Astra, and Gemini 4 Argon. The developer also deliberately included qwen3.5-9b — not a frontier model, but it added some fun to the race.
The results were surprising: Gemini 4 Argon not only won the race but also cost only one-fifth as much as Astra — just $0.78 per run, compared with $3.58 for Astra. This cost difference stems from different model pricing and reflects the gap in cost-effectiveness between models on the same task.
Claude Code's Role: From Code Generation to System Integration
Claude Code played a central role in this project. The developer said Claude Code "basically wrote all the code," covering boat physics, the wind model, 3D water and coastline rendering, and the connection layer that lets AI models control the sailboat. The developer only guided what to build and reviewed the generated results.
This workflow demonstrates the potential of AI coding tools in complex projects — humans handle architecture design and quality control, while AI handles the implementation. However, the developer did not disclose the challenges Claude Code encountered during development or the places that required manual correction.
Claude Code and Agentic Programming
Claude Code is a command-line coding assistant from Anthropic, built on the Claude model. It can understand natural language instructions and autonomously perform file reads and writes, code generation, debugging, and test execution. Unlike traditional code completion tools, it works in an "agentic" way: it receives a high-level goal (such as "implement boat physics"), breaks it into concrete tasks, and iteratively modifies the code until it passes validation. This approach frees developers from tedious syntax details and lets them focus on architecture design and result review, but it also requires developers to have enough technical judgment to assess the correctness of generated code.
The Significance and Limits of Multi-Model Competition
Having different AI models compete in the same simulated environment provides an intuitive window into their decision-making abilities. Each model makes different choices given the same input information, and the differences in final results reflect differences in reasoning ability and strategic skill.
But this comparison has limitations. The results of a single race may be influenced by random factors, and the cost data only reflects specific API pricing. The developer did not disclose the race duration, number of laps completed, or detailed performance data for each model, making deeper analysis of model capabilities difficult.
Model Arenas and Decision Evaluation
Having multiple large language models compete in the same simulated environment is essentially an "agent arena" evaluation method. Unlike static benchmarks, it requires models to make continuous decisions in a dynamic, partially observable environment, better reflecting their planning and adaptation abilities in real tasks. However, the results of a single race are easily affected by initial conditions, random seeds, and model sampling temperature, so statistical significance is limited. Reliable conclusions usually require a large number of repeated experiments with controlled variables, along with full disclosure of match logs and scoring metrics.
Cost Efficiency: An Overlooked Dimension
Argon won at a lower cost, suggesting that when evaluating AI models, cost efficiency matters as much as absolute performance. In scenarios requiring a large number of calls, a several-fold difference in per-run cost can significantly affect total spending. For developers, choosing a model is not just about "who is smarter" but also "who is more cost-effective."
This project itself also demonstrates the efficiency of AI-assisted development — a complex system involving physics simulation, 3D rendering, and an AI interface was mainly generated by Claude Code. Although the developer did not disclose the specific development time, it is reasonable to infer that this workflow greatly lowered the barrier to building such projects.
Related articles
Tech FrontiersThe AI Industry Doesn't Lack Marketing—It Lacks Good Products
AI faces market selloffs and public skepticism—is marketing really the problem? This analysis of market signals and product experience argues the core困境 is incomplete products and a gap between promises and experience; the only way to change perceptions is to ship better products.
Tech FrontiersGenerative UI Streaming in Chat SDK Agents: A Deep Dive into json-render
A deep dive into json-render and Chat SDK's generative UI streaming capabilities: typed component catalogs, streamCard incremental updates, toCard spec validation with platform-limit fallbacks, and real-world deployment on Slack, Teams, and more.
Tech FrontiersHow Do You Stop AI Agent Emails From Sounding Like AI? One Developer's Solution
AI agent emails always sound like AI? A developer shares reright: a rewrite step that validates numbers, names, and links, preventing humanizers from tampering with key info. Test data and integration details inside.