AI to the Rescue!
by Twisted Jenius · 06/23/2010 (11:17 am) · 17 comments
The Universal AI Starter Kit update 1.4 is available right now. This update is huge and includes a lot of new things to make your game's AI even better. One of the many exciting things that is included in this update is the new assisting feature.
The assisting feature allows bots to come to the assistance of other bots and the player during battle. The friendly bots come to assist the player after the player has been shot; in the stock version. It's very versatile and you can setup many other methods and ways of activating the assist feature with relative ease. This includes things like assisting after the enemy has been detected. This kind of teamwork can add whole new levels to your gameplay.
In addition, there are multiple settings which you can easily adjust to your own game's needs. You can have bots assist the player, assist other bots or assist the player and other bots. Bots that are set to assist will also come to the aid of bots that are set to the two behaviors that follow the player, which are pet and teammate. This is included in the stock version of The UAISK.
In the video below, you will see several instances of the assisting feature in action. First you will see this with the 3 enemy bots which I place using the AI Marker Editor. You will notice I am able to set this battle up within seconds; it's ridiculously easy. After shooting one of the enemy bots, the other two come to its assistance using their real dynamic obstacle avoidance system. This allows them to go anywhere on the map right out of the box, with no navigation setup required.
After my initial battle, I create two more bots that will assist me and I do this, once again, in a matter of seconds. This quickly becomes an intense 3 on 3 battle with the bots actively moving and dodging around the obstacles in the environment. You'll notice that the AI kills me twice, but I consider that a good thing. After all, that is part of its job description.
Having this kind of AI in your game will make it very fun and challenging. As you can see, these bots are extremely enthusiastic (that's a nice way of saying they really want to kill you)!
Update Blog #1 - Huge Update!
Update Blog #2 - New Behaviors!
Update Blog #3 - AI to the Rescue!
Update Blog #4 - AI Documentation
The assisting feature allows bots to come to the assistance of other bots and the player during battle. The friendly bots come to assist the player after the player has been shot; in the stock version. It's very versatile and you can setup many other methods and ways of activating the assist feature with relative ease. This includes things like assisting after the enemy has been detected. This kind of teamwork can add whole new levels to your gameplay.
In addition, there are multiple settings which you can easily adjust to your own game's needs. You can have bots assist the player, assist other bots or assist the player and other bots. Bots that are set to assist will also come to the aid of bots that are set to the two behaviors that follow the player, which are pet and teammate. This is included in the stock version of The UAISK.
In the video below, you will see several instances of the assisting feature in action. First you will see this with the 3 enemy bots which I place using the AI Marker Editor. You will notice I am able to set this battle up within seconds; it's ridiculously easy. After shooting one of the enemy bots, the other two come to its assistance using their real dynamic obstacle avoidance system. This allows them to go anywhere on the map right out of the box, with no navigation setup required.
After my initial battle, I create two more bots that will assist me and I do this, once again, in a matter of seconds. This quickly becomes an intense 3 on 3 battle with the bots actively moving and dodging around the obstacles in the environment. You'll notice that the AI kills me twice, but I consider that a good thing. After all, that is part of its job description.
Having this kind of AI in your game will make it very fun and challenging. As you can see, these bots are extremely enthusiastic (that's a nice way of saying they really want to kill you)!
Update Blog #1 - Huge Update!
Update Blog #2 - New Behaviors!
Update Blog #3 - AI to the Rescue!
Update Blog #4 - AI Documentation
About the author
Developer of The Universal AI Starter Kit and Twisty's Asylum Escapades.
#2
This kind of thing could be achieved thru pathing, well planned spawning and cut scenes. For instance a bot could go on a path away from the player, and once out of sight of the player that bot could be set to automatically die and then later an identical bot could be spawned, which had the object that the player needed and would bring it to the player. This is one way you could accomplish having a bot "retrieve" something for the player.
06/24/2010 (6:57 am)
If it were me, in most of the situations that you describe I would have many of these events occur behind the scenes. Meaning that as the AI is doing it, the player will probably not see it happen and so it's not necessary that the bot "actually" do it.This kind of thing could be achieved thru pathing, well planned spawning and cut scenes. For instance a bot could go on a path away from the player, and once out of sight of the player that bot could be set to automatically die and then later an identical bot could be spawned, which had the object that the player needed and would bring it to the player. This is one way you could accomplish having a bot "retrieve" something for the player.
#3
06/24/2010 (12:18 pm)
See what you mean TJ - definately got me thinking. My game currently is played online and multiplayer. So the only time I could have cutscenes is between the loading of missions, before a player spawns. I guess I could make players invincible while a cut scene is played, but I doubt that will go down too well with players frozen/vulnerable while the cut scene plays, unless I can make the player become an AI player for that duration (if the cut scene is fairly long). Maybe a silent death/respawn as AI without having an impact on any stats, after cut scene has finished silent kill on the AI and respawn at the same location as the player with whatever object or change in the game. Although, there is the chance of maybe sending out an AI player and the bot doesn't meet the objective because some other player has killed it. This wouldn't work with a cut scene in multiplayer. Maybe I've just answered my own question :)
#4
if you have a bot and want send him do something - i never seen this on a multiplayer fps (am assuming from what u say it's an FPS)
beeing something rather new gives you some leverage on how to do it - and i have asugestion - when player sends the bot do somthing he will follow a path (as sugested) do task, return to player.
while bot is on task mod a small window show on one corner of players screen showing vew from a cam that is following the bot.
that way if bot gets killed player knows about it - and kknows will have to do task himself - but gameplay doesn't freeze.
Course ocupying part of the screen with a new cam vew isn't all that good when people are shooting you but you have to compromise in these situations.
need only be small view on corner - nothing fancy - just enough so the player can have live update on bot and task situation.
06/24/2010 (2:31 pm)
hey :) sorry to give 2 cents inasked here but am readuing what u say and have a sugestion to you S2P:if you have a bot and want send him do something - i never seen this on a multiplayer fps (am assuming from what u say it's an FPS)
beeing something rather new gives you some leverage on how to do it - and i have asugestion - when player sends the bot do somthing he will follow a path (as sugested) do task, return to player.
while bot is on task mod a small window show on one corner of players screen showing vew from a cam that is following the bot.
that way if bot gets killed player knows about it - and kknows will have to do task himself - but gameplay doesn't freeze.
Course ocupying part of the screen with a new cam vew isn't all that good when people are shooting you but you have to compromise in these situations.
need only be small view on corner - nothing fancy - just enough so the player can have live update on bot and task situation.
#5
06/24/2010 (3:15 pm)
Luis - yes, we're thinking along the same lines, by placing this inside maybe a Gui TS control window perhaps, something like the missile test I did on TGEA vimeo video where a camera was mounted to the missile. I could do the same for the bots, quite easily and with the team based option that this kit provides - what a duo :)
#6
maybe u can have like an eye screen idea - that's scrolls in from side to show video then scrolls out to end viewing.
like this product from Hearst Electronic Products
06/25/2010 (1:47 am)
just watched that vid - that's about what i thought yes - although in the bot's case it's better a 3rd view cam so u can monitor the bot itself aswell as the result of the task.maybe u can have like an eye screen idea - that's scrolls in from side to show video then scrolls out to end viewing.
like this product from Hearst Electronic Products
#7
If you're worried about someone killing the bot while it's doing its task while away from the player, you could just set it to be non-killable for that duration. Also, you could do what I suggested without using a cut scene and just keep the game going and the bot's actions would simply be implied when it returns to the player.
I also think a smaller screen from the AI's point of view would work (as you demonstrated in that cool video).
06/25/2010 (6:55 am)
@S2PIf you're worried about someone killing the bot while it's doing its task while away from the player, you could just set it to be non-killable for that duration. Also, you could do what I suggested without using a cut scene and just keep the game going and the bot's actions would simply be implied when it returns to the player.
I also think a smaller screen from the AI's point of view would work (as you demonstrated in that cool video).
#8
@TJ - not too worried about the bots being killed, think it's all part of the game play. Although for tasks that you really need to be completed to further a mission, then either your suggestion which is an easy option, or 2-3 bots with the same objective, or even 2 bots protecting 1 bot as a line of defence (bodyguards) might also be a solution(can this be done in the pack?)
06/25/2010 (9:17 am)
@Luis - I'll do some testing on it over the next week and bring back my results here :) @TJ - not too worried about the bots being killed, think it's all part of the game play. Although for tasks that you really need to be completed to further a mission, then either your suggestion which is an easy option, or 2-3 bots with the same objective, or even 2 bots protecting 1 bot as a line of defence (bodyguards) might also be a solution(can this be done in the pack?)
#9
I like the assist feature - DDO: Eberron Unlimited uses something like this for hirelings (I'm sure there are other games as well). Very handy indeed.
06/25/2010 (12:24 pm)
I was just thinking about Tribes and Tribes 2 - they used AI players to make up differences in team sizes. I don't remember just how versatile they were, and I do recall that they got discouraged after being beaten up for a bit. They were adaptive, but if they tried everything in their bag of tricks they would just stand and fire at anything that came into range.I like the assist feature - DDO: Eberron Unlimited uses something like this for hirelings (I'm sure there are other games as well). Very handy indeed.
#10
Yes, I think you can do something like that. Since you'd have to set the bot doing the task on a path, you can just set guards on the same team onto the same or similar paths and they'll attack any enemies that come near.
@Richard
The new assist feature is very handy and can be used in RPG, FPS and other types of games. I think the ability to have the AI come to the assistance of the player or other bots is one of those features that we can expect to see a lot more of in modern games.
06/26/2010 (7:44 am)
@S2PYes, I think you can do something like that. Since you'd have to set the bot doing the task on a path, you can just set guards on the same team onto the same or similar paths and they'll attack any enemies that come near.
@Richard
The new assist feature is very handy and can be used in RPG, FPS and other types of games. I think the ability to have the AI come to the assistance of the player or other bots is one of those features that we can expect to see a lot more of in modern games.
#11
Thanks again for such a great improvement to such an already powerful tool.
www.svengaligames.com
06/26/2010 (7:24 pm)
We just updated the AI in our project, NightLife, yesterday. Originally we had used your guys code as a reference, and the adjusted it to agree with the AFX AI framework, and our own. After looking at your guys code in ver. 1.4, we decided to eliminate 90% of our and AFX's code and go with a pure version of the UAISK . The way you guys have restructured the files is absolutely top notch. We cut out our code and inserted yours with the most pleasing of ease. The new features in this version are incredible also, the AI's are so much more "alive". We are also very impressed with the pet, and critter behaviors. Although our original game plans did not include pets, we now feel as though we would be wasting the resource not to implement all of it.Thanks again for such a great improvement to such an already powerful tool.
www.svengaligames.com
#12
Thanks for the glowing feedback. Also I'm glad to see someone making a game in the horror genre, which is my personal favorite. If it fits with your game design and only take a few minutes to implement, why not put in a new feature. I know I've succumbed to that temptation on multiple occasions.
06/27/2010 (5:23 am)
@SvengaliThanks for the glowing feedback. Also I'm glad to see someone making a game in the horror genre, which is my personal favorite. If it fits with your game design and only take a few minutes to implement, why not put in a new feature. I know I've succumbed to that temptation on multiple occasions.
#13
Could this kit give me the AI I need to perform animal behavior?
06/28/2010 (8:31 am)
Question, I'm creating a different flavor of a game that has to do with animals. Almost like a hunter in the wild being attacked by wild animals.Could this kit give me the AI I need to perform animal behavior?
#14
Of any AI pack, released or in development for Torque that I know of, The UAISK is almost certainly best suited for this sort of thing. One advantage that The UAISK has is that characters and animations are abstracted from the AI systems rather than integrated with them. This means that it is very easy to drop in any character that is properly setup for Torque, without the need for custom animations and rigging due to the AI system itself.
Of course you have to create (or purchase) a properly setup animal character (both the model and animations) for Torque. Also to accomplish this goal with your game, you will need a melee combat system for the animals to attack. I don't know what the best system would be for animals (probably something that just does a short raycast similar to projectiles), but for humanoid characters I have used the Server Side Melee System a few times with decent results.
06/28/2010 (8:57 am)
@VcDeveloperOf any AI pack, released or in development for Torque that I know of, The UAISK is almost certainly best suited for this sort of thing. One advantage that The UAISK has is that characters and animations are abstracted from the AI systems rather than integrated with them. This means that it is very easy to drop in any character that is properly setup for Torque, without the need for custom animations and rigging due to the AI system itself.
Of course you have to create (or purchase) a properly setup animal character (both the model and animations) for Torque. Also to accomplish this goal with your game, you will need a melee combat system for the animals to attack. I don't know what the best system would be for animals (probably something that just does a short raycast similar to projectiles), but for humanoid characters I have used the Server Side Melee System a few times with decent results.
#15
06/28/2010 (2:28 pm)
Thanks! I did a google search and can't seem to get any good hits on finding this Melee system. Could you give me link to it's website?
#16
06/28/2010 (2:48 pm)
If you're talking about a raycast based melee system, I didn't real have a specific resource in mind. The easiest way to both describe and program it is that you need to make an invisible gun, which shoots invisible bullets a very short distance. If done right, that type system will look like the player is being attacked by the animal, and it shouldn't be too hard to setup. Somewhere on the forum there may more details about exactly how to set something like this up.
#17
06/28/2010 (6:42 pm)
OK I gotcha! Thanks! 
Torque Owner Jules
Something2Play
Edit: Having said that I guess you could do this already, once a certain bot name reaches a trigger then it performs a task. Something GUI based would be quicker though, then your custom trigger scripts kick in outside of the AI kit setting the attributes for the task, such as at trigger location, use explosives... if explosives used attach them to the objects mounting point (x), then a timer before they detonate.