AI Steering

Hi, my name is Jesús and I will be working at the AI Steering project.

Implementing this A.I can reduce drastically the time needed to develop a game since for almost every game we need to set how these “characters” will be moving around the scene.

These “characters” will be able to: Seek/Arrive a point, Flee away from a point, Pursuit an Evade another “Character” and Avoid obstacles. Furthermore It will be possible to merge several of the basic behaviors and obtain almost any wanted behavior.

Basically I will be updating the library already developed and porting features from the OpenSteer c ++ library.

There are a lots of problems with the java library. First of all, the pursuit function do not work well, some pursuers stay in front of the pursued. Furthermore, the “avoid” behavior is really bugged.

In this video you can see the results after fixing the pursuit function:

[video]http://youtu.be/8ZboS5Mc8m8[/video]

I hope you like it :smiley:

5 Likes

OpenSteer c ++ library: http://opensteer.sourceforge.net/

@sploreg and @normen do we want to add this to the core AI branch? Last I checked the plan was to incorporate this into MonkeyBrains. Since AI is one of the features with the least commonalities between different games, I think it would make more sense to support AI through a flagship plugin, it’s looking like MonkeyBrains will be a fine candidate for that.

Our old NavMesh will eventually be deprecated in favor of native Recast. Maybe over time we should try port the other core AI features to MonkeyBrains as well?

2 Likes

There is no real “core” AI plugin, theres only the AI plugin in the contrib repo, to which this can be added if you ask me, idk much about MonkeyBrains really.

I think that MonkeyBrains is a good idea. Lets see what @sploreg thinks. I can start playing with MonkeyBrains tomorrow morning if you think its a good idea, Let me know.

1 Like

Welcome Jesus!
This code should live in the monkey brain plugin that is hosted on github. It will become our new AI library.
I’m really looking forward to seeing this addition!

1 Like

Following this closely :wink:

If you need help for MonkeyBrains, just add @tihomir . :wink:

@Tihomir said: If you need help for MonkeyBrains, just add @tihomir . ;)
Okay =D

@sevarac and @sploreg :
Shall I update new files to GitHub - QuietOne/MonkeyBrains: Agent framework for jMonkey Engine ? Or should I create a new repository by now?

Hi @jesusmb1995
I’m find with the code living in the Monkeybrains repo if Zoran @sevarac is.

Of course , add it to MonkeyBrains. By the way Jesus @jesusmb1995 check out some simple steering behaviours that Tihomir allready created in https://github.com/QuietOne/JMEAI

@sevarac said: Of course , add it to MonkeyBrains. By the way Jesus @jesusmb1995 check out some simple steering behaviours that Tihomir allready created in https://github.com/QuietOne/JMEAI

Here we go, I did two examples and added the separation behavior to MonkeyBrains:

Separation Behaviour

Examples

I have added @jesusmb1995 as collaborators for MonkeyBrains and MonkeyBrainsDemoGames. Now you can add your one code without a need for additional permissions.

really cool!! I’ve been always fascinated about AI things!

@Tihomir said: I have added jesusmb1995 as collaborators for MonkeyBrains and MonkeyBrainsDemoGames. Now you can add your one code without a need for additional permissions.

I have added new branches where I will be updating my work.

Most definitely out of scope for SoC, but maybe you could base a demo off of this tutorial for later:

@erlend_sh said: Most definitely out of scope for SoC, but maybe you could base a demo off of this tutorial for later: http://gamedevelopment.tutsplus.com/tutorials/create-a-hockey-game-using-steering-behaviors-foundation--cms-20971

I though about something similar too, I have all the summer free so I think I can try it :)…

Having a more general demo that show the different behaviours is a great idea.

How often do you hear people joking about your name? :wink: