Previous Blog Next Blog
Prev/Next Blog
by date

Football AI demo movie

Football AI demo movie
Name:Mathieu Marquis-Bolduc 
Date Posted:Jun 24, 2006
Rating:5.0 out of 5
Public:YES
Comments:YES
RSS Feed:GarageGames Blog feedor Subscribe with .
Profile Page:View profile page for Mathieu Marquis-Bolduc

Blog post
Hey everybody,

Due to popular demand (thats at least 3 people!), I've uploaded a video showing my football AI demo in action. You can see it here on google video. I apologize for the severe compression, can't do better.

I've mainly worked on the offensive play. I seems simple when you see it in action, but there is a lot to it!
The demo currently features:

7 goals and sub-goals;

PlayBall, CatchBall, GrabFreeBall, Offense, OffenseWithBall, OffenseWithoutBall, Defense, ProtectPlayer

8 possible actions, (that are often combined);

RunToGoal, AvoidEnemyPlayers, RunToBall, SeparateFromPlayers, RunToPlayer, CallProtectPlayer, PassToPlayer, InterposeBetween, StayInPassDistance

3 events;

Kickoff, BallCatched, BallThrown

and a grand total of 11 logic clauses:

BallClose/IsCloseToBall, BallHolderInMyTeam, IsBallHolder / HaveBall, AreClose, Protected, InDanger/IsInDanger, InThrowDistance, Always.

At first it is a lot of work, even with the fully operational AI engine. But once you reach a critical mass of goals, events, actions and clause to work with, you can add new behaviors with real ease, just by playing in the behavior rules script file.

I will most probably include this full demo when I'll release the AI engine to the public. The demo is by no mean a functionnal football game, but I think it will work nicely at exposing how to work with the decision making engine. The latter should come as a dynamic link library, with mandatory header files and all necessary and usefull bits of code and scripts to make it run great with TGE.

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!

Unsung Zero   (Jun 24, 2006 at 00:55 GMT)
It looks good, but it was difficult to see the ball. It looks like you know what you're doing :]

Gavin Bunney   (Jun 24, 2006 at 00:58 GMT)
looking cool! love to see the finished product! was a little dissapointed for it not to be football football (world cup!), but hey, not everyone is perfect :)

Matt Huston   (Jun 24, 2006 at 01:01 GMT)
Cool man. I was afraid it was going to be that "other" football with the World Cup and all going on ya know but very cool stuff. It might be better if you could slow down their run speed a bit, Kork runs way to fast by default.

Marcus   (Jun 24, 2006 at 02:14 GMT)
Long live American Football! ;)

Tom Perry   (Jun 24, 2006 at 08:48 GMT)
Bah real football is better :P Come on England! Nice video, cool idea on the AI engine.

Simon Love   (Jun 24, 2006 at 13:41 GMT)
Sweet vid! The running speed really makes it look like it could be a violent sport, a la Mutant sports League on Genesis.

Ben Ewing   (Jun 24, 2006 at 15:43 GMT)
That looks awesome!

Jameson Bennett   (Jun 24, 2006 at 18:39 GMT)
Neato. Looks like you've set up a great framework and makes a great addition to the stock TGE AI. Are your goal sets heirarchical? Seems to be (Offense breaks down into subgoals I'm assuming).

Are you planning on supporting other platforms besides Windows (the .dll keyed me in here)? Or a better question: are you releasing source or as a linked lib?

Great job and keep it up!

Mathieu Marquis-Bolduc   (Jun 25, 2006 at 01:51 GMT)
Thanks for the encouragements guys :)

First, though I speak french, I live in North America, so I call soccer, soccer and american football, football. But no sport war here or I change the demo to curling ;)

Yes, goals are somewhat hierarchical. Each agent's goal are maintained in a data structure just a tad more complex than a stack. So goals are typically achieved by queueing sub-goals, until you reach actual actions. You can queue goals and actions in the same rule, tough.

Im strongly hesitating to release it with source. I dont see much increased value for the user of being able to tinker with the source, and releasing further versions will be a lot easier if it comes as a dll. The main goal is to have an decision engine the user dont ever need to tinker in.

I may release it for other platforms if the demand is there, but completing the feature set is a bigger priority. There is very, very few platform dependant code in it, at any rate.

Anthony Fullmer   (Jun 25, 2006 at 03:04 GMT)
Very Nice work, its really cool to see in action. By the way....curling would be awesome :P

Michael Cozzolino   (Jun 26, 2006 at 13:03 GMT)
Cool. I was assuming it was going to be soccer as well. Anyway the AI work looks really good.

BTW both Footballs are great sports :)

Mark Dynna   (Jul 28, 2006 at 16:39 GMT)
I am very interested in your work. Please let me know when you make the DLL available. I would like to have the source code (if you're willing to provide it) to get it working/integrated with TSE. Please email me.

Mathieu Marquis-Bolduc   (Sep 13, 2006 at 01:51 GMT)
Hello all. I cannot believe its already september and that I posted this in June. I just want to tell everyone, Im working on an additional system that is as big as the GOAD presented here, and significally more advanced in terms of technology. It should not compete with the GOAD system, instead I believe they will be complementary with each other. It proved to be much more work to implemented than I thought, but Im at the point where a very simple shooter demo is shaping up, so I hope to have an additionnal video demo to show soon.

Thanks again for your interest in my project!

Anthony Potamitis   (Feb 05, 2007 at 18:03 GMT)   Resource Rating: 5
Hi, this is great stuff. I really want to talk with you more about your system.
really great stuff.

Mathieu Marquis-Bolduc   (Feb 13, 2007 at 00:26 GMT)
Anthony, I replied to your email twice, maybe your spam filter is blocking me? Please check it :)

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