项目简介
本项目是基于GOAP(Goal Oriented Action Planning)架构开发的Half - Life 2机器人行为管理系统。GOAP是创建具有复杂行为游戏AI的方法,它把AI行为分解为一系列动作,并基于目标选择最佳动作序列。此系统能为机器人赋予复杂行为和决策能力,支持Valve的Day of Defeat Source和Half - Life 2 Deathmatch游戏。
项目的主要特性和功能
- GOAP架构运用:采用GOAP架构管理机器人行为,将行为分解成动作,依据目标挑选最佳动作序列。
- 动作与状态定义:系统内定义了移动、攻击、寻找掩体、重新装载武器等多种动作和状态,用于构建机器人行为。
- 武器库与导航器:提供
Arsenal
(武器库)和Navigator
(导航器)类,处理武器选择和路径规划,辅助机器人决策。 - 多臂老虎机问题解决:把隐藏点选择当作多臂老虎机问题,运用Thompson Sampling算法优化隐藏点选择。
- 支持游戏范围:支持Valve的Day of Defeat Source和Half - Life 2 Deathmatch游戏。
安装使用步骤
安装步骤
- 解压文件:将tgz文件解压到所需的游戏目录,例如
C:\program files (x86)\steam\steamapps\common\day of defeat source\dod
。 - 配置Metamod Source插件:若要作为Metamod Source插件运行,将
mybot.vdf
重命名为mybot.vdf.bak
,并把addons/mybot/my_bot_mm
添加到metaplugins.ini
文件中。
运行步骤
- 启动游戏:
- 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 dir
是Day of Defeat Source
或Half - Life 2 Deathmatch
,mod dir
是dod
或hl2mp
。
- Windows:使用
使用机器人
- 生成导航网格:若未生成导航网格,参考Valve的导航网格生成指南进行生成。
- 添加机器人:使用命令
mybot_add_bot [name] [team] [class]
添加机器人。 - 设置最小玩家数:使用
mybot_min_players
服务器变量确保始终有一定数量的玩家(机器人或真实玩家)。
编译步骤
- 编译环境:Windows使用Visual Studio 2012或更高版本,Linux使用Clang和CMake。
- 依赖项:确保安装了Valve的Source SDK、Metamod Source和CxxTest。
- 编译命令:使用CMake生成构建文件并编译项目。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】