Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
situation-space.md 2.52 KiB

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).


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 ❙