26 THESIS STATEMENT Using linear logic to model interactive worlds enables rapid prototyping of experimental game designs and deeper understanding of narrative structure.
45 Linear Logic Programming Configuration (linear context) term/predicate declarations, permanent facts, and rules [Harland et al. 2000; Lopez et al. 2005] e.g. Signature (permanent rules)
attack : turn Player * $on_team Player Team * opp Team Team’ * $on_team Enemy Team’ * $attack Player Att * health Enemy H -o subtract Enemy H Att. 92 Augmenting rules with strategies:
Reasoning Tools (Ch 6) Using linear logic to model interactive worlds enables rapid prototyping of experimental game designs and deeper understanding of narrative structure.
105 Thesis Statement, reprise Using linear logic to model interactive worlds enables rapid prototyping of experimental game designs and deeper understanding of narrative structure. Case Studies (Ch 5)
106 Thesis Statement, reprise Chapters 2 & 3 Using linear logic to model interactive worlds enables rapid prototyping of experimental game designs and deeper understanding of narrative structure.
Thanks! Using linear logic to model interactive worlds enables rapid prototyping of experimental game designs and deeper understanding of narrative structure. Thesis Statement, reprise http://www.cs.cmu.edu/~cmartens/thesis.pdf
attack : turn Player * $on_team Player Team * opp Team Team’ * $on_team Enemy Team’ * $attack W Att * health Enemy H * nat_minus H Att H’ -o health Enemy H’. ! die : health P z -o dead P. 117 Backward-Chaining Subtraction
rules } Find in linear context attack : turn Player * $on_team Player Team * $on_team Enemy Team’ * $attack W Att * health Enemy H * opp Team Team’ * nat_minus H Att H’ -o health Enemy H’.
120 subtract/s : subtract P (s Health) (s Att) -o subtract P Health Att. ! subtract/done : subtract P H z -o health P H. ! subtract/die : subtract P z Att -o dead P. Forward-Chaining Subtraction
121 nat_minus nat nat nat : bwd. minus/z- : nat_minus z N z. minus/-z : nat_minus N z N. minus/s : nat_minus (s N) (s M) P <- nat_minus N M P. Backward-Chaining Subtraction
123 Types and Predicates team : type. blue : team. yellow : team. ! player : type. ! on_team player team : pred. health player nat : pred. attack player nat : pred.
124 Types and Predicates nat : type. z : nat. s nat : nat. (Operators on numbers can be defined in the language via backward chaining, or by accessing built-in functions.)