游戏AI的资料收集

游戏之所以需要 AI,本质上是为了让虚拟世界里的角色看起来有“智能”, 让玩家觉得“他们在思考”,从而增加沉浸感、挑战性和乐趣

目的 说明
制造挑战 让敌人会战斗、躲避、追击,增加对抗的乐趣
增强沉浸感 让NPC像真人一样说话、巡逻、吃饭、反应
节省成本 不可能让所有角色都由真人控制,AI 可以自动化行为
创造剧情/氛围 AI 控制的角色可以推动剧情发展,或者制造环境氛围(如围观、逃跑等)
功能类型 示例
敌人行为 巡逻、警觉、追击、攻击、撤退等
角色控制 队友协作、自动寻路、选择技能等
生活模拟 村民按时间表上下班、聊天、购物
战术决策 决定是否攻击、防守、集结,RTS中常见
对话/情绪系统 简单的聊天逻辑,甚至配合 NLP 模拟更真实互动
群体行为 蜂群AI、群体移动、动态避障
任务执行 角色自动完成“去某地”“收集物品”等任务步骤

游戏 AI 是让 NPC 看起来“活着”的灵魂,让游戏世界有逻辑、有反馈、有惊喜。如果没有 AI,所有角色就像木偶,只会傻站着或重复动作,根本无法打动玩家。

目标 替代方案 缺点
巡逻行为 写死路径,定时移动或随机方向 + 碰撞判断 没有感知能力,容易出BUG
敌人攻击 碰到就打 or 距离小于X就攻击 不会判断形势,显得“蠢”
队友跟随 始终跟主角一段距离,简单追踪 卡位、掉队、绕障碍差
剧情NPC互动 写死对话逻辑 + 时间表 + 脚本事件 没有状态判断,行为不连贯
逃跑/反应行为 如果生命<30%,向远离玩家方向移动 无环境评估,容易走火入魔
选择技能/战术 随机选或轮流用技能,或HP低用治疗 缺少上下文判断,看起来不聪明
  1. 大量的状态/条件判断代码(手动实现“if…else…”)
  2. 写死行为逻辑树(每个 NPC 单独写行为流程)
  3. 人工调试每种情况的切换(异常容易错)
  4. 使用计时器、事件系统模仿“感知”和“选择”
  5. 更多维护成本(越复杂越难 debug)

比如你想让敌人“看到玩家就追,追一段时间没追到就放弃”, 如果用 AI(比如行为树或状态机),只需要几条规则就能搞定。

但如果不用 AI,你得自己:

  • 写“视野判定”
  • 写“追击逻辑”
  • 写“计时器”
  • 写“回归原地逻辑”
  • 然后处理各种奇怪的BUG:卡住、追出地图、不放弃等

时间成本会指数级增长,而且最终也不一定比“AI方式”更好维护。

没有AI也能实现复杂行为,但代价是“你得亲手写出每一步逻辑 + 状态切换”,而一套好的 AI 框架(哪怕是简化版)可以让你少写 80% 的代码、增加 300% 的表现力。

所以哪怕不是为“智能”,也建议用 AI 框架来管理行为——因为它就是“人类写行为逻辑的好工具”。

现代游戏 AI 的实际应用非常多。 随着技术发展,尤其是机器学习的引入,游戏 AI 的设计方法已经越来越多样化。 下面是业界常见或主流的一些 AI 方法:

类型 名称 是否主流 简介 特点
传统规则系统 FSM(有限状态机) ✅ 基础常用 最基础的状态切换系统 简单、性能高,但不易扩展
行为树(BT) ✅ 主流 类似逻辑树的结构,层级清晰 易扩展、调试方便
GOAP(目标导向动作规划) ⚠️ 小众但强大 通过目标反推行为组合 灵活但性能压力大
HTN(层次任务网络) ⚠️ 高复杂度系统用 预定义任务拆分 + 规划 结构清晰但设计成本高
类型 名称 是否主流 简介 特点
学习型 AI 行为克隆(Behavior Cloning) ⛔ 少见 模拟人类玩家输入训练模型 简单但泛化差
强化学习(Reinforcement Learning) ⛔ 研究多于实际用 AI 自我试错学会策略 灵活但训练难度高
模糊逻辑系统(Fuzzy Logic) ⚠️ 一些老游戏用 状态不是0/1,而是连续的“程度” 适用于模拟“情绪”等模糊概念
决策树 + 表达式(Utility AI) ✅ 越来越流行 用评分选择行为,如“哪个行为最有价值” 类似 GOAP,但更易控、更快
规划系统(PDDL/STRIPS) ⛔ 理论性强 和 HTN/GOAP 类似的 AI 规划语言 重而慢,工业级用较多
名称 描述 应用案例
Utility AI(效用系统) 每个行为定义“得分函数”,实时评估哪种行为当前最划算 《天际》、《上古卷轴Online》
AI 编辑器+数据驱动 用可视化工具配置行为逻辑,避免代码写死 UE 的 Behavior Tree Editor / Unity 的 AI Planner
多层AI(Layered AI) 高层策略 + 低层反应,比如高层决定目标,低层执行走位 RTS、MOBA 游戏常用
基于黑板(Blackboard)系统 所有系统共享一个“黑板”记录当前世界/目标信息 与 BT、HTN 一起使用效果更好
项目规模/类型 推荐方案
小型休闲游戏 FSM / 简化行为树
中型动作/RPG 行为树 + 黑板 / Utility AI
大型战术/策略 HTN / GOAP + 行为树混合
高度复杂 NPC HTN / Utility AI / 多层结构
想要 AI 像人一样思考 强化学习 + 模拟对局训练(但门槛很高)

