前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
返回 AI 情报前线
All News · 全部资讯10183
  • 编码 Agent 交付流程如何设置人工验收
  • 把 Agent 接入文档做成可校验的单页
  • 线性注意力模型如何实现固定推理状态
  • Vercel Functions 正式支持 WebSocket
  • 把代码审查教训写进 Claude Code 记忆
  • 语音 RAG 用检索阈值和证据链约束回答
  • 用 Claude 迭代即时战略游戏,还能声波联机
  • ElevenLabs 推出实时语音对话模型
  • DeepSeek 开源 V4.1-Flash 背后推理框架
  • 谷歌推出 PyTorch 跨硬件迁移工具
  • Antigravity 接入 Claude 5.5,支持会话内换模
  • 用AgentCore串联供应链数据与对话查询
  • GPT-OSS多语言微调:如何选择SFT与GRPO
  • Strata 借系统内存让消费级显卡跑大模型
  • 20亿文档检索如何守住租户边界
  • Model Explorer 支持自定义编译图调试
  • 百行 Python 工具记录 MCP 服务通信
  • 用 pgvector 构建语义检索的取舍与陷阱
  • MCP 渐进式工具发现的实现与成本
  • Mistral 发布实时语音栈 Voxtral 3
  • 加拿大开发者可跨区调用Bedrock GPT模型
  • GPT 系列旧语言能力提升,迁移评测受关注
  • 用 AWS 注册表实现 Agent 动态工具发现
  • 用 X.509 为多 Agent 建立可验证身份
  • Eon 用统一 MCP 网关简化多云排障
  • 给企业Agent搭建带权限的统一语义层
  • AWS 智能体跨库查询如何落实用户级权限
  • 提示注入检测为何被同义改写绕过
  • Synapse 打通编程助手的记忆与配置
  • vLLM 与 SGLang 新增 TPU 原生后端
  • 给水印检测加门控,减少误选与修复风险
  • 用本地语音组件搭建可打断的 AI 助手
  • Claude Code 误删复盘:命令钩子的盲区
  • Mac 跨应用文本助手如何读取界面
  • 用 AI 编程智能体清理电视广告与预装应用
  • DeepSeek开放生产推理框架DeepInfer
  • 京东大促期间暂停外部安全测试
  • 已加载 37 / 10183
8.0
热点
AI SCORE
编程提效2026-10-21 03:34

用 Claude 迭代即时战略游戏,还能声波联机

Simon Willison#AI编程#游戏开发#Claude
Editor brief · 编辑速览

Simon Willison 分享用编码 Agent 开发浏览器即时战略游戏的过程,经过 12 次主要迭代和 321 次 Agent 提交,逐步加入地形、随机地图与多种玩法。游戏兼容手机和桌面,并尝试通过声音同步附近设备的游戏状态。

文章思维导图
Knowledge map
拖拽缩放
Full translation

完整中文译文

我最近一次凭感觉编程的游戏实验,是一款名为 Battle Drones 的《命令与征服》风格 RTS(即时战略)游戏(可以在这里试玩)。和之前的实验不同,这次的游戏确实好玩了。有点不好意思承认,我只是让 Claude“让它好玩得多”,就做到了。它还支持附近的设备通过音频同步游戏状态,实现多人对战!下面介绍一下目前做出来的成果,以及我在这个过程中学到的一些东西。

v1:初始原型

v5:Battle Drones 迈入 3D

v10:Goliath 与智能体对战

v12:通过声音实现多人对战

我最初的目标,是做一款能在手机上玩的《命令与征服》风格 RTS 游戏。我对 1995 年的初代作品有着美好的回忆(我也很喜欢《红色警戒》),希望能找回一点当年的魔力。

经过 12 次大版本迭代(以及编程智能体完成的 321 次提交,主要来自 Claude Code),如今这款浏览器游戏已经可以在手机和桌面设备上运行,拥有多种玩法、多张地图(包括随机地图生成器),甚至支持两台处于彼此麦克风收音范围内的设备进行多人对战。

下面是一段 Battle Drones 在桌面浏览器中运行的演示视频:

