A.I Modules.....

broken_sword

08-04-2007 23:53:28

Hi,

Does anyone know A.I libraries that can be utilized within python-ogre? I looked into pyro, and i don't think this is workable for python ogre?

Do people write their A.I from 0%? if so, could someone point me in the right direction where can I look for this? I'm not looking for a library (or libraries) that has all the mega-featues, but simply an A.I library (or libraries) that is can be extended for a more complex A.I

I'm a new python user with 1 yr experience only and looking forward to use python-ogre. Thanks for the python-ogre team for making this possible :D Awesome!

Regards,
Broken_Sword

Game_Ender

09-04-2007 00:06:34

You can use Pyro, you are just going to have to separate the AI modules from the rest of the system. It shouldn't be too hard, I am hoping to do something similar to use it with my own custom robotics code. You should also get a grasp on the basic concepts used in the AI programming: Finite state machines and Neural Nets. This is decent book on the subject.

broken_sword

09-04-2007 00:35:09

Hi Game_Ender,

Thank you for the reply! I was looking into this FSM too while waiting for anyone to reply.

Hmm, ... separating the AI module that we need from pyro might be workable. If we can use this module and extend it.. that would be great.

I looked into the book and I will get it, since I'm quite new in this A.I field.

Thank you for your input.

Kind Regards,
Broken_Sword

broken_sword

09-04-2007 01:34:31

http://leenissen.dk/fann/

I found this one from ogre wiki. I'm looking into this as well. Someone else might find this one useful too.

Regards,
broken_sword

bharling

09-04-2007 10:01:46

fann looks awesome, I'm going to try building the python bindings today.

It strikes me though, that if you wanted to write some AI routines, python would be the language of choice to do it, what you lose in execution speed would be more than made up for by the ability to 'code what you think' so inherent in python.

Tubez

09-04-2007 12:08:41

NNs are a "big AI" approach that require quite a bit of horsepower to do all the arithmetic involved, especially while training. We do them in Python at work, but using numpy arrays. I shiver at the thought of doing a sizeable NN for real-time work using python lists :P

OTOH, lightweight AI techniques like FSM or subsumption architectures work great in python.

broken_sword

10-04-2007 03:08:36

Hi,

I found another interesting A.I python module;

http://www.red3d.com/cwr/boids/ (the background)
http://sourceforge.net/projects/pyboids/ (python)


I haven't tried this yet, but this would be great for enhancing nature's animation (birds, fishes, butterflies, etc etc etc)

Regards,
Broken_Sword

Tubez

10-04-2007 09:22:21

Also have a look at opensteer for those kind of things.

Game_Ender

11-04-2007 03:12:59

Tubez, can you comment more on subsumption architectures. I keep reading that Pyro article and not fulling grasping them and how they fit in with FSMs. Do you have any other good sources and/or information of your own.

Tubez

12-04-2007 09:39:08

Interestingly enough a good accessible introduction to subsumption architectures is O'Reilly's "LEGO Mindstorms Robots". If you have a copy, they are explained clearly and with sample code.
Other than that, it's wikipedia and research papers.

The general idea is simple enough though. Instead of relying on planning, just give control the the highest priority behaviour that requests it. It has a lot of applicability in computer games because of its simplicity.
For example on of the pacman (and also Pathman) ghosts will wander around aimlessly, but flee if you have eaten the power pill and chase you if he sees you. So "flee if powerpill" is the highest priority behaviour, then comes "chase if near to player" and then comes "wander around".

If you wish, you can see the collection of behaviours as a FSM and the subsumption architecture as the rule governing the transitions between states.

broken_sword

26-04-2007 13:54:59

Hi Tubez (and all)

Thanks for bringing up this "Subsumption architecture" into my attention!
I had a look at the wikipedia and some other pages, and I can see that that this method is more managable rather than full scale NN for training and decision making in real time :P

Thank you!

Regards,
Broken_Sword