最近要做游戏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. Android6.0 源码修改之Settings音量调节界面增加通话音量调节

    前言 今天客户提了个需求,因为我们的设备在正常情况下无法调节通话音量,只有在打电话过程中,按物理音量加减键才能出现调节通话音量seekBar,很不方便,于是乎需求就来了.需要优化两个地方 1.在正常情 ...

  2. mssql sqlserver 不固定行转列数据(动态列)

    转自:http://www.maomao365.com/?p=5471 摘要: 下文主要讲述动态行列转换语句,列名会根据行数据的不同, 动态的发生变化 ------------------------ ...

  3. windows手动去重 通配符

    在下载文件时,如果遇到重复文件,windows的默认做法时 文件名(数字) 这样的方式重命名的. 那么我们在排除重复文件时,可以使用  windows文件浏览器提供的查找功能,  用通配符   ~=& ...

  4. windows之如何把文件夹转换成iso文件

    (1)oscdimg下载路径: 链接:https://pan.baidu.com/s/1U_SfamsOvI2nav9odAzujQ提取码:21fr (2)以管理员身份运行cmd命令: Oscdimg ...

  5. 跨平台数据库工具Azure Data Studio

    Azure Data Studio是一种跨平台数据库工具,适用于在Windows,MacOS和Linux上使用Microsoft系列内部部署和云数据平台的数据专业人员.Azure Data Studi ...

  6. 微软跨平台ORM框架之EFCore — 约定与属性映射

    EFCore中的约定简单来说就是规则,CodeFirst基于模型的约定来映射表结构.除此之外还有Fluent API.Data Annotations(数据注释) 可以帮助我们进一步配置模型. 按照这 ...

  7. python的进程与线程(二)

    线程 之前了解了操作系统的发展史,也知道了进程和线程的概念,归纳一下就是:         进程:本质上就是一段程序的运行过程(抽象的概念)         线程:最小的执行单元,是进程的实体     ...

  8. 【机器学习】--FP-groupth算法从初始到应用

    一.前述 二.构建FP_groupth数流程 1.扫描事务数据库D 一次.收集频繁项的集合F 和它们的支持度.对F 按支持度降序排序,结果为频繁项表L. 2.创建FP 树的根节点,以“null”标记它 ...

  9. python接口自动化(九)--python中字典和json的区别(详解)

    简介 这篇文章的由来是由于上一篇发送post请求的接口时候,参数传字典(dict)和json的缘故,因为python中,json和dict非常类似,都是key-value的形式,为啥还要这么传参,在群 ...

  10. Vue.js-03:第三章 - 事件修饰符的使用

    一.前言 熟悉了 Vue 的指令系统后,在实际开发中,不可避免的会使用到对于事件的操作,如何处理 DOM 事件流,成为我们必须要掌握的技能.不同于传统的前端开发,在 Vue 中给我们提供了事件修饰符这 ...