Skip to content

Instantly share code, notes, and snippets.

@kenwebb
Last active August 30, 2018 10:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kenwebb/bcd26f1b874caa81aa5c2db96cd02dc6 to your computer and use it in GitHub Desktop.
Save kenwebb/bcd26f1b874caa81aa5c2db96cd02dc6 to your computer and use it in GitHub Desktop.
Interactive Storytelling - Emily Short
<?xml version="1.0" encoding="UTF-8"?>
<!--Xholon Workbook http://www.primordion.com/Xholon/gwt/ MIT License, Copyright (C) Ken Webb, Thu Aug 30 2018 06:55:03 GMT-0400 (Eastern Daylight Time)-->
<XholonWorkbook>
<Notes><![CDATA[
Xholon
------
Title: Interactive Storytelling - Emily Short
Description:
Url: http://www.primordion.com/Xholon/gwt/
InternalName: bcd26f1b874caa81aa5c2db96cd02dc6
Keywords:
My Notes
--------
August 11, 2018
References
----------
(1) https://emshort.blog/
Emily Short's Interactive Storytelling
Essays and reviews on narrative in games and new media
(2) https://emshort.blog/how-to-play/
(3) https://emshort.blog/how-to-play/writing-if/
(4) https://emshort.blog/how-to-play/reading-if/characters/
Characters
Obedient NPCs: NPCs who will take commands from the player and interact with the game world on the player’s behalf.
Reactive NPCs. NPCs don’t talk to the player (or not much, or not solely), but they do react to the player’s actions
Scripted NPCs. NPCs do their own thing, according to the author’s pre-programming.
Active-Agent NPCs. NPCs do their own thing, and are able to react to changes in the environment and unpredicted events.
Conversational NPCs. Characters have extensive implemented conversation to explore.
(5) http://inform7.com/learn/eg/dm/IntroductionToIF.pdf
(6) https://emshort.blog/how-to-play/reading-if/notable-interface/
(7) https://emshort.blog/2015/10/06/if-comp-2015-paradise-devine-lu-linvega/#more-9610
IF Comp 2015: Paradise (Devine Lu Linvega)
KSW this sounds like Xholon in many ways
KSW she also mentions "Nested"
author is Devine Lu Linvega
(8) http://orteil.dashnet.org/nested
(9) https://wiki.xxiivv.com/#paradise
Paradise
(10) https://ifcomp.org/
The Interactive Fiction Competition
An annual celebration of new, text-driven digital games and stories from independent creators.
(11) https://hundredrabbits.itch.io/paradise
download for $1.00 US
.zip files for Linux, osx, windows
]]></Notes>
<_-.XholonClass>
<!-- domain objects -->
<PhysicalSystem/>
<Block/>
<Brick/>
<!-- quantities -->
<Height superClass="Quantity"/>
</_-.XholonClass>
<xholonClassDetails>
<Block>
<port name="height" connector="Height"/>
</Block>
</xholonClassDetails>
<PhysicalSystem>
<Block>
<Height>0.1 m</Height>
</Block>
<Brick multiplicity="2"/>
</PhysicalSystem>
<Blockbehavior implName="org.primordion.xholon.base.Behavior_gwtjs"><![CDATA[
var a = 123;
var b = 456;
var c = a * b;
if (console) {
console.log(c);
}
//# sourceURL=Blockbehavior.js
]]></Blockbehavior>
<Heightbehavior implName="org.primordion.xholon.base.Behavior_gwtjs"><![CDATA[
var myHeight, testing;
var beh = {
postConfigure: function() {
testing = Math.floor(Math.random() * 10);
myHeight = this.cnode.parent();
},
act: function() {
myHeight.println(this.toString());
},
toString: function() {
return "testing:" + testing;
}
}
//# sourceURL=Heightbehavior.js
]]></Heightbehavior>
<Brickbehavior implName="org.primordion.xholon.base.Behavior_gwtjs"><![CDATA[
$wnd.xh.Brickbehavior = function Brickbehavior() {}
$wnd.xh.Brickbehavior.prototype.postConfigure = function() {
this.brick = this.cnode.parent();
this.iam = " red brick";
};
$wnd.xh.Brickbehavior.prototype.act = function() {
this.brick.println("I am a" + this.iam);
};
//# sourceURL=Brickbehavior.js
]]></Brickbehavior>
<Brickbehavior implName="org.primordion.xholon.base.Behavior_gwtjs"><![CDATA[
console.log("I'm another brick behavior");
]]></Brickbehavior>
<SvgClient><Attribute_String roleName="svgUri"><![CDATA[data:image/svg+xml,
<svg width="100" height="50" xmlns="http://www.w3.org/2000/svg">
<g>
<title>Block</title>
<rect id="PhysicalSystem/Block" fill="#98FB98" height="50" width="50" x="25" y="0"/>
<g>
<title>Height</title>
<rect id="PhysicalSystem/Block/Height" fill="#6AB06A" height="50" width="10" x="80" y="0"/>
</g>
</g>
</svg>
]]></Attribute_String><Attribute_String roleName="setup">${MODELNAME_DEFAULT},${SVGURI_DEFAULT}</Attribute_String></SvgClient>
</XholonWorkbook>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment