从零开始,用 AI 助手在 2 小时内完成一款完整的赛博朋克 FPS 游戏开发。本文将详细介绍如何通过精心设计的提示词(Prompt)来引导 AI 完成游戏开发,适合想要尝试 AI 辅助开发的游戏爱好者阅读。
目录
- [前言:从传统开发到 AI 辅助开发](#前言:从传统开发到 AI 辅助开发)
- [为什么选择 WorkBuddy 开发游戏?](#为什么选择 WorkBuddy 开发游戏?)
- [项目介绍:NEON STRIKE](#项目介绍:NEON STRIKE)
- 提示词工程基础
- 六大核心模块的提示词策略
- 常见问题与解决方案
- 如何发布你的游戏
- 开发心得与经验总结
- 总结
前言:从传统开发到 AI 辅助开发
作为一名有多年游戏爱好者,我深刻体会过"从零开发一款游戏"的艰辛。传统开发模式通常需要数周甚至数月时间,这对于业余开发者来说是一个巨大的门槛。
直到我开始使用 WorkBuddy 进行游戏开发,这个过程发生了根本性的变化。
AI 辅助开发的效率革命
| 开发阶段 | 传统方式 | AI 辅助开发 | 效率提升 |
|---|---|---|---|
| 需求分析 | 3-5 天 | 1-2 小时 | ~10x |
| 编码实现 | 2-4 周 | 2-4 小时 | ~15x |
| 调试修复 | 1-2 周 | 1-2 小时 | ~10x |
| 文档编写 | 3-5 天 | 1-2 小时 | ~5x |
使用 WorkBuddy 开发 NEON STRIKE 这款 FPS 游戏,总耗时不超过 2 小时。
为什么选择 WorkBuddy 开发游戏?
1. 全栈能力覆盖
WorkBuddy 整合了代码编写、调试、搜索、文件管理等多种能力,形成了一个完整的 AI 开发助手生态:
- 代码生成:直接输出可运行的完整代码
- 知识检索:内置游戏开发相关知识库
- 文件操作:自动创建和修改项目文件
- 多模态生成 :支持生成游戏配图和素材

2. 实时协作与长对话记忆
WorkBuddy 能够记住整个对话的上下文:
- 可以在多个会话中持续完善同一个项目
- AI 能理解你的项目架构和编码风格
- 遇到问题时,AI 能快速定位问题所在
3. 丰富的技能市场
WorkBuddy 内置了多种专业技能(Skills),按需加载即可使用:
| 技能名称 | 用途 | 游戏开发场景 |
|---|---|---|
AI绘图 |
生成图片素材 | 敌人立绘、场景概念图 |
浏览器自动化 |
Web 测试 | 游戏自动化测试 |
文档处理 |
文档生成 | 游戏设计文档 |
4. 支持多种游戏类型
虽然本文以 FPS 游戏为例,但 WorkBuddy 的能力并不局限于某一类游戏:
- 2D 游戏:平台跳跃、解谜、塔防
- 3D 游戏:FPS、赛车、冒险解谜
- 休闲游戏:消除、合成、模拟经营
- 策略游戏:回合制、即时战略
项目介绍:NEON STRIKE
游戏简介
NEON STRIKE (霓虹突击)是一款完全基于浏览器运行的赛博朋克风格第一人称射击游戏。

游戏背景设定
在不远的未来,霓虹灯照亮了城市的每一个角落。城市被巨型公司控制,人民生活在数据与代码编织的牢笼中。你是一名反抗军战士,潜入公司的研发中心,消灭所有守卫的赛博士兵,窃取核心数据。
核心玩法
- 目标:在限定场景内消灭所有敌人
- 操作:第一人称视角,WASD 移动,鼠标瞄准,左键射击
- 挑战:合理利用掩体,管理弹药,躲避敌人攻击
核心特性一览
| 特性模块 | 实现方案 | 技术亮点 |
|---|---|---|
| 3D 渲染 | Three.js | PBR 材质、实时阴影、后期处理 |
| 视角控制 | Pointer Lock API | 鼠标锁定、视角平滑 |
| 物理系统 | 自定义实现 | 重力、跳跃、碰撞检测 |
| AI 敌人 | 状态机 | 追踪、攻击、死亡状态 |
| 武器系统 | 射线检测 | 精确命中、后坐力反馈 |
| 音效系统 | Web Audio API | 合成音效、无需外部文件 |
| UI 系统 | HTML/CSS 覆盖 | 响应式设计、移动端适配 |
提示词工程基础
什么是好的游戏开发提示词?
一个好的提示词需要包含以下几个要素:
┌─────────────────────────────────────────────────────┐
│ 提示词结构 │
├─────────────────────────────────────────────────────┤
│ 1. 角色定义 → 你是什么身份? │
│ 2. 任务目标 → 你要完成什么? │
│ 3. 具体要求 → 有什么特殊需求? │
│ 4. 输出格式 → 你希望得到什么形式的结果? │
│ 5. 约束条件 → 有什么限制需要注意? │
└─────────────────────────────────────────────────────┘
提示词质量对比
❌ 模糊提示词(效果差):
帮我做一个FPS游戏
✅ 清晰提示词(效果好):
你是一个专业的游戏开发者。请用单个HTML文件(使用Three.js库,通过CDN引入),
创建一个完整可玩的第一人称射击游戏(FPS)。
要求:
- 游戏必须是自包含的单个HTML文件
- 第一人称视角,使用鼠标控制视角(WASD移动,前后左右,空格跳跃,鼠标左键射击)
- 场景:一个简单的封闭房间或迷宫
- 玩家:有移动速度、跳跃、重力、射击
- 敌人:至少5个简单AI敌人,会向玩家移动并攻击,敌人有血量
- 武器:简单的手枪,30发弹匣,R键换弹,射击有后坐力效果
- UI:显示生命值、弹药量、得分
- 游戏结束时有Game Over或胜利画面,并有重玩按钮
- 风格:赛博朋克/科幻风格
- 控制说明:在游戏开始时显示操作说明
请输出完整的HTML代码。
提示词进阶技巧
1. 分解式提示词
不要一次性要求生成整个游戏,而是分模块开发:
| 开发阶段 | 提示词重点 |
|---|---|
| 第一阶段 | 场景搭建(地板、墙壁、光照) |
| 第二阶段 | 玩家控制器(WASD、跳跃、重力) |
| 第三阶段 | 敌人 AI(追踪、攻击、死亡) |
| 第四阶段 | 武器系统(射击、命中、特效) |
| 第五阶段 | UI 和音效 |
| 第六阶段 | 游戏状态(开始、结束、胜利) |
2. 迭代式优化
第一轮:生成基础版本
第二轮:根据测试结果指出问题
第三轮:要求针对性优化
第四轮:添加额外功能
3. 上下文补充
在多轮对话中,可以补充项目背景:
(继续上一轮的对话)
现在我们需要添加敌人AI。之前创建的场景和玩家控制器保持不变,
请添加会追踪玩家的敌人。敌人需要有:
- 30点生命值
- 被击中会掉血
- 死亡后有爆炸效果
- 消灭一个敌人得100分
六大核心模块的提示词策略
模块一:场景搭建
提示词模板
请帮我创建一个赛博朋克风格的3D游戏场景:
1. 场景规格:
- 60×60单位的封闭空间
- 8单位高度的穹顶
- 地板采用深色金属质感,带有发光的网格线条
2. 光照设计:
- 主光源:青色(#0ff)的方向光,位于斜上方
- 环境光:深蓝色调,营造夜晚氛围
- 点缀光:在场景角落添加洋红色和绿色的点光源
3. 墙体:
- 外墙:深灰色,带轻微金属光泽
- 内部掩体:创建几个不同高度的掩体供玩家躲避
- 装饰柱:在角落放置发光柱子作为装饰
4. 氛围:
- 添加雾效增加空间深度感
- 整体色调偏暗,突出霓虹灯光效果
请使用Three.js实现,输出完整的场景搭建代码。
关键描述要点
| 要素 | 描述方法 | 示例 |
|---|---|---|
| 尺寸 | 具体数值 + 单位 | "60×60单位大小" |
| 颜色 | 十六进制/颜色名称 | "深灰色 (#333344)" |
| 材质 | 材质类型 + 特性 | "金属质感、高光泽" |
| 光照 | 光源类型 + 颜色 + 位置 | "青色点光源在角落" |
| 氛围 | 整体描述 + 关键词 | "赛博朋克、霓虹灯" |
模块二:玩家控制器
提示词模板
请实现FPS游戏的玩家第一人称控制器:
1. 视角控制:
- 使用Pointer Lock API锁定鼠标
- 鼠标控制视角(上下左右)
- 视角范围限制在上下各90度
- 鼠标灵敏度适中
2. 移动控制:
- WASD键控制前后左右移动
- W/S向前向后,A/D向左向右
- 移动速度约8单位/秒
- 移动方向跟随当前视角方向
3. 跳跃系统:
- 空格键跳跃
- 跳跃高度约2单位
- 有重力下落效果
- 只有在地面上才能跳跃
4. 碰撞检测:
- 不能穿过墙壁和障碍物
- 限制在场景边界内
5. 玩家参数:
- 身高1.7单位(眼睛高度)
- 碰撞半径0.5单位
请使用Three.js和Pointer Lock API实现。
描述技巧
描述运动逻辑时,用"当...时,应该..."的因果结构:
✓ "当玩家按下W键时,相机应该向前移动"
✓ "当玩家在地面上且按下空格时,应该跳跃"
✓ "当相机高度低于1.7时,应该重置为1.7并停止下落"
避免模糊的指令:
✗ "玩家可以移动" → ✓ "W键向前,S键向后,A键向左,D键向右"
✗ "有跳跃" → ✓ "空格键跳跃,跳跃高度2单位,有重力下落"
📌 配图占位:玩家控制器工作原理
![控制器原理]
模块三:AI 敌人系统
提示词模板
请为FPS游戏添加AI敌人系统:
1. 敌人外观(赛博朋克机器人风格):
- 深红色身体,带发光效果
- 头部为发光红色立方体
- 眼睛为青色发光点
- 整体高度约2单位
2. 敌人数量与位置:
- 5个敌人
- 分布在场景不同位置
- 初始位置示例:(-15,0,-15), (15,0,-15), (-15,0,15), (15,0,15), (0,0,-20)
3. 行为状态机:
- 追踪状态:当玩家距离大于2.5单位时,向玩家移动
- 攻击状态:当玩家距离小于等于2.5单位时,每秒扣玩家10点生命
- 死亡状态:生命值归零时播放爆炸效果并移除
4. 敌人属性:
- 初始生命值:30点
- 移动速度:约2.5单位/秒
- 攻击间隔:1秒
- 每次攻击伤害:10点
5. 视觉效果:
- 死亡时有彩色粒子爆炸效果(红色和青色)
- 被击中时有火花效果
敌人应该有明确的状态切换逻辑,代码要清晰易懂。

状态描述方法
AI 状态机是最容易用自然语言描述的概念之一:
用"如果...那么..."描述状态切换:
追踪状态:
- 如果 与玩家的距离 > 攻击范围 → 向玩家移动
- 如果 与玩家的距离 ≤ 攻击范围 → 切换到攻击状态
攻击状态:
- 如果 与玩家的距离 ≤ 攻击范围 → 继续攻击(每1秒扣血)
- 如果 与玩家的距离 > 攻击范围 → 切换到追踪状态
死亡状态:
- 如果 生命值 ≤ 0 → 播放死亡动画,移除敌人
模块四:武器与射击系统
提示词模板
请实现FPS游戏的武器射击系统:
1. 基本射击:
- 鼠标左键射击
- 射速:约每秒7发(射击间隔0.15秒)
- 单发伤害:25点
2. 弹药系统:
- 弹匣容量:30发
- 显示当前弹药和最大弹药
- R键手动换弹
- 换弹时间:2秒
- 换弹期间不能射击
3. 命中检测:
- 使用射线检测(Raycasting)技术
- 从相机位置向前方发射射线
- 检测是否命中敌人或墙壁
4. 视觉反馈:
- 射击时屏幕底部有枪口火焰
- 射击时有轻微屏幕抖动(后坐力)
- 准星位于屏幕中央
5. 音效(使用Web Audio API合成):
- 射击声:锯齿波快速下降
- 命中声:方波短促
- 换弹声:三角波
请实现完整的手枪武器系统。
射击逻辑描述
命中检测的描述要点:
1. 发射源:从相机/玩家眼睛位置发射
2. 发射方向:跟随相机朝向
3. 检测范围:足够远的距离(如100单位)
4. 检测对象:墙壁和敌人
5. 命中处理:
- 如果命中敌人 → 敌人掉血,死亡判定
- 如果命中墙壁 → 创建命中痕迹(可选)
射击反馈的描述要点:
1. 即时反馈(视觉/听觉):
- 枪口火焰
- 屏幕抖动
- 射击音效
2. 命中反馈(视觉/听觉):
- 命中火花
- 命中音效
3. 伤害反馈(针对玩家):
- 屏幕闪红
- 受伤音效
模块五:UI 系统
提示词模板
请为FPS游戏添加HUD界面:
1. HUD布局(左下角):
- 生命值条:青色背景,左侧显示当前生命值
- 弹药显示:显示"当前弹药/最大弹药",如"30/30"
- 弹药条:黄色填充
2. 得分显示(右上角):
- 显示"得分: X"格式
- 洋红色,发光效果
3. 敌人计数(顶部中央):
- 显示剩余敌人数量
- 红色字体
4. 准星(屏幕中央):
- 简单的十字线
- 青色发光效果
5. 开始界面:
- 游戏标题"NEON STRIKE"
- 操作说明(WASD移动、鼠标射击、空格跳跃、R换弹)
- "开始游戏"按钮
6. 结束界面:
- Game Over界面(生命值为0时)
- 胜利界面(消灭所有敌人时)
- 显示最终得分
- "重新开始"按钮
风格要求:赛博朋克霓虹风格,使用深色半透明背景,发光文字效果。
UI 描述要点
描述UI元素时,指定:位置、大小、颜色、格式
生命值条:
- 位置:左下角
- 大小:200×12像素
- 颜色:青色边框,渐变填充(绿到青)
- 格式:百分比宽度
得分:
- 位置:右上角
- 颜色:洋红色(#f0f)
- 效果:文字发光
界面层级:
- 3D场景 → 游戏HUD → 开始/结束界面
模块六:音效系统
提示词模板
请使用Web Audio API为FPS游戏添加音效系统:
1. 音效类型:
- 射击声:锯齿波,频率从高快速下降,短促有力
- 命中声:方波,中等频率,有撞击感
- 敌人死亡声:锯齿波,频率快速下降到低,有爆炸感
- 玩家受伤声:正弦波,低沉,让人警觉
- 跳跃声:正弦波,频率上升,轻快
- 换弹声:三角波,两段式
2. 实现要求:
- 使用Web Audio API的OscillatorNode创建
- 不使用外部音频文件
- 每种音效有独立函数
- 音量适中,不刺耳
3. 触发时机:
- 射击时 → 射击音效
- 子弹命中敌人 → 命中音效
- 敌人死亡 → 死亡音效
- 玩家被攻击 → 受伤音效
- 玩家跳跃 → 跳跃音效
- 玩家换弹 → 换弹音效
请输出完整的音效系统代码。
音效描述技巧
用音色+行为描述声音:
射击声:
- 音色:锯齿波(有金属感)
- 行为:高频→低频快速过渡
- 特点:短促(0.1秒)
爆炸声:
- 音色:锯齿波或噪声
- 行为:高频→低频较慢过渡
- 特点:较长(0.4秒),有衰减
跳跃声:
- 音色:正弦波(纯净)
- 行为:低频→高频上升
- 特点:短促(0.1秒)
受伤声:
- 音色:正弦波(紧张)
- 行为:中频→低频下降
- 特点:中等长度(0.2秒)
性能优化提示词
当游戏运行不流畅时,可以这样请求优化:
当前游戏在某些情况下帧率较低,请帮我优化性能:
1. 渲染优化:
- 阴影贴图使用合理的分辨率(2048×2048)
- 使用PCFSoftShadowMap阴影类型
- 添加场景雾效限制渲染距离
2. 碰撞检测优化:
- 敌人追踪前先做距离预检,超出范围的敌人跳过检测
- 只对玩家附近的墙壁进行碰撞检测
3. 帧率控制:
- 目标帧率60FPS
- 使用requestAnimationFrame
- 防止标签页失焦后恢复时delta过大
请在保持游戏功能的前提下进行优化。
常见问题与解决方案
Q1: 鼠标锁定不生效?
问题描述:点击开始游戏后,鼠标没有被锁定,仍然显示系统光标。
解决方案提示词:
游戏中点击开始按钮后鼠标没有锁定,请问如何解决?
已尝试的方法:
- 检查控制台没有报错
- 点击了开始按钮
预期行为:
- 点击开始后鼠标应该锁定,玩家可以移动视角
Q2: 敌人穿墙怎么办?
问题描述:敌人有时会穿过墙壁。
解决方案提示词:
敌人会穿过墙壁,请问如何解决?
当前情况:
- 敌人能正常追踪玩家
- 但有时会穿过墙壁
- 玩家不能穿墙(碰撞检测正常)
请优化敌人的碰撞检测,可以考虑:
- 分段移动检测
- 更精确的碰撞盒
- 移动前检测障碍物
Q3: 音效无法播放?
问题描述:某些浏览器中音效无法播放。
解决方案提示词:
在某些浏览器中音效无法播放,请问如何解决?
已尝试的方法:
- 使用Web Audio API
- 代码逻辑没有问题
请考虑:
- 浏览器自动播放策略
- 用户交互后才能创建AudioContext
- 如何优雅地处理这种情况
Q4: 移动端适配问题?
问题描述:游戏在手机上操作不便。
解决方案提示词:
游戏在移动端操作不便,请问如何添加移动端支持?
当前问题:
- 电脑端操作正常
- 手机上无法瞄准和移动
需要添加:
- 虚拟摇杆控制移动
- 触控按钮控制射击
- 响应式布局适配
####后续在游玩游戏的时候有什么不足的地方,还可以让他优化,从而达到你的预期。
如何发布你的游戏
方案一:直接分享 HTML 文件
最简单的发布方式,直接分享 NEON_STRIKE.html 文件:
优点:
- 零成本,即刻分享
- 无需服务器
- 跨平台兼容
缺点:
- 无法追踪玩家数据
- 无法防止盗用
方案二:部署到静态托管平台
推荐使用以下平台:
| 平台 | 免费额度 | CDN 加速 | 自定义域名 |
|---|---|---|---|
| GitHub Pages | 1GB | ✅ | ✅ |
| Vercel | 100GB | ✅ | ✅ |
| Netlify | 100GB | ✅ | ✅ |
| Cloudflare Pages | 无限 | ✅ | ✅ |
部署步骤:创建 GitHub 仓库 → 推送代码 → 启用 GitHub Pages
方案三:嵌入到游戏平台
可以将游戏发布到以下平台:
- itch.io --- 独立游戏首选
- GameJolt --- 玩家社区
- Kongregate --- 游戏聚合平台
开发心得与经验总结
AI 辅助开发的最佳实践
1. 需求描述要具体
❌ 模糊描述:
"帮我做一个 FPS 游戏"
✅ 具体描述:
"创建一个赛博朋克风格 FPS 游戏,使用 Three.js,60×60 的封闭房间,5 个 AI 敌人,WASD 移动,鼠标瞄准射击,包含生命值、弹药、得分 UI"
2. 分模块逐步开发
不要一次性要求生成整个游戏,而是分模块开发:
第一轮:场景搭建(地板、墙壁、光照)
第二轮:玩家控制器(WASD、跳跃、重力)
第三轮:敌人 AI(追踪、攻击、死亡)
第四轮:武器系统(射击、命中、特效)
第五轮:UI 和音效
第六轮:游戏状态(开始、结束、胜利)
3. 善用迭代优化
第一轮:生成基础版本
第二轮:根据需求调整细节
第三轮:添加遗漏的功能
第四轮:性能优化
4. 保持对话上下文
在一个项目中持续对话,WorkBuddy 能记住:
- 项目的整体架构
- 已定义的常量和配置
- 你的编码偏好
- 之前解决的问题
AI 辅助开发的局限性
虽然 AI 大幅提升了开发效率,但仍有局限:
| 领域 | AI 能力 | 人类优势 |
|---|---|---|
| 创意设计 | ⚠️ 有限 | ✅ 无限 |
| 复杂 AI | ⚠️ 简单状态机 | ✅ 行为树、决策树 |
| 性能优化 | ⚠️ 通用建议 | ✅ 具体调优 |
| 美术资产 | ⚠️ 生成参考 | ✅ 最终成品 |
| 玩法测试 | ❌ 无法测试 | ✅ 亲身体验 |
给新手的建议
- 从小项目开始:先尝试 2D 小游戏,再挑战 3D 游戏
- 学习基础概念:理解游戏循环、物理引擎、渲染管线
- 阅读他人代码:学习优秀的开源游戏项目
- 保持耐心:AI 不是万能的,需要多次迭代
未来展望
基于本次开发经验,我计划在 WorkBuddy 上尝试更多类型的游戏:
已列入计划的项目
- 2D 平台跳跃游戏 --- 预计 1 小时
- 回合制策略游戏 --- 预计 2-3 小时
- 塔防游戏 --- 预计 2 小时
- 赛车游戏 --- 预计 3 小时
想要尝试的技术方向
| 技术方向 | 应用场景 | 学习难度 |
|---|---|---|
| WebGL 着色器 | 自定义视觉效果 | ⭐⭐⭐ |
| WebXR (VR) | 沉浸式游戏体验 | ⭐⭐⭐⭐ |
| WebSocket | 多人联机游戏 | ⭐⭐⭐ |
| WebGPU | 次世代渲染性能 | ⭐⭐⭐⭐ |
对 WorkBuddy 的期待
- 更长的上下文记忆:支持更大的项目
- 代码解释功能:自动生成代码注释
- 性能分析集成:自动检测性能瓶颈
- 更多技能支持:如游戏引擎特定技能
总结
WorkBuddy 为独立游戏开发者打开了一扇新的大门。它不能替代专业的游戏开发技能,但能显著加速开发流程、降低入门门槛。
通过本次开发经验,我深刻体会到:
- AI 是强大的助手,但不是替代者 --- 它能处理重复性工作,但创意和决策仍需人类
- 好的需求描述是成功的一半 --- 具体、清晰的需求能获得更好的结果
- 迭代开发优于一步到位 --- 分模块开发更容易调试和优化
- 持续学习是关键 --- AI 技术在进步,开发者也需要不断学习
如果你也想尝试 AI 辅助开发游戏,不妨从一个小项目开始,体验一下这种全新的开发方式。
