2025-11-24T19:19:17.959493

Combining Reinforcement Learning and Behavior Trees for NPCs in Video Games with AMD Schola

Liu, Cann, Colbert et al.
While the rapid advancements in the reinforcement learning (RL) research community have been remarkable, the adoption in commercial video games remains slow. In this paper, we outline common challenges the Game AI community faces when using RL-driven NPCs in practice, and highlight the intersection of RL with traditional behavior trees (BTs) as a crucial juncture to be explored further. Although the BT+RL intersection has been suggested in several research papers, its adoption is rare. We demonstrate the viability of this approach using AMD Schola -- a plugin for training RL agents in Unreal Engine -- by creating multi-task NPCs in a complex 3D environment inspired by the commercial video game ``The Last of Us". We provide detailed methodologies for jointly training RL models with BTs while showcasing various skills.
academic

Combining Reinforcement Learning and Behavior Trees for NPCs in Video Games with AMD Schola

基本信息

  • 论文ID: 2510.14154
  • 标题: Combining Reinforcement Learning and Behavior Trees for NPCs in Video Games with AMD Schola
  • 作者: Tian Liu, Alex Cann, Ian Colbert, Mehdi Saeedi (Advanced Micro Devices)
  • 分类: cs.AI cs.LG
  • 发表时间: October 17, 2025 (预印本)
  • 论文链接: https://arxiv.org/abs/2510.14154

摘要

尽管强化学习(RL)研究领域取得了显著进展,但在商业视频游戏中的应用仍然缓慢。本文概述了游戏AI社区在实际使用RL驱动的NPC时面临的常见挑战,并强调了RL与传统行为树(BT)的交集是一个需要进一步探索的关键节点。虽然BT+RL的结合已在多篇研究论文中被提及,但其实际应用仍然稀少。作者使用AMD Schola——一个在虚幻引擎中训练RL智能体的插件,通过在受商业游戏《最后生还者》启发的复杂3D环境中创建多任务NPC来证明这种方法的可行性。

研究背景与动机

1. 核心问题

尽管强化学习技术快速发展,但在商业游戏开发中采用RL驱动的NPC仍面临重大挑战。传统的行为树方法虽然结构化程度高,但在处理多任务时变得复杂且缺乏适应性;而RL方法虽然具有动态适应能力,但存在奖励塑形困难、负迁移学习和计算资源需求高等问题。

2. 问题重要性

  • 游戏体验: NPC行为的一致性和类人性对维护游戏质量和增强用户体验至关重要
  • 开发效率: 游戏开发者偏好重用已开发的资产,需要可重用和可调整的模型
  • 技术门槛: 缺乏足够的工具支持,特别是在可解释性和控制性方面

3. 现有方法局限性

  • 纯BT方法: 复杂多任务BT开发繁琐,缺乏适应性,容易产生重复性游戏体验
  • 纯RL方法: 训练通用能力模型困难,存在奖励塑形、负任务迁移和高计算成本问题
  • 大型模型方法: 增加模型参数或使用大型基础模型会显著增加训练时间和游戏延迟

核心贡献

  1. 提出了BT+RL混合架构:将RL模型集成到行为树中,结合两种方法的优势
  2. 开发了多技能NPC系统:实现了包括逃跑(Flee)、搜索(Search)、战斗(Combat)、隐藏(Hide)和移动(Move)五种核心技能
  3. 构建了完整的训练框架:基于AMD Schola插件,提供了在虚幻引擎中训练和部署的完整解决方案
  4. 提供了实证验证:在受《最后生还者》启发的3D环境中验证了方法的有效性
  5. 开源了完整实现:包括环境、模型和实现代码,促进社区研究

方法详解

任务定义

构建能够在复杂3D环境中执行多种技能的NPC,具体包括:

  • 输入: 环境观察(深度信息、健康状态、弹药数量、目标方向等)
  • 输出: 动作序列(移动、射击、旋转等)
  • 约束: 保持行为一致性,确保游戏平衡性

模型架构

1. 行为树结构

Root → Healthy? → [Ammo>0 → Collect → InSight → Combat]
                               ↓
                           Search → [Distance<2000 → Flee]
                                           ↓
                                        Hide

2. RL模型配置

  • 核心观察: 36条射线检测目标、障碍物和弹药重装位置;浮点观察包括当前健康值、弹药数量、目标归一化方向
  • 网络架构:
    • 基础技能:深度2,宽度64的MLP
    • 课程学习:深度2,宽度128的MLP + 注意力层(注意力维度60,最大序列长度20)
  • 动作空间: 横向移动、前进移动、射击

3. 技能特定配置

技能特殊观察特殊动作终止条件训练步数
Flee玩家可见性、距离移动玩家距离<10002M
Combat-射击玩家健康≤02M
Hide玩家可见性、障碍物距离移动玩家发现10M
Collect最近弹药位置移动成功重装12M

技术创新点

  1. 模块化设计: 每个技能独立训练,可重用和组合
  2. 层次化控制: BT负责高级决策,RL负责具体执行
  3. 可解释性: 开发者可以理解和调整NPC行为逻辑
  4. 一致性保证: 通过BT结构确保行为的可预测性

实验设置

数据集

  • 环境: 4000×4000单位的封闭方形地图,包含静态障碍物和8个弹药重装点
  • NPC配置: 100HP,10弹药,每次攻击10HP伤害,0.15秒射击间隔,600单位/秒移动速度
  • 训练环境: 针对每个技能设计专门的训练场景

