EIS (Environmental Interface Standard) - Does JME connect?

I’m interested if JME permits connection with EIS - for controlling entities within the game environment. We are using EIS in the Artificial Intelligence lab working with GOAL (cognitive agents) and it would be quite useful to use JME as a visual environment.


JME has no limitations on what you link it with, but has no out of the box code for EIS.

You can simply put in a client to EIS and use the results for visualising.

Can you give me any direction in which I could go in order to investigate the linking process and some examples? I think that will be the most prudent path.

Many thanks in advance …


Thanks for the link - there is a lot of material on that link, were you referring to something in particular which is indigenous to the linking of external frameworks to JME, if so, what specifically?

I don’t get what you mean. You learn how EIS works, you learn how jME works and you use both in your code.

Here is what I mean …

GOAL/EIS is something external to JME, it’s a Cognative Rational Intelligent Agent Framework that uses both Java and Prolog - to link it to any entity such as a gaming environment, a simulation environment, robotics, etc - it is best to use GOAL’s Environmental Interface Standard (EIS) and link it to what ever it is one is trying to control (such as the Standford Robotics Tower Simulator code). The issue that I’m exploring is that each environment (like the APP Game Kitt, which I have experience with) has it’s own API (if any exists at all) for hooking external frameworks to it . I’m looking for what those hooks would be for JME.

Thank you in advance for your time …

As said, best learn how to use jME and EIS then write your application. There is no concepts like “players”, “environment”, “npcs” in jME, you define what that is.

Ah, yes i get what you mean.
JME is not a gameengine in the sense like for example unity is.

JME is a core engine, you can do kind of everything with jme, but this also means, that jme rarely decides anything for you. Eg SourceEngine has a concept of players and bsp based maps, these do not exist in jme.

Both of them are possible, but needs to be implemented by you. JME does offer quite a lot of different parts that can be combined, but non part is required.

Also since oyu have the full jme source, you can kinda expand it wherever necessary, (everything is the api in extreme cases)

1 Like

Exactly - it is that which I’d like to peruse some examples of …

Object x = desirable;
if(ESI.decides(player needs x)){
playerSpatial.move(towards x);

jME3 does not deal with agents or environments, the API is on a level lower than that, so it doesn’t make any sense to integrate EIS with jME3, instead you should be integrating EIS with some game / application running on top of jME3, or create one yourself.

EIS is written in Java, so theoretically this integration would be much simpler than say, integrating with Unreal Engine or Unity, which are written in other languages.

That makes sense - is that how the steering functions for autonomous agents is architected? I’ve implemented them before in another engine at it was in code rather than an external interface.