fable52-fps-repro
Health Uyari
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 9 GitHub stars
Code Gecti
- Code scan — Scanned 4 files during light audit, no dangerous patterns found
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
Fable 5.2 一句话生成 3D FPS 复现:4 个单文件演示、提示词与缓存账单 / One-prompt 3D FPS repro with demos, prompts & cost data
fable52-fps-repro
一句话让 AI 从零写出 3D 射击游戏:受 Saltline 启发,用 Fable 5.2(Anthropic 的大模型)跑通的 4 个纯代码生成实验,公开全部单文件成品、提示词、运行脚本和账单数据。
⭐ 觉得这套提示词和缓存账单有用,点个 Star 帮更多开发者看到它
实验 04 实机画面:131 KB 单文件 HTML,潮湿地面实时反射、红点卡宾枪射击三波悬浮无人机,全程 73 轮无人干预生成,折算 API 成本 $15.96
快速开始
git clone https://github.com/wquguru/fable52-fps-repro && cd fable52-fps-repro
scripts/run.sh 01-audio prompts/01-audio.md 5m 12
python3 scripts/metrics.py
前置条件与目录结构
运行前提
- 安装 Claude Code(Anthropic 的命令行编程工具)2.1.242 及以上版本。
- 账号可使用
claude-fable-5-2模型(订阅额度或 API key 均可)。 - 如果想让模型像我一样打开浏览器截图自检,需安装
agent-browser和 Chrome。 - 脚本里的最后一个参数(如
12)传给--max-budget-usd,代表单次预算上限(美元),跑到上限会自动停。
仓库目录
fable52-fps-repro/
index.html GitHub Pages 首页(4 个作品入口)
demos/01-audio/ 音效台(5 分钟缓存那次)
demos/01-audio-1h/ 同任务,1 小时缓存那次
demos/02-materials/ 材质
demos/03-models/ 建模
demos/04-fps/ SUBLEVEL 07 完整 FPS
prompts/ 01–04 提示词原文、builder_system.md(附加系统提示词)、builder_system_04.md(04 多一行:agent-browser 用独立 session)
scripts/run.sh 一条命令跑一个实验
scripts/metrics.py 汇总 runs/*.json 成本、缓存命中 → data/metrics.tsv
scripts/rec/ 04 的逐帧录屏脚本(调用游戏自带的 __dbg.step 逐帧推进)
data/metrics.tsv 我这 5 次运行的实测数据
docs/demo.gif、docs/screens/ 动图和截图
你会得到:
- 4 个点开就能在浏览器里玩的纯代码 3D 演示(单文件 HTML,不加载任何外部图片、模型或音频文件)。
- 4 份直接喂给命令行跑通的提示词原文与系统提示词。
- 5 次运行的完整 token 消耗、缓存命中率与折算账单数据。
它能做什么 / 适用场景
| 场景 | 例子 | 得到什么 |
|---|---|---|
| 复现一句话做游戏 | 跑通 04-fps 提示词 |
131 KB 单文件 HTML 射击游戏,含三波无人机、卡宾枪换弹和 18 个合成音效 |
| 拆解纯代码生成资产 | 单独跑 01-audio、02-materials、03-models |
不依赖外部美术素材,用 Web Audio 合成枪声配乐、用着色器画积水锈迹、用几何体拼出货船和步枪 |
| 核算长任务缓存成本 | 修改 5m 或 1h 参数跑完后执行 metrics.py |
自动汇总 runs/*.json,生成包含缓存命中率、折算花费和无缓存对比价的 TSV 表格 |
案例
灵感来自 Anthropic 的 Felix Rieseberg 用 Fable 5.2 做出浏览器射击游戏 Saltline 的推文。本仓库是我自己设计并跑通的 4 个独立实验,生成的作品并非 Saltline,仓库内也不包含任何 Saltline 的代码。
![]() 04 · SUBLEVEL 07 完整 FPS · 131 KB 单文件 只用原帖那句提示词跑出潮湿地下变电站、三波无人机、地面实时反射与 18 个合成音效,AI 自己写脚本打通三波并验证零报错(缺点是前臂和手套比较简陋、反射只有地面)。 在线试玩 · 提示词 |
![]() 01 · 程序化音效台 · 56 KB 单文件 纯代码合成 14 个声音(室内外步枪、三段换弹、弹壳、三种脚步、雨雷与 30 秒配乐),AI 自己加了交火演示按钮并用离线渲染检查了削波和静音。 在线试玩(5m) · 1h 对照版 · 提示词 |
![]() 02 · 雨夜码头材质 · 55 KB 单文件 只引入 Three.js(浏览器 3D 引擎)一个库、零外部图片,用代码生成湿混凝土积水实时反射、带喷涂箱号的生锈瓦楞集装箱、镀锌钢与黄铜铭牌(缺点是部分小坑被误判为积水、远景箱堆是平涂色块)。 在线试玩 · 提示词 |
![]() 03 · 硬表面建模台 · 69 KB 单文件 纯代码拼出带装卸动画的岸桥、215 米货船和红点步枪,还自己加了约 185 万三角面的码头全景标签,Apple M2 Pro 本机约 120 fps(缺点是第一人称没有手臂)。 在线试玩 · 提示词 |
效果与实测成本
测试条件说明:以下全部数据于 2026-11-10 在 Claude Code 2.1.322 下实测,模型为 claude-fable-5-2。我使用的是订阅额度,并未实际支付这笔钱,表中金额由 Claude Code 按官方 API 价格(输入 $8 / 百万、5 分钟缓存写入 $10 / 百万、1 小时缓存写入 $16 / 百万、缓存命中 $0.20 / 百万、输出 $40 / 百万)自动折算,我用脚本按官方单价逐项重算核对一致。每个实验只跑了一次。
| 实验 | 耗时 | 轮数 | 输入 token 总量 | 缓存命中率 | 输出 token | 折算成本 | 不走缓存要多少 |
|---|---|---|---|---|---|---|---|
| 01 音效台(5 分钟缓存) | 16.6 分钟 | 16 轮 | 117 万 | 88.6% | 7.8 万 | $4.66 | $12.47 |
| 01 音效台(1 小时缓存对照) | 18.8 分钟 | 16 轮 | 129 万 | 78.6% | 9.1 万 | $6.97 | $13.98 |
| 02 材质 | 23.9 分钟 | 25 轮 | 246 万 | 83.8% | 11.4 万 | $8.56 | $24.24 |
| 03 建模 | 28.7 分钟 | 19 轮 | 205 万 | 76.1% | 14.0 万 | $10.38 | $21.96 |
| 04 一句话 FPS(1 小时缓存) | 40.8 分钟 | 73 轮 | 661 万 | 90.9% | 19.3 万 | $15.96 | $60.57 |
4 个实验合计(不含 1 小时缓存对照组)折算约 $39.6,算上对照组和冒烟测试总计约 $47。实验 04 的缓存命中率为 90.9%,落在我按原帖数据倒推的 90%–95% 区间内。
原始汇总数据见 data/metrics.tsv,重算逻辑见 scripts/metrics.py。
原理
[提示词 + 附加系统提示词]
│
▼
[Claude Code 命令行无人值守循环] ──(每轮数秒,持续命中缓存)
│
├─ 1. 编写单文件 HTML(内联 Three.js、着色器、Web Audio 合成器)
├─ 2. 调起 agent-browser 在真 GPU(Apple M2 Pro)下打开页面
├─ 3. 截图自检画面 / 离线渲染测音频削波 / 跑脚本打通三波无人机
└─ 4. 读回控制台报错与截图,修改代码直到零报错收工
- 无人值守命令行执行:因为在交互会话里新建自定义 subagent 需要重启 Claude Code 才会注册,我改用
scripts/run.sh调起 headless 命令行,把提示词和预算上限一次性传进去,中途不插话。 - 高输入输出比与缓存续命:模型并不是一次吐出整个游戏,而是几十轮反复重读工程再修改。Fable 5.2 的缓存命中价只有基础输入价的 0.025 倍,只要每轮间隔只有几秒,缓存就会一直续上,把实验 04 的花费从 $60.57 压到 $15.96。
- 浏览器自检闭环:系统提示词允许它调用
agent-browser打开自己写的 HTML 截图检查(确认跑在 Apple M2 Pro 硬件 WebGL 上),实验 04 里它还自己写了自动测试脚本打通三波战斗、验证胜利和死亡结算。
常见问题
这和 Felix Rieseberg 的 Saltline 是什么关系?2026-11-09,Anthropic 的 Felix Rieseberg 在 X 发帖展示了用 Fable 5.2 一句话生成的浏览器射击游戏 Saltline(跑了 8 小时、445M 输入 token、2.7M 输出 token、折算约 $550)。
本仓库受他启发,用我自己的提示词和脚本分 4 个实验验证这套工作流。前 3 个实验单独测纯代码音效、材质和建模,第 4 个实验直接用他公开的那句提示词(去掉了开头的 You know, you should also,加了一句单文件 HTML、只用 CDN、不加载外部文件的环境说明)让模型自由发挥,模型自己做出了地下变电站题材的 SUBLEVEL 07。本仓库的作品并非 Saltline,也不包含任何 Saltline 的代码。
这是我踩的一个坑。agent 工作时会查看当前目录和上下文,实验 01–03 放在我创作库里一个名字带 saltline 的文件夹下跑(且自动加载了库里与游戏无关的写作规范 AGENTS.md),Fable 5.2 直接从文件夹名里取了 SALTLINE 打在界面上。到了实验 04,我把它挪到了一个没有任何 CLAUDE.md 或 AGENTS.md 的空目录里跑,它就自己起了新名字 SUBLEVEL 07。
如果你用 Claude Code 订阅额度跑,额度内不会额外扣费。如果按 Fable 5.2 官方 API 价格折算,我跑完 01 到 04 四个实验合计约 $39.6,其中最重的 04 完整游戏跑了 73 轮,折算 $15.96。你可以用 scripts/run.sh 里的最后一个参数设置 --max-budget-usd 预算上限防止超支。
Fable 只做了离线渲染检查(测削波和静音),并在它的最终汇报里写明“未经人耳试听”。这些音效未经人耳逐个评审,欢迎试听后提 issue。
1 小时缓存是不是比 5 分钟缓存更省钱?在我的单次对照实验里没有。同一个 01 音效任务并行跑两次,5 分钟缓存花了 $4.66,1 小时缓存花了 $6.97,贵了 $2.31。
拆开账单看,1 小时缓存写入单价更贵($16 vs $10 / 百万 token)只占了约 $0.68 的差价,其余是因为 1 小时那组碰巧多出了约 16 万未命中缓存的输入(约 $1.29)和 1.25 万输出(约 $0.50),具体原因我没查清。因为每个实验只跑了一次,不能直接下结论说哪个一定更省。按官方文档机制,agent 连续干活时请求间隔只有几秒,5 分钟缓存会被不断续期,1 小时缓存更适合中间有超过 5 分钟空档(如等待人工确认或长构建)的场景。
路线图
- 保持现有 5 次实验的原始产物与账单数据归档,方便读者对照复现。
- 欢迎大家用别的模型或不同缓存配置跑同一套
prompts/,提 PR 补充data/下的对照数据。
社区
- 问题和复现交流:GitHub Issues / Discussions
- 完整拆解长文与后续更新:欢迎在 X 关注 @wquguru
致谢
- 灵感来自 Felix Rieseberg 在 2026-11-09 发布的 Saltline 推文与提示词。
- 3D 渲染基于开源的 three.js。
License
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi



