AIGameDev.com already beat me to punch, downloadable slides to boot.
Continue blogging despite redundancy.
Game constantly zooms in and out. Brutal since AI could avoid neither the detailed collision detection of Double Dragon, nor the strategic planning of Command & Conquer. 50 unique unit types + various sizes + unique chain attack (that required proper physics) = non-artifical headache.
Smart A.I. Tip - only possess things bigger than you.
3 Layers: top develops strategic path, middle does something, bottom all about pathfinding. Waypoints (whatever those are) converted into strategic graphs. No regrets about manual annotations, "not micromanaging the low level A.I.". Path analysis for every squad "continously update the pathfinder in the background based on influencers".
The future? Mission specific context locations within a level
"i could never have written the A.I. for these special cases".
Photo of Hindenburg followed by laughter "i didn't think that would get a laugh". Leveraging massive "company of heroes" codebase" was not easy. COH about killing each other from a distance, DOW about killing each other up close. See earlier "Conquer Dragon and Double Command" problem.
Got AI right thanks to short iteration cycles combined with "AI Programmer + AI Designer" buddy system. Buddies always look out for each other, and never wife swap.
Is player within enemy's A* circle of hate? Attack! Overlapping circles aren't allowed, preventing player swampage. Designers control the size of hate radius, which also helps sync animation. Great for 2 or 20 units... unsure about Hitler unit.
AI added some personality without more animation.
i.e. Weak units seek cover and wait for backup
i.e. Bahshees jump away and shoot from a distance
Nothin' I luvs more than killing cowards.
Behavior trees are static and designed for engineers.
But they can be more...
Dynamically enable/disable tree branches.
Not a big deal, and is being used by David in real life.
While designers can't modify behavior tree, they can add enticers
which effectively attach new behaviors to the tree (process and remove).
i.e. While idling, NPC is enticed by a computer. Attach "surf porn" behavior.
And Alex did shout "Let the behavior tree THINK"
"You don't want your behaviors structured like states."
i.e. When NPC has reached a state (i.e. hiding behind box),
have some clueless subsystem take over.
BTs should spend less time obsessing over states,
and more time thinking about next cool behavior/goal.
Decouple BT from the crap at hand (did someone say Blackboard).
You want scripted AI. "A Big Win for Big Huge"
Fact: Scripting is not too slow.
Currently using tweaked Lua in a game, might be able to keep it there.
Fact: Designers can do it.
Time you waste training is time you gain not writing behaviors.
David came back to show off his behavior tree debugging tools.
One tool displays behavior tree in real time, and allows devs to change values.
If I knew what a behavior tree was, I'd be impressed.
We travelled northward, where rumours of burritos proved true.