behaviac组件说明
组件简介
behaviac是游戏AI的开发框架,也是游戏原型的快速设计工具。支持行为树BT,状态机FSM,HTN等多种范式,方便的编辑和调试。支持全平台,适用于客户端和服务器,助力游戏快速迭代开发。behaviac是公司第一批开源项目,在github已被超255收藏,是2015年6月代码文化奖一等奖获得者。目前在公司内部已被包括《天天炫斗》、《QQ飞车》、《全民突击》、《全民夺宝》、《九龙战》、《We Shoot》、《MGame》等项目以及其他若干预研项目采用。
功能清单
· 编辑器和C++/C#的交互基于元信息(property和method),既能充分利用程序代码的各种功能,也提供了图形化的对于高层逻辑的形象化控制
· 通过par,具有类型的命名的变量,外部系统可以和BT交换信息,这使得整个系统有了动态的能力
· xml、bson等导出格式,还有Cpp或C#文件导出,既提供了加载、执行的高效,也使用热加载极大的提高了开发效率。
· 功能完善易用的编辑器,prefab、undo、子树、事件等的支持
· 支持的数据类型和节点类型可方便的扩展
· 实时或者离线调试,使得运行逻辑图形化,具体化,方便调试
· 使用场景,不只是AI,支持并不限于
· Character AI
· Squad Logic
· Strategy AI
· In-Game Tutor
· Animation Control
· Player Avatars
· Camera Logic
· Level Scripting
快速上手
安装包里包含有完整文档和教程。请下载安装包。运行编辑器,可以从Help菜单访问相应文档及教程。
DEMO
安装包里包含有DEMO,及完整DEMO源码。请下载安装包安装后桌面会有生成的快捷方式。
FAQ常见问题
1. 已经有项目使用吗?
《天天炫斗》采用了behaviac作为PVE的解决方案,还有其他一些正在研发的项目也在使用。behaviac不限于作为行为的控制,几乎任何有关流程的控制都可以由behaviac支持和实现。
2. 支持哪些平台?
behaviac作为一个完整的行为树解决方案,支持win32/win64,iOS,android,linux服务器等平台。
3. 编辑器可以扩展支持更多的节点吗?
behaviac的编辑器可以很灵活的扩展,具体请参考附带的教程。
4. 可以扩展支持更多的数据类型吗?
可以扩展支持更多的数据类型,具体步骤请参考附带的教程。
5. 提供接入支持吗?
behaviac提供了详细的文档和教程引导接入。开发团队也很乐意提供支持。
6. 有源码提供吗?
安装包里面只有runtime库的源码,不包含编辑器端源码,但全部代码均可提供,通过本平台获取。
7. linux平台整合behaviac库到项目中时,编译参数需设置-fno-rtti,否则编译会提示找不到behaviac库中类的typeinfo。
8. 如果behaviac库编译为debug版本,项目也需要编译为debug版本,并且需在编译参数中添加_DEBUG宏。