除了经典的状态机、行为树、GOAP、HTN,现代游戏 AI 越来越向 **“数据驱动 + 分层决策 + 可解释的行为评估”**方向发展,其中 Utility AI 是近年来非常受欢迎的折中方案。

类别 名称 核心逻辑 优势 局限 推荐使用场景
🧱 基础型 有限状态机 FSM 状态 + 明确切换条件 简单、性能好、可控 扩展困难,状态爆炸 巡逻、简单敌人、规则明确
🌲 结构型 行为树 Behavior Tree 树状节点组织行为,条件分支控制流程 模块化、复用性强、调试方便 不擅长复杂计划或动态行为选择 中复杂AI,NPC交互、敌人战斗
📊 评估型 Utility AI(效用系统) 每个行为打分,选择分最高的执行 响应灵活、行为自然、可微调 缺少长序列规划能力 策略型敌人、动态响应单位、模拟日常角色
🧠 规划型 GOAP(Goal Oriented Action Planning) 根据目标反向规划行为序列 自主性强、智能感强 学习成本高、调试复杂 RPG、模拟、潜行、沙盒类角色
名称 用途 常配合
黑板系统(Blackboard) 共享状态信息(例如敌人、位置) 行为树、GOAP
感知系统(Perception) 模拟视野、听觉、嗅觉 所有决策系统
被移除项 理由
模糊逻辑系统 调试复杂、已被 Utility AI 吸收替代
HTN 工程落地难、资料稀少、替代方案足够好
强化学习、行为克隆 数据需求大、调参难、缺乏控制性,不适合中小团队
评估项 FSM(有限状态机) BT(行为树) GOAP(目标导向行为规划) Utility AI(效用系统)
实现难度 ★☆☆☆☆(非常易) ★★☆☆☆(较易) ★★★★☆(较难) ★★★☆☆(中等)
扩展性 ★☆☆☆☆(差) ★★★★☆(好) ★★★★☆(好) ★★★☆☆(中等)
行为复杂度 ★★☆☆☆(低) ★★★☆☆(中) ★★★★★(高) ★★★★☆(高)
动态反应能力 ★★☆☆☆(固定响应) ★★★☆☆(靠分支逻辑) ★★★★★(基于目标自动规划) ★★★★★(可动态打分响应)
行为复用性 ★☆☆☆☆(差) ★★★★★(非常强) ★★★☆☆(中) ★★★★☆(高)
逻辑清晰性 ★★★★☆(结构明确) ★★★★☆(节点清晰) ★★☆☆☆(规划路径难读) ★★☆☆☆(分数调试难)
调试难度 ★☆☆☆☆(最易) ★★☆☆☆(较易) ★★★★★(难) ★★★★☆(较难)
适合数量多单位 ★★★★★(性能高) ★★★★☆(合理) ★★☆☆☆(重规划开销大) ★★★★☆(评估轻量)
支持中断行为 ★☆☆☆☆(手动处理) ★★★★☆(节点中断支持) ★★★★☆(动态可重规划) ★★★★★(天然支持重新评估)
目标驱动能力 ★☆☆☆☆(被动) ★★☆☆☆(有限) ★★★★★(强) ★★★★☆(强)
智能感 ★★☆☆☆(僵硬) ★★★☆☆(自然) ★★★★★(自主性高) ★★★★☆(灵活聪明)
学习/维护成本 ★☆☆☆☆(低) ★★☆☆☆(中等) ★★★★★(高) ★★★☆☆(中高)
典型使用场景 巡逻、攻击、逃跑等简单AI NPC行为、敌人AI、中复杂AI 沙盒角色、策略游戏、潜行AI 战术AI、日常NPC、动态环境响应

🔍 说明简要解释

  • 实现难度:从开发者角度考虑的上手复杂度
  • 扩展性:能否方便添加新行为或改变逻辑
  • 行为复杂度:支持的行为链条/决策深度
  • 动态反应能力:应对突发情况或环境变化能力
  • 行为复用性:行为是否能在多个AI复用
  • 逻辑清晰性:是否容易阅读理解AI执行逻辑
  • 调试难度:排查行为异常的难度
  • 适合多单位:大量实体运行下的性能表现
  • 中断支持:是否能灵活中止当前行为切换到新行为
  • 目标驱动:是否支持角色“自主”决定目标
  • 智能感:玩家是否觉得“这AI好像真的在想”
  • 学习成本:对团队学习曲线的负担

Bevy生态库对fsm/bt/goap/utility都有支持,传送门.