diff --git a/situation-space.md b/situation-space.md index 1c954e811614059520f799fb97ea3e0e89b39876..c70c4715918dbb12d650bf23b384e94c471d1ff0 100644 --- a/situation-space.md +++ b/situation-space.md @@ -1,76 +1,76 @@ -## The Evolution of a Situation Space - -This is an overview of how a situation space and theory looks like over the course of playing. - -Read from top to bottom; the comments indicate the "current" action that led to the creation of the respective module or declaration. - -Note that the below presentation features a linearly developing situation space. This is just the easiest case. Situation spaces can develop arbitrarily complex in tree-like fashion (e.g., compare with quest and side quest systems of MMORPGs). - -```mmt - -fixmeta http://mathhub.info/FrameIT/frameworld?FrameworldMeta âš - -theory SituationSpace = - // Player starts with SituationTheory1 below that includes this root situation theory, - providing access to scrolls that are available by default â™ - theory Root = - include ?OppositeLen â™ - include ?AngleSum â™ - include ?Midpoint â™ - âš - - // Player starts with this situation theory. â™ - theory SituationTheory1 = - include ?DefaultSituationSpace/Root â™ - - // The player collects some facts about the world. â™ - fact1: ... â™ - fact2: ... â™ - fact3: ... â™ - - // The player formulates a scroll view... (continued below) â™ - view ScrollView1 : ?OppositeLen/Problem -> ?SituationSpace/SituationTheory1 = - factslot1 = fact1 â™ - factslot2 = fact2 â™ - factslot3 = fact3 â™ - âš - âš - - // (continued)... and applies the scroll and thus lands in a new derived situation theory. â™ - theory SituationTheory2 = - include ?SituationSpace/SituationTheory1 â™ - - // The player gets access to facts obtained by the scroll (these are precisely the ones pushed out - from ?OppositeLen/Solution over ?SituationSpace?SituationTheory1?ScrollView1). â™ - out_fact1: ... â™ - out_fact2: ... â™ - out_fact3: ... â™ - - // Also, the player gets the view into the pushout â™ - view ScrollView1_pushout : ?OppositeLen/Solution -> ?SituationSpace/SituationTheory2 = - out_fact1 = out_fact1 â™ - out_fact2 = out_fact2 â™ - out_fact3 = out_fact3 â™ - âš - - // The player goes on collecting more facts. â™ - fact4: ... â™ - fact5: ... â™ - - // The player again formulates a scroll, now being able to combine facts they measured themselves - and facts they previously obtained via scroll application. â™ - view ScrollView2 : ?OppositeLen/Problem -> ?SituationSpace/SituationTheory2 = - factslot1 = out_fact1 â™ - factslot2 = fact4 â™ - factslot3 = out_fact3 â™ - âš - âš - - theory SituationSpace/SituationTheory3 = - include ?SituationSpace/SituationTheory2 â™ - out_fact4: ... â™ - - // and so on and so forth â™ - âš -âš -``` \ No newline at end of file +## The Evolution of a Situation Space + +This is an overview of how a situation space and theory looks like over the course of playing. + +Read from top to bottom; the comments indicate the "current" action that led to the creation of the respective module or declaration. + +Note that the below presentation features a linearly developing situation space. This is just the easiest case. Situation spaces can develop arbitrarily complex in tree-like fashion (e.g., compare with quest and side quest systems of MMORPGs). + +```mmt + +fixmeta http://mathhub.info/FrameIT/frameworld?FrameworldMeta âš + +theory SituationSpace = + // Player starts with SituationTheory1 below that includes this root situation theory, + providing access to scrolls that are available by default â™ + theory Root = + include ?OppositeLen â™ + include ?AngleSum â™ + include ?Midpoint â™ + âš + + // Player starts with this situation theory. â™ + theory SituationTheory1 = + include ?SituationSpace/Root â™ + + // The player collects some facts about the world. â™ + fact1: ... â™ + fact2: ... â™ + fact3: ... â™ + + // The player formulates a scroll view... (continued below) â™ + view ScrollView1 : ?OppositeLen/Problem -> ?SituationSpace/SituationTheory1 = + factslot1 = fact1 â™ + factslot2 = fact2 â™ + factslot3 = fact3 â™ + âš + âš + + // (continued)... and applies the scroll and thus lands in a new derived situation theory. â™ + theory SituationTheory2 = + include ?SituationSpace/SituationTheory1 â™ + + // The player gets access to facts obtained by the scroll (these are precisely the ones pushed out + from ?OppositeLen/Solution over ?SituationSpace?SituationTheory1?ScrollView1). â™ + out_fact1: ... â™ + out_fact2: ... â™ + out_fact3: ... â™ + + // Also, the player gets the view into the pushout â™ + view ScrollView1_pushout : ?OppositeLen/Solution -> ?SituationSpace/SituationTheory2 = + out_fact1 = out_fact1 â™ + out_fact2 = out_fact2 â™ + out_fact3 = out_fact3 â™ + âš + + // The player goes on collecting more facts. â™ + fact4: ... â™ + fact5: ... â™ + + // The player again formulates a scroll, now being able to combine facts they measured themselves + and facts they previously obtained via scroll application. â™ + view ScrollView2 : ?OppositeLen/Problem -> ?SituationSpace/SituationTheory2 = + factslot1 = out_fact1 â™ + factslot2 = fact4 â™ + factslot3 = out_fact3 â™ + âš + âš + + theory SituationSpace/SituationTheory3 = + include ?SituationSpace/SituationTheory2 â™ + out_fact4: ... â™ + + // and so on and so forth â™ + âš +âš +```