目前的功能包括:

  • 9 种建筑、7 种地面载具、6 种飞行载具、3 种步兵单位——全部使用 3D 模型,可以在这里浏览。
  • 攻击飞行载具和地面载具需要使用不同的武器。
  • 6 张地图,涵盖温带、沙漠、极地、火山和热带 5 种生态环境。
  • 随机地图生成器。
  • 遭遇战模式——红蓝双方在一张旋转对称的地图上对战。
  • 最后防线模式——一名玩家尽可能抵挡更多波敌人的进攻。
  • 范围攻击武器:Barrage(弹幕轰炸)、EMP(电磁脉冲)、Drop Pod(空投舱)、Sky Hammer(天锤)。
  • 提供额外资源的空投补给箱。
  • 随游戏事件变化的配乐——战斗打响后,音乐会变得更加激烈。
  • 不同的游戏内 AI 性格:Balanced(均衡型)、Rush(快攻型)、Air Swarm(空中蜂群型)、Boom(经济发展型)、Skyforce(空军型)、Ironclad(重装型)。
  • AI 对战 AI 模式,可以观看这些不同性格的 AI 互相交战。
  • Goliath——一台迈着沉重步伐的巨型机甲,配备激光眼和臂炮,还能建立新基地。
  • 增加额外规则或特殊变化的变异规则。
  • “每日行动”(Daily Op)挑战。
  • 军衔与成就(勋章)。
  • 智能体对战模式,让两个 LLM 在 Battle Drones 中相互交战。
  • 基于音频消息的多人模式,让附近的两部手机相互通信,延续了我之前的 Chirp Pong 实验。

Battle Drones 在很大程度上是凭感觉编程的产物——我几乎没有审查过代码,而且它使用的语言 TypeScript,我自己也几乎没用过。不过,我确实花了不少时间试玩,而且从项目启动以来,它已经经历了大量迭代。

下面大致回顾一下这个项目到目前为止的发展过程,包括关键提示词和对话记录链接。

我在 7 月开始时使用的是 Claude Fable 5:

我们要构建一款适合手机游玩的 RTS 游戏,风格类似《命令与征服》,名叫 Battle Drones。两支由无人作战单位(包括飞行单位和地面单位)组成的军队,将争夺领土和资源。

先从 MVP 设计开始,问我一些问题。

这里有一份共享的对话记录。我通过环境变量给 Claude Code for Web 提供了 OpenAI API 密钥,并让它使用 OpenAI Image Generation API 制作素材,于是得到了一些基础精灵图。

你可以在这里试玩 v1——它当时是这样的:

Game screen. Down the right are text icons to build Fab, Airpad, Turret, Harv, Sting, Flak, Scout, Wasp, Raptor. There is a blocky fog of war on a 2D battlefield. There are some gems, an HQ building being attacked by badly rendered tanks, and some blue vehicles dotted around. It's not very visually impressive but it does look like a basic RTS.

它已经能看出是一款 RTS:有建造机制,可以选择单位并下达指令,还有一个基础 AI 作为对手。

这个初版勉强算得上概念验证,而且玩起来毫无乐趣。

Claude 在这些早期版本中使用了 Phaser 2D 游戏框架。我甚至直到好几轮迭代之后才意识到这一点!

第二个版本(可以在这里试玩 v2)为所有载具添加了精灵图,还加入了“AI 对战 AI”模式,这样我就能观看游戏自行进行,而不必亲自操作。

事实证明,Claude 相当擅长编写提示词,让 OpenAI 的图像模型生成精灵图。你可以在 public/assets/sprites 文件夹中浏览 v2 的精灵图。

Four flying units, three turrets, a harvester and an airpad all have proper sprites now. The scrap field has a new design which doesn't look great but is at least using a graphic.

它仍然不怎么好玩,画面也很乏味。这时已经到了 10 月,我已经升级到 Claude Opus 5.5。我对它说:

大幅改进这款游戏。提升画面和玩法(保持对手机友好)。使用最新的 OpenAI GPT image API(查一下具体用法),配合环境变量中的 API 密钥生成新画面。增加新的单位类型,更好地平衡玩法。还要增加新建筑,以及更好、更丰富的地形。

这次生成了 5 张新地图,使用了多种风格的背景图块,可以在这里查看。Opus 还重新生成了精灵图,让它们在视觉上更有吸引力。你可以在这里试玩 v3——它是这样的:

The map is now an ice map with snow and ice and broken ice - it looks really good. The vehicles and buildings have all had a cosmetic upgrade too. This is starting to look like a real game.

