littlebot
Published on 2025-04-15 / 0 Visits
0

【源码】基于GOAP架构的HalfLife 2机器人行为管理系统

项目简介

本项目是基于GOAP(Goal Oriented Action Planning)架构开发的Half - Life 2机器人行为管理系统。GOAP是创建具有复杂行为游戏AI的方法,它把AI行为分解为一系列动作,并基于目标选择最佳动作序列。此系统能为机器人赋予复杂行为和决策能力,支持Valve的Day of Defeat Source和Half - Life 2 Deathmatch游戏。

项目的主要特性和功能

  1. GOAP架构运用:采用GOAP架构管理机器人行为,将行为分解成动作,依据目标挑选最佳动作序列。
  2. 动作与状态定义:系统内定义了移动、攻击、寻找掩体、重新装载武器等多种动作和状态,用于构建机器人行为。
  3. 武器库与导航器:提供Arsenal(武器库)和Navigator(导航器)类,处理武器选择和路径规划,辅助机器人决策。
  4. 多臂老虎机问题解决:把隐藏点选择当作多臂老虎机问题,运用Thompson Sampling算法优化隐藏点选择。
  5. 支持游戏范围:支持Valve的Day of Defeat Source和Half - Life 2 Deathmatch游戏。

安装使用步骤

安装步骤

  1. 解压文件:将tgz文件解压到所需的游戏目录,例如C:\program files (x86)\steam\steamapps\common\day of defeat source\dod
  2. 配置Metamod Source插件:若要作为Metamod Source插件运行,将mybot.vdf重命名为mybot.vdf.bak,并把addons/mybot/my_bot_mm添加到metaplugins.ini文件中。

运行步骤

  1. 启动游戏:
    • Windows:使用-insecure选项启动游戏。
    • Linux:执行命令LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu:$HOME/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu:bin $HOME/.local/share/Steam/steamapps/common/<game dir>/hl2_linux -game <mod dir>,其中game dirDay of Defeat SourceHalf - Life 2 Deathmatchmod dirdodhl2mp

使用机器人

  1. 生成导航网格:若未生成导航网格,参考Valve的导航网格生成指南进行生成。
  2. 添加机器人:使用命令mybot_add_bot [name] [team] [class]添加机器人。
  3. 设置最小玩家数:使用mybot_min_players服务器变量确保始终有一定数量的玩家(机器人或真实玩家)。

编译步骤

  1. 编译环境:Windows使用Visual Studio 2012或更高版本,Linux使用Clang和CMake。
  2. 依赖项:确保安装了Valve的Source SDK、Metamod Source和CxxTest。
  3. 编译命令:使用CMake生成构建文件并编译项目。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】