1. 三句话开发3D游戏,这事到底靠不靠谱
第一次看到"0代码,0建模,3句话开发一个3D游戏"这个说法,我的反应和大多数人一样:又是标题党。毕竟我在游戏行业摸爬滚打这些年,见过太多"一键生成游戏"的工具,最后基本都是玩具级别,做出来的东西连demo都算不上。但这次不太一样,因为背后站着的是Claude Code加上Opus这个组合,而且社区里确实有人用类似的方式做出了能跑能玩的3D小游戏。
先说结论:三句话开发一个3D游戏,在2025年的技术条件下,是可行的,但有前提。这个前提不是你会不会写代码,而是你会不会"说人话"——也就是提示词工程。你不需要懂Three.js的渲染管线,不需要知道GLTF格式怎么解析,甚至不需要打开Blender建一个模型,但你需要能把"我想要一个什么样的游戏"这件事,用AI能理解的方式描述清楚。
这篇文章适合三类人看:第一类是完全不懂编程但想试试做游戏的产品经理、设计师、独立创作者;第二类是有一定编程基础但没碰过3D游戏开发的后端或前端工程师;第三类是已经在用Claude Code做开发,想看看它在3D游戏这个场景下到底能跑到什么程度的开发者。不管你是哪一类,我都会把整个流程拆到你能直接抄作业的程度。
核心工具链其实很简单:Claude Code作为AI编程智能体,Opus作为底层模型,Three.js作为3D渲染引擎,Vite作为开发服务器。这四个东西组合起来,就构成了一个"你说人话,它写代码"的闭环。下面我会从整体设计思路开始,一步步拆解怎么用三句话把一个3D游戏从零跑起来。
2. 整体设计思路与工具选型拆解
2.1 为什么是Claude Code而不是其他AI编程工具
市面上AI编程工具不少,Cursor、Windsurf、GitHub Copilot、Codex这些我都用过。做3D游戏这个场景,Claude Code有几个明显的优势。
第一是上下文窗口足够大。3D游戏项目哪怕再简单,也涉及场景初始化、光照、相机控制、物理碰撞、输入处理、游戏循环这些模块,代码量轻松上千行。小上下文窗口的工具写到一半就"忘"了前面的代码结构,开始胡编API。Opus模型配合Claude Code的长上下文能力,能在一个会话里保持对整个项目结构的记忆。
第二是文件系统操作能力强。Claude Code不是只给你补全代码片段,它能直接创建文件、修改文件、运行命令、看报错、再改。这个闭环对于3D游戏开发特别重要,因为3D项目的依赖关系复杂,一个import路径写错整个页面就白屏,你需要AI能自己看到报错并修复。
第三是对Three.js这类库的理解深度。我实测下来,Opus对Three.js的API记忆相当准确,Scene、Camera、Renderer、Mesh、Geometry、Material这些核心概念不会搞混,requestAnimationFrame的游戏循环也写得规范。这一点比很多模型强,有些模型会把Three.js和Babylon.js的API混着写,跑起来直接报错。
注意:Claude Code有客户端版和命令行版,做3D游戏项目我建议用命令行版配合VS Code,因为需要频繁看浏览器控制台的报错,命令行版在终端里跑
npm run dev更顺手。
2.2 为什么是Three.js而不是Unity或Godot
这是很多人会问的问题:既然都0代码了,为什么不直接用Unity的可视化编辑器?
原因在于AI编程智能体的能力边界。Unity和Godot是GUI驱动的引擎,AI没法直接操作你的鼠标去拖拽场景里的物体。虽然Unity有脚本系统,但AI要生成一个完整的Unity项目,涉及.meta文件、场景序列化文件、预制体这些二进制或半结构化格式,出错率极高。而Three.js是纯代码的,一个HTML文件加一个JS文件就能跑起来,AI生成的每一行代码都是可读可验证的。
另一个原因是反馈速度。Three.js项目改完代码,浏览器刷新就能看到效果,不需要等Unity编译。这个快速反馈循环对于"三句话迭代"的模式至关重要,你改一句提示词,几秒钟就能看到游戏变了什么样。
当然,Three.js做出来的游戏在性能和效果上没法跟Unity比,但对于"三句话开发一个3D游戏"这个目标来说,它是最合适的载体。你要的是快速验证想法,不是做3A大作。
2.3 "三句话"到底指什么
这里要澄清一个概念。"三句话开发一个3D游戏"不是说整个开发过程你只说三句话就完事了,而是指核心需求的描述可以用三句话概括。比如:
- 做一个3D场景,里面有一个可以WASD控制移动的角色,相机跟随角色。
- 场景里随机分布一些金币,角色碰到金币就加分。
- 加一个计时器,60秒内看能收集多少金币,时间到显示得分。
这三句话就是游戏的完整需求。Claude Code会根据这三句话生成整个项目:HTML入口、Three.js场景、角色模型(用基础几何体拼)、移动逻辑、碰撞检测、UI显示、游戏状态管理。你不需要说"用BoxGeometry创建一个立方体作为角色",也不需要说"用Vector3计算距离判断碰撞",这些实现细节AI会自己补全。
但这里有个关键点:三句话的质量决定了游戏的质量。你说"做个3D游戏",AI只能给你一个旋转的立方体。你说"做个第一人称射击游戏,有敌人AI和掩体系统",AI能给你一个像模像样的FPS原型。提示词的颗粒度,直接对应生成结果的完整度。
2.4 整体架构长什么样
在开始实操之前,先让你对最终的项目结构有个概念。一个典型的"三句话3D游戏"项目大概长这样:
my-3d-game/ ├── index.html # 入口页面,包含canvas和UI层 ├── package.json # 依赖声明 ├── vite.config.js # 开发服务器配置 └── src/ ├── main.js # 游戏入口,初始化场景和循环 ├── player.js # 玩家角色逻辑 ├── world.js # 场景、光照、地面 ├── collectibles.js # 可收集物品逻辑 └── ui.js # 分数、计时器等界面这个结构不是固定的,AI可能会根据你的需求调整。比如你说"要多个关卡",它可能会加一个levels.js。你说"要音效",它会加一个audio.js。但核心思路是一样的:入口文件负责组装,各模块负责单一职责。
理解了整体思路,接下来进入实操环节。我会用一个具体的游戏需求作为例子,把从安装到跑通的每一步都写清楚。
3. 核心细节解析与实操要点
3.1 环境准备:Claude Code安装与配置
第一步是把工具装好。Claude Code的安装方式有几种,我用的是npm全局安装,因为最省事。
npm install -g @anthropic-ai/claude-code装完之后,在终端里输入claude就能启动。第一次启动会让你登录,按提示走就行。登录成功后,你需要确认当前使用的模型是Opus,因为做3D游戏这种复杂任务,Opus的理解能力和代码生成质量明显比Sonnet高一档。可以在Claude Code里用/model命令切换。
提示:如果你在Ubuntu上安装遇到权限问题,不要用
sudo npm install -g,而是配置npm的全局目录到用户目录下,避免后续Claude Code读写文件时出现权限混乱。
接下来是项目初始化。我不建议让Claude Code从零创建package.json,因为npm的交互式初始化它会卡住。更稳的做法是手动建好项目骨架:
mkdir my-3d-game && cd my-3d-game npm init -y npm install three vite这三条命令跑完,你就有了一个带Three.js和Vite的空项目。然后在项目目录里启动Claude Code:
claude这时候Claude Code会读取当前目录的文件结构,知道这是一个Node项目,装了Three.js。这个上下文很重要,它后续生成的代码会直接import * as THREE from 'three',不会给你搞出个CDN引入。
3.2 提示词设计:三句话怎么写才有效
这是整篇文章最核心的部分。同样三句话,写法不同,生成结果天差地别。我总结了一个"三句话提示词公式":
第一句:场景与视角——定义游戏发生在什么样的3D空间里,玩家从什么角度看。第二句:核心玩法——定义玩家能做什么,目标是什么,有什么反馈。第三句:规则与状态——定义胜负条件、计时、分数、关卡这些游戏状态。
拿一个"收集金币"的游戏举例,我的三句话是这样写的:
第一句:创建一个3D场景,地面是一个大平面,上面有随机分布的树木(用圆柱体做树干、球体做树冠),玩家是一个胶囊体,相机从斜上方45度跟随玩家,用WASD控制移动。 第二句:场景里随机生成20个金色圆环,玩家碰到圆环就收集,圆环消失并播放一个缩放消失的动画,屏幕左上角显示已收集数量。 第三句:游戏限时60秒,时间到显示"游戏结束"和最终得分,按R键重新开始。这三句话里,我刻意做了几件事:
- 指定了几何体类型(圆柱体、球体、胶囊体),因为不说的话AI可能用GLTF加载外部模型,而外部模型文件它生成不了,会卡住。
- 指定了相机角度(斜上方45度),因为不说的话默认可能是第一人称,操作手感完全不同。
- 指定了UI位置(左上角),因为不说的话AI可能把分数放在屏幕中间挡住视线。
- 指定了重开方式(按R键),因为不说的话游戏结束后只能刷新页面。
这些细节看起来琐碎,但正是它们决定了生成结果能不能直接玩。提示词的本质是把你的"脑内画面"翻译成AI能执行的约束条件。
3.3 Three.js核心概念速通
虽然你不需要写代码,但理解几个Three.js的核心概念,能让你在AI生成结果不对时知道怎么调整提示词。
Scene(场景):所有3D物体的容器。你可以理解成一个"世界",里面装着地面、角色、道具、灯光。
Camera(相机):玩家的眼睛。3D游戏里相机的位置和朝向决定了你看到什么。第三人称游戏相机跟在角色后面,第一人称相机就是角色眼睛的位置。
Renderer(渲染器):把场景和相机"拍"成2D画面显示在屏幕上。它每秒钟拍60次,就是60帧。
Mesh(网格):一个3D物体,由Geometry(形状)和Material(材质)组成。比如一个红色的球,Geometry是球体,Material是红色。
Light(灯光):没有灯光,3D场景就是一片黑。常见的有环境光(均匀照亮)、平行光(模拟太阳)、点光源(模拟灯泡)。
Game Loop(游戏循环):一个每帧执行一次的函数,负责更新角色位置、检测碰撞、刷新画面。Three.js里通常用requestAnimationFrame实现。
理解这六个概念,你就能看懂AI生成的代码大概在干什么,也能在出问题时用提示词精准描述:"相机跟随太近了,把距离从5改成10"比"相机不对"有效得多。
3.4 实操中的关键注意事项
在让Claude Code生成代码的过程中,有几个坑我踩过,提前告诉你。
第一个坑:不要一次性把三句话全丢进去。虽然理论上可以,但实际做的时候,我建议分步来。先发第一句,让它把场景和角色跑起来,浏览器里确认能看到东西、能移动。再发第二句,加收集物。最后发第三句,加游戏状态。这样做的好处是每一步都有反馈,出问题容易定位。一次性全生成,如果白屏了,你根本不知道是场景问题还是碰撞问题还是UI问题。
第二个坑:模型文件不要用外部资源。如果你说"加载一个角色模型",AI可能会写GLTFLoader去加载一个不存在的.glb文件,然后404报错。明确说"用基础几何体拼一个角色",它就会用CapsuleGeometry加SphereGeometry拼一个雪人出来,虽然丑但能跑。
第三个坑:物理引擎慎用。Three.js本身没有物理引擎,要加Cannon.js或Rapier。这些库的API复杂,AI生成容易出错。简单的碰撞检测(比如角色和金币的距离判断)用Vector3.distanceTo()就够了,不需要上物理引擎。除非你要做真实的抛物线和碰撞反弹,否则别碰。
第四个坑:性能问题。如果场景里物体太多(比如1000棵树),帧率会掉。让AI用InstancedMesh来渲染重复物体,或者减少数量。我一般控制在50个物体以内,保证60帧流畅。
4. 实操过程与核心环节实现
4.1 从零到跑通:完整操作流程
现在把整个流程串起来,你跟着做就能跑出一个能玩的3D游戏。
第一步:建项目
mkdir coin-rush && cd coin-rush npm init -y npm install three vite第二步:启动Claude Code
claude第三步:发第一句话
在Claude Code的对话框里输入:
创建一个3D游戏项目,使用Three.js和Vite。index.html作为入口,src/main.js作为主逻辑。场景包含:一个100x100的绿色地面平面,随机分布30棵树(圆柱体树干+球体树冠),一个胶囊体作为玩家角色。相机从玩家斜上方45度跟随,距离10个单位。用WASD控制玩家在地面上移动,移动速度每秒5个单位。加上环境光和一个从上方照射的平行光,开启阴影。发完之后,Claude Code会开始创建文件。它会先写index.html,然后写src/main.js,可能还会写vite.config.js。等它停下来,你在终端里跑:
npm run devVite会启动一个开发服务器,通常是http://localhost:5173。打开浏览器,你应该能看到一个绿色地面、一些树、一个胶囊体。按WASD,胶囊体会移动,相机会跟着。
如果白屏,打开浏览器控制台看报错,把报错复制给Claude Code,它会自己修。这是Claude Code最爽的地方,你不用自己debug。
第四步:发第二句话
确认第一步跑通后,继续输入:
在场景里随机生成20个金色圆环(TorusGeometry),悬浮在地面上方1个单位,每个圆环缓慢自转。玩家碰到圆环(距离小于1.5个单位)时,圆环播放一个0.3秒的缩小消失动画然后从场景移除,屏幕左上角显示"已收集:X/20"。Claude Code会修改main.js,加一个collectibles数组,加碰撞检测逻辑,加UI更新。刷新浏览器,你就能看到金色圆环,走过去碰到就消失,左上角数字增加。
第五步:发第三句话
加一个60秒倒计时,显示在屏幕右上角。时间归零时,暂停游戏循环,在屏幕中央显示"游戏结束"和最终收集数量。按R键重置游戏:玩家回到原点,所有圆环重新生成,计时器重置为60秒,分数归零。刷新浏览器,完整的游戏就出来了。从建项目到能玩,熟练的话15分钟以内。
4.2 关键代码解析:AI到底生成了什么
虽然你不需要写代码,但看懂AI生成的核心逻辑,能帮你在调整时知道该改哪里。下面是AI生成的main.js里最关键的几段(我做了简化,实际代码会更长)。
场景初始化部分:
import * as THREE from 'three'; const scene = new THREE.Scene(); scene.background = new THREE.Color(0x87ceeb); const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000); const renderer = new THREE.WebGLRenderer({ antialias: true }); renderer.setSize(window.innerWidth, window.innerHeight); renderer.shadowMap.enabled = true; document.body.appendChild(renderer.domElement);这段代码做了四件事:创建场景、创建透视相机(75度视野)、创建渲染器并开启抗锯齿和阴影、把渲染器的canvas挂到页面上。0x87ceeb是天蓝色,作为天空背景。
玩家移动逻辑:
const keys = {}; window.addEventListener('keydown', (e) => keys[e.key.toLowerCase()] = true); window.addEventListener('keyup', (e) => keys[e.key.toLowerCase()] = false); function updatePlayer(delta) { const speed = 5; const move = new THREE.Vector3(0, 0, 0); if (keys['w']) move.z -= 1; if (keys['s']) move.z += 1; if (keys['a']) move.x -= 1; if (keys['d']) move.x += 1; if (move.length() > 0) { move.normalize().multiplyScalar(speed * delta); player.position.add(move); } }这里有个细节值得说:move.normalize()。如果不归一化,同时按W和D时,移动向量是(1, 0, -1),长度是1.414,角色斜着走会比直着走快41%。归一化之后,斜着走和直着走速度一样。这是3D游戏移动的标准处理,AI自动加上了,说明它对游戏开发的最佳实践有理解。
碰撞检测逻辑:
function checkCollisions() { for (let i = collectibles.length - 1; i >= 0; i--) { const c = collectibles[i]; if (player.position.distanceTo(c.position) < 1.5) { scene.remove(c); collectibles.splice(i, 1); score++; updateUI(); } } }用distanceTo算玩家和圆环的直线距离,小于1.5就判定为碰撞。这是最简单的球形碰撞检测,对于收集类游戏完全够用。注意它从后往前遍历(i--),因为splice会改变数组长度,从后往前删不会漏掉元素。这个细节AI也处理对了。
游戏循环:
const clock = new THREE.Clock(); function animate() { requestAnimationFrame(animate); const delta = clock.getDelta(); if (!gameOver) { updatePlayer(delta); checkCollisions(); updateTimer(delta); } renderer.render(scene, camera); } animate();clock.getDelta()返回距离上一帧的秒数。用它乘以速度,保证不同帧率下移动速度一致。如果不用delta,120Hz屏幕上的角色会比60Hz屏幕上快一倍。gameOver标志位控制游戏结束后停止更新逻辑但继续渲染。
4.3 参数调优:让游戏手感变好
AI生成的默认参数能跑,但手感不一定好。下面是我调过的几个关键参数,你可以直接参考。
| 参数 | 默认值 | 推荐值 | 调整原因 |
|---|---|---|---|
| 相机距离 | 10 | 8 | 太远看不清角色细节 |
| 相机高度角 | 45度 | 50度 | 稍微俯视一点,地面看得更清楚 |
| 移动速度 | 5 | 7 | 5太慢,收集20个金币要跑很久 |
| 碰撞半径 | 1.5 | 2.0 | 1.5太严格,擦边不算收集很挫败 |
| 圆环数量 | 20 | 15 | 20个在100x100地面上太分散 |
| 游戏时长 | 60秒 | 45秒 | 60秒后期会无聊,45秒刚好紧张 |
调整方式很简单,直接在Claude Code里说:"把相机距离改成8,移动速度改成7,碰撞半径改成2.0"。它会找到对应的代码行修改。这就是AI编程的便利,你不需要知道参数在哪个文件第几行,描述清楚就行。
4.4 视觉优化:让游戏不那么"程序员美术"
默认生成的游戏,视觉上就是一堆纯色几何体,很丑。但你可以用提示词让它变好看,而且不需要自己建模。
加雾效:scene.fog = new THREE.Fog(0x87ceeb, 20, 80),远处物体渐隐,增加空间感。
加地面纹理:不用外部图片,用CanvasTexture程序化生成一个棋盘格纹理,代码几行就搞定。
加阴影:确保renderer.shadowMap.enabled = true,平行光castShadow = true,地面receiveShadow = true,角色和树castShadow = true。阴影一加,立体感立刻出来。
加圆环发光:用MeshStandardMaterial的emissive属性,设置成金色,圆环会有自发光效果,在场景里很显眼。
加粒子效果:收集圆环时,在圆环位置生成20个小粒子向外飞散,0.5秒后消失。这个用Points实现,AI能写。
这些优化你不需要一次全加,每次加一个,刷新看效果,满意就保留,不满意就撤销。这种迭代方式比一次性要求"把画面做好看"有效得多,因为"好看"太模糊,AI不知道你要什么。
5. 常见问题与排查技巧实录
5.1 白屏问题排查速查表
白屏是3D游戏开发最常见的问题,没有之一。下面是我整理的排查表,按出现频率排序。
| 现象 | 可能原因 | 排查方法 | 解决方法 |
|---|---|---|---|
| 完全白屏,控制台无报错 | canvas没挂到DOM | 检查document.body.appendChild | 让AI确认这行代码存在 |
白屏,控制台报Failed to resolve import | 依赖没装 | 看报错里的包名 | npm install 包名 |
白屏,报THREE is not defined | import方式错误 | 检查import语句 | 改成import * as THREE from 'three' |
| 黑屏,有UI但没3D画面 | 相机位置在物体内部或朝向错误 | 检查camera.position和lookAt | 让AI把相机移到(0, 10, 10)看向原点 |
| 画面卡住不动 | 游戏循环没启动 | 检查animate()是否被调用 | 确认最后一行有animate() |
| 物体闪烁 | 深度冲突 | 两个物体在同一位置 | 稍微错开位置或调整near/far |
提示:遇到白屏,第一件事永远是打开浏览器开发者工具(F12),看Console标签页的红色报错。把报错原文复制给Claude Code,90%的情况它能直接修好。不要自己瞎猜,也不要只跟AI说"白屏了",报错信息才是关键。
5.2 AI生成代码的典型错误与修复
即使Opus很强,生成的代码也不是100%正确。下面是我遇到过的典型错误。
错误一:Three.js版本API不匹配。Three.js在r150之后有一些API变更,比如Geometry被废弃改用BufferGeometry,outputEncoding改成outputColorSpace。如果AI用了旧API,控制台会警告或报错。修复方法是告诉AI:"检查Three.js版本,用最新的API"。
错误二:事件监听器重复绑定。在重置游戏时,如果重新执行了addEventListener,会导致按键响应多次。修复方法是把事件监听放在初始化时只执行一次,重置时只重置状态不重新绑定。
错误三:内存泄漏。移除物体时只调用了scene.remove(),但没有dispose()几何体和材质。短时间玩没问题,长时间玩会越来越卡。修复方法是移除时同时调用geometry.dispose()和material.dispose()。
错误四:delta时间异常。切换浏览器标签页再切回来,clock.getDelta()会返回一个很大的值,导致角色瞬移。修复方法是给delta设上限:const delta = Math.min(clock.getDelta(), 0.1)。
这些错误你不需要提前预防,遇到了再让AI修就行。但知道有这些坑,你能更快定位问题。
5.3 提示词迭代的实战技巧
用Claude Code做游戏,本质是一个"描述-生成-验证-调整"的循环。这个循环的效率,取决于你调整提示词的精准度。分享几个我总结的技巧。
技巧一:用具体数字代替模糊形容词。"相机近一点"不如"相机距离从10改成6"。"游戏节奏快一点"不如"移动速度从5改成8,游戏时长从60秒改成40秒"。数字是AI最容易执行的指令。
技巧二:描述现象而不是原因。出问题时,说"角色走到树的位置会穿过去"比说"碰撞检测有问题"更有效。前者描述了具体现象,AI能直接定位到缺失的碰撞逻辑;后者太笼统,AI可能去改无关的代码。
技巧三:一次只改一个东西。不要一次性说"把相机改近、速度改快、加个跳跃、换个天空颜色"。改完如果出问题,你不知道是哪个改动导致的。一次一个,改完验证,通过再改下一个。
技巧四:善用"撤销"。Claude Code支持/undo命令,如果某次修改把项目搞坏了,直接撤销回到上一个可用状态。这比让AI"修复刚才的修改"更可靠,因为AI有时候会越修越乱。
技巧五:保存可用的版本。每完成一个阶段(场景跑通、收集逻辑跑通、游戏状态跑通),用git提交一次。这样即使后续改崩了,也能回退到最近的可用版本。Claude Code对git操作很熟,你可以直接说"帮我git commit,信息是'完成收集逻辑'"。
5.4 从"能玩"到"好玩"的进阶方向
三句话能做出能玩的游戏,但要做出好玩的游戏,还需要一些额外的设计。这些不是必须的,但如果你想让自己的项目更完整,可以往这些方向扩展。
音效:用Web Audio API生成简单的音效,收集金币的"叮"声、游戏结束的"嘟"声。不需要外部音频文件,用OscillatorNode合成就行。
难度曲线:随着时间推移,圆环越来越小,或者移动速度越来越快。这需要在游戏循环里根据剩余时间动态调整参数。
多种收集物:金色圆环加10分,红色圆环扣5分,蓝色圆环加时间。增加游戏的策略性。
排行榜:用localStorage存最高分,每次游戏结束对比,破纪录时显示"新纪录"。
移动端适配:加虚拟摇杆,让手机也能玩。这个稍微复杂,需要处理触摸事件。
这些扩展每一个都可以用一两句话让Claude Code加上去。比如"加一个音效系统,收集圆环时播放一个短促的高音,游戏结束时播放一个下降音"。AI会用Web Audio API实现,不需要你准备音频文件。
6. 这套方法的能力边界与适用场景
6.1 三句话能做到什么程度
经过我反复测试,三句话开发3D游戏的能力边界大概是这样:
完全能做的:收集类游戏、跑酷类游戏、简单的射击游戏、塔防游戏、解谜游戏、第一人称漫游、物理弹球。这些游戏的共同特点是玩法逻辑简单,视觉用基础几何体就能表达,不需要复杂的动画和模型。
勉强能做的:带简单敌人AI的射击游戏、多关卡平台跳跃、简单的赛车游戏。这些需要更多的状态管理和逻辑分支,三句话不够,可能需要十句话,但依然在AI能力范围内。
做不了的:需要精细角色动画的(比如格斗游戏)、需要复杂物理模拟的(比如真实赛车)、需要大量美术资源的(比如开放世界)、需要网络多人对战的。这些不是AI编程能力的问题,是Three.js和"0建模"这个前提的限制。
6.2 适合哪些人用这套方法
这套方法最适合快速原型验证。你有一个游戏想法,不确定好不好玩,用三句话花半小时做个能操作的demo,自己玩玩看。比写几十页设计文档再找人开发高效得多。
也适合教学演示。给不懂编程的人展示"AI能做什么",三句话出一个3D游戏,视觉冲击力比"AI能写个排序算法"强一百倍。
还适合独立开发者的前期探索。用AI生成核心玩法原型,验证有趣之后再考虑用专业引擎重做。AI生成的代码虽然不能直接用于商业项目,但作为原型参考完全够用。
不适合生产环境。AI生成的代码在性能、安全性、可维护性上都没经过优化,直接上线会有问题。它适合做demo,不适合做产品。
6.3 我个人的实操体会
最后分享几个我用了这段时间的真实感受。
Opus和Sonnet的差距在3D游戏场景下非常明显。Sonnet生成的代码经常有API错误,需要来回修好几次。Opus基本一次过,偶尔有小问题也是一句话就修好。如果要做3D游戏,别省那点模型费用,直接用Opus。
提示词的质量比模型的能力更重要。我见过有人用Opus生成出一堆垃圾,也见过有人用Sonnet做出不错的demo。区别就在提示词。花10分钟想清楚你要什么,比花1小时让AI反复试错高效得多。
不要追求一次完美。AI编程的正确姿势是迭代,先跑起来,再调手感,再加功能,最后做视觉。每一步都验证,每一步都可回退。想一次生成一个完美游戏,结果往往是卡在某个报错上出不来。
这套方法会改变你对"开发"的认知。当你能用三句话做出一个3D游戏时,你会发现很多以前觉得"需要专业团队"的事情,其实一个人加一个AI就能做出原型。这不是说专业开发不重要了,而是说验证想法的成本被极大地降低了。你可以一天试十个游戏创意,哪个好玩再深入做哪个。这种快速试错的能力,比任何单一技术都值钱。
如果你也想试试,现在就可以打开终端,npm install -g @anthropic-ai/claude-code,然后建个空文件夹,把上面那三句话复制进去。半小时后,你会有一个自己能玩的3D游戏。踩过几次坑之后你会发现,真正的门槛不是技术,而是你能不能把脑子里的画面,翻译成AI能听懂的话。