我只说了15句“哪里不对”,OpenAgents就帮我做出了一个鹈鹕骑行3D游戏
本文所用的作品、全部渲染截图与制作过程数据, 均由作者本人授权发布。
一个 161 KB 的 HTML 文件,零外部素材。AI 真正干活 5.9 小时。而这位用户做的,只是看图、说一句哪里不对。
快来成为用户体验官,快速上手!
01 一道考了很久的题,被做成了能玩的游戏
AI 圈有一道考了很久的题: “画一只骑自行车的鹈鹕。” 开发者 Simon Willison 每出一个新模型,都会让它画一张 SVG。鹈鹕不会骑车,自行车又很难画对,这道题就成了检验模型能力的标尺。
在OpenAgents进行的用户体验官活动中,一位用户把这道题往前推了一步:不是一张图,而是一个 能骑、能拍翅膀、能按车铃、有白天黑夜的 3D 游戏。
他在 OpenAgents 里连上 DeepSeek Harness,开始了这次制作。17小时后,交付物是一个 161 KB 的 pelican-bicycle.html。双击就能玩,不需要安装任何东西,也没有引用任何一张外部图片。
最后一轮改完的画面:鹈鹕、自行车、公路、天空,全部由代码程序化生成,没有一张外部贴图。
作品卡
作品:《鹈鹕骑行 Pelican on a Bicycle》,单文件 HTML,约 161 KB,浏览器直接打开
技术: Three.js;鹈鹕、自行车、环境、动画全部程序化生成,零外部模型、贴图和预烘焙动画
总跨度: 17.75 小时(9 月 20 日 17:21 → 9 月 21 日 11:06)
AI 实际产出: 5.9 小时;其余 11.9 小时是看图、思考和等待
人工审阅: 约 15 轮,每轮一句话
预览图: 82 张
Agent: 1个主 agent(DeepSeek Harness),中途换过 3 种底层模型
工作区: OpenAgents
以上数据来自产物的时间戳和工具调用记录,不是事后回忆。
02 怎么做出来的:9 个阶段
① 搭场景 渲染器、天空、光照、材质库、地面和公路
(9/20 17:21–18:13,约 51 分钟)
② 主体建模与装配 自行车、鹈鹕、动画、交互
(9/20 21:52–00:06,约 1 小时 50 分)
③ 细节大修 嘴、羽毛、轮胎、脚、车架、翅膀、天空飞鸟、弯道
(9/21 00:26–02:38,131 分钟,最大的一块)
④ 修车头与车架的接头 留下修改前后对比图
(9/21 06:27–06:31,约 5 分钟)
⑤ 默认视角改成环绕
(9/21 06:31–06:48,约 17 分钟)
⑥ 羽毛质感重构
(9/21 08:32–09:28,约 56 分钟)
⑦ 翅膀重塑 删掉翼顶小球
(9/21 09:27–09:35,约 8 分钟)
⑧ 拍翅时的翼顶和肘部优化
(9/21 09:42 起,几分钟)
⑨ 性能测量与终检 10 个视角逐一检查
(9/21 10:47–11:06,约 20 分钟)
03 OpenAgents里,你如何一步步做出自己的小游戏
如果你也想做一个属于自己的小游戏,照着这个流程走就行。
整个过程人只做一件事:看图,然后说哪里不对。
渲染验证图 →人看出一处不对 →一句话反馈 →AI 定位几何或材质的根因 →改代码 →重新渲染验证
作者在 OpenAgents 的会话里 @ 自己的 agent,把要做的东西讲清楚,然后要求它 每完成一个部件就用固定机位截图发回来 。之后的 17 个小时,他没有打开过代码,只是一轮一轮地看图、回一句话。
第一步:先让它跑出一个能看的版本 第一轮产出的是整个场景的骨架:渲染器、天空、光照、材质库、地面和公路,用了约 51 分钟。接着是主体建模与装配——自行车、鹈鹕、动画、交互,约 1 小时 50 分。
所有东西都是代码生成的 ,包括车把、刹把、车铃、链条这些零件:
自行车车头特写:车把、刹把、车铃、线缆都是分别建模再装配的,没有用任何现成模型。
第二步:看图,每轮只说一处不对 不用写长篇需求文档。真正推着项目往前走的,是每一轮看渲染图+一句话缺陷描述。
最后 6 轮,原话: 「 自行车的车体和车头是分开的 」 「 默认是环绕的状态 」 「 羽毛的质感看起来很不真实 」 「 翅膀也优化一下 」 「 翅膀顶部不应该有一个小球 」 「 拍打翅膀的时候翅膀顶部优化一下 」
更早的 9 轮,依次是: 嘴部 → 羽毛细节 → 轮胎接地 → 脚部 → 车架真实感 → 翅膀抓把 → 背羽 → 天空飞鸟 → 弯道与倾斜。
第三步:一句话之后,AI 自己去找根因 你给的是一句模糊的吐槽,agents给出的是具体的修改。
作者说「自行车的车体和车头是分开的」 AI 查出根因:头管半径 30 mm,上方垫圈只有 17.5 mm,整根转向柱在这里“缩了脖子”。修法是把上碗加粗到 35.5 mm 扣住头管,垫圈统一到 30.5 mm,把立下端下移 4 mm,从转向柱里“长出来”。接头处最小半径从 17.5 mm 提到 24–30.5 mm,并且留下了修改前后的对比图。
作者说「羽毛的质感看起来很不真实」 这一轮改得最多,视觉变化最大的一次:
-
封闭的“花瓣筒”羽片,改成开放、微弯、带羽轴、尖端收拢的羽瓣;
-
体羽改成标准叠瓦,后排压前排;颈羽从 4 圈稀疏改成 6 圈、每圈 18 片短密羽;
-
每片羽毛单独上色:羽根深、羽尖暖亮,明度随机抖动 ±8%;
-
换成带绒感的物理材质,用着色器模拟羽枝和绒毛;
-
新做了一套完全程序化的环境光,夜晚的环境光强度从 0.72 降到 0.24。
重构前
重构前:羽片是一片片封闭的“花瓣筒”,整体发白、没有层次。
重构后
重构后:羽瓣开放、微弯、带羽轴,每片单独上色,羽根深、羽尖暖亮。
作者说「翅膀也优化一下」「翅膀顶部不应该有一个小球」 AI 把翅膀整体重塑成肩圆腕尖、后缘下垂的连续翼壳,飞羽变宽变短、互相覆盖。至于那个小球,它在总结里坦白:是自己“此前误加的腕部翼垫球”,删掉。
删掉翼顶小球、重塑之后的翅膀。
作者说「拍打翅膀的时候翅膀顶部优化一下」 AI 把上臂翼壳的收窄幅度从 46% 降到 22%,消除宽度台阶;在肘部加了 9 片桥接覆羽,拍翅时动态铺开,遮住 V 形缝隙。
第四步:不看代码,让 AI 自己验收 作者全程不读代码,那谁来保证“改对了”?
在OpenAgents里,agent 给自己搭了一套验收方法:
-
调用视觉工具描述画面、找出看起来不自然的地方;
-
用无头 Chrome 固定机位批量出图,每轮都能前后对比;
-
自己写 PNG 解码器做像素级检查,比如统计喙的橙色像素、画出物体剪影;
-
用显示 / 隐藏差分,提取单个物体的真实轮廓;
-
逐个三角形扫描几何,证明车头管从 0.60 m 到 0.90 m 没有缺口;
-
跑 48 个相位的动态回归,检查脚踏接触、左右对称、手腕到车把的距离。
固定机位的正面对称性检查——同一个角度反复出图,改没改好一眼就看出来。
它也老实记下了踩过的坑: 截图可能是旧帧。
停掉动画循环后,截到的是上一帧的画面,它一度据此得出“喙没渲染”“看不到眼睛”的错误结论,后来加上一次显式渲染才纠正。
这个流程可以直接套用 换个主角、换个场景,循环是一样的: 让 agent 每做完一个部件就固定机位截图 → 你只看图 → 每轮只说一处不对 → 让它自己写验证脚本 。这一套不依赖你会不会写代码。
04 同一个游戏,在别处做 vs 在 OpenAgents 里做
这次制作并不是一路顺风。总结里如实记下了几个卡点。但有意思的是, 这些卡点没有一个是“模型不够聪明”,全都是“协作没接上” :看不了图、记不住事、换个模型要重讲一遍、图只在自己电脑上、人得守着屏幕。
OpenAgents 不替代 你的 AI 编程工具,而是把它们接进同一个工作区:你、你的 agents、所有过程,都在一个地方。下面六件事,就是它和“在别处做”的真实差别。
① 审阅截图,需要一个“能看图”的模型
这次真实遇到的:agent 派了一个子agent去审阅羽毛截图, 产出为零。子agent 用的模型不支持图像输入,读不了 PNG。那一轮的图白截了,只能由作者自己肉眼看。
在别处做:在网页里和 AI 聊天,你得把图下载下来、再开一个支持视觉的网页、来回粘贴;用单独的 AI 编程工具,你只能用它支持的那几个模型,它不支持视觉就没办法。
在OpenAgents 里:同一个会话里 @ 另一个厂商的 agent 就行:写代码的用 DeepSeek Harness,看图的用一个支持视觉的 agent,各用各的模型,看的是同一批截图,不用导出、不用粘贴。
这次“产出为零”的那一轮,在 OpenAgents 里就是一条 @ 消息的事。
② 规矩和每轮的结论,要存得住
这次真实遇到的:项目记忆工具调用两次都返回 401, 项目记忆全程不可用 。“零外部素材”这条铁律、每一轮改完的结论,只能靠人反复提醒、靠反复渲染来验证。
在别处做:网页聊天对话一长就忘;AI 编程工具要自己配记忆文件或规则文件,换一个工具又得重配一遍,而且只对这一个工具生效。
在OpenAgents 里:工作区自带「知识库」, 写一次,所有接进来的 agent 都能读 。把“零外部素材”“固定机位出图”“截图前先手动渲染一帧”这三条写进去, 15 轮迭代就不用每轮重新交代一遍。
③ 中途换模型、换 agent,不用从头交代
这次真实遇到的:这次底层模型换了 3 次:deepseek → glm → qwen → deepseek。这是同一个会话里换模型,不是多agent协作。
在别处做:换模型往往意味着换一个对话窗口:之前的上下文、82 张截图、十几轮结论,都要重新喂一遍,或者干脆放弃,从头再来。
在OpenAgents 里:会话、文件、知识库都留在工作区里。
换模型、换 agent、甚至换成另一家厂商的 agent,接手的那个 AI 看到的是同一份历史。
官网案例里 Claude 当产品经理写需求文档、Codex 当工程师接手,靠的就是这一点。
④ 82 张预览图,不只躺在一台电脑里
这次真实遇到的:82 张预览图、所有验证脚本和那个自己写的 PNG 解码器,全都在作者自己的电脑上。
在别处做:截图存在本机文件夹,只有这台电脑看得到。想给同事看一眼“改好没有”,得先压缩、上传网盘或者微信传一轮。
在OpenAgents 里:让 agent 直接把关键截图存进共享文件, 手机能看、队友能看,改前改后并排放在一起 。像羽毛重构那一轮的前后对比图,发一个链接别人就能判断“这样改对不对",而不用等你回到电脑前。
⑤ 11.9 小时的静默期,人不用守在电脑前
这次真实遇到的:17.75 小时的总跨度里,有 11.9 小时是静默期 :看图、思考、等待。真正的 AI 产出只有 5.9 小时。
在别处做:进度只在那台电脑的终端里滚动,人一离开就断了。回来还得翻日志,想起刚才看到哪儿了。
在OpenAgents 里:电脑开着、agent 接着干, 你在手机 App 上看进度、回一句话,结果提示保存在收件箱 。这个案例的 15 轮反馈每轮都只有一句话:"翅膀顶部不应该有一个小球"这种颗粒度的活,在手机上几秒钟就回完了。
⑥ 不用换工具,也不被哪一家绑定
这次真实遇到的:这次用的是 DeepSeek Harness,但审图、改几何、跑验证脚本,不同环节其实适合不同的模型。
在别处做:在网页里聊天,你被绑定在这个网站;用单独的编程工具,你被绑定在它支持的那张模型列表上。
在OpenAgents 里:Claude Code、Codex、Cursor、Gemini CLI、DeepSeek Harness 等十多种 agent 都能接进来,可以混着用。
而且代码仍然在你自己的电脑上写、在你自己的电脑上跑,工作区本身不执行你的代码。
OpenAgents 管的是协作,不是替你跑代码。
一句话总结 这个案例里 agent 踩的每一个坑(看不了图、记不住事、换模型要重来、图只在本机、人得守着)都不是模型能力问题,而是 协作问题 。
OpenAgents 解决的正是这一类问题:把你和你的agents放进同一个工作区,让过程、素材和规矩留得下来。
注:agent 所在的电脑需要保持开机联网,可以把 agent 放在服务器上。
05 最后,成品长这样
↑ ↓ 加减速 ← → 转向 Space 捏闸 F 拍翅膀 B 摇车铃 N 切白天 / 黑夜 C 切镜头 R 回起点
-
四种镜头:跟随、环绕、特写、电影;
-
夜里有星星、萤火虫、车灯光束和红色尾灯;
-
右上角一块骑行仪表:时速、踏频、传动比。
夜间模式:星星、萤火虫、车灯光束和红色尾灯,全部是程序化生成的。
过弯时鹈鹕和车身一起向内压,这是第 3 阶段“弯道与倾斜”那一轮加的。
06 几个你可能会问的问题
Q:我已经在用 Codex / Claude Code / DeepSeek Harness 了,还需要 OpenAgents 吗?
不用换工具,把它连进工作区就行。它照样在你电脑上写代码;OpenAgents 负责把截图、规矩、进度和其他 agent 放到一个地方,手机上也能跟进。
Q:不会写代码能做吗?
这个案例里,作者审阅时不看代码,只看渲染图、说一句哪里不对。代码由 agent 来写。
Q:要花钱吗?
OpenAgents 工作区免费起步。agent 用的模型,按你自己的账号或 API 套餐计费。
Q:要多久?
这个案例总跨度 17.75 小时,AI 实际产出 5.9 小时。想做得多精细,由你决定。
07 你也来做,5分钟开局
-
进入官网注册登录。
点击“创建工作空间”,新建你的 第一个工作区。或者直接下载桌面端。
-
连接你电脑上的 agent或云端 agent。
在网页端「连接智能体」→「本地智能体」→「连接设备」,拿配对码在电脑上安装配对。连好后点「添加智能体」,选 DeepSeek Harness、Claude Code、Codex 等。只想先试试,「云端智能体」里有内置助手 Yumi。桌面端直接连接智能体即可。
-
开会话,发第一句话。
「会话」→「新建会话」,@ 你的 agent。
提示词,照抄就能开局 ↓ @你的agent 用 Three.js 做一个单文件 HTML 的浏览器 3D 小游戏:一只 【动物】 骑着 【交通工具】 在 【场景】 里前进。
要求:
(1)所有模型、纹理、动画都用代码程序化生成,不引用任何外部素材;
(2)键盘操控,至少两种镜头,可以切换白天 / 黑夜;
(3)每完成一个部件,用固定机位截图给我看,改动前后各留一张;
(4)截图前先手动渲染一帧,别截到旧画面。
-
看图,说一句哪里不对。
一轮一轮改,直到满意。
快来成为用户体验官,快速上手!