1. 背景

最近呢,随着 AI 的发展,让原本不会写代码的人,都可以通过 Vibe Coding 的方式来尝试自己做一些比较有意思小游戏或者实用的工具,然后我就突发奇想,能不能使用 AI 来做一个我的世界玩玩,说干就干

2. 环境准备

在开始之前,我们先来确定下使用的工具,这里我选择的是 Trae 这款 AI 编程 IDE,我个人觉得这个工具用的还是比较舒服的,大家也可以自己从官网去下载:TRAE IDE | TRAE - The Real AI Engineer

而选用的模型的话,就用最近推出的 Doubao-Seed-Evolving 模型,据说这是一款专为编程与智能体时代打造的下一代大模型,凭借更强的自主规划和动态自修复能力,它非常适用于真实企业研发中的高价值生产任务以及更广泛的经济与社会场景。对于开发者,它还提供用于编程、办公及生产力提升场景的 Evolving 版本,支持每周更新与持续进化,最近也是又做了一次更新,能力又得到了提升

那接下来就是如何在 IDE 中配置 Doubao-Seed-Evolving 模型了,我这边是订阅了这个 Agent Plan,里面给的额度还是非常足的,不订阅套餐的话也可以按量付费

官方这里也提供了对应的接入文档:https://ark.volcengine.com/region:cnbeijing/docs/82379/2389869?lang=zh

在 Trae 里面配置好模型之后,我们就可以进行 Vibe Coding 了

3. 开发阶段

3.1. 需求分析

我们这里直接一句话,让 AI 去做一个我的世界游戏,AI 很准确的就理解了需求,并且帮我们选定了技术方案,用 Three.js 做 3D 渲染,并且给出了 PRD 产品需求文档,还有架构设计文档,里面也给出了项目文件结构:

game/
├── index.html              # 入口 HTML,加载所有模块
├── css/
│   └── style.css           # HUD 样式、UI 布局、像素字体
├── js/
│   ├── main.js             # 游戏主循环初始化和入口
│   ├── world/
│   │   ├── noise.js        # Simplex/Perlin 噪声算法
│   │   ├── blocks.js       # 方块类型定义、颜色/属性
│   │   ├── worldGen.js     # 地形生成逻辑(地面、树木、水)
│   │   ├── chunk.js        # Chunk 类(方块存储、网格构建)
│   │   └── chunkManager.js # 区块加载/卸载调度
│   ├── player/
│   │   ├── player.js       # 玩家状态(位置、速度、方向)
│   │   ├── controls.js     # 第一人称控制(WASD、鼠标视角)
│   │   └── physics.js      # 重力、碰撞检测、跳跃
│   ├── render/
│   │   ├── renderer.js     # Three.js 渲染器初始化
│   │   ├── lighting.js     # 光源设置、昼夜循环
│   │   └── sky.js          # 天空渐变、雾化
│   ├── interaction/
│   │   ├── raycaster.js    # 射线检测选中方块
│   │   └── blockInteraction.js  # 放置/破坏逻辑
│   └── ui/
│       ├── hud.js          # 快捷栏、准星、信息面板
│       └── textures.js     # 程序化方块纹理生成

3.2. 初步实现

确定好需求后,AI 就开始按照对应的需求文档和架构文档工作了,跑完之后,来看下初版的实现:

有一说一,这个效果真的惊到我了,进去之后各种地形的元素都存在,包括森林,沙地,湖泊,这些方块元素都和官方的游戏没差多少,然后我试了下游戏内的操作,比如挖方块,放置方块,跳跃这些,只要是上面的操作提示包含的,都没有什么问题

这个确实令我很震惊,原本我还以为我就给 AI 说了一句话,就算 AI 能够做出来,那成品应该也是会出现各种奇奇怪怪的问题吧,然后并没有,在编码的过程中,AI 一气呵成,自己写方案,编码,测试,最后实现的效果真的可以

3.3. 添加功能

当前第一版的效果也确实有些简单,只能够移动,挖方块,放方块,这里可以让游戏内容更加丰富些,因为我们现在开发的是创造模式,那玩家肯定是可以飞行的,我们来让 AI 给游戏加一个飞行的功能,再加一个背包功能,并且再优化一些操作,直接用大白话的方式给 AI 交互:

