Simon Willison用Claude Code做出RTS游戏Battle Drones,支持两台设备靠声音联机
该项目经历 12 个主要版本、321 次由编码智能体提交的commit;作者称几乎没读过代码,最新v12用麦克风在邻近设备间同步游戏状态。
AI解读:Simon Willison于 2026 年 10 月 20 日发布Battle Drones,一款浏览器端、支持手机与桌面的即时战略游戏,风格参照 1995 年的《命令与征服》。项目由Claude Code等编码智能体生成,作者称 321 次commit主要来自Claude Code,自己几乎没审阅代码。
v12的新增功能是音频多人:两台处于麦克风可听范围内的设备通过音频信号同步游戏状态。该功能脱胎于此前的Chirp Pong实验,作者称已在笔记本、iPhone和iPad之间试过。
作者把“让游戏更有趣”的关键一步归功于一句提示“Make it a LOT more fun”。他给出的数据来自Claude自行生成的发布说明:1200 场AI对AI测试中,25 分钟后仍未分胜负的对局从 14% 降到 0.9%;曾落后 800 以上scrap的一方翻盘获胜的比例从 24% 升到 46%。
游戏包含 9 种建筑、7 种地面载具、6 种空中载具、3 种步兵,均为代码构建的 3D模型;有战争迷雾、六张地图与随机地图生成器、多种AI性格、AI对AI观战,以及让两个大模型各自操作一方的agent battles模式。
Simon Willison于 2026 年 10 月 20 日发布Battle Drones,一款可在手机和桌面浏览器运行的即时战略游戏,玩法参照《命令与征服》。他称项目经过 12 个主要版本、321 次由编码智能体(主要是Claude Code)完成的commit,自己几乎未审阅代码。
最新版本v12加入基于声音的多人模式:两台设备处在麦克风可听范围内,通过音频信号同步游戏状态。作者称这是从先前的Chirp Pong实验延伸而来,已在笔记本、iPhone和iPad之间试用。
音频联机与静态网页
Willison说选择音频而非服务器,是因为他偏好零运行成本的静态HTML,不想为长期可玩的游戏维护服务器。Claude先做了一个Radio Probe工具测量两设备间可获得的带宽,据此实现音频调制解调系统。
他提到在实现回放和多人时需要一个确定性模拟引擎,Claude一度要把Math.sin()、Math.cos() 等替换为自定义实现,因为Chrome与Safari返回的数值有细微差异,会导致回放不同步。
- 音频多人目前的状态:作者称刚做通,尚未充分测试
- 作者在探路时未找到太多先例,只举出Siner和ggwave
“更有趣”来自一句提示,数据由Claude自行生成
Willison承认v1到v3“看起来像游戏但不好玩”。v4时他给Opus 5.5的提示是“This game isn't fun enough yet. Make it a LOT more fun.”,当时在Ultracode动态工作流模式下运行,跑了一整夜才得到可玩结果。
他引用的平衡数据来自让Claude撰写的发布说明:1200 场Normal难度AI对AI测试中,25 分钟后仍未决出的对局从 14% 降至 0.9%;曾落后 800 以上scrap的一方获胜比例从 24% 升至 46%。作者称Claude为此跑了上千次模拟对局来调整数值。
这些数字由参与构建的模型整理,作者未说明是否经过独立复核。
- 9 种建筑、7 种地面载具、6 种空中载具、3 种步兵,全部为TypeScript代码构建的 3D模型
- 地图:六张、五种生物群系,另有基于种子的旋转对称随机地图
- 模式:遭遇战、Last Stand、AI对AI、agent battles
- Goliath机甲可锚定为新基地,可被两架Condor吊运
agent battles与自我评价
v10加入agent battles:两个大模型各控一方,通过工具获取战争迷雾内的信息并下达指令,对局可录制回放。作者公开了Claude Haiku 5.5对GPT-6 Luna的回放链接,并希望以后做成联赛积分表。
Willison说自己几乎不懂游戏开发,这反而让游戏成为测试编码智能体的合适领域,因为失败代价低。他表示不会把Battle Drones提交到Steam Next Fest这类活动,认为其投入程度不足以算作正式独立游戏项目。
他对“用这种方式造软件”仍感不适,称不觉得自己配得上做出这样的东西。
- 使用框架:早期Phaser 2D,v5起迁至Three.js 3D
- 美术:通过环境变量中的OpenAI API key让Claude调用OpenAI图像API生成并自我迭代
- 音乐:项目内无音频文件,配乐全部由代码生成,会随战况加密
- 作者称未主动要求,但游戏可作为PWA离线运行