🎮 我用一段Prompt就做出了3D游戏世界?AI Native开发的正确方向

5 阅读8分钟

这不是标题党,这是真实发生在我身上的故事。


一、开篇:从"我想做个游戏"到"真的做出来了"

2025年2月,OpenAI联合创始人 Andrej Karpathy 在X上发了一条推文,说自己在用一种新的方式写代码——完全交给感觉,让AI帮你写。

我当时看到这条推文,心想:"这不就是吹牛吗?"

直到几天后,我真的用一段Prompt做出了一个完整的3D小世界编辑器

不是那种"帮我写个Hello World"的玩具项目,而是:

  • ✅ 8×8的3D网格世界
  • ✅ 7种地形工具(草地、土路、水、石头、树、房子、擦除)
  • ✅ 拖拽旋转视角 + 滚轮缩放
  • ✅ 鼠标悬停高亮反馈
  • ✅ localStorage持久化存档
  • ✅ 3个独立存档槽位
  • ✅ 程序化生成村庄功能
  • ✅ 右下角实时小地图
  • ✅ 磨砂玻璃风格UI

双击HTML就能运行,零构建,零依赖。

那一刻我才明白:Karpathy没在吹牛,Vibe Coding是真的。


二、什么是AI Native思维?

在传统开发模式下,我们要做一个3D编辑器,流程是这样的:

学习Three.js  理解场景/相机/渲染器  写几何体代码  
调试光照  处理交互事件  优化性能  UI设计  ...

每一步都需要专业知识,每一步都可能卡住。

但在AI Native思维下,流程变成了:

描述我想做什么 → AI生成代码 → 看效果 → 调整描述 → 继续迭代

核心区别

维度传统开发AI Native开发
入门门槛需要掌握API、语法、框架只需要会描述需求
开发方式逐行敲代码用自然语言对话
调试方式看报错、查文档看效果、调整Prompt
适用人群专业程序员任何有想法的人

本质转变:从"怎么写代码"变成"怎么描述需求"。


三、Prompt工程:把想法变成代码的关键

很多人以为Vibe Coding就是"随便说一句话让AI帮你写",其实不然。

好的Prompt = 清晰的目标 + 结构化的描述

看看我用来生成这个3D世界的Prompt结构:

3.1 我想要的体验(Goal)

- 一打开网页能看到一个 8*8 左右的世界,立刻能玩
- 鼠标点格子放东西(草地、土路、水、石头、树、房子、擦除,7个工具)
- 拖拽转视角/滚轮缩放
- 鼠标悬停的格子有视觉反馈
- 关闭网页,下次打开还在
- 能切换三个不同的存档世界
- 一个"重置"按钮给我一个程序化生成的小村庄
- 一个"清空"按钮全变草地
- 首次打开有个简短的操作提示,几秒后淡出

3.2 技术架构(Constraints)

- 单页面,零构建:直接双击 HTML 就能打开
- 文件不超过 3 个:一个HTML、一个CSS、一个JS
- Three.js 用 CDN 引入(r128版本),不要ES module
- 不要 React / Vue / TypeScript / Webpack / Vite
- 所有 3D 物体用Three.js 内置几何体,不用加载外部模型

3.3 视觉方向(Style)

- "积木玩具"风:颜色饱和、对比鲜明
- 背景是奶油色或米色
- 光照要"日光"感,草地不要被照的发白
- 阴影要柔,不要硬切

3.4 UI风格(Layout)

- 顶部一个标题面板 + 一个存档面板
- 底部居中浮一个工具卡片栏,每个工具卡片有 emoji 图标 + 中文标签
- 右下角一个小地图(canvas 2D),俯视显示当前世界
- 全部面板用浅色磨砂玻璃风格

3.5 代码组织(Structure)

- HTML 只放结构和引用
- CSS 写所有外观
- JS 包成 IIFE,逻辑分段(场景/光照/数据/工厂/交互/持久化/小地图/启动)
- 数据用 'world[x][z] = { terrain, kind }'

四、Prompt公式:五要素法

总结下来,一个高质量的Prompt应该包含五个要素:

Goal(目标)+ Input(输入)+ Output(输出)+ Layout(布局)+ Features(特色)
要素说明示例
Goal你想做什么"一个网页上的3D小世界编辑器"
Input用户提供什么"鼠标点击格子、拖拽旋转、滚轮缩放"
Output系统返回什么"放置地形、视角变化、存档保存"
Layout界面怎么布局"顶部标题栏、底部工具栏、右下小地图"
Features有什么特色"磨砂玻璃UI、程序化生成村庄、实时小地图"

记住这个公式,下次写Prompt就不会迷茫了。


五、AIGC vs Coding Agent:两种AI开发模式

在AI开发领域,有两种主流模式:

5.1 AIGC模式(生成式AI)

比如用豆包ChatGPT生成代码:

你:帮我写一个Three.js的3D场景
AI:给你一段代码...
你:复制粘贴到编辑器
你:运行、调试、报错
你:继续问AI...

