Sims Scripting

Not sure where I got these notes from, but they're interesting, and related to the theme of Emergent Story - probably from a talk at GDC06. In Sims Scripting, an object is a collection of data, each containing an executable microthread that when placed in a lot will run code by default Each object contains localized String lists, executable scripts, common definition meta data, animation lists, routing information, advertising information, interaction definitions,- may also contain model information. Some objects are physical - cars, toilets etc., some are not - objects that handle visitors arriving on the lot, the weather, time of day, social objects etc. Microthreads are implemented using yielding primitives that wait until their functionality is complete. e.g.: Routing, animation, sleeping etc. Each thread has stack and can pass data to functions like any other language. Internal error checking when script crashes or errors occur (e.g routing errors), the object resets to a known state. In the case of sims, it resets them to the last saved state and repositions them in the world, as well as resetting any objects they were interacting with

Content by Nick Porcino (c) 1990-2011