1. 添加背包功能和飞行功能
2. 破坏方块时添加方块破碎的效果
3. 破坏方块改为长按鼠标左键的方式,不要点击左键去触发

然后 AI 就又会开始思考,制定待办,然后开始一步一步的完成我们给他提的功能点,跑完之后再来试一下,这次真的可以飞了,并且背包功能也加好了,不过操作上有一点小 bug,双击空格之后飞行,不能上升高度,再点空格就直接落下来了,我们再把这个问题给 AI 说下,也是成功解决了:

那目前,这个创造模式简单的一些功能都在了,已经有可玩性了,创造模式的功能后面再拓展,比如再新增一些替他类型的方块,加入一些动物之类的,接下来再来整个生存模式来玩玩,来给 AI 说需求:

1. 可以再加上一个生存模式,玩家进入游戏后可以选择创造模式和生存模式,生存模式的玩法你参照原版的,简单做下
2. 添加捡取方块的功能,每个格子上限64块
3. 添加一些工具箱合成的功能

可以看到,这里我还是没有给 AI 说特别详细的需求,不过 AI 能够根据自己的判断来设计出非常符合游戏官方的设定,这次加的功能也比较多,还是直接一次让 AI 跑完,这里就能够看出 Doubao-Seed-Evolving 模型的上下文是非常足的,并且模型能力的稳定性也非常好,跑完之后再来看下效果:

可以看到角色的生命值还有饥饿值都展示出来了,并且挖完方块也有靠近自动捡取功能,如果不捡的话碎掉的方块会有一个悬停的效果。

那既然是生存模式,晚上是肯定要有僵尸的,我们让 AI 再加入夜晚僵尸的生成,让他能够主动攻击玩家,给游戏加一些挑战:

这次生成完之后,确实晚上也刷新僵尸了

3.4. bug 排查和修复

不过这次玩下来是有一些小 bug 的,刚好测一下模型的改 bug 能力,具体的 bug 是:

  • 在水中漂浮的时候,水的浮力太大了,稍微动一点就飘上来了
  • 有时候生成的僵尸会莫名其妙消失
  • 僵尸遇到方块卡住就不能追玩家了,缺少跳跃能力

这边直接去问 AI:

AI 就会自己去查看刚刚自己写的代码哪里有问题,很快也是发现了问题所在,开始修复,修复完之后,这些问题已经解决了, Doubao-Seed-Evolving 模型改 bug 也是挺精准的,不用和它交互太多次就能够精准的发现并修改问题

那么至此呢,生存模式的一些简单功能也开发完成了,后续也可以再补充一些功能,比如推出合成台,让玩家能够合成各种工具来更好的生存下去,可拓展点还是很多的,这些都可以交给 AI 去实现,只需要简单的几句话,AI 就能很准确的明白你的需求,而且很多次交互都是一次对话就能够达到期望的功能,这肯定也得益于模型的强大之处

4. 部署

部署的话我们也可以直接问 AI,看 AI 有什么方案:

AI 这里也是推荐了一些托管平台,虽然说我也没听说过这些平台,不过就先按照上面给的步骤试试

结果还真可以,也是生成了一个临时域名,能够公网访问:BlockCraft — 网页版我的世界

不过这个域名是有时效的,过段时间就过期了

5. 总结

本次通过 TRAE AI IDE 与 Doubao-Seed-Evolving 大模型,以轻量化 Vibe Coding 的方式,仅通过自然语言描述需求,就从零完成了 Three.js 版我的世界网页游戏的开发。从刚开始生成基础游戏架构、地形渲染与核心操作功能,到逐步添加飞行、背包、方块拾取等拓展玩法,同时也排查并修复了各类 bug,全程不用手动编写复杂代码,这得益于 Doubao-Seed-Evolving 编程大模型强大的自主规划、长上下文理解与精准自修复能力,让我们看到 Vibe Coding 模式下,人人都能成为创作者的开发趋势,大家也都可以尝试去做一些有意思的内容。

Logo

AtomGit AI 社区提供模型库、数据集、Agent、Token等资源

更多推荐