Claude写出了CoD?
一条Prompt+Three.js真的能跑出CoD级FPS?GitHub 2215 star现象级爆款mshumer/Claude-of-Duty背后,AI生成3D游戏的渲染黑盒、性能瓶颈、贴图来源真相与可玩性短板深度拆解,附Three.js实战代码示例。
mshumer/Claude-of-Duty 是 2026 年 7 月 GitHub Trending 上最炸裂的项目——作者仅用一条自然语言 Prompt 让 Claude 生成了约 3000 行 Three.js 代码,跑出号称”使命召唤级”的 3D FPS。几天斩获 2215 star,登顶 HN 与 r/ClaudeAI 首页。它的爆火不是因为代码优雅,而是戳中了 AI 圈与游戏圈的共同疑问:LLM 真能”一次性”写出能玩的 3D 游戏吗?
Q1:一条 Prompt 真的能跑出 CoD 级 FPS?
作者在 README 大方贴出 Prompt,评论区瞬间两派:“AGI 来了""提前写好的吧”。根因很朴素:Claude 见过大量 Three.js FPS 教程(官方 demo、Krunker、QuakeJS),本质是按概率”缝合”出最像 CoD 的代码,而非真正理解架构。
- 现象:跑起来有移动、开火、换弹、敌人追击。
- 根因:LLM 是分布拟合器,不是引擎设计师。
- 解法:别神化 Prompt,把它当代码合成 benchmark 看。
核心循环:
function animate() {
requestAnimationFrame(animate);
const dt = clock.getDelta();
updatePlayer(dt); updateEnemies(dt); updateBullets(dt);
renderer.render(scene, camera);
}
Q2:性能瓶颈在哪?真能稳 60fps 吗?
实测反馈:单人勉强 60fps,开多人 + 阴影 + 粒子后掉到 20-30,移动端个位数。根因三点:(1) 贴图是 AI 异步 fetch 第三方 API,存在加载抖动;(2) 无 LOD、无 InstancedMesh,敌人一多 draw call 爆炸;(3) 默认 PCFSoftShadowMap,移动端 GPU 卡爆。
- 解法:用项目内置
quality参数,改BasicShadowMap、关抗锯齿、贴图降到 512,中端笔电能稳 60fps。
Q3:AI 生成的贴图和武器模型什么水平?
很多 star 党失望——所谓”CoD 画质”其实是用 Poly Haven、ambientCG 的免费 PBR 贴图硬拼,武器是 box + cylinder 拼凑的低多边形,角色就是 capsule 加贴图。换句话说,AI 没有真正”生成”3D 资产。
- 根因:当前 LLM 不会输出 GLB/PNG 等二进制,只能写 URL 引用。所谓”AI 生成 3D 游戏”本质是 AI 写了个资源编排脚本,而非真正的资产生成器。提示工程再花哨,也绕不开这一层限制。
Q4:能真正”可玩”吗?对战体验如何?
实测多人模式:操作延迟、对枪反馈、换弹手感都”差一口气”。AI 写的敌人状态机极简——看到玩家、举枪、开火,没有掩体、投掷物、连杀奖励、击杀镜头。
- 根因:Claude 不懂 FPS 的”game feel”,能复刻机制,不能复刻乐趣。
- 解法:把 prompt 拆细——一份写渲染、一份写 AI、一份写手感参数(后坐力曲线、瞄准灵敏度、hit 注册窗口),再用 Claude Code 串起来,比”一条 Prompt 搞定”靠谱得多。
Q5:如何自己复刻并扩展?
不要直接 fork 魔改,按这个路径:
- 跑通官方 demo,用 DevTools Performance 记卡顿点;
- 用 Three.js Inspector / Spector.js 看 draw call,把可合并 mesh 改 InstancedMesh;
- 把 AI 贴图换成自己 Stable Diffusion XL / Tripo3D 输出,做差异化;
- 用 Claude Code 让 LLM 帮你写多人同步(WebSocket + 客户端预测)。
参考 hook:
const socket = new WebSocket('wss://your-server/game');
socket.onmessage = (e) => syncRemotePlayer(JSON.parse(e.data));
这套组合拳比单纯 star 一个 demo 更有长期价值。
Sources
- GitHub Trending 2026-07-30: mshumer/Claude-of-Duty
- r/ClaudeAI: “One prompt FPS in Three.js, is this real?”
- r/gamedev: “AI-generated FPS, where’s the catch?”
- HN Show HN: “Claude of Duty – CoD-quality FPS from a single prompt”
- 项目 README 与源码实测