这开始有点真正游戏的感觉了!不过,玩起来依然不太有趣——我发现自己很快就觉得无聊了。

到目前为止,Battle Drones 这个实验似乎印证了我之前的看法:编程智能体能造出一个看起来像游戏的东西,却做不出真正让人玩得入迷的游戏。

我在一次晚餐时向别人分享了这个观点,随后又想,我应该给这些模型一个充分的机会,让它们证明我错了。我在手机上向 Opus 5.5 输入了这个提示词:

这款游戏还不够好玩。让它好玩得多。

这一次,我使用的是 Ultracode 模式。在该模式下,Claude Code(这里是 Claude Code for Web)会运行“动态工作流”,其文档中的描述是:

动态工作流是一段同时编排多个子智能体的 JavaScript 脚本。

这触发了长达数小时的工作。我在晚上启动任务,直到第二天临近中午才拿到可以玩的结果。但成果非常惊艳。

你可以在这里试玩 v4——它是这样的:

The lava map. Uplink satellites are being taken, crystals look better, Elite text is shown above a unit, there is an arrow marked Fight to jump to a fight, the AI vs AI mode has a speed controller - plenty of new features here.

我让 Claude 自己撰写了发布说明——以下是其中的重点:

现在,每场遭遇战和每日行动都会以一次选择开局,给落后的一方提供翻盘机会,并将双方军队引向地图中央。此外,还新增了两种玩法。

  • 开局策略:在计时开始前选择 Blitz(闪击)、Industry(工业)或 Air Wing(航空联队)。
  • 战场支援能力:Barrage、EMP、Drop Pod,以及 Sky Hammer 轨道打击。
  • 目标与回收物:上行链路中继站、补给空投,以及可以回收废料的残骸。
  • 体验:更有冲击力的战斗表现、自适应音乐、单位语音和播报员。
  • 指挥:战斗提醒、游戏速度调节、可保存的编队和触屏放置操作。
  • 新模式:抵御一波波敌人的最后防线生存模式,以及包含 8 个任务的行动战役。
  • 成长系统:英雄、带奖励的战后报告、生涯、7 种变异规则,以及每日行动。

战斗持续得更久,局势变化也更大。在普通难度的 1,200 场 AI 对战 AI 测试中,25 分钟后仍未分出胜负的对局占比从 14% 降至 0.9%。曾经落后 800 以上废料的一方,其最终获胜的比例从 24% 上升至 46%。

Claude 花了这么长时间,部分原因是它运行了一千多场模拟试玩,并根据结果重新平衡现有单位、添加新单位,以及引入新功能。

Ultracode 成功完成了“让它好玩得多”的任务之后,我决定再大胆一点:

将这款游戏移植到 three.js,为所有建筑、载具和地形制作 3D 模型。

这又是一次通宵运行的任务。醒来后,我看到了这个 v5 版本:

Now it is in 3D - the battlefield is at a slight angle, the buildings and vehicles are all 3D models, the rocks and trees look a bit 3D as well.

这些新的 3D 模型,完全是由 Claude 用 TypeScript 代码构建的。

v6(可以在这里试玩 v6)进一步打磨了视觉效果。v7(试玩 v7)加入了机器人步兵(突击兵、火箭小队、狙击手),以及一架名为“Condor”的运兵机。

我开始有些愧疚,因为自己在游戏的实际设计上投入实在太少——过去几个版本里,我确实只是不断地说“让它更好玩”和“打磨一下视觉效果”。

我注意到,AI 很少使用 v7 新增的步兵和运兵飞机——从战略上看,使用它们的理由并不充分。

如果能加入一张带有新游戏机制的地图,主动鼓励玩家把机器人步兵装上 Condor,再运往地图各处,应该会很有意思。

于是,我写下了迄今为止最长的一条提示词:

设计一张新地图。目标是创造不同的战略激励,鼓励玩家使用步兵、Condor 和空中载具。

为此,地图上的采集资源要有限,但要多放几个上行链路站。不过,这些上行链路站都位于岛屿上,地面载具和步兵无法直接抵达。空中载具也不能占领它们。唯一的办法是用 Condor 把步兵运过去。

