This Wednesday roundtable was meant to be in two rooms, sadly, we got only one. However, a lot of discussion was had, and I got 3 pages of notes from it. These notes are somewhat hard to follow, but are pretty much in linear order of what came up. For some more notes, see Dave Mark’s grand offerings, with audio too!
What is everyone doing differently?
(This was about the only “topic break”, most of the rest are simply people bringing up a question 😉
Basic AI for over engineering some characters took on from some other programmer
- 14 agents, cuts down CPU cycles (not killing framerates, but was not fast)
- Has complicated background AI
- Based on the gameplay, can script the complex elements
Inferred AI by player
- Random can be “as effective” as a complicated solution
- Player doesn’t know the AI is thinking –
- No animations for flanking, so cannot show the intelligence
- Solution? Audio cues?
Are the players not getting better AI because we don’t provide feedback, so don’t want to implement?
- Halo example – didn’t notice AI feedback, even with audio – cannot be too obvious!
Shift away from hidden AI to…
- Multiple and complex simultaneous actions
- Drakes fortune – animations first, AI second
- Means the feedback is there before the AI is there
Perception of making the AI at the ignorance of fun?
- Deviating from fun: Blowing up guys!
- Doing animations first might help the fun
Split in game AI between classic challenging fun AI and other AI involving animations and behaviour which look smart
- Small during concept behind the actions – the actions are key?
- FEAR – jumping through window behaviour
AI based around complex black boxes, in a simple game, can be too complex.
Note: Multiple animations for rolling/actions, shown to be better!
Emergent behaviour is being used in planners
- Higher level planners are good!
On planners with priorities
- Some behaviours override all others
Bioshock/SWAT users hierarchies, with goals and subgoals
- Allows a huge amount of stuff
Designers like to alter numbers
- Can add in timers for animations/probabilities
- paradox of choice however!
- But no options – is no good
- Example might be classes of stuff
Big Huge Games – behaviour tree system in an RPG
- Connected to scripts
- Lots of iteration and tweaking variables
Emergent behaviour pisses off testers
Lack of control pisses of designers
- Not meant to fight designers (?) AI programemrs == enablers (?)
- Customer is always right until they are undereducated (?)
- QA gets mad when the testing space is too big, which leads to emergent behaviour
- State machines, threat maps for football games
Designers should leave the AI alone?
- AI programmers can design AI!
- But AI programmers work with designers – AI service
- Can save the designers work if the general AI will work without tons of static scripts
- Classic bottom up vs. top down
- Bottom up – scripter events
- Top down – Squads, characters
AI programmers are designers
- Bioshock had a team for AI discussions
- Started with “AI only! no scripting!” but didn’t work
- Designers can shutdown all or some of the AI for scripted parts
Need a good relationship with designers else what is produced might not match demands.
- Perhaps more this then technological problems now?
Lots of systems available
- Data driven, independent AI etc.
- Usually always need a AI programmer throughout the process – for new features
Designer/programmer relationship is easier when talking (better in a small company?)
- Priority of things – and replacing scripts with AI
- Lead engineer assigns time, then designers says what to do
- +Designer needs to do work to allow the player to see the AI work
Solutions for limited resources?
- Cut shit out
- EG: Fear: always reassessing to get in the room?
- Maybe lazy evaluation to delay decision
- On DS, define what the core AI is supposed to do
- Then evaluate time slace to see if you can add features
- High level state machines. Filtering of what decisions can be done
- State clouds – pick from one at a time
- Or aggressive pre-evaluation sometimes if AI is needed
- To avoid spikes – check what code is slow
Designers vision: perhaps work towards “good enough”
- Director-like vision – compare designers with animators and motion capture
- Look to get a general vision
- “Why do you want it?” not “What do you want?”
And that’s when the session ended – most of it made sense to me but I can try to clarify if you leave a comment or contact me 🙂