首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >用 WorkBuddy 做「3D 云抓娃」,三次推倒重来之后,它终于像一台抓娃娃机了

用 WorkBuddy 做「3D 云抓娃」,三次推倒重来之后,它终于像一台抓娃娃机了

原创
作者头像
悟空码字
发布于 2026-10-14 11:01:19
发布于 2026-10-14 11:01:19
210
举报
文章被收录于专栏:工具工具

大家好,我是小悟。

我在 WorkBuddy 里输入了一句话:「能不能做一个部署在魔搭创空间、打开即玩的网页 3D 抓娃娃游戏?」没有后端、没有美术团队、也没有时间从零写引擎。最终交付一个 3D 抓娃娃小游戏。这篇文章记录的,不是功能清单,而是这个项目从想法到上线的完整过程,以及三次推倒重来的关键节点。

一、起点:一句话需求与三个隐含约束

任何项目真正开始之前,我都习惯先把约束拆清楚。这个需求背后藏着三个硬约束:

  1. 无后端:魔搭创空间的 Static 类型不允许运行服务端代码,意味着不能保存进度、不能做排行榜、不能同步任何状态。
  2. 单文件:为了降低部署失败率,我要求最终只交付一个 index.html。
  3. 无美术:没有专职美术,娃娃、爪子、机器必须由代码生成。

这三个约束共同决定了我后面所有的技术选择。它们不是限制,而是过滤器——凡是不符合自包含、可程序化生成、对静态托管友好的方案,都会被排除。

二、确认方案比动手更重要

用 WorkBuddy 协作,我的第一条经验是:方案没对齐就生成代码,后面大概率要返工。因此整个过程不是「提需求 → 等代码 → 验收」,而是一个持续反馈的闭环:描述想法、确认方案、生成首版、眼见为实、截图指出哪里不对、局部重做。这个闭环不是形式,而是因为人对「像不像」「顺不顺手」的判断,AI 无法替代。

三、第一次推倒:2.5D 伪透视版

第一版我想走捷径:用 CSS 3D 变换制造一个「看起来像 3D」的伪透视场景。优点是文件小、渲染稳;缺点是玩家一眼就能识破——爪子下落轨迹不会随视角旋转,整个画面是「平」的。玩了五分钟我就决定推翻。这个决策的代价是一下午的时间,但换来的是后面真 WebGL 的可用性。回过头看,这一步不是浪费,而是确认了一个基本标准:既然叫 3D,就不能只是看起来像 3D。

四、第二次推倒:真三维版与爪子灾难

引入 Three.js r128 后,光照、阴影、旋转都对了。但紧接着迎来第二个问题:爪子。我用 TubeGeometry 生成的第一版爪子,它像触手,不像娃娃机的机械臂。正常应该是:银白色圆柱连接座,三根长弧形金属臂,末端微微内收。我重写了爪子的几何体,才有了现在游戏里的样子。

这件事让我确认:AI 能给出可运行的代码,但给不出「对不对味」的判断。审美校准这件事,只能由人来完成。

五、第三次推倒:上线黑屏与零依赖单文件

本地一切正常,部署到魔搭后页面黑屏。F12 显示 vendor/three.min.js 404。进一步排查发现,魔搭的根地址返回的是工作室介绍页,真实 App 运行在 iframe 内,而部署包没有带上 vendor 目录。我面临两个选择:改部署配置把 vendor 传上去,或者把 Three.js 内联进 index.html。

考虑到静态托管环境对相对路径的稳定性无法保证,我选择了后者——得到一个 662 KB 的零依赖单文件。部署时只需要推送 index.html,不再担心某个子目录是否被遗漏。

六、把「手感」做进去:一次下爪的状态机

一个抓娃娃游戏好不好玩,不在于画面多炫,而在于下爪那一刻玩家是否相信「我差一点就抓到了」。因此我把一次下爪拆成完整状态机:待机、投币计时、下探、合拢、判定、上升、平移、松爪、入账或结束。判定公式是:

成功率 = 对准度 × 爪力 × 稀有度难度 × 幸运值

对准度由玩家操作决定;稀有度越高的娃娃越难抓;连续失手会累加幸运值,直到触发保底;黄金爪道具可以直接必中。

这个状态机里最值得玩味的,是它把「失手」也纳入了正常流程。玩家不会觉得自己被系统耍了,而是觉得「这次没对准」或「下次该出了」。这种感受的差异,直接决定了一个游戏能不能让人继续玩下去。

七、收尾:音效、图鉴、Logo 与文案

核心玩法跑通后,剩下的都是体验的放大器。倒计时最后三秒加入警示 tick,抓到和失手分别合成上行琶音与下行双音,全部由 Web Audio API 实时生成,不依赖任何音频文件;抓到的娃娃进入图鉴,按普通、稀有、史诗、传说分级。这些不是主体工程,但缺了它们,作品就不完整。

八、回头看:AI 辅助开发的真实边界

在这个过程里,WorkBuddy 帮我快速生成了骨架、补全了 Three.js API、写出了 README 和介绍文案。但它无法替我决定「2.5D 不够真」「爪子不像爪子」「应该把 Three.js 内联而不是修部署配置」。

我的体会是:AI 压缩了「从 0 到能看」的时间,但「从看到能用」的每一次跨越,仍然依赖人对作品的挑剔。 换句话说,AI 越擅长生成,人就越需要明确「不对」的标准。

结语

「3D 云抓娃」不是一个大项目,但它是一个完整的过程。从一句话需求到一个可玩的、可部署的、可迭代的小游戏,中间隔着三次推倒重来和无数次局部调整。如果用一句话总结这次经历,我会说:在 AI 辅助开发的时代,工程能力的核心不是写得更快,而是知道什么时候该停下来,把东西重新做一遍。

谢谢你看我的文章,既然看到这里了,如果觉得不错,随手点个赞、转发、在看三连吧,感谢感谢。那我们,下次再见。

您的一键三连,是我更新的最大动力,谢谢

山水有相逢,来日皆可期,谢谢阅读,我们再会

我手中的金箍棒,上能通天,下能探海

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一、起点:一句话需求与三个隐含约束
  • 二、确认方案比动手更重要
  • 三、第一次推倒:2.5D 伪透视版
  • 四、第二次推倒:真三维版与爪子灾难
  • 五、第三次推倒:上线黑屏与零依赖单文件
  • 六、把「手感」做进去:一次下爪的状态机
  • 七、收尾:音效、图鉴、Logo 与文案
  • 八、回头看:AI 辅助开发的真实边界
  • 结语
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档