游戏AI的开发框架组件 behaviac
2017-08-21 10:35
1896 查看
简述
behaviac是游戏AI的开发框架组件,也是游戏原型的快速设计工具。支持全平台,适用于客户端和服务器,助力游戏快速迭代开发 。编辑器可以运行在PC上,操作方便直观可靠,支持实时和离线调试;编辑器可以导出xml,bson等多种格式,更可以导出C++、C#源码,提供最高效率。
运行时支持全平台,有C++和C#两个版本,原生支持Unity。
已被多款知名游戏及更多其他预研项目使用。
所有代码,包括编辑器和运行时全部开源https://github.com/Tencent/behaviac
编辑器和运行时
behaviac作为游戏AI的开发框架组件,有编辑器和运行时两个部分,这两个部分通过类型信息(描述AI实例属性和能力方法的信息)交换信息。类型信息
类型信息用来描述类型的属性和方法。在3.5及之前的旧版本通过运行时端导出类型信息,3.6及之后的新版本通过编辑器创建类型信息,如下所示。编辑器中,该类型信息作为基本的语法单位用来创建行为树。编辑器
编辑器是一个可以运行在Windows平台上的编辑工具。在编辑器内,使用鼠标或快捷键,可以添加、编辑、配置、修改行为树(包括FSM,或HTN),也可以实时或离线调试游戏的行为,既可以设断点,也可以查看或修改变量的值。
运行时
运行时有C++和C#两个版本,Unity使用C#的实现,像是cocos等使用C++的引擎或平台使用C++的实现。其具体逻辑是一致的,即加载编辑器中导出的行为树,解释运行之。导出和调试
在编辑器内创建好行为后,需要导出,然后运行时才可以加载运行。编辑器支持导出多种格式:xml
bson
cpp
c#
其中xml和bson作为数据,可以被加载,而cpp或c#作为源码直接编辑链接进程序,用户可以根据需要选择使用最合适的格式。
behaviac能解决什么问题
behaviac作为游戏AI的开发框架组件,主要是用来开发游戏AI。behaviac的编辑器使用图形化的界面(Visual scripting)和操作,操作直观方便。
游戏中的NPC,小怪,老怪等等的游戏逻辑都可以通过behaviac来创建和开发。
behaviac并不限于开发游戏AI的游戏逻辑,也可以用来开发组队逻辑(Squad Logic),策略AI(Strategy AI),玩家Avatar,甚至关卡设计等各种游戏场景。
behaviac还可以用作原型设计工具,策划只是使用behaviac编辑器来设计类型安全的,表达严谨的游戏逻辑。
C#版本的运行时原生支持unity,behaviac可以在unity内开发游戏AI
在iOS平台,作为热更新的一种手段
C++版本支持全平台,不仅可以用在客户端,也可以用在服务器端。一套逻辑,可以根据情况分别在客户端,服务器运行,避免重复开发。
behaviac有哪些主要特性
behaviac是游戏AI的开发框架组件,也是游戏原型的快速设计工具支持持行为树(BT),状态机(FSM),层次任务网络(HTN)等多种范式
编辑器可以运行在PC上,操作方便直观可靠
编辑器可以导出xml,bson等多种格式,更可以导出C++,C#源码,提供最高效率
支持实时和离线调试,可以设断点,查看或修改变量
编辑器通过socket和游戏连接实现实时调试,支持远程实时调试
运行时支持全平台(Windows/Linux/iOS/Android等),有C++和C#两个版本,原生支持Unity。适用于客户端和服务器,助力游戏快速迭代开发
支持热加载,可以不用重启游戏就更新行为树
中英文界面可选,类型信息可以提供中英文显示信息
支持预制件(Prefab)、子树,方便重用共享
支持自定义数据类型,支持已有第3方库中的自定义类型
支持扩展节点类型
相关文章推荐
- 游戏AI - 行为树Part2:框架
- [android游戏开发初学]简单的游戏框架
- android游戏开发框架libgdx的使用(一)--环境搭建
- XNA--垮平台游戏开发框架
- 【转】【Visual C++】游戏开发笔记十五 游戏人工智能(一) 运动型游戏AI
- 开发游戏AI之行为树
- 【Visual C++】游戏开发笔记十五 游戏人工智能(一) 运动型游戏AI
- 【游戏客户端开发】Unity3D 学习笔记4 —— UGUI+uLua游戏框架
- cocos2d-x游戏开发系列教程-坦克大战游戏之敌方坦克AI的编写
- Web前端开发比较有用的框架和组件
- DirectX&Direct 3D 游戏开发之——构建3D程序基本框架
- 【Android游戏开发之四】Android 游戏框架(一个游戏角色在屏幕行走的demo)
- M8SDK教程-游戏开发心得(一):游戏程序框架(05-18更新)
- Android游戏开发的开源框架
- (pomelo系列入门教程)深入浅出node.js游戏服务器开发——Pomelo框架的设计动机与架构介绍
- Java游戏开发框架LGame-0.2.8版发布(含JavaSE及Android版,已有文档)
- (转)【Android游戏开发之六】在SurfaceView中添加组件!!!!并且相互交互数据!!!!
- 7—(游戏开发中需要的样式)再次剖析游戏开发中对SurfaceView中添加组件方案
- 一个简单的游戏开发框架(四.舞台Stage)
- cocos2dx游戏开发——微信打飞机学习笔记(二)——游戏框架