最近要做游戏ai,看了一下行为树的东西,因为用的java,所以主要看了jbt:

https://github.com/gaia-ucm/jbt

这玩意分编辑器JBTEditor和核心库JBTCore两部分。在JBTEditor里边编辑好之后,导出xml文件;项目代码通过JBTCore库加载xml,然后驱动树的执行。

嗯,之所以用开源,主要就是懒的搞编辑器了,先玩一下JBTEditor。

不走不知道,一走全是坑。JBTEditor是基于Eclipse RCP开发的,没做过这方面的,只能摸着石头过河。

先下载一个最新版的Eclipse

按照官方说明,导入工程,打开"bteditor.product",然后"Launch an Eclipse application",干脆的挂掉。

一头雾水,百度的也是不着边际。初步怀疑,jdk版本、eclipse版本的问题,因为这个项目2013年以后就没再更新过。

挨个下载了jdk1.7,jdk1.6,eclipse2013版本,eclipse2014版本。。。各种组合,全部失败。

右键"bteditor.product","Run as","Run configurations",

勾上之后,启动的时候会检查插件依赖情况,或者直接点击右边的"Validate Plug-ins",也会报告缺失情况。

根据提示,勾上"org.eclipse.emf.*"以及"org.eclipse.ui.views.*"这些插件,再次启动,成功!

编辑器最终是要交给策划同学使用的,总不能让他们开着ide干活,导出可执行文件看看:

右键"bteditor.product","Export",

选择"Eclipse product","next",

指定输出目录即可,别的不改,"Finish"

执行editor\eclipse\JBTEditor.exe,嗯嗯,又报错了...

研究了半天,发现plugin有个加载时机的问题,也就是所谓startlevel,

这里用"Add Recommended"就可以加上正确的startLevel,然后导出的exe就可以用了。

总结一下吧:

  1. 用Eclipse for RCP导入JBTEditor工程
  2. 打开“bteditor.product”,“Configuration”选项卡里边调整plugin的StartLevel
  3. 切回“Overview”,“Launch an Eclipse application”,会报一次错
  4. 进入启动配置项里,勾上需要的插件,再次启动则成功
  5. 导出可执行文件

先写到这里,后续下回分解。