特点:AI只负责生成,你负责执行和调试。

5.2 Coding Agent模式(编程智能体)

比如用CursorClaude CodeTrae

你:帮我做一个3D小世界编辑器
AI:理解需求 → 创建文件 → 写入代码 → 调整优化
你:看效果 → 提反馈 → AI继续改

特点:AI不仅生成代码,还能创建文件、写入代码、执行操作。

核心区别

维度AIGCCoding Agent
AI角色代码生成器开发助手
你的工作复制、调试、整合描述需求、审核结果
效率线性指数级
适用场景单个函数、片段完整项目、复杂系统

Coding Agent让你真正成为"产品经理",而不是"代码搬运工"。


六、LLM基础知识:理解AI的底层逻辑

要用好AI开发,理解一些LLM基础知识很有帮助。

6.1 什么是LLM?

LLM(Large Language Model) = 大语言模型

本质上是:由海量权重参数构建的概率映射函数

数学公式:

y = fθ(x)

x: 输入文本向量
y: 输出文本序列
θ: 全部的模型参数(权重)
f: 神经网络运算

通俗理解:你输入一段话,AI根据海量训练数据,预测最合理的输出。

6.2 模型参数规模

DeepSeek为例(2025年最新数据):

模型参数规模特点
DeepSeek-V4-Pro1.6万亿(1600B)高性能,适合复杂任务
DeepSeek-V4-Flash2840亿(284B)性价比高,速度快

参数越多,模型越"聪明",但成本也越高。

6.3 为什么复杂任务需要高级模型?

就像这个3D世界编辑器项目,涉及:

  • Three.js场景管理
  • 光照系统
  • 交互事件处理
  • 数据持久化
  • UI设计
  • 小地图渲染

如果用基础模型,可能只能生成片段代码,无法整合成完整系统。

高级模型能理解整体架构,生成结构化的完整代码。


七、实战总结:从想法到产品的完整流程

回顾这个3D世界编辑器的开发过程,我总结了一套可复用的流程:

Step 1:明确目标

我想做一个"摆在桌子上的小模型"风格的3D世界编辑器
不是开放世界游戏,而是迷你村庄的感觉

Step 2:结构化描述

按照五要素法,把需求拆解成:

  • Goal:8×8网格、7种工具、拖拽旋转、存档功能
  • Input:鼠标点击、拖拽、滚轮
  • Output:地形放置、视角变化、数据保存
  • Layout:顶部标题栏、底部工具栏、右下小地图
  • Features:磨砂玻璃UI、程序化生成、实时小地图

Step 3:设定约束

- 单页面,零构建
- 只用Three.js内置几何体
- 不要React/Vue/TypeScript

Step 4:迭代优化

第一版:基础场景 + 简单工具
第二版:加入光照 + 阴影
第三版:加入存档 + 小地图
第四版:优化UI + 程序化生成

Step 5:验收成果

打开HTML文件,验证:

  • ✅ 能放置地形
  • ✅ 能旋转视角
  • ✅ 能保存存档
  • ✅ 小地图同步
  • ✅ UI美观

八、彩蛋:这个项目的技术亮点

作为一个真实的Vibe Coding案例,这个项目有几个值得分享的技术点:

8.1 IIFE封装

(function () {
    // 所有代码包在一个立即执行函数里
    // 避免全局变量污染
})();

8.2 数据结构

world[x][z] = { terrain, kind }
// terrain: "grass" | "water" | "path" | "stone"
// kind: "tree" | "house" | null

8.3 程序化生成

function generateVillage() {
    // 水塘:随机位置 + 3×3范围
    // 小路:连通的路径
    // 房子:固定位置 + 随机点缀
    // 石头/树:随机分布
}

8.4 localStorage持久化

localStorage.setItem(`world_${i}`, JSON.stringify(worlds[i]));
// 关闭网页,数据不丢失

九、写在最后:AI时代的开发者生存指南

2025年,AI开发已经不是"会不会用"的问题,而是"怎么用好"的问题。

核心观点

  1. AI Native思维:从"写代码"转向"描述需求"
  2. Prompt工程:结构化描述比随意聊天更有效
  3. Coding Agent:让AI成为你的开发助手,而不是代码生成器
  4. LLM基础:理解模型原理,选择合适的工具

给新手的建议

  • ✅ 从小项目开始,逐步积累Prompt经验
  • ✅ 多尝试不同的AI工具,找到最适合你的
  • ✅ 学习基础的编程概念,更好地与AI沟通
  • ✅ 保持好奇心,AI技术每天都在进化

给老手的建议

  • ✅ 把AI当成"超级实习生",提高效率
  • ✅ 用AI探索新技术,突破知识边界
  • ✅ 关注AI工具的更新,保持竞争力
  • ✅ 分享你的经验,帮助更多人入门

📌 收藏本文,下次想做项目时,记得用五要素法写Prompt!