每支军队开局都配备一架 Condor 和一个步兵小队。如果一支军队没有 Condor,就免费补给一架,从距离其总部最近的地图边缘飞入,并降落在总部。免费补给的 Condor 上还会搭载一个免费的步兵小队。

双方总部之间应当完全被水域隔开,但载具仍然可以通过地图上位于不同位置的两座桥梁抵达对方。

我想鼓励玩家围绕上行链路站展开争夺。

地图的尺寸应该是其他地图的几倍——仍然保持正方形。

先研究,再评估这个设计。只有在我们就修改方案达成一致后,才开始构建。

这次可以由你设计一种新的生物群系。

最终诞生的是热带 Archipelago 地图,包含七座岛屿上的上行链路站,玩家只能用 Condor 运送步兵前去占领。在较简单的地图上掌握基本游戏机制后,这绝对是最好玩的一张地图。v9 又让这张地图变得更有意思了——它现在是这样的:

Three islands, each with an uplink satellite. Blue holds one, red holds another, A blue condor is flying towards the red island, which is guarded by a red plane. There is a bridge nearby. The theme is tropical islands and looks very pleasant.

我决定在游戏中加入巨型机甲——可以想象一下《环太平洋》中的 Jaeger,或者《战锤 40,000》中的 Titan。

下面是我用来和 Claude 头脑风暴的几条提示词:

帮我构思一下,如何在这款游戏中加入巨型机器人——类似 W20K 中的无畏机甲或泰坦——怎样才能让它们丰富玩法、保持平衡,又带来独特的新意?暂时不用想得太复杂。

继续头脑风暴。我喜欢把它设定为移动基地的想法:它可以接收采集来的废料,允许在附近建造建筑(即使它之后离开,这些建筑也能保留),还可以生产步兵单位。如果能和 Condor 产生某种互动会很有意思,但我还没想好具体是什么。

一个想法:随着它受损,它会失去使用部分武器的能力——默认配备眼部激光(类似 Lancer)、手臂火炮(类似 Titan)、两门肩载迫击炮,以及火力相当于一个步兵小队的机枪。

受损后,先失去迫击炮,再失去激光——机枪始终保留。不能以那些依靠机甲才得以建造的建筑为起点,继续在旁边扩建。要在基地之外建造,机甲必须在场,而且只能在距离它三格以内的范围内建造。

[...] 就让两架 Condor 能够一起吊运机甲吧。

最终成果非常酷。

Goliath 可以通过 Gantry 建造——这种建筑只有在先建好 Fab、Bay、Airpad 和 Tech Lab 后才能建造。你可以看到 Goliath 的建造过程,随后它会从 Gantry 中走出来,在地图上四处行进。

Goliath 可以“锚定”,将自身固定在地面上。在锚定状态下,它可以充当新的总部,在新区域内生产步兵单位并建造其他建筑。

两架 Condor 飞机可以挂接到一台 Goliath 上,然后就能把它吊起来,在地图上四处飞行!

现在,只有摧毁敌方总部建筑以及他们可能建造的所有 Goliath,游戏才会结束。

此外,还有几个与 Goliath 相关的变体规则:

Goliath Armada 会让双方开局各拥有四台处于空运状态的 Goliath(每台配有两架 Condor),没有其他单位。

Robot Love 增加了一条特殊规则:如果敌对双方的 Goliath 在战场上彼此靠近,它们就会坠入爱河,游戏以平局结束。(这个点子得感谢 Natalie。)

v10 的另一个功能是智能体对战。在琢磨如何实现多人游戏时,我冒出了一个想法:如果让不同的 LLM 在游戏里打一场,会怎么样?

再来一个有趣的额外挑战:想想怎样让编程智能体也能参与多人游戏。如果能安排一场 GPT-6 Sol 对阵 Claude Opus 5.5 的比赛,应该会很有意思。每个模型都能使用一个工具来获取游戏信息(大概是非视觉信息,但只能获取它们在战争迷雾等限制下实际能看到的信息),并控制自己的单位等 [...]

查阅 ~/dev/llm/docs,并在那个文件中补充说明,介绍如何通过一个新的工具插件在这里使用 LLM。

Opus 5.5 随即开始工作,先写出了这份 AGENT-BATTLES.md 提案,然后完成了实现和测试。这个功能还支持录制和回放这些对战——这里有一场 Claude Haiku 5.5 对阵 GPT-6 Luna 的回放,同一场比赛也可以在一个独立的调试工具中查看,其中会展示底层的提示词与响应。