评价指标

  • 胜率: 对抗不同对手的获胜比例
  • 平均步数: 每局游戏的持续时间
  • 伤害输出: 对抗攻击性NPC时造成的伤害
  • FPS性能: 实时运行时的帧率表现

对比方法

  1. 纯BT基线: 使用相同树结构但叶节点为预定义BT任务
  2. 课程学习RL: 使用5阶段课程学习训练的端到端RL模型
  3. 静态NPC: 不移动不攻击的测试对象
  4. 攻击性NPC: 简化BT控制,具有攻击优势(无限弹药)

实现细节

  • 优化算法: Proximal Policy Optimization (PPO)
  • 学习率: 3e-4
  • 最大步数: 每局2000步
  • 训练框架: RLlib with AMD Schola plugin

实验结果

主要结果

对战表现对比

方法对静态NPC胜率对攻击性NPC胜率平均步数伤害输出
BT1.000.591839.63170.48
混合方法1.000.533969.22149.86
课程学习1.000.413836.95137.80

性能分析

  • 胜率: 混合方法显著优于课程学习RL,仅略低于纯BT方法
  • 游戏时长: BT方法步数最少且分布集中,RL方法显示更大的变异性,表明行为多样性
  • 计算性能: 纯BT > 课程学习 > 混合方法

FPS性能测试

配置1个智能体10个智能体
无模型267.73±3.37188.83±4.14
BT261.90±10.88155.82±4.31
混合方法211.90±4.11109.71±1.88
课程学习215.80±9.77116.14±2.54

实验发现

  1. 行为多样性: RL方法产生更多样化的游戏轨迹,增加游戏的不可预测性
  2. 性能权衡: 混合方法在保持合理性能的同时提供了更好的适应性
  3. 优化潜力: 通过批处理等技术可以进一步优化混合方法的性能

相关工作

主要研究方向

  1. 游戏AI中的RL应用: Counter-Strike等游戏中的行为克隆和强化学习
  2. 多任务强化学习: 知识共享和上下文表示学习
  3. BT与RL结合: 在安全关键系统和机器人领域的应用
  4. 大规模模型: 通过参数扩展和基础模型增强NPC能力

本文贡献差异

  • 实用导向: 专注于游戏开发者的实际需求,而非纯研究场景
  • 完整工具链: 提供从训练到部署的完整解决方案
  • 开源实现: 促进社区采用和进一步开发

结论与讨论

主要结论

  1. 可行性验证: BT+RL混合方法在游戏环境中具有实际可行性
  2. 平衡优势: 成功结合了RL的适应性和BT的可解释性
  3. 模块化收益: 独立训练的技能模块提高了重用性和开发效率

局限性

  1. 性能开销: 混合方法的计算成本高于纯BT方法
  2. 复杂性: 需要同时维护BT结构和多个RL模型
  3. 优化空间: 未充分探索批处理等性能优化技术
  4. 评估范围: 主要在特定游戏场景中验证,泛化性有待进一步验证

未来方向

  1. 性能优化: 实现模型批处理和其他优化技术
  2. 架构改进: 探索更高效的BT+RL集成方式
  3. 应用扩展: 在更多游戏类型和场景中验证方法有效性
  4. 工具完善: 改进AMD Schola插件的功能和易用性

深度评价

优点

  1. 实用价值高: 直接解决游戏行业的实际需求,提供可用的工具和方法
  2. 方法创新: 有效结合BT和RL的优势,避免各自的局限性
  3. 实验充分: 多角度评估包括性能、胜率、计算效率等关键指标
  4. 开源贡献: 完整开源促进社区发展和方法推广
  5. 技术细节完整: 提供了详细的实现细节和配置参数

不足

  1. 理论分析不足: 缺乏对BT+RL结合的理论分析和收敛性保证
  2. 评估场景限制: 主要在射击游戏场景中验证,其他游戏类型的适用性未知
  3. 比较基线有限: 未与更多先进的游戏AI方法进行对比
  4. 长期稳定性: 未评估长时间运行的稳定性和一致性
  5. 用户体验: 缺乏真实玩家对NPC行为质量的主观评价

影响力

  1. 学术价值: 为游戏AI领域提供了实用的混合方法框架
  2. 工业意义: 为游戏开发者提供了可直接应用的工具和方法
  3. 技术推广: 开源实现有助于方法的广泛采用和改进
  4. 跨领域应用: 方法可能适用于其他需要智能决策的应用场景

适用场景

  1. 动作游戏: 需要复杂NPC行为的射击、格斗类游戏
  2. 策略游戏: 需要智能对手的实时策略游戏
  3. RPG游戏: 需要多样化NPC行为的角色扮演游戏
  4. 仿真训练: 军事、安全等领域的仿真训练系统

参考文献

本文引用了21篇相关文献,涵盖了游戏AI、强化学习、行为树等多个研究领域的重要工作,为研究提供了坚实的理论基础和技术支撑。


总体评价: 这是一篇具有较高实用价值的应用导向研究论文,成功地将理论方法转化为实际可用的工具,为游戏AI领域做出了重要贡献。虽然在理论深度和评估广度方面还有改进空间,但其开源性质和完整的实现为后续研究奠定了良好基础。