5.2 KiB
5.2 KiB
行为树游戏演示文档
概述
本演示展示了两个真实游戏场景的行为树AI系统:
- RPG角色AI (
rpg-character-ai.btree) - 智能RPG角色行为系统 - RTS单位AI (
rts-unit-ai.btree) - 智能RTS单位行为系统
这些行为树使用编辑器格式(.btree),可以在行为树编辑器中打开、编辑和可视化。
行为树详解
1. RPG角色AI (rpg-character-ai.btree)
优先级系统:生存 > 战斗 > 任务 > 探索 > 休息
主要行为模式:
-
生存行为(最高优先级)
- 触发条件:生命值 < 30
- 行为:使用治疗物品 → 逃跑到安全区域
- 确保角色在危险时优先保命
-
战斗行为
- 触发条件:发现敌人
- 智能攻击选择:
- 远程攻击:距离 > 5 时使用弓箭
- 近战攻击:距离 ≤ 2 时使用剑
- 魔法攻击:魔法值 > 20 时释放法术
-
任务行为
- 触发条件:有活跃任务
- 任务类型:收集物品、与NPC对话、前往指定地点
-
探索行为
- 无紧急事务时进行
- 活动:寻找宝藏、收集资源
-
休息行为(最低优先级)
- 默认行为:恢复生命值、修理装备
黑板变量:
hasEnemy: 是否发现敌人hasActiveQuest: 是否有活跃任务character.health: 角色生命值character.mana: 角色魔法值character.distanceToEnemy: 与敌人的距离
2. RTS单位AI (rts-unit-ai.btree)
优先级系统:紧急防御 > 战斗 > 建造 > 资源收集 > 巡逻
主要行为模式:
-
紧急防御(最高优先级)
- 触发条件:基地受到攻击
- 行为:立即返回基地 → 参与基地防御
- 确保基地安全是最高优先级
-
战斗行为
- 触发条件:发现敌方目标
- 行为:锁定目标 → 攻击目标
- 主动寻找并消灭敌人
-
建造行为
- 触发条件:有建造任务
- 行为:前往建造地点 → 执行建造
- 按指令建造建筑物
-
资源收集行为
- 默认经济行为
- 行为:寻找资源 → 收集资源 → 运送回基地
- 为基地提供经济支持
-
巡逻行为(最低优先级)
- 空闲时的默认行为
- 行为:沿路线巡逻 → 扫描周围区域
- 保持警戒状态
黑板变量:
baseUnderAttack: 基地是否受到攻击hasTarget: 是否发现敌方目标hasBuildOrder: 是否有建造任务
演示脚本
RealisticGameDemo.ts
演示脚本展示了RPG角色AI的完整功能:
功能特性:
- 实时状态显示:生命值、魔法值、敌人状态、任务状态
- 交互式事件触发:
- 低生命值按钮:模拟角色受伤
- 敌人按钮:切换敌人发现状态
- 任务按钮:切换任务状态
- 重置按钮:恢复初始状态
- 实时日志系统:显示AI决策和行为执行过程
- 智能行为响应:AI根据状态变化自动调整行为
事件处理器:
- 治疗物品使用:恢复30点生命值
- 逃跑行为:移除敌人威胁,增加距离
- 各种攻击方式:消耗不同的魔法值
- 任务相关行为:模拟真实游戏交互
- 探索和休息:提供持续的角色发展
使用指南
1. 在编辑器中打开
- 启动Cocos Creator
- 打开行为树编辑器扩展
- 加载
assets/resources/rpg-character-ai.btree或rts-unit-ai.btree - 可视化查看和编辑行为树结构
2. 在游戏中运行
- 将
RealisticGameDemo组件添加到场景节点 - 配置UI组件:
- 状态标签:显示角色当前状态
- 日志标签:显示行为执行日志
- 控制按钮:触发不同的游戏事件
- 运行场景,观察AI行为
3. 自定义和扩展
添加新的行为节点:
- 在编辑器中添加新的事件动作节点
- 在演示脚本中注册对应的事件处理器
- 实现具体的行为逻辑
修改优先级:
- 在编辑器中调整选择器节点的子节点顺序
- 更高位置的节点具有更高优先级
添加新的条件:
- 在黑板中定义新的变量
- 为条件装饰器配置相应的条件检查
- 在代码中更新黑板变量值
实际游戏应用
RPG游戏中的应用:
- NPC AI:为游戏中的NPC提供智能行为
- 伙伴AI:玩家队友的自动战斗和支援行为
- 敌人AI:敌人的智能战斗和逃跑策略
- 宠物AI:宠物的跟随、战斗和辅助行为
RTS游戏中的应用:
- 单位AI:军事单位的自动化行为
- 工人AI:资源收集和建造单位的智能调度
- 防御AI:自动防御系统的智能响应
- 经济AI:自动化的经济发展策略
学习要点
- 优先级设计:合理的优先级确保AI在复杂情况下做出正确决策
- 状态管理:通过黑板系统有效管理AI状态
- 事件驱动:使用事件系统实现松耦合的行为实现
- 条件判断:智能的条件系统让AI能够适应不同情况
- 模块化设计:每个行为模块独立,便于维护和扩展
这些行为树演示了如何构建商业级游戏AI系统,为开发者提供了完整的参考实现。