Screenshot of a replay of a real-time strategy game between two AI models, shown from a top-down view of a snowy map with a dark frozen lake of cracked ice floes on the left and pine forests at the top and lower right. Top bar: pause button, "6:27", "1×", "anthropic/claude-haiku-5-5 · industry" in blue, "gpt-6-luna · industry" in red, a blue-and-red strength bar labeled "B" and "R", and "0:03". Left notification: "Blue: Pushing turrets at the enemy's south-east edge." Replay panel: "Blue anthropic/claude-haiku-5-5 · industry vs Red gpt-6-luna · industry · frostbite seed 42", a timeline slider at "6:27 / 7:48", and buttons "−30s", "+30s", "All", "Blue's eyes", "Red's eyes", "Notes". In the scene, a group of blue tanks and a large blue Goliath mech trailing smoke advance near the ice edge at lower center, while a column of red turrets (one burning) lines the ice to their north, red tanks and trucks sit by a rocky ridge to the east, and red base buildings occupy the top right. A minimap is in the top right corner and zoom in, zoom out and lightning-bolt buttons are on the lower left.

驱动智能体对战的提示词可以在这里查看。

README 中还链接了几场类似的回放。我希望将来能把它发展成一个完整的联赛积分榜。

这个版本之所以会出现,纯粹是因为某天我瞥了一眼 Claude Usage 页面,发现自己只用了每周额度的 75%,而且还有 45 分钟额度就要重置了。我决定看看能不能用剩下的 token 给 Battle Drones 再加一个功能,于是选定了“随机地图”这个目标:

设计并实现一种随机地图生成机制,可以使用任意现有的生物群系——尺寸要和最大的地图一样,河流、桥梁、岩石、森林、废料和水晶都可以用上。地图要旋转对称,并使用种子,以便以后选择或复用。你有 45 分钟来完成!发挥创意。

这里是对话记录,以及 Claude 为我生成的一张展示成果的图片:

Grid of ten top-down game maps, two per biome (temperate, desert, arctic, volcanic, tropical), each with a river or lava flow, bridges and roads. Title: "Battle Drones: generated maps (108x108, point-symmetric), 2 per biome, runtime ground painter". Each map is captioned with a name and layout type plus a seed and crossing counts, e.g. "Hawthorn Delta · fork" "random-temperate-1x8a6r2 · 6 bridges, 4 fords"; layout types are fork, badlands, crossing and lake.

我才刚把这个功能跑通,还没来得及花太多时间实际测试。最新的 Battle Drones 现在支持通过两台彼此处于麦克风收音范围内的设备进行多人游戏!

这个功能源自我上周做的 Chirp Pong 实验。我让 Claude Code 去参考那个已经跑通的概念验证:

从 GitHub 克隆 Simonw/tools,查看最近的分支,找到那个使用网页麦克风、通过音频信号实现两部手机之间多人对战的 Pong 游戏示例。

为 battledrones 构建一个对应的版本。

Opus 构建了这个 Radio Probe 工具,用来测量两台设备之间能达到多大的带宽。测试结果不错,于是它又实现了一套完整的音频调制解调器系统。到目前为止,我已经在笔记本电脑、iPhone 和 iPad 之间试过,效果似乎非常好!

为什么要用声音来实现?因为我喜欢运行起来不花钱的静态 HTML,也不想在某个地方启动一台服务器,然后只要还有人想玩这款游戏,就得一直负责维持它的运行。

我对游戏开发几乎一无所知。这恰好是一个尝试编程智能体的好机会:在这个领域,我已有的软件工程经验对结果的影响没那么大。

而且,做游戏的风险极低。最坏的情况,也不过是我某个胡闹的游戏实验出了个 bug。

今天早上,我通过 Hacker News 看到了一篇文章:《Steam Next Fest 充斥着 AI 垃圾内容,玩家恳求 Steam 推出“无 AI”筛选器》。我个人绝不会考虑把 Battle Drones 提交到这样的活动中——我在它身上投入的心力还远远不够,无法把它当作一个正经的独立游戏项目。

……但我现在能看到,像这样靠凭感觉编程做出来的游戏,有朝一日也能得到认真对待。Battle Drones 很好玩,画面不错,还有创新功能(据我所知,通过音频实现多人联机,在 RTS 游戏中还是头一回)。

