Tactical AI Kit: Update on its way!
by Bryce · 07/02/2012 (1:43 am) · 13 comments
Checks last post
"2/16/12"
Yep, I'm bad at this.
Five months since the release of TAIK for Torque 3D 1.2, we're finally getting close to seeing the first real update. We can thank my sudden surplus of free time (thanks, graduation) for that. For this blog, I'm going to try my hardest not to sound like a shady salesperson, but alas, I must sell.
I'm trying not to disappoint with this update, so we're going to see a lot more cool stuff and fixes in this package. Everyone who has bought the kit has been fantastic about keeping me up to date with feature suggestions and bug reports, and I am forever grateful for that. Let's address some of that, shall we?
Let's get this part out of the way: If you currently own the Tactical AI Kit for any version of Torque 3D, updates are free! Upon release of an update or port to a new Torque engine, Torque 3D kit owners will get the updates emailed to them, all ready to go.
That said, I plan to raise the price of TAIK for the update release from the current $74.95 to $89.95. If you don't want to be hit by the price increase, your best move is to purchase TAIK before then, and then getting the free update when it comes out. This will likely happen near the end of the month.
Well, I guess it's time to update the feature list. To start us off, here's some of the cool stuff that you'll get in the current version of TAIK:
Squad Support: Imagine commanding a squad of AI players through the battlefield. Order them to follow in formation. Tell them to hold. Have them move from cover-to-cover. Decide whether they should attack targets at will, or keep a low profile. Even better: what if the AI could handle this as well? TAIK can do all of these things. The player can order his squad of AI players around by key command, or an AI squad leader can call the shots and automatically lead his team (human or not) to a given objective.
Patrol Paths: While in his idle state, an AI player can follow a scripted patrol path or wander freely within a given radius. High-priority move destinations can be set for NPCs who need to rush the player, or storm a position. This is all the keep the player on his toes: it's easy to keep an eye on a stationary guard, but things get more interesting once he has to worry about someone stumbling upon him.
Zoning for Performance: A level designer can allow all AI to be spawned in a level at once, and let them be automatically switched on and off via the AI Manager. By placing zones throughout the level, the AI Manager will decide which AI are currently a part of gameplay (based on the positions and movement of the human players). Any AI player in a non-influential zone will be blocked from think-cycling and will not be rendered in order to save performance. It's possible, and also shown in the TAIK demo game, to place even 140 AI players in a mission at once while only activating the ones that need to be activated. Since it takes all human players into account, this will work flawlessly in a multiplayer game as well.
Cover Usage: The Tactical AI Kit was built on two things: efficiency, and self-preservation. AI players will try to stay alive as long as possible to actually have an effect on gameplay. One good way to stay alive is by putting something solid between them and the enemy. They will seldom attack from a location that isn't a form of cover. They will hide behind cover to reload or avoid incoming fire, and then poke out to shoot back. They know how to fire over short cover (low walls, cars, hollywood-tough couches), and how to fire around cover (pillars, tall walls), all while playing the proper animations for each. Incoming fire will trip a "stress level" meter, forcing them back behind cover until the suppressing fire has ceased. When no cover is around, they'll find a good spot to shoot from, and will reduce their profile by crouching and laying down suppressing fire of their own.
Grenades: TAIK supports the usage of thrown and launched grenades. Thanks to ballistics math, an AI player can flush their target out of cover by accurately tossing a grenade beside them, or by launching grenades (if allowed by their weapon datablock) to a surface that can reflect the damage onto them, such as a nearby wall or ceiling. In the case that they find themselves on the receiving end of a grenade, they will run away, returning to what they were doing after it explodes (that is, if they survive!).
No-Cheat Senses: This is not the sort of AI that appears smart by "cheating." There is no magically knowing about an enemy's existence. If he's not seen or heard, AI players do not know about him. That said, the senses are built to mimic reality. They will notice explosions, gunshots, bullet impacts, and they will hear anybody who's moving around loudly. Their sense of sight is the real deal: player visibility can depend on how much their overall color matches the overall cover of the mission, their stance, their movement, the weather, and their position in foliage or forests. By realistically limiting AI vision, the player can play through using a degree of stealth. If your game allows for character customization, this would be ideal -- the player might try to wear black during that night mission and sneak about with silenced weapons, as opposed to attracting a ton of attention to himself.
Reaction to threats: Back on the whole cheating thing. How many games have you played where you would injure a guard, with your sniper rifle one mile away, and he somehow knows EXACTLY where you are? Yep, not happening with TAIK. If a bullet lands near an NPC, he'll judge the shooter's position by the direction of the shot sound, and will take cover until he truly sees the shooter. If he didn't hear the noise, he'll figure out where a sniper would make most sense based on his surroundings.
For starters, how about grenade bouncing?

