游戏 AI 的 Java 规则引擎

Posted

技术标签:

【中文标题】游戏 AI 的 Java 规则引擎【英文标题】:Java Rule Engine for Game AI 【发布时间】:2010-10-05 13:52:42 【问题描述】:

我想为我的游戏使用规则引擎。它将用于NPC AI和GM AI。

为此目的,什么可能是一个好的和快速的规则引擎?它必须是 Java 和开源的。

我想听听使用 Java Rule Engines for AI 的人的经验。

【问题讨论】:

【参考方案1】:

我见过两种选择:Jess 和 Drools。坦率地说,杰斯有问题。它不是开源的,也不是免费的。它有一个类似于 Lisp 的语法,根据你的观点,可以是加号还是减号。

另一方面,Drools 是免费的、开源的,并且在 JBoss 的保护下,因此它可能会存在一段时间。这些规则使用直接的 Java 调用,但使用非程序员非常直观的 DSL 编写。

我在 Drools 中看到的唯一“问题”是编译规则可能很慢,因此您需要在启动时或在静态块中运行编译,有时用户不介意等待有点。

祝你好运!

【讨论】:

请说明 Jess 有哪些问题? @hragheb 我在第一段中指定了问题。 1)它不是开源的,2)它不是免费的,3)它有一个类似 lisp 的语法(这对我来说是一个减号,虽然它可能不适合其他人)。这些都不一定是阻碍因素,除了我觉得每一个都使产品在竞争中处于劣势,而不是 Drools。【参考方案2】:

试试Drools。

【讨论】:

【参考方案3】:

我们将在今年晚些时候尝试解决编译性能问题。我们还没有关注或分析它,而是关注运行时性能。

我很想听听你的进展。我正在考虑做一个 Drools PacMan 游戏,以开始探索如何最好地使用游戏规则引擎。由于游戏通常涉及事件和检查对象之间的关系,因此正确调整规则引擎似乎可以提供一些好处。后面的部分,“调整”,将变得很重要,因为在许多情况下,如果引擎预先知道问题空间,它在部分匹配中的效率会高得多。理想情况下,游戏经常会出现这种情况,因此我们可以向引擎提供提示,以便在适合这些用例的地方对其进行调整。

我们正在进行一些关于增加概率的研究,这对游戏来说也应该很有趣。

无论如何,如果你取得了任何进展,请联系我,redhat d0t com 的经理

【讨论】:

以上是关于游戏 AI 的 Java 规则引擎的主要内容,如果未能解决你的问题,请参考以下文章

几个常见规则引擎的简单介绍和演示

java规则引擎---Jess

java 使用规则引擎drools 出现异常

规则引擎与专家系统

java规则引擎java规则引擎搭建开发环境

Java规则引擎及JSR-94[转]