Previous Blog Next Blog
Prev/Next Blog
by date

Immersive AI - Project Summary

Immersive AI - Project Summary
Name:Gavin Bunney
Date Posted:Feb 27, 2007
Rating:4.8 out of 5
Public:YES
Comments:YES
RSS Feed:GarageGames Blog feedor Subscribe with .
Profile Page:View profile page for Gavin Bunney

Blog post
As I mentioned way back when (eek it has been 7 months since I posted this), my final year uni project was all about developing an AI engine within TGE. Well I am now well and truely finished with uni, working fulltime for a telecoms software company - ok so it's not games, but very performance programming based :).

After resurrecting myself out of the hole that can be a certain MMO that apparently 8 million other people tend to like (guess which!), I'm getting back into TGE; ok well actually I'm starting out with TGEA now, but thats for another blog.

Immersive AI



Well for anyone who can't remember (ok I can't even remember back that long), here is a basic overview of what Immersive AI was all about...

The aim of this project was to create a game artificial intelligence system, to assist in the creation of an immersive game world. The implemented system was to allow computer controlled game agents to act, react and interact with the game world in a seemingly intelligent manner.
The key objectives of the implemented system were as follows:

1. To create an artificial intelligence system which controls AI agents that interact with the game as seemingly intelligent entities
2. To design a general system which can be implemented for various goal-states and game types
3. To implement a system which has minimal impact on game performance

(Basically make AI characters act like real people, in a fast, efficient way)

Implemented in the system was a path finding system and a complete non-deterministic AI reasoning engine!

Just a couple of screenshots below, showing the pathfinding nodes and a couple of the agents (a bandit and a soldier) fighting each other...

Pathfinding





Agents fighting each other






For a more details overview, have a look at some of the documentation I've linked below; also in my previous blog posts there is screenshots of the path finding system :)

<EDIT>: I've moved the docs into the SDK Private forums thread: www.garagegames.com/mg/forums/result.thread.php?qt=58585


Feel free to use any of the code in the implementation document - I hope that it is of use to someone when trying to navigate around the lovely world of AI. It is by no means the best possible implementation but it should serve as a good starting ground.


Where to from here?

Well after completing my first AI system, I have learnt a hell of a lot about what to do and what not to do... until I blog again, you'll just have to wait and see. Two words though:

TGEA
AI


Happy Torque'ing!

Recent Blog Posts
List:06/20/07 - Script Assert and AFX+CS+RTS
02/27/07 - Immersive AI - Project Summary
07/29/06 - iAI - Path finding shenanigans
06/06/06 - Immersive AI and RTS TLK fun!

Submit ResourceSubmit your own resources!

Ishbuu   (Feb 27, 2007 at 11:08 GMT)
WOW! Thats some amazing stuff! Will be fun gutting this in the name of science. Thank you very very much :)
Edited on Feb 27, 2007 11:12 GMT

Ian Roach   (Feb 27, 2007 at 11:14 GMT)
name your price *gets out credit card*

bank   (Feb 27, 2007 at 12:14 GMT)   Resource Rating: 5
wow!! I remember your last blog, and it's cool to see this one! :)
really great stuff!!!

Mark Berry   (Feb 27, 2007 at 12:31 GMT)   Resource Rating: 5
Awesome, just had a quick browse of the docs.

Do you have an Amazon wish list or something similar?

bank   (Feb 27, 2007 at 12:49 GMT)   Resource Rating: 5
I thought it would be nice to do the discussion of this engine in separate thread on forums, not here.
So, everyone - welcome.

And, Gavin - respect! After a quick look at the documents - it looks just amazing! Surely you will be in credits in our project!

Gavin Bunney   (Feb 27, 2007 at 12:56 GMT)
hehe thanks guys - I've moved the doc links into the thread that bank has started.
Edited on Feb 27, 2007 12:59 GMT

Mathieu   (Feb 27, 2007 at 12:58 GMT)   Resource Rating: 5
It looks impressive!
Do you have any plan to release the code as a ressource on GG website? (would be a lot more convenient than from the PDFs)