Oh yeah.

MMM, YEAH.

To make up for the classic AI inability to properly toss a grenade through a window, I decided to ... well ... give the AI the ability to properly toss a grenade through a window. This information is all pre-compiled on cover markers in a mission, so AI players can intelligently drop grenades around without any sort of performance hit.
That guy below the balcony we're on? Toss a 'nade over the railing. That sniper dicking around on the roof? Grenade on the roof. Need to clear a room? Rebound it on the wall so it lands dead center.

That's how the pre-compiling of the trajectory information is done. When you have a few minutes, you can let the TAIK Creator calculate and save the best grenade trajectories between all cover points in a mission. During a firefight, your handy TAIK characters will check the cover marker they're currently firing from, and if there is a way to throw a grenade to a cover marker the enemy is standing near. If so, you can figure out the rest.
A rebuild of the TAIK Creator, smoothing things out and adding new features. For example, the ability to use the creator to edit spawn points you've already placed.


There's always more. The incoming update will give us Recast/Detour pathfinding integration.


Newcomers to TAIK: this means that you can scale a box around your level, and the walkable areas are automatically calculated for AI players to use.
TAIK veterans: No more endlessly toiling in the fields, pressing 'X' at every square yard to drop a nav node. I know that was a pain, I'm sorry. But we can rejoice, as it's all over now.
Lastly, I'm releasing an optional addon free with the next TAIK release. A lot of people have been asking for the weapon models, sounds, and mechanics featured in the TAIK demo. I'm planning on packaging that up in a non-intrusive way, and letting people install that into their game as they wish. This includes my (somewhat decent) weapon models, true-to-life firing sounds, working scripts, movement sway, reloading, aiming down the sights, and attachments (red dot/ACOG/iron sights, grenade launcher, suppressor). I thought you guys might dig that.
Speaking of which... if you're looking to take TAIK for a test run, try out the demo:

