Previous Blog Next Blog
Prev/Next Blog
by date

AI engine shaping up

AI engine shaping up
Name:Mathieu Marquis-Bolduc 
Date Posted:Jun 19, 2006
Rating:Not Rated
Public:YES
Comments:YES
RSS Feed:GarageGames Blog feedor Subscribe with .
Profile Page:View profile page for Mathieu Marquis-Bolduc

Blog post
Well, I had a 3-pages blog entry written, but that was before I found out you should NOT use accents, it erases the whole thing. So Im just gonna sum it up...

My AI decision-making engine is going on pretty well. I now have a demo of 6 korks playing touch football. Their behavior is described in a XML feed. The Torque engine sends gameplay events and information to the AI engine, who apply this information to the behavior rules, and reacts by updating each agent's goal stack and executing actions in the Torque Engine. Right now in the demo, those actions are mainly activating steering behaviors to make the players go around.

The AI engine is finally using variables, which was a huge milestone. I can now have behavior rules that reads like "Protect X against Y if X have the ball and Y is running toward X". X and Y can be anything, as long as you can express it in a 32 bit value. The engine never actually interpret those symbols, it just pass them back and forth to the game engine.

After I improve that demo a bit, there is two features I want to implement in the AI engine. First, verbatim. I want the AI agents to be able to explain, if asked, why they decided to perform an action. That shouldnt be too hard. Next, I want to implement behavior inheritance. For example, you could describe the behavior class "dog", and the behavior class "football player". Then, you will be able to create an agent that mixes both behavior class. You will then get a dog that plays football. Or an agent that plays football like a dog ;)

Recent Blog Posts
List:02/07/07 - The long path to AI
09/23/06 - Planner AI video demo
06/24/06 - Football AI demo movie
06/19/06 - AI engine shaping up
05/12/06 - Catch the ball
03/05/06 - Row Row Row the boat... (he's gonna need one)
03/20/05 - Plan for Mathieu Marquis-Bolduc

Submit ResourceSubmit your own resources!

Ramen-sama   (Jun 20, 2006 at 02:37 GMT)
Wow, that sounds pretty amazing. i'd love to just have steering behavior.

Travis Wood   (Jun 20, 2006 at 04:43 GMT)
what engines can it work in?A6 engine?Unreal engines?Doom engines?Im interested in purchising this.

Anthony Fullmer   (Jun 20, 2006 at 06:02 GMT)
do you have a video capture of your football game that you would be interested in showing the rest of us...i think it would be a lot of fun to check it out and see how it works

Ben Ewing   (Jun 20, 2006 at 06:31 GMT)
That, is cool.

Mathieu Marquis-Bolduc   (Jun 20, 2006 at 13:07 GMT)
Hey, Thanks for the comments :)

When they are all tested, I might put the Steering Behaviors up as a ressource. Took me only about an hour to code the ones I needed in Torque Script.

In theory, it can work with any engine, I designed it for that. You'll need to expose the game engine to the AI engine, of course. Currently, I have choice of using function pointers or abstract pointers for that. For Torque I made some utility functions to directly expose functions in torque script, so few C++ code is needed if you dont want it.

When the demo is satisfactory to me, I promise I will put it up for you to try :) The behaviors are much too basic yet...

Tom Bentz   (Jun 20, 2006 at 16:19 GMT)
sounds very cool...

Alan Hembra   (Jun 20, 2006 at 20:01 GMT)
I'd love to see a video of the Kork Touch Football.

Your AI is sounding better and better all the time!

Mathieu Marquis-Bolduc   (Jun 23, 2006 at 20:25 GMT)
I made a short movie showing korks playing football. Its not much, but so far its been an excellent test-bed for my AI engine. But even with the best engine, your agents will never be smarter than what you make them ! Anyway, if somebody could host the (10meg .wmv) file it would be great, or else we can just wait until its up on google video, and I'll put the link up in a new blog post.

Have a nice 24th of June!

John Kanalakis   (Aug 16, 2006 at 07:33 GMT)
Great Stuff Mathieu!
Edited on Aug 16, 2006 17:45 GMT

You must be a member and be logged in to either append comments or rate this resource.