The Universal AI Starter Kit
by Twisted Jenius · 09/23/2009 (3:04 am) · 37 comments
I’d like to announce the arrival of The Universal AI Starter Kit, which is now available at the GG developer store.
As I’m sure many of you know, AI is an essential element of many games and I think that this kit is a much needed resource that will undoubtedly aid many game designers in the Torque community. The idea for this kit originally began with a desire to have quality AI for my own gaming project and then, after planning and working on it, I began to realize that this had the makings of a great product that many other people in the Torque community could use.
As a result of this, many of the elements that you will find in The Universal AI Starter Kit are not things which I needed for my own game, but are things which I programmed deliberately with the benefit of other users in mind. I’ve attempted to make this AI as flexible or “universal” as possible, so that it can be an asset to almost any game that is in need of combat AI. This kit also features some options for non-aggressive, NPC bots as well.
For all of you hobbyists out there, I should tell you that aside from its practical usage, this AI is just a lot of fun to mess with! Having your creations actively chase and shoot at you can be very exhilarating. The Universal AI Starter Kit is specifically designed to focus on AI and to do it well.
Features List:
-Eight selectable behavior modes, including both aggressive and non-aggressive. Select from chase, guard, leashed, turret, teammate, NPC, KillableNPC, and escort behaviors.
-A team system. Have as many teams and bots as you want; with selectable friendly fire and free for all options.
-Bots can automatically change weapons based on your specific settings. Select from pattern, best, range, and random weapon modes.
-Easy installation and heavily commented and documented code. No source code changes are required but the stock source is utilized for maximum performance.
-The foundations of a dialogue system.
-An advanced spawning system. Spawn or kill as many, or as few, bots as you wish to at any time.
-Advanced movement and navigation that requires no nodes or mesh. Bots can follow their selected target or use basic pathing.
-Performance optimized enemy targeting, selecting a target either by distance or lowest health.
-A GUI based marker editor, great for non-programmers.
-You can have scripted events using non-looping paths and trigger based spawning.
-Numerous distance, weapon and other variables that can each be set per datablock and/or individual bot.
Demo Video:
You can purchase The Universal AI Starter Kit here right now.
As I’m sure many of you know, AI is an essential element of many games and I think that this kit is a much needed resource that will undoubtedly aid many game designers in the Torque community. The idea for this kit originally began with a desire to have quality AI for my own gaming project and then, after planning and working on it, I began to realize that this had the makings of a great product that many other people in the Torque community could use.
As a result of this, many of the elements that you will find in The Universal AI Starter Kit are not things which I needed for my own game, but are things which I programmed deliberately with the benefit of other users in mind. I’ve attempted to make this AI as flexible or “universal” as possible, so that it can be an asset to almost any game that is in need of combat AI. This kit also features some options for non-aggressive, NPC bots as well.
For all of you hobbyists out there, I should tell you that aside from its practical usage, this AI is just a lot of fun to mess with! Having your creations actively chase and shoot at you can be very exhilarating. The Universal AI Starter Kit is specifically designed to focus on AI and to do it well.
Features List:
-Eight selectable behavior modes, including both aggressive and non-aggressive. Select from chase, guard, leashed, turret, teammate, NPC, KillableNPC, and escort behaviors.
-A team system. Have as many teams and bots as you want; with selectable friendly fire and free for all options.
-Bots can automatically change weapons based on your specific settings. Select from pattern, best, range, and random weapon modes.
-Easy installation and heavily commented and documented code. No source code changes are required but the stock source is utilized for maximum performance.
-The foundations of a dialogue system.
-An advanced spawning system. Spawn or kill as many, or as few, bots as you wish to at any time.
-Advanced movement and navigation that requires no nodes or mesh. Bots can follow their selected target or use basic pathing.
-Performance optimized enemy targeting, selecting a target either by distance or lowest health.
-A GUI based marker editor, great for non-programmers.
-You can have scripted events using non-looping paths and trigger based spawning.
-Numerous distance, weapon and other variables that can each be set per datablock and/or individual bot.
Demo Video:
You can purchase The Universal AI Starter Kit here right now.
About the author
Developer of The Universal AI Starter Kit, which is available in the Add-ons store on this site. Also working on the game Twisty's Asylum Escapades.
#2
Would my bot be able to get around ie. a long fence with your method?
Can't wait to hear more!
09/23/2009 (4:30 am)
Congratulations on the release! Very exciting pack! Can you tell us more about the implementation? Is this mostly script / code?Quote:
Advanced movement and navigation that requires no nodes or mesh. Bots can follow their selected target or use basic pathing.
Would my bot be able to get around ie. a long fence with your method?
Can't wait to hear more!
#3
09/23/2009 (4:31 am)
It should be fairly easy to integrate with other products. The entire Universal AI Starter Kit consists of 4 cs files, 1 gui file and around a dozen minor changes to 6-7 other cs files (depending on your version of Torque).
#4
from Max
PS. if it has inbuilt melee system...you'll have an imidiate purchase! :D
09/23/2009 (4:43 am)
@Twisted, It says "Melee combat compatibility" does this mean it has a melee system in it which i could use in my game, or is it just compatibility for one which we would have to make?from Max
PS. if it has inbuilt melee system...you'll have an imidiate purchase! :D
#5
09/23/2009 (4:47 am)
I just want to learn more about AI development. I think I will purchase just because I want to see how he decided to do things.
#6
It really depends on many various factors, some of which are the size of the fence and the relative locations of the player and bot. The bot has to detect the player and just like in real life, an obstacle could negate this. Without using a node or mesh based system, there are some limitations; but I think you'll be pleased with the relative realism and accuracy of this AI.
In a future update I have already planned to improve navigation even more. When that update is out, the answer will be a simple "yes".
*Edited for typos.
09/23/2009 (4:51 am)
@Konrad KissQuote:Would my bot be able to get around ie. a long fence with your method?
It really depends on many various factors, some of which are the size of the fence and the relative locations of the player and bot. The bot has to detect the player and just like in real life, an obstacle could negate this. Without using a node or mesh based system, there are some limitations; but I think you'll be pleased with the relative realism and accuracy of this AI.
In a future update I have already planned to improve navigation even more. When that update is out, the answer will be a simple "yes".
Quote:Is this mostly script / code?
Quote:No source code changes are required but the stock source is utilized for maximum performance.
*Edited for typos.
#7
It says "Melee Weapon Compatibility" by which I mean that this AI can be used with a melee system which you implement yourself. I'd recommend using the Server Side Melee System. In fact, I have made a minor update pack of that resource (for TGE) which I could send you if you want.
09/23/2009 (4:57 am)
@Maximillian BrewerIt says "Melee Weapon Compatibility" by which I mean that this AI can be used with a melee system which you implement yourself. I'd recommend using the Server Side Melee System. In fact, I have made a minor update pack of that resource (for TGE) which I could send you if you want.
#8
Well you have me sold...*looks through wallet* :D
From Max
09/23/2009 (5:10 am)
@Twisted, What do you mean "minor update pack"? Like an update for the resource which i would then continue to implement, or like an update for the Universal AI Kit whihc has it in it? either of whihc would be awesome!Well you have me sold...*looks through wallet* :D
From Max
#9
09/23/2009 (5:12 am)
Nice work! Looks like a good solid start for implementing game-specific AI.
#10
The "minor update pack" consists one minor change so that the Server Side Melee System is compatible with the way The Universal AI Starter Kit respawns bots. Also I made a few changes to the Server Side Melee System itself; including fixing a few bugs, and making the install instructions more complete and easier to understand.
09/23/2009 (5:17 am)
@Maximillian BrewerThe "minor update pack" consists one minor change so that the Server Side Melee System is compatible with the way The Universal AI Starter Kit respawns bots. Also I made a few changes to the Server Side Melee System itself; including fixing a few bugs, and making the install instructions more complete and easier to understand.
#11
From Max
09/23/2009 (5:18 am)
great...i'll buy in literally 1 hour :D (just have to wait for my dad to get home)From Max
#12
09/23/2009 (5:26 am)
You can grab the updated Server Side Melee System files right here (for TGE).
#13
09/23/2009 (5:28 am)
thanks...will this kit and melee update be ported to Torque 3D? and is this update for melee going to work for TGEA aswell?
#14
@Maximillian Brewer
Somewhere in the comments of the Server Side Melee System, someone posted a download that contains the source code for TGEA. Find and use that source code along with the script I supplied and it should work.
09/23/2009 (5:38 am)
As for a T3D version of The Universal AI Starter Kit: From what I've heard, this kit should work with T3D with little to no modifications required. But I don't currently own T3D and I'm not sure when I will be upgrading to it. So it might be a while until I officially support it. Again, it should work with little trouble; but I can't guarantee anything.@Maximillian Brewer
Quote:and is this update for melee going to work for TGEA aswell?
Somewhere in the comments of the Server Side Melee System, someone posted a download that contains the source code for TGEA. Find and use that source code along with the script I supplied and it should work.
#16
09/23/2009 (2:50 pm)
Quick question on the RPG bit in there that I seen. Do the NPC collide against each other and take into consideration other NPC's positions when doing their movement calls? Seemed like they bounced around a bit and I couldn't tell, but just thought I would ask directly. Thanks.
#17
09/23/2009 (6:07 pm)
wow just 4 cs file and other minor cs adjustments? No engine changes? This i gotta see.
#18
here is how:
step 1: in aiPlayerDatablocks.cs
change this line :
shapeFile = "~/data/shapes/players/Spacesuit/Spacesuit.dts";
to:
shapeFile = "art/shapes/actors/gideon/base.dts";
Note: you must have this dts file there, you can change it to any dts file.
step 2: in editor.bind.ed.cs
find line:
WorldEditorMap.bindCmd(keyboard, "o", "Canvas.pushDialog(WorldEditorSettingsDlg);", "");
add this line after it:
WorldEditorMap.bind(keyboard, "a", toggleAIMarkerEditor);
Note: "F11" to call worldeditor, then you can press "a" to call out the ai editor.
Hope this helps.
Yuejun Zhang
09/23/2009 (10:56 pm)
ported to T3D sucessfully. here is how:
step 1: in aiPlayerDatablocks.cs
change this line :
shapeFile = "~/data/shapes/players/Spacesuit/Spacesuit.dts";
to:
shapeFile = "art/shapes/actors/gideon/base.dts";
Note: you must have this dts file there, you can change it to any dts file.
step 2: in editor.bind.ed.cs
find line:
WorldEditorMap.bindCmd(keyboard, "o", "Canvas.pushDialog(WorldEditorSettingsDlg);", "");
add this line after it:
WorldEditorMap.bind(keyboard, "a", toggleAIMarkerEditor);
Note: "F11" to call worldeditor, then you can press "a" to call out the ai editor.
Hope this helps.
Yuejun Zhang
#19
09/24/2009 (1:01 am)
Thank you so much. I look forward to using this :D
#20
Before moving, all bots do a raycast to see if there are any obstacles in-between where they are and their destination. This check includes looking for other bots.
09/24/2009 (2:20 am)
@Joshua HallsQuote:Do the NPC collide against each other and take into consideration other NPC's positions when doing their movement calls?
Before moving, all bots do a raycast to see if there are any obstacles in-between where they are and their destination. This check includes looking for other bots.
Torque Owner Quinton Delpeche
Gobbo Games
Good job ... interested to see how it stacks up to the AI of GMK and how it integrates into existing products like AFX. :)