调研行为树jbt的更多相关文章

  1. 2017-12-09 JavaScript实现ZLOGO子集: 测试用例

    续前文JavaScript实现ZLOGO子集: 前进+转向. 在添加新功能之前, 先添加测试用例, 以应对日益复杂的代码. 选择使用QUnit编写运行测试用例. 暂时对比较复杂和I/O无关的部分进行测 ...

  2. 记lrd的高二上学期第五次调研考试

    河北某某中学的调研考试其实是很好玩的经历呢.可惜没有太多机会了. 背景: NOIP2016回来之后没有好好学文化课-.自习能翘就翘了,衡中特产学案自助没有好好写(说来我好像从来没被老师查到过,上课写学 ...

  3. 浅谈算法和数据结构: 七 二叉查找树 八 平衡查找树之2-3树 九 平衡查找树之红黑树 十 平衡查找树之B树

    http://www.cnblogs.com/yangecnu/p/Introduce-Binary-Search-Tree.html 前文介绍了符号表的两种实现,无序链表和有序数组,无序链表在插入的 ...

  4. 【.Net平台下插件开发】-MEF与MAF初步调研

    背景   Team希望开发一个插件的平台去让某搜索引擎变得更好.主要用于采集一些不满意信息(DSAT)给Dev.这些信息会由不同的team提供不同的 tool分析.有的提供仅仅是一个website,有 ...

  5. 【codenet】代码相似度计算框架调研 -- 把内容与形式分开

    首发于我的gitpages博客 https://helenawang.github.io/2018/10/10/代码相似度计算框架调研 代码相似度计算框架调研 研究现状 代码相似度计算是一个已有40年 ...

  6. 转:MySQL InnoDB Add Index实现调研

    MySQL InnoDB Add Index实现调研 MySQL Add Index实现 MySQL各版本,对于add Index的处理方式是不同的,主要有三种: Copy Table方式 这是Inn ...

  7. 【page-monitor 前端自动化 上篇】初步调研

    转载文章:来源(靠谱崔小拽) 前端自动化测试主要在于:变化快,不稳定,兼容性复杂:故而,想通过较低的成本维护较为通用的自动化case比较困难.本文旨在通过page-monitor获取和分析dom结构, ...

  8. Android原生PDF功能实现:PDF阅读、PDF页面跳转、PDF手势伸缩、PDF目录树、PDF预览缩略图

    1.背景 近期,公司希望实现安卓原生端的PDF功能,要求:高效.实用. 经过两天的调研.编码,实现了一个简单Demo,如上图所示. 关于安卓原生端的PDF功能实现,技术点还是很多的,为了咱们安卓开发的 ...

  9. Apache Drill 调研学习

    Apache Drill 调研学习 ## 一.Drill概述 在大数据时代,对于Hadoop中的信息,越来越多的用户需要能够获得快速且互动的分析方法.大数据面临的一个很大的问题是大多数分析查询都很缓慢 ...

随机推荐

  1. SQL Server函数与存储过程 计算时间

    一.通过一个开始时间.结束时间计算出一个工作日天数(不包含工作日与节假日): 1.函数 --创建函数,参数 @bengrq 开始时间,@endrq 结束时间 create function [dbo] ...

  2. AD用户属性:UserPrincipalName与SamAccountName的差别

    在我们日常工作中或者日常针对AD进行自动化开发的过程中,我们都会对UserPrincipalName与SamAccountName产生疑惑,毕竟很多时候大家都把这两个属性值理解为同一个概念,至于为什么 ...

  3. 华为云提供针对Nuget包管理器的缓存加速服务

    在Visual Studio 2013.2015.2017中,使用的是Nuget包管理器对第三方组件进行管理升级的.而且 Nuget 是我们使用.NET Core的一项基础设施,.NET的软件包管理器 ...

  4. 微信小程序客服消息实时通知之最佳实践

    我们做微信小程序开发的都知道,只要在小程序页面中添加如下代码即可进入小程序的客服会话界面: <button open-type="contact" >联系我们</ ...

  5. IM开发者的零基础通信技术入门(二):通信交换技术的百年发展史(下)

    1.系列文章引言 1.1 适合谁来阅读? 本系列文章尽量使用最浅显易懂的文字.图片来组织内容,力求通信技术零基础的人群也能看懂.但个人建议,至少稍微了解过网络通信方面的知识后再看,会更有收获.如果您大 ...

  6. 一些关于StringAPI的题目

    一:知识点 1.字符串"你好北京"中每个字符占用2个内存字节数.字符串底层由字符数组构成,每个字符占用内存2个字节. 2.重写toString 一般对象都有这个方法,目的是将对象按 ...

  7. C语言ftell()函数

      ftell()函数返回指定流的当前文件指针的位置.在文件末尾移动文件指针后,我们可以使用ftell()函数获取文件的总大小.可以使用SEEK_END常量来将文件指针移动文件末尾. ftell()函 ...

  8. 构建现代Web应用时究竟是选择传统web应用还是SPA

    在大前端盛行的今天,似乎前后端分离的开发模式才是大势所趋,而SPA的概念更是应运而生.现在随便构建一个web应用程序如果你不是使用SPA的话,就会感觉有点low,但是真的是这样吗?今天这篇文章我们就来 ...

  9. 从大数据技术变迁猜一猜AI人工智能的发展

    目前大数据已经成为了各家互联网公司的核心资产和竞争力了,其实不仅是互联网公司,包括传统企业也拥有大量的数据,也想把这些数据发挥出作用.在这种环境下,大数据技术的重要性和火爆程度相信没有人去怀疑. 而A ...

  10. SpringBoot整合系列--整合MyBatis-plus

    原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/10125279.html SpringBoot整合MyBatis-plus 步骤 第一步: ...