我很想看看,一个比我更有品位、又满怀热情、一心想做出真正出色作品的人,能打造出什么!

关于这个项目,还有一些观察:

静态 HTML 和 JavaScript 是开发游戏的绝佳载体。WebGL 表现出色,Three.js(以及此前用过的 Phaser)都是很棒的开发平台,而当前的模型对它们都了如指掌。

这也让游戏能够以渐进式 Web 应用(PWA)的形式运行——虽然我没提这个要求,但 Battle Drones 支持离线运行。我在飞机上也能玩,尽管从来没有专门安装过它——我的手机已经把它缓存下来了。

给 Claude 一个 OpenAI API 密钥,再让它使用 OpenAI 的模型生成图片,效果非常好。它可以查看自己生成的图片,并不断调整提示词。

Opus 5.5 用 Three.js 做 3D 建模的能力非常出色(用 Blender 也是如此,想必用其他 3D 应用也不在话下)。GPT-6 Astra 也是一样。它们完全有能力为 3D 游戏项目创建模型。

对于回放和多人联机这类功能,拥有一个确定性模拟引擎很有帮助。有一次,Claude 不得不用自定义实现替换对 Math.sin()、Math.cos() 等函数的调用,因为不同浏览器(例如 Chrome 和 Safari)返回的数值有极其细微的差异,导致回放失去同步。

Opus 5.5 会作曲!这个项目里没有任何音频文件——配乐完全由代码生成,不同地图的配乐各不相同,甚至还会随着战况升温而变得更加激烈。我之前还做过一个用 Claude 作曲的实验,叫 Scrimshaw Jukebox。

“让它好玩得多得多”这句提示词的效果好得让我至今难以置信。

工具几乎是免费的。我用提示词让它做出了 Radio Probe、模型浏览器、智能体对战调试工具;Claude Code 还给自己构建了一堆工具,连我自己都还没来得及探索。

静态 HTML 游戏之间,真的可以通过音频实现多人联机!我希望看到更多游戏采用同样的模式——今天查找了一番,除了 Alon Horesh 的 Siner 和 Georgi Gerganov 的 ggwave(他也因 llama.cpp 而闻名),我没找到多少先例。

Claude Code 的“Ultracode”消耗 token 简直毫无节制,但它也能仅凭一条提示词就解决复杂问题,比如加入基于音频的多人联机功能。

对于用这种方式构建软件,我仍然有些内疚。在一个自己几乎没有经验的领域里,做出这么好的东西,我总觉得自己还不配!不过,到现在我已经私下给足够多的人看过了,再不公开让其他人看看、从中学点东西,反而让我觉得不妥。

你好 Python 3.15,再见 3.10,现在我终于可以用 3.11 了——2026 年 10 月 12 日

用语音为我的博客开发一个新功能——2026 年 10 月 9 日

Claude Haiku 5.5——2026 年 10 月 7 日

我们几乎需要为所有东西默认设置不可突破的预算上限——2026 年 10 月 3 日

本文为 Simon Willison 撰写的《Battle Drones——一款通过凭感觉编程开发、支持音频多人联机的 RTS 游戏》,发表于 2026 年 10 月 20 日。

本文属于“我如何使用 LLM 和 ChatGPT”系列

凭感觉编程开发 SwiftUI 应用,乐趣十足——2026 年 3 月 27 日晚上 8:59

使用 Claude Code 将 Moebius 0.2B 图像修复模型移植到浏览器中运行——2026 年 6 月 22 日晚上 11:43

用语音为我的博客开发一个新功能——2026 年 10 月 9 日中午 12:54

Battle Drones——一款通过凭感觉编程开发、支持音频多人联机的 RTS 游戏——2026 年 10 月 20 日晚上 7:34

上一篇:你好 Python 3.15,再见 3.10,现在我终于可以用 3.11 了

每月赞助我 10 美元,即可收到一封精心整理的邮件摘要,了解当月最重要的 LLM 进展。

付费支持我,让我给你发得更少!

Original source

本文由 AI 翻译整理自 Simon Willison,原文版权归原作者所有。

阅读英文原文
上一篇
语音 RAG 用检索阈值和证据链约束回答
下一篇
ElevenLabs 推出实时语音对话模型