Link!
Warning: rather addicting.
If you get it before I release the update, you won't see the price increase from $74.95, as you'll be getting the update for free when it comes out. After this coming release, the price for the kit is going up to $89.95.
Games need good AI. We can start with yours.
Thanks for reading, folks. And more importantly, thanks for making this possible. Your contributions are immensely helpful for this soon-to-be broke college kid. Happy Torque'ing!
"2/16/12"
Yep, I'm bad at this.
Five months since the release of TAIK for Torque 3D 1.2, we're finally getting close to seeing the first real update. We can thank my sudden surplus of free time (thanks, graduation) for that. For this blog, I'm going to try my hardest not to sound like a shady salesperson, but alas, I must sell.
I'm trying not to disappoint with this update, so we're going to see a lot more cool stuff and fixes in this package. Everyone who has bought the kit has been fantastic about keeping me up to date with feature suggestions and bug reports, and I am forever grateful for that. Let's address some of that, shall we?
Plans for the Release
Let's get this part out of the way: If you currently own the Tactical AI Kit for any version of Torque 3D, updates are free! Upon release of an update or port to a new Torque engine, Torque 3D kit owners will get the updates emailed to them, all ready to go.
That said, I plan to raise the price of TAIK for the update release from the current $74.95 to $89.95. If you don't want to be hit by the price increase, your best move is to purchase TAIK before then, and then getting the free update when it comes out. This will likely happen near the end of the month.
Why should I buy your chet? Justify this decision, Bryce.
Well, I guess it's time to update the feature list. To start us off, here's some of the cool stuff that you'll get in the current version of TAIK:
Squad Support: Imagine commanding a squad of AI players through the battlefield. Order them to follow in formation. Tell them to hold. Have them move from cover-to-cover. Decide whether they should attack targets at will, or keep a low profile. Even better: what if the AI could handle this as well? TAIK can do all of these things. The player can order his squad of AI players around by key command, or an AI squad leader can call the shots and automatically lead his team (human or not) to a given objective.
Patrol Paths: While in his idle state, an AI player can follow a scripted patrol path or wander freely within a given radius. High-priority move destinations can be set for NPCs who need to rush the player, or storm a position. This is all the keep the player on his toes: it's easy to keep an eye on a stationary guard, but things get more interesting once he has to worry about someone stumbling upon him.
Zoning for Performance: A level designer can allow all AI to be spawned in a level at once, and let them be automatically switched on and off via the AI Manager. By placing zones throughout the level, the AI Manager will decide which AI are currently a part of gameplay (based on the positions and movement of the human players). Any AI player in a non-influential zone will be blocked from think-cycling and will not be rendered in order to save performance. It's possible, and also shown in the TAIK demo game, to place even 140 AI players in a mission at once while only activating the ones that need to be activated. Since it takes all human players into account, this will work flawlessly in a multiplayer game as well.
Cover Usage: The Tactical AI Kit was built on two things: efficiency, and self-preservation. AI players will try to stay alive as long as possible to actually have an effect on gameplay. One good way to stay alive is by putting something solid between them and the enemy. They will seldom attack from a location that isn't a form of cover. They will hide behind cover to reload or avoid incoming fire, and then poke out to shoot back. They know how to fire over short cover (low walls, cars, hollywood-tough couches), and how to fire around cover (pillars, tall walls), all while playing the proper animations for each. Incoming fire will trip a "stress level" meter, forcing them back behind cover until the suppressing fire has ceased. When no cover is around, they'll find a good spot to shoot from, and will reduce their profile by crouching and laying down suppressing fire of their own.
Grenades: TAIK supports the usage of thrown and launched grenades. Thanks to ballistics math, an AI player can flush their target out of cover by accurately tossing a grenade beside them, or by launching grenades (if allowed by their weapon datablock) to a surface that can reflect the damage onto them, such as a nearby wall or ceiling. In the case that they find themselves on the receiving end of a grenade, they will run away, returning to what they were doing after it explodes (that is, if they survive!).
No-Cheat Senses: This is not the sort of AI that appears smart by "cheating." There is no magically knowing about an enemy's existence. If he's not seen or heard, AI players do not know about him. That said, the senses are built to mimic reality. They will notice explosions, gunshots, bullet impacts, and they will hear anybody who's moving around loudly. Their sense of sight is the real deal: player visibility can depend on how much their overall color matches the overall cover of the mission, their stance, their movement, the weather, and their position in foliage or forests. By realistically limiting AI vision, the player can play through using a degree of stealth. If your game allows for character customization, this would be ideal -- the player might try to wear black during that night mission and sneak about with silenced weapons, as opposed to attracting a ton of attention to himself.
Reaction to threats: Back on the whole cheating thing. How many games have you played where you would injure a guard, with your sniper rifle one mile away, and he somehow knows EXACTLY where you are? Yep, not happening with TAIK. If a bullet lands near an NPC, he'll judge the shooter's position by the direction of the shot sound, and will take cover until he truly sees the shooter. If he didn't hear the noise, he'll figure out where a sniper would make most sense based on his surroundings.
Yep, I only read about that in every one of your other blogs. What's new with the coming update, eh?
For starters, how about grenade bouncing?

Oh yeah.

MMM, YEAH.

To make up for the classic AI inability to properly toss a grenade through a window, I decided to ... well ... give the AI the ability to properly toss a grenade through a window. This information is all pre-compiled on cover markers in a mission, so AI players can intelligently drop grenades around without any sort of performance hit.
That guy below the balcony we're on? Toss a 'nade over the railing. That sniper dicking around on the roof? Grenade on the roof. Need to clear a room? Rebound it on the wall so it lands dead center.

That's how the pre-compiling of the trajectory information is done. When you have a few minutes, you can let the TAIK Creator calculate and save the best grenade trajectories between all cover points in a mission. During a firefight, your handy TAIK characters will check the cover marker they're currently firing from, and if there is a way to throw a grenade to a cover marker the enemy is standing near. If so, you can figure out the rest.
Alright, that's sorta cool. What else ya got?
A rebuild of the TAIK Creator, smoothing things out and adding new features. For example, the ability to use the creator to edit spawn points you've already placed.

..."but wait, there's more" ?

There's always more. The incoming update will give us Recast/Detour pathfinding integration.


