目录
Battle Drones 以反复试玩测试指导开发,展示了 AI 制作的浏览器游戏能进化到什么程度。它最独特的功能是多人模式,无需专用游戏服务器,就能通过声音连接附近的设备。
要点#
- 据 Simon Willison 介绍,Battle Drones 经历了 12 轮大规模改进,代码智能体提交了 321 次代码,而他本人几乎没有审查代码。
- 这款浏览器 RTS 支持移动端和桌面端,拥有 3D 单位、随机地图、生存挑战和 AI 对手。
- 附近的设备可以通过扬声器和麦克风交换游戏信息,但这项多人功能只经过了有限测试。
- 最重要的经验是,给代码智能体提出可衡量的游戏问题,并确认改动是否真正改善了游玩体验。
可以玩些什么#
Battle Drones 是一款即时战略游戏,玩家需要收集资源、建造基地,并指挥地面和空中部队。游戏在浏览器中运行,使用 Three.js 呈现 3D 画面。
据 Willison 于 2026 年 10 月 20 日发布的文章介绍,游戏包含 9 种建筑、7 种地面载具、6 种飞机和 3 种步兵单位。玩家可以从横跨 5 种生物群系的 6 张地图中选择,也可以通过可重复使用的种子值生成旋转对称的地图。
先在 Skirmish 模式中熟悉资源管理和操作吧。在 Last Stand 中,敌方基地被一波波来袭的部队取代;在 AI vs. AI 中,可以观看内置 AI 之间的对战。另一个 Agent vs. Agent 模式允许语言模型通过工具控制军队,并提供日志和调试查看器,便于研究它们的决策。
声音多人模式的意义#
多人模式通过声音消息,让处于麦克风拾音范围内的设备相互通信。Willison 表示,他曾在笔记本电脑、iPhone 和 iPad 之间尝试这一功能,但也明确说明,自己几乎没有时间进行测试。
实际好处是减轻托管负担。静态浏览器游戏无需维护专用的多人服务器即可发布,附近的玩家可以使用设备的音频硬件通信。游戏本身仍需分发到浏览器,声音负责的是连接玩家。
应将其视为本地多人游戏的一次实验。原文没有提供不同环境下连接距离、带宽和可靠性的实测数据。它能否应对环境噪声和长时间游玩也尚未确认,因此在将其用于其他游戏前,需要先行验证。
什么改善了游戏体验#
据 Willison 介绍,早期版本虽然看起来像 RTS,却不够吸引人。他认为,改进的契机是一句笼统的指令:“让它好玩得多。”随后,Claude 花了数小时添加机制并运行对战模拟。
结果,游戏加入了开局策略、战场目标、残骸回收和特殊攻击,增加了玩家的选择,也让争夺领土更有意义。据智能体撰写的版本说明,在 Normal 难度下的 1,200 场 AI 对战中,25 分钟后仍未分出胜负的比例从 14% 降至 0.9%。此外,废料数量落后至少 800 的一方,其获胜比例从 24% 升至 46%。这些是所报告的模拟结果,并不能独立证明人类玩家会觉得好玩。
Archipelago 地图带来了更具体的设计启示。占领岛屿目标需要用 Condor 运输机运送步兵,这让此前较少使用的单位有了明确用途。如果某个单位显得多余,就调整玩家选择它的动机。单纯增加单位,有时并不能解决问题。
如何借鉴这一方法#
在类似项目中,先做出一场可玩的对局,并准备明确的测试,检查它是否运作良好。从 Battle Drones 中可以总结出以下 4 个实用步骤。
1. 在扩充内容前,先实现资源收集、建造、单位选择和战斗。 2. 添加自动对战模式,让智能体能够反复检验平衡性。 3. 指出具体问题,例如对局陷入僵局,或对手几乎不用某些单位。 4. 亲自游玩,并将体验与报告中的测试结果进行比较。
对于回放和同步多人模式,应从早期就将模拟结果的一致性列为要求。Battle Drones 曾因浏览器数学函数的细微差异而出现回放偏差。为此,Claude 用自定义实现替换了 Math.sin()、Math.cos() 等部分函数。
仍需确认的事项#
Willison 表示,这个项目主要通过氛围编程完成,他几乎没有审查 TypeScript 代码。他本人的试玩支持了“好玩”这一判断,但并不能保证代码质量、安全性或设备间的兼容性。
成本也仍不明确。开发记录提到了通宵运行和大量 token 消耗,但没有给出总支出。如果要尝试同样的方法,应在启动长时间智能体任务前设定预算,并记录用量。托管成本低,并不意味着开发成本也低。
下一步#
在 Battle Drones 中玩一场 Skirmish,具体记录一个让你感到难以理解或节奏不佳的场景。把这一发现变成下一个开发任务。
来源: https://simonwillison.net/2026/Oct/20/battledrones/
目录
