MonkeyBrains howto

Hi,
Few days ago I started a little hobby project. When I wanted to implement some behaviour for the non playing characters I came to a stop. Jmonkeyengine didn’t seem to provide any AI library so I started rolling on my own based on this awesome paper from Craig Reynolds. I actually implemented some basic behaviours, but during my research I stumbled upon MonkeyBrains and it seemed interesting: why should I reinvent the wheel when steering behaviours are already there?
I’m having the worst time trying to get it to work.
The projects wiki says nothing about how to include it in your project, so I started out of Java common sense:

  • I downloaded the master branch and opened it with Jme Alpha1, but I get an error about missing libraries “jme” and “jme-libraries”. Didn’t know where to look for them, they where not in my machine.
  • I installed Jme 3.0 and opened the master brach of MonkeyBrains, it worked and I could create the .jar file, although it looks like it depends on the “old” Jme 3.0 libs.
  • Whatever, I thought to try the demo games for MonkeyBrains so I downloaded them from github, opened in Jme 3.0, imported the MonkeyBrains jar I created before and I keep having quite a lot of missing classes.

What’s going on with this project? Is it in a usable state? Am I missing some steps along the way? Should I keep working on my own implementation of steering behaviours?

br,
Siddharta

Hi!

I don’t know anything about MonkeyBrains by now. But maybe the tutorial-pages have something for you :wink:

Look at this site and scroll down until “Adding external jar libraries” appears. Here is described how to add libraries.

Just my two cents: If you create a new jme-project (JDK 3.0), these two libraries should be already included. The path to this new project is:

File → New project… → “JME3” → “BasicGame”

Hi, thanks for your response.
Yes, I’m familiar with Netbeans and how to include external libraries.
My concern is that:

  • MonkeyBrains jars must are not available to download, you have to build them from source.
  • MonkeyBrains jars are supposed to be built using Jme 3.0, not 3.1 Alpha, and I really wanted to go with the latest version :stuck_out_tongue_winking_eye: (and the “Alpha” adjective sounds really conservative for the latest version of Jme).
  • Even though I build the jars with Jme 3.0, the demo apps are not working, which leads me to some doubts about the usability of the MonkeyBrains library.

Without a proper and effective installation guide, a developer is better off spending time going through the source files of the library and copy/paste the algorithms, and it’s a shame because it looks like a lot of work has been put into MonkeyBrains.

…i agree…i went trough same process, and ended up writing my own system, as it seems to be less headache and far easier to move on to new versions of engine without hassle…

I forked MonkeyBrains and updated it to work with Jme3.1 Alpha.
Sources here: GitHub - illogica/MonkeyBrains: Agent framework for jMonkey Engine
Clone the project in JmonkeyPlatform and run it to build the MonkeyBrains jar.

Although I think I should get in touch with MonkeyBrains dev, it would be much more productive to join forces.

2 Likes

As a contributor, my opinion is that MonkeyBrains has 2 fundamentals problems:

  1. it is a collection of code from different people with different goals in mind (included myself)

  2. each of these pieces are basically built around the demo games shown. A lot of assumption are made and enforced to the user.

Personally, I’m currently more interested in the work made by the OpenRTS team, which is more modular and flexible.

That’s ok. The first step into solving a problem is acknowledging there’s one :wink:
As an outsider approaching MonkeyBrains I found it really difficult gathering the information to use it, and I happen to understand I’m not the only one.

It’s a shame having this library and not being able to take advantage of it. Shall we give it some caring?
Let’s define goals for it, eventually strip it down and make it more simple to integrate in regular projects.
And let’s write an effective wiki for it.

There’s already a wiki for the “gun sword” part.

For the steering there’s this site Java Steer Behaviors - Javadoc

For redmonkey I’ve posted a tutorial ReMonkey Tutorial #2: Ninja & Pirates!