GDC 2014: Concurrent Interactions in The Sims 4

77
1,814

The first of two GDC classes for The Sims 4 has hit the internet! Check out the entire “Concurrent Interactions” class straight from GDC’s Vault. Just in case the PDF is removed from GDC’s website, or is restricted to members only, I have uploaded it to Mediafire for your convenience.
 

❗ Please note that all in-game photos from this class are from ALPHA Software

 
 
Session Name: Concurrent Interactions in The Sims 4
 
Speaker(s): Peter Ingebretson, Max Rebuschatis
 
Company Name(s): Electronic Arts (Maxis), Electronic Arts (Maxis)
 
Track / Format: Programming
 
Overview: In real life, people often do several things at the same time, but games typically limit agents to performing actions sequentially. For The Sims 4, we developed a system for authoring interactions that allows simulated people (called Sims) to express multiple concurrent behaviors.
 
Interactions are largely data-driven and are defined in terms of constraints, which specify the state a Sim must be in to perform the interaction. Constraints are used to test whether interactions are compatible, and to drive decisions that Sims make about whether, how and where to perform an interaction.
 
This system allows Sims in The Sims 4 to convincingly eat, watch TV, chat with other Sims, express emotion, and perform many more behaviors simultaneously. We believe that this powerful and simple technique could be applied to a similar effect in your game too.
 
 

Peter_Ingebretson_Concurrent_Interactions_In-00000057 Peter_Ingebretson_Concurrent_Interactions_In-00000056 Peter_Ingebretson_Concurrent_Interactions_In-00000050 Peter_Ingebretson_Concurrent_Interactions_In-00000048 Peter_Ingebretson_Concurrent_Interactions_In-00000046 Peter_Ingebretson_Concurrent_Interactions_In-00000045 Peter_Ingebretson_Concurrent_Interactions_In-00000044 Peter_Ingebretson_Concurrent_Interactions_In-00000043 Peter_Ingebretson_Concurrent_Interactions_In-00000042 Peter_Ingebretson_Concurrent_Interactions_In-00000041 Peter_Ingebretson_Concurrent_Interactions_In-00000040 Peter_Ingebretson_Concurrent_Interactions_In-00000033 Peter_Ingebretson_Concurrent_Interactions_In-00000032 Peter_Ingebretson_Concurrent_Interactions_In-00000031 Peter_Ingebretson_Concurrent_Interactions_In-00000030 Peter_Ingebretson_Concurrent_Interactions_In-00000028 Peter_Ingebretson_Concurrent_Interactions_In-00000026 Peter_Ingebretson_Concurrent_Interactions_In-00000024 Peter_Ingebretson_Concurrent_Interactions_In-00000022 Peter_Ingebretson_Concurrent_Interactions_In-00000020 Peter_Ingebretson_Concurrent_Interactions_In-00000018 Peter_Ingebretson_Concurrent_Interactions_In-00000016 Peter_Ingebretson_Concurrent_Interactions_In-00000015 Peter_Ingebretson_Concurrent_Interactions_In-00000014 Peter_Ingebretson_Concurrent_Interactions_In-00000012 Peter_Ingebretson_Concurrent_Interactions_In-00000010 Peter_Ingebretson_Concurrent_Interactions_In-00000008 Peter_Ingebretson_Concurrent_Interactions_In-00000006 Peter_Ingebretson_Concurrent_Interactions_In-00000005 Peter_Ingebretson_Concurrent_Interactions_In-00000002

 

Continue…