Newcomers to TAIK: this means that you can scale a box around your level, and the walkable areas are automatically calculated for AI players to use.
TAIK veterans: No more endlessly toiling in the fields, pressing 'X' at every square yard to drop a nav node. I know that was a pain, I'm sorry. But we can rejoice, as it's all over now.
FEED ME MORE THINGS
Lastly, I'm releasing an optional addon free with the next TAIK release. A lot of people have been asking for the weapon models, sounds, and mechanics featured in the TAIK demo. I'm planning on packaging that up in a non-intrusive way, and letting people install that into their game as they wish. This includes my (somewhat decent) weapon models, true-to-life firing sounds, working scripts, movement sway, reloading, aiming down the sights, and attachments (red dot/ACOG/iron sights, grenade launcher, suppressor). I thought you guys might dig that.
Speaking of which... if you're looking to take TAIK for a test run, try out the demo:

Link!
Warning: rather addicting.
Now's the time to buy TAIK!
If you get it before I release the update, you won't see the price increase from $74.95, as you'll be getting the update for free when it comes out. After this coming release, the price for the kit is going up to $89.95.
Games need good AI. We can start with yours.
Buy the Tactical AI Kit for Torque 3D 1.2, and receive free updates!
Go here to purchase TAIK for an earlier version of Torque!
Thanks for reading, folks. And more importantly, thanks for making this possible. Your contributions are immensely helpful for this soon-to-be broke college kid. Happy Torque'ing!
#2
07/02/2012 (6:11 am)
Oh man Bryce ... you rock. I am so looking forward to this release. Thanks. :)
#3
Nice idea about compiling Ai grenade trajectories. I know that in "Ball of Fruity" they used purpose grenade-helper-nodes placed in windows so that the Ai would throw at those when it wanted to attack a target behind one to make sure that it got the grenade through the window, but your solution is much more elegant and versatile.
Amusing workaround of the lack of "ribbons" that you've come up with. ;)
07/02/2012 (9:16 am)
Cool stuff, Bryce.Nice idea about compiling Ai grenade trajectories. I know that in "Ball of Fruity" they used purpose grenade-helper-nodes placed in windows so that the Ai would throw at those when it wanted to attack a target behind one to make sure that it got the grenade through the window, but your solution is much more elegant and versatile.
Amusing workaround of the lack of "ribbons" that you've come up with. ;)
#4
07/02/2012 (11:54 am)
I have to agree with the guys above my comment, very interesting stuff you've got there, Bryce. Stuff like this make me want to get back to Torque 3D again eventhough I'm working on a very multiplat (including custom firmware PSP and the OpenPandora) project now...
#6
One thing I'm wondering on, is if you're using recast, had you considered looking into using the mesh contours to automatically distribute cover markers?
If you could figure out a decent approximation to it, it'd just go another step to streamlining map setup.
I'm also stoked by your choice to include some of the weapon/sound/code stuff for your demo. It'll provide a good foundation for people to work off of(and saves me some work too! :D )
07/03/2012 (3:03 am)
Glad to see things are coming along nicely dude!One thing I'm wondering on, is if you're using recast, had you considered looking into using the mesh contours to automatically distribute cover markers?
If you could figure out a decent approximation to it, it'd just go another step to streamlining map setup.
I'm also stoked by your choice to include some of the weapon/sound/code stuff for your demo. It'll provide a good foundation for people to work off of(and saves me some work too! :D )
#7
07/04/2012 (6:59 pm)
Bryce nicely
#9
07/10/2012 (7:10 pm)
Great news Bryce, Can't wait to play with the new update.
#10
07/19/2012 (8:51 am)
When can releas Update new Tactical AI Kit?
#11
MIT licensed version of T3D And if so do you have an ETA for that?
10/12/2012 (2:10 am)
Will there be a new version compatible with the MIT licensed version of T3D And if so do you have an ETA for that?
#12
Things have been getting a bit complicated on the front of getting this packaged up and out the door. Hopefully in a month or so? If you go ahead and check "Notify me of new comments" above, I'll make sure you get a heads-up!
10/12/2012 (8:52 am)
Yeah, it should be. I'll do some test runs on the MIT version just to be sure, but as far as I know it's the exact same code as it used to be.Things have been getting a bit complicated on the front of getting this packaged up and out the door. Hopefully in a month or so? If you go ahead and check "Notify me of new comments" above, I'll make sure you get a heads-up!
#13
11/07/2012 (6:01 am)
I installed TAIK on a MIT Version the other day ... it did work although my Crouch animation got a little screwed ... I am still checking in to see what the problem is. 
Torque Owner Daniel Buckmaster
T3D Steering Committee