<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>Redcap</title>
	<atom:link href="http://redcap.interactive-storytelling.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://redcap.interactive-storytelling.de</link>
	<description></description>
	<pubDate>Fri, 12 Mar 2010 12:23:59 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
	<language>en</language>
			<item>
		<title>Thespian Architecture</title>
		<link>http://redcap.interactive-storytelling.de/thespian-architecture/</link>
		<comments>http://redcap.interactive-storytelling.de/thespian-architecture/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 23:15:05 +0000</pubDate>
		<dc:creator>Si</dc:creator>
		
		<category><![CDATA[Thespian]]></category>

		<category><![CDATA[Architectures]]></category>

		<guid isPermaLink="false">http://redcap.interactive-storytelling.de/?p=478</guid>
		<description><![CDATA[ Thespian is multi-agent framework for authoring and simulating interactive narrative.

Egri Lajos has strongly argued for the importance of characters in traditional narratives. His view of narrative &#8212; of rich, well motivated, autonomous characters as a creative spark to the author, and is nevertheless constrained by the author&#8217;s goals for the plot &#8212; serves as [...]]]></description>
			<content:encoded><![CDATA[<p><!--[if gte mso 9]&gt;--> <span style="">Thespian is multi-agent framework for authoring and simulating interactive narrative.</span><span style=""><br />
</span></p>
<p style="" class="MsoNormal"><span style="">Egri Lajos has strongly argued for the importance of characters in traditional narratives. </span><span style="">His view of narrative &#8212; of rich, well motivated, autonomous characters as a creative spark to the author, and is nevertheless constrained by the author&#8217;s goals for the plot &#8212; serves as inspiration to the approach taken in Thespian. Specifically, a two-layer system is used for simulating interactive narrative.</span></p>
<p style="" class="MsoNormal">&nbsp;</p>
<p style="" class="MsoNormal"><img height="332" width="612" alt="" src="http://redcap.interactive-storytelling.de/wp-content/uploads/2-layer.jpg" /></p>
<p style="" class="MsoNormal"><!--[if gte mso 9]&gt;--></p>
<p style="" class="MsoNormal"><span style="">At the base is a multi-agent system comprised of goal-oriented autonomous agents that realize the characters of the story. A key aspect of this layer is the richness of the agent design that provides motivations, emotions, theory of mind and social norms. The agents in this layer autonomously interact with each other and the character controlled by the user, thereby generating the story.</span><span style=""><br />
</span></p>
<p style="" class="MsoNormal"><span style="">Above this layer is a director agent that proactively redirects the characters when it foresees future behavior of the agents will endanger the author&#8217;s plot design, which can be seen as </span><i><span style="">group goals </span></i><span style="">for the multi-agent system. A key aspect of this layer is that the director agent has access to models of the agents and user. It uses these models to assess whether plot goals are achieved as well as redirect the characters. </span><span style=""><br />
</span></p>
<p style="" class="MsoNormal"><span style="">In addition to the two-layer simulation system for interactive narrative, Thespian also contains off-line authoring processes to facilitate the author in the design of characters.</span></p>
<p style="" class="MsoNormal"><img height="383" width="579" alt="" src="http://redcap.interactive-storytelling.de/wp-content/uploads/authoring(1).jpg" />&nbsp;</p>
<p style="" class="MsoNormal"><span style=""><br />
</span></p>
<p>&nbsp;</p>
<p style="" class="MsoNormal">&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://redcap.interactive-storytelling.de/thespian-architecture/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Storyworld in Thespian</title>
		<link>http://redcap.interactive-storytelling.de/thespian-storyworld/</link>
		<comments>http://redcap.interactive-storytelling.de/thespian-storyworld/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 23:10:30 +0000</pubDate>
		<dc:creator>Si</dc:creator>
		
		<category><![CDATA[Thespian]]></category>

		<category><![CDATA[Storyworlds]]></category>

		<guid isPermaLink="false">http://redcap.interactive-storytelling.de/?p=481</guid>
		<description><![CDATA[Character Design
   
Decision-theoretic goal-based agents are used for modeling each character in the story, with the character&#8217;s motivations encoded as the agent&#8217;s goals. Each agent has multiple and potentially competing goals, e.g. keeping safe vs. keeping others safe, that can have different relative importance or preferences. Thespian agents have recursive beliefs about self [...]]]></description>
			<content:encoded><![CDATA[<h1><span><strong>Character Design<br />
</strong>   </span></h1>
<p>Decision-theoretic goal-based agents are used for modeling each character in the story, with the character&#8217;s motivations encoded as the agent&#8217;s goals. Each agent has multiple and potentially competing goals, e.g. keeping safe vs. keeping others safe, that can have different relative importance or preferences. Thespian agents have recursive beliefs about self and others, e.g. my belief about your belief about my goals, which forms a&nbsp; &quot;Theory of Mind&quot;.</p>
<p><img height="340" width="340" alt="" src="http://redcap.interactive-storytelling.de/wp-content/uploads/norm-eat(1).jpg" /></p>
<p>The &quot;Theory of Mind&quot; capacity enables the agents to reason about others when making their own decision, and thus makes them &quot;social characters&quot;. To make the agents&#8217; behaviors more human-like and socially aware, Thespian models social normative behaviors and emotion. By default, Thespian agents act following norms, unless they have other more impressing goals.</p>
<p>When deciding what to do, a bounded lookahead policy is used by the agents. They project limited steps into the future, considering not only their own actions, but also other characters&#8217; responses using their mental models of other characters, and its responses in return. The agents choose the action that receives the highest expected reward to proceed. Thus, they act both true to their motivations and in reaction to the status of the interaction.</p>
<p>For example, in the scenario shown above, the wolf will react to Red differently depending on whether there is somebody else close by, and who is that. The wolf will choose different actions when the hunter is near and when the woodcutter is near, because the wolf has different mental models about these two characters.</p>
<p>The user is also modeled using a Thespian agent based on the character whom the user takes the role of. In modeling the user, not only the goals of the user&#8217;s character are considered, but also the goals associated with game play. This model allows other agents to form mental models about the user the same way as about other characters and the director agent to reason about the user&#8217;s beliefs and experience.</p>
<h1><span><strong><strong>Plot Design</strong></strong></span></h1>
<p>Thespian provides a proactive directorial control approach, which coordinates the agent&#8217;s behaviors without breaking their motivations for reaching the author&#8217;s desired affects. Its director agent projects into the future for detecting potential violations of the author&#8217;s directorial goals, which is expressed as partial order or temporal constraints on key events in the story. An event can be either an action from a character or a state of a character including the user. An example of directorial goal is given below.</p>
<p><!--[if !mso]&gt;--></p>
<p><!--[endif]--></p>
<p><span style=""><em>orders = [[&ldquo;Wolf knows Granny&rsquo;s location&rdquo;, &ldquo;Wolf eats Granny&rdquo;], 	   	[&ldquo;Wolf eats Granny&rdquo;, &ldquo;Wolf eats Red&rdquo;]]</em></span></p>
<p><span style=""><em>earlierThan = [&ldquo;Wolf knows Granny&rsquo;s location&rdquo;, 10]</em></span></p>
<p><em>laterThan2 = [&ldquo;Wolf knows Granny&rsquo;s location&rdquo;, 10, &ldquo;Wolf eats Granny&rdquo;]</em></p>
<p><em>earlierThan2 = [&ldquo;Wolf eats Granny&rdquo;, 3, &ldquo;Wolf eats Red&rdquo;]</em></p>
<p><img alt="" src="http://redcap.interactive-storytelling.de/wp-content/uploads/dgoal(2).jpg" style="" /></p>
<p>If the director agent detects a potential violation, it explores alternative methods for tweaking the characters&#8217; behavior and to reach the directorial goals. <span style="">The director agent takes a least commitment approach to coordinating the agent-characters. During the interaction, the director agent maintains a space of character configurations consistent with the characters&#8217; prior behavior. Each of these configurations is equally valid in the sense that they will all drive the character to act in exactly the same way up to the current point of the interaction. When a future violation of the plot design is predicted by the director, it constrains that space so that the rest of the configurations will drive the agent to act in a way that eliminates the violation. In this way, from the user&#8217;s perspective the characters are always well-motivated and the user can interact freely with them.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://redcap.interactive-storytelling.de/thespian-storyworld/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Example Scene in Thespian</title>
		<link>http://redcap.interactive-storytelling.de/thespian-scene/</link>
		<comments>http://redcap.interactive-storytelling.de/thespian-scene/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 23:08:18 +0000</pubDate>
		<dc:creator>Si</dc:creator>
		
		<category><![CDATA[Thespian]]></category>

		<category><![CDATA[Scenes]]></category>

		<guid isPermaLink="false">http://redcap.interactive-storytelling.de/?p=484</guid>
		<description><![CDATA[Please follow the link below to see some example scenes. Output from Thespian are dialogue acts in text formats. In these example stories, a Java applet is used to convert the dialogues acts into surface sentences and show matching pictures.
http://people.ict.usc.edu/~meisi/Red/LRRH%20Examples.htm
]]></description>
			<content:encoded><![CDATA[<p>Please follow the link below to see some example scenes. Output from Thespian are dialogue acts in text formats. In these example stories, a Java applet is used to convert the dialogues acts into surface sentences and show matching pictures.</p>
<p>http://people.ict.usc.edu/~meisi/Red/LRRH%20Examples.htm</p>
]]></content:encoded>
			<wfw:commentRss>http://redcap.interactive-storytelling.de/thespian-scene/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Creation Process in Thespian</title>
		<link>http://redcap.interactive-storytelling.de/thespian-creation/</link>
		<comments>http://redcap.interactive-storytelling.de/thespian-creation/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 23:06:58 +0000</pubDate>
		<dc:creator>Si</dc:creator>
		
		<category><![CDATA[Thespian]]></category>

		<category><![CDATA[Creation]]></category>

		<guid isPermaLink="false">http://redcap.interactive-storytelling.de/?p=486</guid>
		<description><![CDATA[Currently, the specification of directorial control goals are defined using the format shown in the example above. For authoring agents, Thespian provides 3 alternative approaches: a GUI, a spreadsheet approach or specification in a Python format. Note the GUI and spreadsheet approaches have both been used by non-technical users to create agents,. We start by [...]]]></description>
			<content:encoded><![CDATA[<p><font face="Calibri, Verdana, Helvetica, Arial"><span style="">Currently, the specification of directorial control goals are defined using the format shown in the example above. For authoring agents, Thespian provides 3 alternative approaches: a GUI, a spreadsheet approach or specification in a Python format. Note the GUI and spreadsheet approaches have both been used by non-technical users to create agents,. We start by discussing the third approach first. <br />
</span></font></p>
<h2>Authoring Interface I:</h2>
<p>For authors who are comfortable writing codes, the agents can be directly coded. For example, following is a definition of an agent, including its horizon and depth of reasoning, actions, state features, goals and beliefs.</p>
<p>classHierarchy['NormAgent'] = {<br />
&nbsp;&nbsp;&nbsp; &#8216;horizon&#8217;:3,<br />
&nbsp;&nbsp;&nbsp; &#8216;depth&#8217;:2,<br />
&nbsp;&nbsp;&nbsp; &#8217;state&#8217;:{\<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8216;init-norm&#8217;:0.00000000000000001,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8216;resp-norm&#8217;:0.00000000000000001,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8230;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8216;being-greeted&#8217;:0.0,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8230;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8216;conversation&#8217;:0.0,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; },<br />
&nbsp;<br />
&nbsp;&nbsp;  &#8216;actions&#8217;: {&#8217;type&#8217;:'XOR&#8217;,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8216;key&#8217;:'type&#8217;,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8216;values&#8217;:[{'type':'literal','value':'greet-init'},<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {'type':'literal','value':'greet-resp'},<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ...<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; 'base': {'type':'XOR',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'key':'object',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'values':[{'type':'literal','value':'cha'},<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ],<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; },<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; },<br />
&nbsp;&nbsp;&nbsp; &#8216;goals&#8217;:[\<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {'entity':&nbsp;&nbsp;&nbsp; ['self'],<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8216;direction&#8217;: &#8216;max&#8217;,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8216;type&#8217;:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8217;state&#8217;,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8216;key&#8217;:&nbsp;&nbsp; &#8216;init-norm&#8217;,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8216;weight&#8217;:&nbsp;&nbsp;&nbsp; .5},</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&#8217;entity&#8217;:&nbsp; ['self'],<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8216;direction&#8217;:'max&#8217;,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8216;type&#8217;:&#8217;state&#8217;,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8216;key&#8217;:'likeTalk&#8217;,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8216;weight&#8217;:.1},</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8230;<br />
&nbsp;&nbsp;&nbsp; }}<br />
&nbsp;</p>
<h2>Authoring Interface II:</h2>
<p>Alternatively, the author can use a graphic interface for defining the agents.</p>
<p>All the components defined in the above example can be inputted through this interface.</p>
<p>&nbsp;<a href="http://redcap.interactive-storytelling.de/wp-content/uploads/1stOrderBeliefs.png" target="_blank"><img height="537" width="650" alt="" src="http://redcap.interactive-storytelling.de/wp-content/uploads/1stOrderBeliefs.png" /></a></p>
<p>&nbsp;&nbsp;</p>
<h2>Authoring Interface III:</h2>
<p>Finally, project specific format for text input can be defined. Part of the agent modeling is done within Thespian (in the code that supports the interpretation of the text input), the author only need to change a few parameters for defining the agents.For example, below is a text file that define two agents who negociate with each other. The two agents have differnt goals in terms of how much they care about themselves vs. care about the other person&#8217;s experience. They may also have different beliefs about the other person&#8217;s goals.</p>
<p>&nbsp;<a target="_blank" href="http://redcap.interactive-storytelling.de/wp-content/uploads/input.JPG"><img height="302" width="650" alt="" src="http://redcap.interactive-storytelling.de/wp-content/uploads/input.JPG" /></a>&nbsp;</p>
<p>To further faciliatate authoring, Thespian can simulate potential users&#8217; behaviors and generate all the potential interaction paths.</p>
<p>An additional program is developped in Unity game engine to help the author view and edit the paths, as well as supply surface sentencs to the dialogue acts.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://redcap.interactive-storytelling.de/thespian-creation/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The Virtual Storyteller - Architecture</title>
		<link>http://redcap.interactive-storytelling.de/virtualstoryteller-architecture/</link>
		<comments>http://redcap.interactive-storytelling.de/virtualstoryteller-architecture/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 21:17:29 +0000</pubDate>
		<dc:creator>Swartjes</dc:creator>
		
		<category><![CDATA[VirtualStoryteller]]></category>

		<category><![CDATA[Architectures]]></category>

		<guid isPermaLink="false">http://redcap.interactive-storytelling.de/?p=336</guid>
		<description><![CDATA[The Virtual Storyteller is a story generator based on principles of emergent narrative [1]. There is no predetermined plot; autonomous Character Agents are used to simulate the &#8216;lives&#8217; of characters in a story world. This yields a particular event sequence (the fabula) that can then be used as a basis for generating and presenting a [...]]]></description>
			<content:encoded><![CDATA[<p>The Virtual Storyteller is a story generator based on principles of emergent narrative [<a href="http://hmi.ewi.utwente.nl/~swartjes/documents/publications/BNAIC08_swartjes.pdf">1</a>]. There is no predetermined plot; autonomous Character Agents are used to simulate the &#8216;lives&#8217; of characters in a story world. This yields a particular event sequence (the fabula) that can then be used as a basis for generating and presenting a narrative text. A&nbsp;Character Agent can be replaced by an interface for human participation.</p>
<p style=""><img width="400" height="243" align="middle" alt="Architecture of the Virtual Storyteller" src="http://redcap.interactive-storytelling.de/wp-content/uploads/VSTarchitecture.png" /></p>
<p><span style="">One of the goals of the Virtual Storyteller project is to serve as an experiment in emergent narrative authoring [<a href="http://hmi.ewi.utwente.nl/~swartjes/documents/publications/ICIDS09_swartjes.pdf">2</a>].</span><span style=""> Authoring here means writing character models and supplying specific actions, goals etc. for a particular story &#8216;world&#8217;. We investigate how an author may think and work to end up with the content and processes that make up such a world. </span></p>
<p><span style="">What is particular about the Virtual Storyteller in comparison to other character-centric approaches, is that it also pays attention to the role that virtual characters can play as &quot;drama managers&quot; of their own stories, inspired by improvisational acting [<a href="http://hmi.ewi.utwente.nl/~swartjes/documents/publications/AAAI07_FS06_swartjes.pdf">3</a>]. To this end, the Virtual Storyteller provides support for some out-of-character mechanisms (i.e., mechanisms at the story level). Most notably, the characters in the Virtual Storyteller can justify the adoption of new character goals and support the creation of plans for their goals, by selecting story world events (which are unintentional at the character level) and by filling in the details of the story world setting during execution [<a href="http://hmi.ewi.utwente.nl/~swartjes/documents/publications/ICIDS08_swartjes.pdf">4</a>].</span></p>
<p>The Virtual Storyteller <a href="http://sourceforge.net/projects/virtstoryteller/">source code</a> is available from SourceForge.&nbsp;More information can be found on the <a href="http://virtstoryteller.sourceforge.net">Virtual Storyteller homepage</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://redcap.interactive-storytelling.de/virtualstoryteller-architecture/feed/</wfw:commentRss>
		</item>
		<item>
		<title>LRRH Storyworld in The Virtual Storyteller</title>
		<link>http://redcap.interactive-storytelling.de/virtualstoryteller-storyworld/</link>
		<comments>http://redcap.interactive-storytelling.de/virtualstoryteller-storyworld/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 21:15:49 +0000</pubDate>
		<dc:creator>Swartjes</dc:creator>
		
		<category><![CDATA[VirtualStoryteller]]></category>

		<category><![CDATA[Storyworlds]]></category>

		<guid isPermaLink="false">http://redcap.interactive-storytelling.de/?p=338</guid>
		<description><![CDATA[Creating an interactive story about Little Red Riding&#160;Hood&#160;(LRRH) with The Virtual Storyteller means two things:

Letting go of the idea to reproduce the original story.
Trying to implement some of the physical and psychological processes that one can believe to drive the LRRH world and its characters.

The following describes the small story world that was created for [...]]]></description>
			<content:encoded><![CDATA[<p>Creating an interactive story about Little Red Riding&nbsp;Hood&nbsp;(LRRH) with The Virtual Storyteller means two things:</p>
<ol>
<li>Letting go of the idea to reproduce the original story.</li>
<li>Trying to implement some of the physical and psychological processes that one can believe to drive the LRRH world and its characters.</li>
</ol>
<p>The following describes the small story world that was created for the LRRH&nbsp;authoring workshop at ICIDS &#8216;08.  We followed an <a href="http://redcap.interactive-storytelling.de/virtualstoryteller-creation">iterative authoring cycle</a>, using the LRRH&nbsp;story as inspiration for authoring decisions made along the way. The idea is also to use feedback of the simulation as further inspiration for new content.</p>
<p>We created three character agents to play the roles of Little Red Riding Hood (Red), Grandma, and Wolf. To enable a tight feedback loop between authoring and simulation outcomes, we started with a simple and minimal design of a story world (e.g., one goal and actions that can achieve it, so that the planner can turn these actions into a goal plan). The initial setup of the story world contained the goal (and accompanying actions) to bring a cake to Grandma. To enable the expression of this goal, a small story world geography was authored (a path from Red&#8217;s house to the forest, and from the forest to Grandma&#8217;s house) along with some actions (to skip from one location to another, and to give something to someone). This world is depicted here (images created by hand):</p>
<p>&nbsp;</p>
<p><img width="600" height="272" style="" alt="" src="http://redcap.interactive-storytelling.de/wp-content/uploads/SettingLRRH(1).png" /><br />
&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://redcap.interactive-storytelling.de/virtualstoryteller-storyworld/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Example Scene for The Virtual Storyteller</title>
		<link>http://redcap.interactive-storytelling.de/virtualstoryteller-scene/</link>
		<comments>http://redcap.interactive-storytelling.de/virtualstoryteller-scene/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 21:14:27 +0000</pubDate>
		<dc:creator>Swartjes</dc:creator>
		
		<category><![CDATA[VirtualStoryteller]]></category>

		<category><![CDATA[Scenes]]></category>

		<guid isPermaLink="false">http://redcap.interactive-storytelling.de/?p=340</guid>
		<description><![CDATA[The following story world example was created by means of a series of authoring cycles. The creation process for this world took approximately 15 hours of work.
First cycle
A predictable story &#34;emerged&#34; during simulation: Red skipped to the forest, then to Grandma&#8217;s house, and gave her the cake. We chose to author content so that Grandma [...]]]></description>
			<content:encoded><![CDATA[<p>The following story world example was created by means of a series of authoring cycles. The creation process for this world took approximately 15 hours of work.</p>
<p><em><strong>First cycle</strong></em></p>
<p>A predictable story &quot;emerged&quot; during simulation: Red skipped to the forest, then to Grandma&#8217;s house, and gave her the cake. We chose to author content so that Grandma would eat the cake, and also wanted to enable Wolf to eat the cake, by stealing it. So we added a goal to eat something, and an action to take something from someone else. To enable justification of this goal, we added an event to become hungry.</p>
<p><em><strong>Second cycle</strong></em></p>
<p>In the simulation, both Grandma and Wolf could not adopt any goals: for them, the preconditions for available goals did not match the initial state of the story world. So they attempted to justify goals (out-of-character) by selecting the event to become hungry. On her way to Grandma, Red met Wolf, who had adopted the goal to eat something and took the cake from Red. However, since Red still wanted to bring the cake to Grandma, she took back the cake from Wolf. Wolf still wanted to eat the cake, so again took the cake from Red. This &quot;cake fight&quot; continued until Red skipped to Grandma&#8217;s house before Wolf managed to take the cake from her. Then, a similar situation occurred with Grandma who did not know that Red was going to give her the cake. Because she was hungry, Grandma took the cake from Red. This also happened to solve Reds goal that Grandma had the cake. Now Red had no more goals to adopt, so she selected the event to become hungry and adopted the goal to eat something. This caused Red to take back the cake from Grandma, and eat it herself.</p>
<p>&nbsp;</p>
<p><img width="700" height="153" src="http://redcap.interactive-storytelling.de/wp-content/uploads/takefrom(1).png" alt="" /></p>
<p>Some of this behaviour was expected, some was surprising and inspiring (e.g., Red could be an assertive girl), and some was undesired, resulting from a domain underspecification: only mean persons take something from someone when it does not belong to them; nice people ask. Furthermore, if the cake can be taken away from Red without the possibility of taking it back (e.g., if Red is not mean), a response is needed to this event. We chose to have Red cry as a plausible dramatic response for little girls.</p>
<p>So in the implementation phase, we added a framing operator that can endow a character to be mean; we further chose that only one character in the story world can be mean. We added a &quot;cry&quot; reactive action, triggered by someone taking something from a character without the character&#8217;s consent. We chose to constrain the crying reactive action trigger so that it is only applicable to little girls (although it would be fun if the wolf would cry too if someone stole something from him). <br />
&nbsp;<br />
<em><strong>Third cycle</strong></em></p>
<p>In the simulation, Wolf framed himself to be mean (out-of-character, using the framing operator), so that he could plan to take away the cake from Red. After this mean action from Wolf, Red started crying. This was as expected. As authors, we considered how the simulation might continue at this point. Red might go to Grandma to seek support. In revenge, Grandma might poison a cake and feed it to Wolf. We considered how this might open up possibilities in the simulation for the cake to be poisoned by Red in an attempt to poison Grandma in case <em>Red</em> happens to be the mean one (an idea was to add a goal specifying that mean characters try to poison others). Wolf might be allowed to satisfy his hunger by eating Grandma, or by following Red and eating them both. Red might be given the option to be distrustful and avoid interaction with Wolf.&nbsp;</p>
<p>We only implemented one of these ideas. We added a goal to seek support and added speech actions for Red to tell Grandma what happened, and to ask her what to do. We also added a goal for Grandma to avenge her granddaughter by poisoning the wrongdoer, and actions that allowed a goal plan. Grandma baked a cake, poisoned it, went up to the wolf and gave him the cake. The wolf, being hungry again, ate it and died. Red and Grandma lived happily ever after.</p>
<p><img width="500" height="374" src="http://redcap.interactive-storytelling.de/wp-content/uploads/seeksupport(1).png" alt="" /></p>
]]></content:encoded>
			<wfw:commentRss>http://redcap.interactive-storytelling.de/virtualstoryteller-scene/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Creation Process in The Virtual Storyteller</title>
		<link>http://redcap.interactive-storytelling.de/virtualstoryteller-creation/</link>
		<comments>http://redcap.interactive-storytelling.de/virtualstoryteller-creation/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 21:13:04 +0000</pubDate>
		<dc:creator>Swartjes</dc:creator>
		
		<category><![CDATA[VirtualStoryteller]]></category>

		<category><![CDATA[Creation]]></category>

		<guid isPermaLink="false">http://redcap.interactive-storytelling.de/?p=342</guid>
		<description><![CDATA[As with many other generative approaches to interactive storytelling, the stories that can be experienced or told with The Virtual Storyteller are part human-authored, part system-determined. In particular if stories are to emerge, it is impossible to determine beforehand what content and processes to write in order to come up with a satisfactory story domain.
Rather, [...]]]></description>
			<content:encoded><![CDATA[<p>As with many other generative approaches to interactive storytelling, the stories that can be experienced or told with The Virtual Storyteller are part human-authored, part system-determined. In particular if stories are to emerge, it is impossible to determine beforehand what content and processes to write in order to come up with a satisfactory story domain.</p>
<p>Rather, we conceive of the creation process in The Virtual Storyteller as a continuous cycle of writing content, seeing what the system makes of this content, and coming up with new ideas. An authoring paradigma that has proven useful is to not only correct the system if it is not doing what was expected (&#8217;debugging&#8217;), but also to accept that the system may take the space of potential stories in directions not initially considered (&#8217;co-creation&#8217;) [<a href="http://hmi.ewi.utwente.nl/~swartjes/documents/publications/ICIDS09_swartjes.pdf">1</a>].</p>
<p style=""><img width="350" height="307" src="http://redcap.interactive-storytelling.de/wp-content/uploads/authoring-cycle(1).png" alt="" /></p>
<p>In this process, it is considered important to maintain a tight feedback loop between the steps, making small, incremental changes to the content. Furthermore, it is considered important to actively consider whether certain content can be reused in other situatons. This helps create density of the space  of stories.</p>
<p><strong><big>Content to be created</big></strong></p>
<p>What needs to be created for a particular story domain? Let&#8217;s consider the simple case in which we re-use domain-independent parts of the character models (such as event appraisal and action planning) for a new story domain. In this case, authoring consists of a set of knowledge representations:</p>
<table width="600" cellspacing="1" cellpadding="1" border="1">
<tbody>
<tr>
<td><strong>Type</strong></td>
<td><strong>Explanation</strong></td>
<td><strong>Example from LRRH domain<br />
            </strong></td>
</tr>
<tr>
<td>Setting</td>
<td>Facts about the story world (e.g., a topology, location of characters and objects)</td>
<td>The Wolf is in the forest, Red has a birthday cake</td>
</tr>
<tr>
<td>Ontology</td>
<td>Gives semantics to these facts. Created in the Prot&eacute;g&eacute; tool [<a href="http://protege.stanford.edu">2</a>]</td>
<td>A forest is a type of location</td>
</tr>
<tr>
<td>Threads</td>
<td>Characters and their initial goals, arranged for a specific purpose (e.g. to achieve a conflict)</td>
<td>Wolf, Red and&nbsp;Grandma; Red wants to bring a cake to Grandma</td>
</tr>
<tr>
<td>Goals</td>
<td>What does a character want to achieve, under which circumstances is this possible, and how important is it to achieve?</td>
<td>Bring a cake to grandma, eat something, seek revenge</td>
</tr>
<tr>
<td>Goal selection rules</td>
<td><em>When</em> is a character motivated or caused to adopt a goal?</td>
<td>If you are hungry, eat something</td>
</tr>
<tr>
<td>Actions</td>
<td>What can a character do, under which circumstances is this possible, and what are the effects?</td>
<td>Skip to somewhere, eat, steal something, cry</td>
</tr>
<tr>
<td>Action selection rules</td>
<td>In which circumstances will a character select a certain action that was not planned?</td>
<td>If you meet someone you haven&#8217;t met before, greet them</td>
</tr>
<tr>
<td>Events</td>
<td>What can happen (unintentionally, e.g., a car accident or dropping a vase), under which circumstances is this possible?</td>
<td>
<p>Become hungry</p>
</td>
</tr>
<tr>
<td>Expectations</td>
<td>What can a character reasonably expect to happen as a consequence of some event or action?</td>
<td>If someone is offered a cake, they can be expected to eat it</td>
</tr>
<tr>
<td>Beliefs</td>
<td>What possible inferences can be made given a certain context?</td>
<td>If someone does not greet you back, they do not like you</td>
</tr>
<tr>
<td>Framing operators</td>
<td>What aspects of the setting can be retroactively defined in service of the story?</td>
<td>The Wolf in LRRH&nbsp;decides halfway that he is a mean character</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p>This knowledge is currently created as a combination of <a href="http://www.w3.org/TeamSubmission/turtle/">RDF/Turtle</a> syntax (setting), <a href="http://www.w3.org/TR/owl-ref/">RDF/OWL</a>&nbsp;knowledge edited in the <a href="http://protege.stanford.edu">Prot&eacute;g&eacute;</a> tool (ontology) and Prolog files (goals, actions, etc). Eventually we would like to have a tool that supports authoring, for instance by presenting pre-defined fields, checking syntax and semantics, providing visual organisation of the content, and checking interrelatedness of content (e.g. actions that can be strung together in a plan but also, e.g., finding goals that can never occur).</p>
<p>&nbsp;</p>
<p><strong><big>Example setting</big></strong></p>
<p>Example of the setting of the LRRH&nbsp;world (in <a href="http://www.w3.org/TeamSubmission/turtle/">RDF/Turtle</a>):</p>
<p><code># Little Red Riding Hood<br />
:red<br />
&nbsp;&nbsp;&nbsp; a&nbsp;&nbsp; red:LittleGirl ;<br />
&nbsp;&nbsp;&nbsp; swc:at&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :reds_house ;&nbsp; <br />
&nbsp;&nbsp;&nbsp; swc:has&nbsp;&nbsp;&nbsp;&nbsp; :birthday_cake ;<br />
&nbsp;&nbsp;&nbsp; swc:owns&nbsp;&nbsp;&nbsp; :birthday_cake ;<br />
&nbsp;&nbsp;&nbsp; rdfs:label&nbsp; &quot;Little Red Riding Hood&quot; .</code></p>
<p><tt># The forest&nbsp;&nbsp;&nbsp; <br />
:forest<br />
&nbsp;&nbsp;&nbsp; a&nbsp;&nbsp; red:Forest ;<br />
&nbsp;&nbsp;&nbsp; rdfs:label &quot;the forest&quot; ;<br />
&nbsp;&nbsp;&nbsp; .</tt></p>
<p><code><tt># Path from Red&#8217;s house to forest<br />
:forest_path1a<br />
&nbsp;&nbsp;&nbsp; a&nbsp;&nbsp; swc:Path ;<br />
&nbsp;&nbsp;&nbsp; swc:from&nbsp;&nbsp;&nbsp; :reds_house ;<br />
&nbsp;&nbsp;&nbsp; swc:to&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :forest ;<br />
&nbsp;&nbsp;&nbsp; rdfs:label&nbsp; &quot;the path leading to the forest&quot; .</tt></code></p>
<p>&nbsp;</p>
<p><strong><big>Example action</big></strong></p>
<p>Example action for taking something from someone (in Prolog):&nbsp;</p>
<p>&nbsp; <code>action_schema([<br />
&nbsp;&nbsp;&nbsp; type(red:'TakeFrom'),<br />
&nbsp;&nbsp;&nbsp; arguments([agens(Agens), patiens(Patiens), target(Target)]),<br />
&nbsp;&nbsp;&nbsp; duration(1),<br />
&nbsp;&nbsp;&nbsp; preconditions([<br />
<span style="">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; % Two different characters and a location</span><br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; condition(true, [<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rule(Agens, owlr:isNot, Target),<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rule(Agens, owlr:typeOrSubType, swc:'Character'),<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rule(Target, owlr:typeOrSubType, swc:'Character'),<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rule(Loc, owlr:typeOrSubType, swc:'Location')<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ]),&nbsp; <br />
<span style="">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; % Agens (who executes the action) is mean</span><br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; condition(true, [<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; fact(Agens, swc:hasAttribute, red:mean)<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ]),&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
<span style="">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; % Target has the thing</span><br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; condition(true, [<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fact(Target, swc:has, Patiens)<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ]),<br />
<span style="">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; % Agens does not own the thing (otherwise, this is TakeBack)</span><br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; condition(false, [<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; fact(Agens, swc:owns, Patiens)<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ]),<br />
<span style="">&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; % At the same location</span><br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; condition(true, [<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fact(Agens, swc:at, Loc),<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fact(Target, swc:at, Loc)&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ])&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; ]),<br />
&nbsp;&nbsp;&nbsp; effects([<br />
<span style="">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; % Agens has the thing</span><br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; condition(true, [<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; fact(Agens, swc:has, Patiens)<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;]),<br />
<span style="">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;% Target no longer has the thing</span><br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;condition(false, [<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fact(Target, swc:has, Patiens)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ])<br />
&nbsp;&nbsp;&nbsp; ])<br />
&nbsp; ]).</code></p>
]]></content:encoded>
			<wfw:commentRss>http://redcap.interactive-storytelling.de/virtualstoryteller-creation/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Linear Logic System Architecture</title>
		<link>http://redcap.interactive-storytelling.de/linearlogic-architecture/</link>
		<comments>http://redcap.interactive-storytelling.de/linearlogic-architecture/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 20:50:28 +0000</pubDate>
		<dc:creator>Champagnat</dc:creator>
		
		<category><![CDATA[LinearLogic]]></category>

		<category><![CDATA[Architectures]]></category>

		<guid isPermaLink="false">http://redcap.interactive-storytelling.de/?p=324</guid>
		<description><![CDATA[Our architecture is based on two components: an Interactive Storytelling rendering and an Interactive Storytelling controller.

The controller aims to manage the unfolding of the history by taking into account the player actions and according to the structure of the narrative pre-defined. The controller is based on a computational model of Interactive Storytelling: Linear Logic. We [...]]]></description>
			<content:encoded><![CDATA[<p>Our architecture is based on two components: an Interactive Storytelling rendering and an Interactive Storytelling controller.</p>
<p><img width="539" height="373" alt="" src="http://redcap.interactive-storytelling.de/wp-content/uploads/archi.jpeg" /></p>
<p>The controller aims to manage the unfolding of the history by taking into account the player actions and according to the structure of the narrative pre-defined. The controller is based on a computational model of Interactive Storytelling: Linear Logic. We adapt Greimas analysis to the constraints of Interactive Storytelling.</p>
<p>Greimas was the first to develop narrative formalism as an abstract formula to represent an action (narrative program). He proposed to define an action as a transition from one state to another state where the subject gains or loses an object (conjunctive or disjunctive narrative program).</p>
<p>Linear Logic has been introduced by J.-Y. Girard as a restriction of classical logic. Unlike classical logic, Linear Logic is not used to determine whether an assertion is true or not but rather the validity of how formulas are used (and then consumed) when proving an assertion. Linear Logic is well suited to derive a computational model to partially ordered problems with resource sharing.</p>
<p>The main connector of Linear Logic are:</p>
<p>&nbsp;</p>
<ul style="">
<li>⊸: Implication (imply), express the possibility of deduction. Example: 2&euro;&nbsp;⊸&nbsp;trawberries<span style=""> </span>. Means that I can give 2 &euro; to buy strawberries.</li>
<li>&otimes;: Multiplicative conjunction (times), a set of resources (not ordered). Example:&nbsp;strawberry<span style=""> </span>&otimes;<span style=""> </span>strawberry<span style=""> </span>. Means that there are two diﬀerent strawberries (strawberry<span style="">&nbsp;<span style="">&otimes;<sup>2</sup>)</span></span></li>
<li>
<p style="">&weierp;: Multiplicative disjunction (par). Example:&nbsp;strawberry&nbsp;&otimes;<sup>2</sup>&nbsp;&weierp; strawberry&nbsp;&otimes;<sup>5</sup>. Means that there is two set of strawberries (one belongs to Alice and the other one to Bob for instance)</p>
</li>
<li>&oplus;: Additive disjunction (plus), external choice. Example:&nbsp;strawberry<span style=""> </span>&oplus; raspberry<span style=""> </span>. Expresses a choice (external to the process).<span style="">&nbsp;The player can choose strawberry or raspberry<span style="">&nbsp;</span></span></li>
<li>
<p style="">&amp;: Additive conjunction (with). Example:<span style="">&nbsp;</span>strawberry<span style=""> </span>&amp;<span style=""> </span>raspberry<span style=""> </span>. Expresses a choice (internal to the process).<span style="">&nbsp;</span>The game can choose strawberry or raspberry<span style="">&nbsp;</span></p>
</li>
<li>⊢: Turnstile, separate the left part (antecedent) and the right part (consequent) of a sequent. Example:&nbsp;D<span style=""> </span>,<span style=""> </span>D<span style=""> </span>⊸<span style=""> </span>E<span style=""> </span>⊢<span style=""> </span>E<span style=""> </span>Linear implication express the possibility to produce<span style="">&nbsp;a copy of<span style=""> </span>E<span style=""> </span>by consuming a copy of<span style=""> </span>D<span style=""> </span>AND a copy of<span style=""> </span>D&nbsp;<span style="">⊸&nbsp;</span>E<span style="">&nbsp;</span></span></li>
</ul>
<p>&nbsp;<font face="Arial, Verdana, sans-serif" size="3"><font face="'Times New Roman', Verdana, sans-serif" size="2"><br />
</font></font></p>
<p>A sequent of Linear Logic expresses all the possible narratives of a story. Each narrative corresponds to a proof of the sequent (Proving a sequent consists in rewriting the sequent by making a substitution of the formulas in order to have&nbsp;an initial sequent). As the proof is not unique, we can deduce various narratives.</p>
<p>The following sequent: A,<span style=""> </span>C<span style=""> </span>,<span style=""> </span>D<span style=""> </span>,<span style=""> </span>A<span style=""> </span>&otimes;<span style=""> </span>C<span style=""> </span>⊸<span style=""> </span>B<span style=""> </span>&otimes;<span style=""> </span>C<span style=""> </span>,<span style=""> </span>D<span style=""> </span>⊸<span style=""> </span>E<span style=""> </span>,<span style=""> </span>E<span style=""> </span>&otimes;<span style=""> </span>C<span style=""> </span>⊸<span style=""> </span>F<span style=""> </span>&otimes;<span style=""> </span>C<span style=""> </span>⊢<span style=""> </span>B<span style=""> </span>&otimes;<span style=""> </span>C<span style=""> </span>&otimes;<span style="">&nbsp;F;</span><span style="">&nbsp;gives the following proof graph (simplified to the substitution of the linear implication).</span></p>
<p><img width="461" height="163" alt="" src="http://redcap.interactive-storytelling.de/wp-content/uploads/proofGraph.jpeg" /></p>
<p>It is then possible to compute a sequent by using Petri nets. It has been proved that there is an equivalence between a sequent of Linear Logic and a Petri net (with some restrictions). A token player algorithm is then used to compute the model of Interactive Storytelling.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://redcap.interactive-storytelling.de/linearlogic-architecture/feed/</wfw:commentRss>
		</item>
		<item>
		<title>LRRH Storyworld in Linear Logic</title>
		<link>http://redcap.interactive-storytelling.de/linearlogic-storyworld/</link>
		<comments>http://redcap.interactive-storytelling.de/linearlogic-storyworld/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 20:40:59 +0000</pubDate>
		<dc:creator>Champagnat</dc:creator>
		
		<category><![CDATA[LinearLogic]]></category>

		<category><![CDATA[Storyworlds]]></category>

		<guid isPermaLink="false">http://redcap.interactive-storytelling.de/?p=326</guid>
		<description><![CDATA[Our system aims to derive an interactive storytelling where the player can influence the unfolding of the story (the discourse). As a consequence for a given storyworld we define various possible discourses (that are base on the same pattern of story structure).

The storyworld (character, setting, etc.): &#160;the Little Red Riding Hood history. The Little Red [...]]]></description>
			<content:encoded><![CDATA[<p>Our system aims to derive an interactive storytelling where the player can influence the unfolding of the story (the discourse). As a consequence for a given storyworld we define various possible discourses (that are base on the same pattern of story structure).</p>
<p><img width="716" height="343" src="http://redcap.interactive-storytelling.de/wp-content/uploads/IS.jpeg" alt="" /></p>
<p>The storyworld (character, setting, etc.): &nbsp;the Little Red Riding Hood history. The Little Red Riding Hood, the mother, the grandmother, the wolf, the hunters, a wood between the two houses, a cake and a little pot of butter.</p>
<p style="">The player is cast as the Little Red Riding Hood and act within the time and space of the fictional world of the Little Red Riding Hood history.</p>
<p style="">Three possible narratives :</p>
<p style="">- N1: Folk tales: based on Grimms&#8217; narrative. The Little Red Riding Hood walks through the woods to deliver food to her sick grandmother. The wolf wants to eat her, and goes to the grandmother house. A hunter help her to kill the wolf.</p>
<p style="">- N2: Fairy tales: a witch put a spell on the little Red Riding Hood. She has one day to marry a prince otherwise she will become a dwarf. The wolf, who is a princess that was put a spell, fells in love with the Little Red Ridding Hood and try to seduce her. Finally the Little Red Riding Hood gives a kiss to the wolf that becomes a wonderful prince. They get married, etc.</p>
<p style="">- N3: Action tales: the Little Red Ridding Hood wants to kill the wolf. The wolf escapes and meets hunter that protect him against the Little Red Riding Hood. The Wolf encounter Grandmother, take her as hostage, and there is a final fight. The Little Red Riding kills the wolf.</p>
<p style="">&nbsp;</p>
<p style="">Each narrative follows a basic structure:</p>
<p style="">1- Introduction</p>
<p style="">2- The task</p>
<p style="">3- Encounter with the Wolf</p>
<p style="">4- The two ways</p>
<p style="">5- The Wolf and the Grandmother</p>
<p style="">6- Arrival of Little Red Ridding Hood</p>
<p style="">7- First dialogue</p>
<p style="">8- Second dialogue</p>
<p style="">9- Conclusion</p>
]]></content:encoded>
			<wfw:commentRss>http://redcap.interactive-storytelling.de/linearlogic-storyworld/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

