用史上最强AI做游戏的提示词写作技巧#7

03/1120 浏览开发心得
【结构化描述:让AI精准理解游戏逻辑的“设计蓝图”】 3/4
由于论坛发帖有1000字的字数限制,这篇帖子需要分成四次发
四、如何编写结构化描述?—— 具体技巧与模板
1. 使用列表或分块格式
在提示词中用明确的标记分隔输入、处理、输出,让AI一目了然。
模板:
请为[游戏引擎/语言]编写一个[功能名称]脚本。具体要求如下:
输入:
- [描述输入1]
- [描述输入2]
处理:
- [逻辑规则1]
- [逻辑规则2]
- [边界条件]
输出:
- [效果1]
- [效果2]
2. 先整体后局部
如果功能较复杂,可以先概述整体流程,再详细描述每个步骤。例如:
整体流程:玩家按下近战攻击键,进入攻击状态,动画播放到特定帧时检测前方敌人,造成伤害并播放特效。
3. 加入伪代码或数学公式
对于复杂的计算,可以用伪代码或公式表达,减少AI的理解偏差。
伤害计算公式:最终伤害 = 基础攻击力 × (1 + 暴击率?) 若暴击则 × 2,再减去敌人防御力,但最低不低于1。
4. 指定数据流向
说明哪些数据需要传递,例如子弹需要知道是谁发射的(以区分敌我),拾取物品需要知道玩家背包引用。
5. 包含时序要求
有些功能有严格的时序依赖,比如必须在动画特定帧触发伤害判定。应在“处理”中说明这种时序关系。
五、示例对比:模糊描述 vs 结构化描述
❌ 模糊描述
“请写一个Unity脚本,实现玩家扔手雷的功能。”
✅ 结构化描述
你是一位Unity专家,请为我写一个玩家扔手雷的脚本。项目使用Unity 2022.3和Input System包。要求如下:
输入:
- 玩家按下“G”键。手雷有冷却时间,2秒内只能扔一颗。
处理:
- 检查手雷数量。
- 若手雷数量>0,则数量减1,开始冷却计时。
- 生成手雷预制体的位置为玩家前方的投掷点。
- 给手雷一个初始力:方向为玩家摄像机的前方(水平方向),加上一个向上的仰角(例如30度),力度可调。
- 手雷的爆炸延迟设置为3秒,爆炸时产生伤害和特效。
输出:
- 播放“扔手雷”动画。
- 播放“拉开引环”音效。
- 在投掷点生成手雷模型,并激活物理组件。
- 更新UI上的手雷数量文本。
- 爆炸时生成爆炸粒子特效和爆炸音效,对范围内敌人造成伤害。
边界条件:
- 如果手雷数量为0,播放“空仓”音效,不执行后续。
- 冷却期间按下G键无效。
- 手雷爆炸伤害仅对Enemy生效。
4
1
2