ai pr0n
DESCRIPTION
AI Pr0n. Maximum Exposure of your debug info!. By David “Rez” Graham. Who's this Rez guy, anyway?. Who's this Rez guy, anyway?. Who's this Rez guy, anyway?. Who's this Rez guy, anyway?. Who's this Rez guy, anyway?. Who's this Rez guy, anyway?. Who's this Rez guy, anyway?. - PowerPoint PPT PresentationTRANSCRIPT
AI Pr0nMaximum Exposure of your debug info!
By David “Rez” Graham
Who's this Rez guy, anyway?
Who's this Rez guy, anyway?
Who's this Rez guy, anyway?
Who's this Rez guy, anyway?
Who's this Rez guy, anyway?
Who's this Rez guy, anyway?
Who's this Rez guy, anyway?
What We’re Going to Talk About
• Crash-Course on Sims AI
• Developing the tools of Sims Medieval
• Navigation Tools– Nav Mesh– Path Info– Routing Pane
• Decision Making Tools– Autonomy Window– Decision Making– Attempted Interactions
Sims AI Crash Course• Meta Autonomy
– Which lot should I be on?– Based on venue desire tuned by
designers– Schedules
• Local Autonomy– What should I do on my current lot?– Based on Utility provided for each
interaction on each object– Utility is based on Commodities, like
hunger, energy, social, etc.
Developing Tools• Most AI tools were written in C#• Gameplay code was in C#• AI Tools & Gameplay code were fully integrated
– The Good:o Gameplay programmers became tools programmerso Fast turnaround thanks to .NET functionalityo Used the same data structures and calculation code
– The Bad:o Tools broke when hitting a breakpointo Code was spread out
• Exception to C#: Routing– All routing code was in C++– Easier to do specialized rendering for paths, routing mesh, etc.
Route Debugging
Nav Mesh & Routing SlotsObjectschangemesh atruntime
NavMesh
Interactionscan alsoeffect mesh
RoutingSlots
Path Info & Walker States
PathPlans
WalkerState
MoverDestination
Routing Pane
Start & Goal PositionsFailureReason
Routing pane tool toggles
Requestor Sim History
Autonomy WindowCommodities
Autonomy Tool TabsHistory
Decision Making: Scores Tab
The last chosen interaction is colored in greenThe interaction that would have been chosen this turn is bolded
Interactions that fail the Test() function are colored in red
Attempted Interactions Tab
Final Thoughts• Tool Integration is a balancing act
• Tools should be easy to extend
• Tools should be interactive– If you can see it, you should be able to change
it
• Color is your friend– Learn from syntax highlighting
• History is important– History is often the key to understanding why
something entered a bad state
Thank You!
Email: [email protected]