全文提要
RPG游戏设计指南——玩家同伴 AI
一、设计目标
构建一套 统一、可扩展、可数据驱动 的同伴 AI 决策机制,使同伴:
- 不乱跑、不恋战
- 能根据模式自然切换攻击与跟随
- 在 Boss / 混战中表现“像人”
- 具备绝对安全兜底,永不失控
二、核心思想
- 所有行为由 “目标评分” 驱动
- 距离惩罚 用于降低目标吸引力
- 强制跟随距离 作为最终兜底规则
三、AI 决策分层结构
1️⃣ 硬规则层(最高优先级 · 不可被模式覆盖)
用于防止 AI 失控,是绝对兜底层:
-
玩家死亡 / 不可行动
- 同伴进入
Idle状态
- 同伴进入
-
同伴距离玩家 > 最远强制跟随距离
- 强制进入跟随玩家状态
-
当前目标不可达 / 已死亡
- 切换下一个可选目标
-
无任何可选目标
- 强制跟随玩家
2️⃣ 目标评分层(核心逻辑)
同伴在可感知范围内扫描所有候选目标,对每个目标计算一个 TargetScore:
TargetScore =
基础目标权重
+ 威胁加成
+ 模式加成
- 距离惩罚
同伴始终选择 TargetScore 最高的目标 作为当前行为目标。
四、距离惩罚机制(核心)
1️⃣ 距离惩罚的定义
目标距离“关键锚点”越远,目标评分扣分越多
常用锚点:
- 玩家 → 目标 (防止脱队)
对应:优先跟随模式(优先选择离玩家近的目标)
- 同伴 → 目标 (防止乱跑)
对应:优先战斗模式(优先选择离同伴自身近的目标)
- 特殊情况:Boss 模式
完全优先打 Boss(Boss 距离惩罚极低或忽略)
2️⃣ 距离惩罚计算方式(推荐)
阶段式线性惩罚(商业项目首选)
若 距离 ≤ 安全距离 → 无惩罚
若 距离 > 安全距离 → (距离 - 安全距离) × 距离权重
特点:
- 近距离行为自然
- 超距后吸引力快速衰减
- 易调、易理解
3️⃣ 距离惩罚的效果
- 降低目标评分
- 使远处目标自然失去竞争力
- 间接触发:
- 放弃当前目标
- 停止战斗
- 切换为跟随行为
五、最远强制跟随距离(兜底机制)
1️⃣ 机制定义
每个同伴拥有两个独立属性:
MaxForceFollowDistanceMaxTeleportDistance
触发规则:
-
同伴 ↔ 玩家距离 > MaxForceFollowDistance
- 直接触发 强制跟随兜底
-
同伴 ↔ 玩家距离 > MaxTeleportDistance
- 进入跟随模式并 直接瞬移至玩家身边(极端兜底)
2️⃣ 强制跟随的具体行为
- 当前目标评分 直接视为 0
- 不再进行目标评估
- 立即进入
Follow / Return状态
规则细化:
-
MaxTeleportDistance > 距离 > MaxForceFollowDistance- 强制跟随(正常追赶)
-
距离 > MaxTeleportDistance- 直接瞬移到玩家身边
等同于:距离惩罚被视为“扣到无穷大”
3️⃣ 与距离惩罚的关系
| 机制 | 作用 |
|---|---|
| 距离惩罚 | 渐进式降低战斗意愿 |
| 强制跟随距离 | 硬阈值,立即收回 AI 控制权 |
两者不是重复,而是分工明确:
- 距离惩罚 = 日常理智
- 强制跟随 = 紧急刹车
六、三种战斗模式在该机制下的体现
🟥 优先战斗型
- 距离惩罚权重低
- 安全距离大
- 强制跟随距离较远
更容易脱离玩家,但不会失控
🟦 优先跟随型
- 距离惩罚权重高
- 安全距离小
- 强制跟随距离较近
行为像护卫,稳定可靠
🟨 优先 Boss 型
- Boss 目标的距离惩罚较小
- 非 Boss 目标距离惩罚较高
Boss 在场时高度专注
七、状态切换的统一原则
若 bestTargetScore < 战斗阈值
→ 进入跟随状态
若 距离 > MaxForceFollowDistance
→ 强制跟随(无条件)
不写死逻辑,完全由评分系统自然驱动
八、商业级优势总结
- 行为自然、连续、无突变
- 所有模式统一一套 AI
- 可完全数据驱动
- 极易扩展新模式 / 新规则
- 永不出现“AI 跑丢”的灾难
评论