Immersive AI - Project Summary
by Gavin Bunney · 02/27/2007 (10:41 am) · 19 comments
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 :)
: 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!
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 :)
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!
About the author
#2
02/27/2007 (11:14 am)
name your price *gets out credit card*
#3
really great stuff!!!
02/27/2007 (12:14 pm)
wow!! I remember your last blog, and it's cool to see this one! :)really great stuff!!!
#4
Do you have an Amazon wish list or something similar?
02/27/2007 (12:31 pm)
Awesome, just had a quick browse of the docs.Do you have an Amazon wish list or something similar?
#5
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!
02/27/2007 (12:49 pm)
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!
#6
02/27/2007 (12:56 pm)
hehe thanks guys - I've moved the doc links into the thread that bank has started.
#7
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)
02/27/2007 (12:58 pm)
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)
#8
02/27/2007 (1:21 pm)
Great stuff!!!
#9
02/27/2007 (2:59 pm)
Looks awesome. Anyone who is working on AI and starts off with pathfinding has my full support!
#10
02/27/2007 (3:06 pm)
Very cool.
#11
...anyway, certainly a TGE based game :-)
Great blog and resource(?).
02/27/2007 (9:52 pm)
About the 8 million players game: Minions of Mirth? ;-)...anyway, certainly a TGE based game :-)
Great blog and resource(?).
#12
02/28/2007 (4:07 pm)
Question re-directed to forum...
#13
04/01/2007 (8:45 pm)
Hello , i have a clean compile of this and now how can i use this ?
#14
04/05/2007 (8:01 pm)
AWESOME! I hope that you received an A++ for that! Great job! Thank you for sharing this with us!!!!!
#15
04/15/2007 (7:53 am)
this is amazing I have never seen such AI accept in Oblivion and that is a commercial very good (in my opinion) game.
#16
06/02/2007 (8:56 pm)
comment reposted in the forum
#17
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'
01/15/2008 (8:29 pm)
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'
#18
:(
02/07/2009 (1:49 am)
I guess the updated forums has broke yet another great resource link, cant find the SDK Private forums thread: www.garagegames.com/mg/forums/result.thread.php?qt=58585:(
#19
02/07/2009 (1:57 am)
there might be an issue w/ your account or you're using the wrong one or something; that thread is in the TGE private forums, and it looks like "wulvgar" is not marked as being a TGE owner.
Torque Owner Ishbuu