knowledge overload keeping ai knowledge organized in large
TRANSCRIPT
![Page 1: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/1.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Knowledge OverloadKeeping AI Knowledge Organized In
Large Scale ProjectsGuillaume Bouilly
SQUARE ENIX CO., LTD.2020/09/03
![Page 2: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/2.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Speaker Introduction• Academic background
– Software Engineer– AI specialization (M. Sc. A)
• Eidos Montréal (2012 – 2018)– Deus Ex : Mankind Divided (2016)
• SQUARE ENIX CO., LTD (2018 – present)– Advanced Technology Division Deus Ex: Mankind Divided © 2016 Square Enix Ltd. All rights reserved.
![Page 3: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/3.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Speaker IntroductionAI Systems I have worked on• Patrol behaviors• Perception• Investigation behaviors• Stimulus tracking and
prioritization• Threat management• Search behaviors• Bark system• Companion AI
• Ranged combat• Combat positioning• Squad behaviors• Navigation• Aiming and look-at• Ambient AI• Scripted Events• Conversation Systems
![Page 4: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/4.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Speaker Introduction• To me the most important part of game AI is
Knowledge
![Page 5: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/5.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
AI Knowledge• A simple definition
– AI Knowledge is data organized in a way that allows the AI to understand its environment.
– This data can be used by AI systems to let the AI perform some actions.
![Page 6: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/6.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
AI Knowledge• Why is knowledge important?
– Basis of decision making– Limitations are often linked to knowledge
![Page 7: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/7.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
AI Knowledge• Knowledge Representation
– Navigation Data– Influence Map– Reasoning Grid– Blackboard– Etc…
![Page 8: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/8.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
AI Knowledge
Perception
Knowledge
Decision Making
Behaviors
Gameplay Systems
Animation
![Page 9: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/9.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
AI Knowledge• A lot of bugs are actually knowledge bugs
– Wrong information– Out of date information– Human errors
![Page 10: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/10.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
AI Knowledge• Why is this important?• AAA games in 2020
– Hundreds of employees– Several years– Multiple locations
![Page 11: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/11.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
AI Knowledge• Pitfalls of inadequate knowledge management
– Longer onboarding– Confusion and errors– Inefficient communication– Bugs=> Increased development time
![Page 12: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/12.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Outline• Case 1 : Too Much Information!• Case 2 : External Reasoning• Case 3 : Dealing With Archetypes• Case 4 : Asynchronous Updates• Putting it all together• Follow-up • Additional Tips
![Page 13: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/13.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 1
Too Much Information
![Page 14: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/14.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 1 : Too Much Information
CurrentStatePreviousState
MoodCurrentPatrol
NextPatrolPointIsJumping
JumpStartPositionJumpEndPosition
JumpTypeCurrentBark
LastBarkTimeStamp
InvestigationTypeInvestigationPositionGroupInvestigationInvestigationTimer
CurrentTargetCurrentPosition
CurrentCoverDestinationCover
CoverTypeCoverAimingType
IsCoverDestructibleCoverToCoverOption
CurrentThreatIsVisible
LastKnownPositionLastDetectedTimeStamp
RestrictedAreaTypeRestrictedAreaFaction
WarningTypeWarningTimerStimulusType
StimulusTimestampStimulusPosition
FactionPlayerRelationship
JobTypeSpecialSkill
MainWeaponBackupWeapon
BulletTypeGrenade
AimTargetIsTargetBlocked
IsAiming
![Page 15: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/15.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 1 : Too Much Information• Problem
– Too much information
![Page 16: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/16.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 1 : Too Much Information• Problem
– Initial learning barrier too high– Too much time spent searching– Confusion between similar named elements
![Page 17: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/17.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 1 : Too Much Information
CurrentStatePreviousState
MoodCurrentPatrol
NextPatrolPointIsJumping
JumpStartPositionJumpEndPosition
JumpTypeCurrentBark
LastBarkTimeStamp
InvestigationTypeInvestigationPositionGroupInvestigationInvestigationTimer
CurrentTargetCurrentPosition
CurrentCoverDestinationCover
CoverTypeCoverAimingType
IsCoverDestructibleCoverToCoverOption
CurrentThreatIsVisible
LastKnownPositionLastDetectedTimeStamp
RestrictedAreaTypeRestrictedAreaFaction
WarningTypeWarningTimerStimulusType
StimulusTimestampStimulusPosition
FactionPlayerRelationship
JobTypeSpecialSkill
MainWeaponBackupWeapon
BulletTypeGrenade
AimTargetIsTargetBlocked
IsAiming
![Page 18: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/18.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 1 : Too Much InformationThreatData
IsVisibleLastKnownPosition
LastDetectedTimeStamp
StimulusData
StimulusTypeTimestamp
PositionInvestigationPosition
TargetData
CurrentTargetCurrentPosition
JumpData
IsJumpingStartPositionEndPosition
AimingData
AimTargetIsTargetBlocked
IsAiming
BarkData
CurrentBarkLastBarkTimeStamp
![Page 19: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/19.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 1 : Too Much InformationJump Data
LinkIDStartArea
DestinationAreaStartPositionEndPosition
FacingBlendValue
LoopDuration
![Page 20: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/20.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 1 : Too Much Information
NavigationJumpData
LinkIDStartArea
DestinationArea
GameplayJumpData
StartPositionEndPosition
FacingAnimationJumpData
BlendValueLoopDuration
![Page 21: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/21.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 1 : Too Much Information• Lessons
– Smaller pods of knowledge are easier to manage– Regroup what makes sense together
![Page 22: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/22.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 2
External Reasoning
![Page 23: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/23.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 2 : External Reasoning
Knowledge
AI System
AI System
AI System
![Page 24: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/24.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 2 : External Reasoning
Wandering Using Objects Conversation
![Page 25: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/25.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 2 : External Reasoning
Flee Flee Conversation
BANG!
![Page 26: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/26.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 2 : External Reasoning
Knowledge
Wander System
UseObjectSystem
Converse System
ShouldPanic?
ShouldPanic?
ShouldPanic?
![Page 27: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/27.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 2 : External Reasoning
ReactionSystem
bool ShouldPanic();Knowledge
Wander System
UseObjectSystem
Converse System
![Page 28: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/28.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 2 : External Reasoning• Lesson
– Encapsulate the reasoning at only one location
![Page 29: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/29.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 2 : External ReasoningAI States
• Neutral• Suspicious• Alarmed• Hostile
Radar
• Neutral• Suspicious• Alarmed• Hostile
Easy!
![Page 30: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/30.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 2 : External ReasoningAI States
• Neutral• Suspicious• Alarmed• Hostile
Radar
• Neutral• Suspicious• Alarmed• Hostile
![Page 31: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/31.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 2 : External Reasoning
AI UI
???? ????
![Page 32: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/32.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 2 : External Reasoning
AI UI
RadarSystem
GetRadarState();
Radar
DisplayRadarState();
![Page 33: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/33.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 2 : External Reasoning• Lessons
– Encapsulate the reasoning at only one location– The system owning the data is probably the best
suited to own that reasoning
![Page 34: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/34.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 3
Dealing With Archetypes
![Page 35: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/35.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 3 : Dealing With ArchetypesHuman• Agile and intelligent• Weak to poison• Use cover
Robot• Slow and resistant• Weak to EMP• Fights in the open
![Page 36: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/36.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 3 : Dealing With Archetypes• Archetype becomes a tag in code
![Page 37: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/37.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 3 : Dealing With Archetypes• Resolving stun damage
![Page 38: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/38.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 3 : Dealing With ArchetypesAugmented Human• Is a human• Is weak to EMP
Strong Robot• Is a robot• Immune to EMP
![Page 39: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/39.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 3 : Dealing With Archetypes
![Page 40: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/40.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 3 : Dealing With Archetypes• Conflict
– Archetype design– Individual enemy properties
![Page 41: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/41.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 3 : Dealing With Archetypes• Solution
– Define an interface for your characters– Query each property individually– Each character can be configured according to
that property
![Page 42: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/42.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 3 : Dealing With Archetypes
![Page 43: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/43.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 3 : Dealing With Archetypes
![Page 44: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/44.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 3 : Dealing With Archetypes• IsPlayer()
Player
IsPlayer(){
return true;}
NPC
IsPlayer(){
return false;}
![Page 45: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/45.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 3 : Dealing With Archetypes
Thugs Mafia
Police PlayerAllies
Neutral
![Page 46: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/46.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 3 : Dealing With ArchetypesFactions• Player• Mafia• Thugs• Police• etc...
Factions• Player• Mafia• Thugs• Police• etc...
![Page 47: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/47.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 3 : Dealing With Archetypes• Relationships
– Allied– Friendly– Neutral– Wary– Enemy
![Page 48: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/48.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 3 : Dealing With Archetypes
![Page 49: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/49.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 3 : Dealing With Archetypes
![Page 50: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/50.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 3 : Dealing With Archetypes• Lessons
– Avoid linking groups of properties to archetypes, use properties individually
– If tags are unavoidable, make them flexible through the use of an interface
![Page 51: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/51.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 4
Asynchronous Updates
![Page 52: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/52.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 4 : Asynchronous Updates• Main Thread
– Worker Thread– Worker Thread– …
![Page 53: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/53.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Knowledge
Case 4 : Asynchronous Updates
Updating
AI System
AI System
AI System
Crash!!
![Page 54: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/54.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 4 : Asynchronous Updates• Frame order
– Access allowed– No access
• Update knowledge
– Access allowed
SAFE!
![Page 55: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/55.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 4 : Asynchronous Updates
Attack
![Page 56: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/56.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 4 : Asynchronous UpdatesDecision Making Behavior
Get closer to target! Already close enoughTerminate
![Page 57: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/57.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 4 : Asynchronous Updates• Frame order
– Decision making– Update knowledge– Execution
OUT OF SYNC!
![Page 58: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/58.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 4 : Asynchronous Updates• Frame order
– Update knowledge– Decision making– Execution
OK!
![Page 59: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/59.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 4 : Asynchronous Updates• Benefits of safe knowledge update
– Time-slicing– Delegation architectures– Multi-frame requests
![Page 60: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/60.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 4 : Asynchronous Updates• Time slicing
AI 1
AI 2
AI 3
AI 4
AI 5
AI 6
AI 7
AI 8
AI 9
AI 10
AI 11
AI 12
Frame 1 Frame 3Frame 2 Frame 4
![Page 61: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/61.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 4 : Asynchronous Updates• Delegating Architecture
High-Level Decision
Low-Level Decision
Behavior Execution
Animation
![Page 62: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/62.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 4 : Asynchronous Updates
RequestNewCover
SearchForCoverCheckIfNewCoverReady
GoToCover
CheckIfNewCoverReady
CheckIfNewCoverReady
![Page 63: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/63.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 4 : Asynchronous Updates• Events
– Easy to use interface– Reduce coupling between systems– Can communicate between code and data
![Page 64: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/64.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 4 : Asynchronous Updates
Gameplay System????? Event Unsafe? CRASH
![Page 65: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/65.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 4 : Asynchronous Updates• Event Reception Flow
– Receive Event– Acknowledge reception– Next main update: process events
![Page 66: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/66.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
NormalExecution
Case 4 : Asynchronous Updates
Gameplay System
Acknowledge????? Event
Gameplay System
Next UpdateSafe
![Page 67: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/67.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Case 4 : Asynchronous Updates• Lessons
– Update knowledge safely before accessing it– Safe knowledge update has multiple benefits – Acknowledge events and process them later
![Page 68: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/68.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Putting It Together
![Page 69: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/69.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Putting it all together• Separate knowledge into small pods of
specialized data• Define clear interfaces offering reasoning on
that specific knowledge• Update safely before accessing
![Page 70: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/70.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Putting it all togetherInterface
Knowledge
Safe Interface
Knowledge
Safe Interface
Knowledge
Safe
Interface
Knowledge
Safe Interface
Knowledge
Safe Interface
Knowledge
Safe
![Page 71: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/71.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Putting it all together• Easy to understand• Reasoning is left to the experts • Safe updates lead to new benefits
![Page 72: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/72.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Follow Up
![Page 73: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/73.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Follow-up : Data Driven Content
CODE DATAVS
![Page 74: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/74.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Follow-up : Data Driven Content• Data driven is just another way to represent
code• Coding principles should be applicable
– Divide into small groups that make sense– Create building blocks for specialized interfaces– Make sure update is safe
![Page 75: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/75.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Follow Up : Prototyping vs Production
• Safer = more restrictions– Limited access– Specific organization
![Page 76: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/76.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Follow Up : Prototyping vs Production
• When prototyping– Ok to have less restrictions– Goal is to go fast
• When production– Time to make things more robust– Goal is to be safe
![Page 77: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/77.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Follow Up : Improved Communication
• Restrictions mean people need to talk– Problems are explained explicitly– Experts can figure out the best solution– Less solitary struggles
![Page 78: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/78.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Final Thoughts• Naming is important
• Identify what is painful
• There is no perfect solution
![Page 79: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/79.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Conclusion• Knowledge is important• Consider how your knowledge flows through your
architecture• Try to reduce the amount of knowledge in one place• Use interfaces to let expert systems do the reasoning• Make sure your knowledge update is safe, and use
asynchronous updates• Figure out what is best for your team
![Page 80: Knowledge Overload Keeping AI Knowledge Organized In Large](https://reader033.vdocuments.net/reader033/viewer/2022051804/6281afba1d5c8610c00b1e30/html5/thumbnails/80.jpg)
© 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
Questions