全文提要

RPG游戏设计指南——玩家同伴 AI

一、设计目标

构建一套 统一、可扩展、可数据驱动 的同伴 AI 决策机制,使同伴:

  • 不乱跑、不恋战
  • 能根据模式自然切换攻击与跟随
  • 在 Boss / 混战中表现“像人”
  • 具备绝对安全兜底,永不失控

二、核心思想

  • 所有行为由 “目标评分” 驱动
  • 距离惩罚 用于降低目标吸引力
  • 强制跟随距离 作为最终兜底规则

三、AI 决策分层结构

1️⃣ 硬规则层(最高优先级 · 不可被模式覆盖)

用于防止 AI 失控,是绝对兜底层

  • 玩家死亡 / 不可行动

    • 同伴进入 Idle 状态
  • 同伴距离玩家 > 最远强制跟随距离

    • 强制进入跟随玩家状态
  • 当前目标不可达 / 已死亡

    • 切换下一个可选目标
  • 无任何可选目标

    • 强制跟随玩家

2️⃣ 目标评分层(核心逻辑)

同伴在可感知范围内扫描所有候选目标,对每个目标计算一个 TargetScore

TargetScore =
    基础目标权重
  + 威胁加成
  + 模式加成
  - 距离惩罚

同伴始终选择 TargetScore 最高的目标 作为当前行为目标。

四、距离惩罚机制(核心)

1️⃣ 距离惩罚的定义

目标距离“关键锚点”越远,目标评分扣分越多

常用锚点:

  • 玩家 → 目标 (防止脱队)

对应:优先跟随模式(优先选择离玩家近的目标)

  • 同伴 → 目标 (防止乱跑)

对应:优先战斗模式(优先选择离同伴自身近的目标)

  • 特殊情况:Boss 模式

完全优先打 Boss(Boss 距离惩罚极低或忽略)

2️⃣ 距离惩罚计算方式(推荐)

阶段式线性惩罚(商业项目首选)

若 距离 ≤ 安全距离 → 无惩罚
若 距离 > 安全距离 → (距离 - 安全距离) × 距离权重
特点:

  • 近距离行为自然
  • 超距后吸引力快速衰减
  • 易调、易理解

3️⃣ 距离惩罚的效果

  • 降低目标评分
  • 使远处目标自然失去竞争力
  • 间接触发:
  • 放弃当前目标
  • 停止战斗
  • 切换为跟随行为

五、最远强制跟随距离(兜底机制)

1️⃣ 机制定义

每个同伴拥有两个独立属性:

  • MaxForceFollowDistance
  • MaxTeleportDistance

触发规则:

  • 同伴 ↔ 玩家距离 > MaxForceFollowDistance

    • 直接触发 强制跟随兜底
  • 同伴 ↔ 玩家距离 > MaxTeleportDistance

    • 进入跟随模式并 直接瞬移至玩家身边(极端兜底)

2️⃣ 强制跟随的具体行为

  • 当前目标评分 直接视为 0
  • 不再进行目标评估
  • 立即进入 Follow / Return 状态

规则细化:

  • MaxTeleportDistance > 距离 > MaxForceFollowDistance

    • 强制跟随(正常追赶)
  • 距离 > MaxTeleportDistance

    • 直接瞬移到玩家身边

等同于:距离惩罚被视为“扣到无穷大”


3️⃣ 与距离惩罚的关系

机制 作用
距离惩罚 渐进式降低战斗意愿
强制跟随距离 硬阈值,立即收回 AI 控制权

两者不是重复,而是分工明确

  • 距离惩罚 = 日常理智
  • 强制跟随 = 紧急刹车

六、三种战斗模式在该机制下的体现

🟥 优先战斗型

  • 距离惩罚权重低
  • 安全距离大
  • 强制跟随距离较远

更容易脱离玩家,但不会失控


🟦 优先跟随型

  • 距离惩罚权重高
  • 安全距离小
  • 强制跟随距离较近

行为像护卫,稳定可靠


🟨 优先 Boss 型

  • Boss 目标的距离惩罚较小
  • 非 Boss 目标距离惩罚较高

Boss 在场时高度专注


七、状态切换的统一原则

若 bestTargetScore < 战斗阈值
    → 进入跟随状态

若 距离 > MaxForceFollowDistance
    → 强制跟随(无条件)
不写死逻辑,完全由评分系统自然驱动

八、商业级优势总结

  • 行为自然、连续、无突变
  • 所有模式统一一套 AI
  • 可完全数据驱动
  • 极易扩展新模式 / 新规则
  • 永不出现“AI 跑丢”的灾难