ShortcutGames   (Feb 27, 2007 at 13:21 GMT)
Great stuff!!!

Nick Zafiris   (Feb 27, 2007 at 14:59 GMT)
Looks awesome. Anyone who is working on AI and starts off with pathfinding has my full support!

Dunsany   (Feb 27, 2007 at 15:06 GMT)   Resource Rating: 5
Very cool.

Stephan (viKKing) Bondier   (Feb 27, 2007 at 21:52 GMT)
About the 8 million players game: Minions of Mirth? ;-)
...anyway, certainly a TGE based game :-)

Great blog and resource(?).

Dee   (Feb 28, 2007 at 16:07 GMT)   Resource Rating: 3
Question re-directed to forum...
Edited on Feb 28, 2007 16:14 GMT

Tahlilgarantadbir   (Apr 01, 2007 at 20:45 GMT)
Hello , i have a clean compile of this and now how can i use this ?

Ben Sparks (Warspawn)   (Apr 05, 2007 at 20:01 GMT)
AWESOME! I hope that you received an A++ for that! Great job! Thank you for sharing this with us!!!!!

Dion Scheper   (Apr 15, 2007 at 07:53 GMT)
this is amazing I have never seen such AI accept in Oblivion and that is a commercial very good (in my opinion) game.

Stephen Lujan   (Jun 02, 2007 at 20:56 GMT)
comment reposted in the forum
Edited on Jun 02, 2007 20:57 GMT

dArchitect   (Jan 15, 2008 at 20:29 GMT)
Does anyone know how to fix this problem?


7>..\engine\immersiveAI\iAIGoalManager.cc(64) : error C2039: 'setPreviousGoal' : is not a member of 'iAIAgent'
7> ../engine\immersiveAI/agent/iAIAgent.h(33) : see declaration of 'iAIAgent'
7>..\engine\immersiveAI\iAIGoalManager.cc(64) : error C2039: 'getCurrentGoal' : is not a member of 'iAIAgent'
7> ../engine\immersiveAI/agent/iAIAgent.h(33) : see declaration of 'iAIAgent'
7>..\engine\immersiveAI\iAIGoalManager.cc(65) : error C2039: 'setPreviousSolution' : is not a member of 'iAIAgent'
7> ../engine\immersiveAI/agent/iAIAgent.h(33) : see declaration of 'iAIAgent'
7>..\engine\immersiveAI\iAIGoalManager.cc(65) : error C2039: 'getCurrentSolution' : is not a member of 'iAIAgent'
7> ../engine\immersiveAI/agent/iAIAgent.h(33) : see declaration of 'iAIAgent'
7>..\engine\immersiveAI\iAIGoalManager.cc(68) : error C2039: 'setCurrentGoal' : is not a member of 'iAIAgent'
7> ../engine\immersiveAI/agent/iAIAgent.h(33) : see declaration of 'iAIAgent'
7>..\engine\immersiveAI\iAIGoalManager.cc(69) : error C2039: 'setCurrentSolution' : is not a member of 'iAIAgent'
7> ../engine\immersiveAI/agent/iAIAgent.h(33) : see declaration of 'iAIAgent'
7>..\engine\immersiveAI\iAIGoalManager.cc(112) : error C2039: 'getCurrentGoal' : is not a member of 'iAIAgent'
7> ../engine\immersiveAI/agent/iAIAgent.h(33) : see declaration of 'iAIAgent'
7>..\engine\immersiveAI\iAIGoalManager.cc(139) : error C2039: 'getCurrentGoal' : is not a member of 'iAIAgent'
7> ../engine\immersiveAI/agent/iAIAgent.h(33) : see declaration of 'iAIAgent'
7>..\engine\immersiveAI\iAIGoalManager.cc(155) : error C2039: 'getCurrentSolution' : is not a member of 'iAIAgent'
7> ../engine\immersiveAI/agent/iAIAgent.h(33) : see declaration of 'iAIAgent'

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