<x>Welcome to the interactive fiction workshop, Arklow!</x>
<h3>What we'll cover : </h3>
* What *is* interactive fiction anyway?
* Some tips about structuring a story
* How do I actually produce a basic story?
* Other tips/resources
[[Continue->About me]]<h3>About me</h3>
* Creating with Twine for most of the last trailing year
* Started with the Harlowe story format
* Moved to SugarCube and haven't looked back since
* Work in progress external story (my first one!) on my neocities site
[[So what is interactive fiction?->slide1]]<h3>What is interactive fiction?</h3>
* Interactive fiction is classified as 'Ergodic Literature'
* This term was created by <a href="https://en.wikipedia.org/wiki/Espen_Aarseth" target="_blank">Espen Aarseth</a>
* This simply means that a 'reader' or 'player' does not simply turn the page
* Instead they have to actively participate in the story
An common example of 'Ergodic Literature' is 'The Cave of Time'
<a href ="https://en.wikipedia.org/wiki/Choose_Your_Own_Adventure" target="_blank"><img src="https://upload.wikimedia.org/wikipedia/en/f/f0/Cave_of_time.jpg" alt="Cover of the Cave of Time CYOA novel" width="20%"></a>
[[So what can we make with Twine]]<h3>Ok, great, so what can we make with Twine?</h3>
The spectrum is vast and the limiting factor here is your own imagination. Entire novels have been written in this format.
Main point : You can offer a story in a full "experience" to the 'reader' so that they can experience directly the outcomes from certain choices. Putting the "reader's" skin in the game makes it more personal.
[[How do I play my interactive fiction story]]<h3>How do I play my story?</h3>
Once you have created a story (big or small) you can output the result directly to a .html file which can be hosted anywhere on the internet.
You can play the output html from your local machine for testing and upload thereafter.
Some common places to host stories (all free) :
itch.io - possibility to either require payment to access your story or ask for donation
neocities.org - free hosting and rudimentary social media style 'followers' - max is 5GB storage
...anywhere really that you can make a .html file accessible to the public internet
[[How to structure my story->slide2]]<h3>How do I structure my story?</h3>
Structuring a story, ideas, tips. We'll step through some snippets from the excellent https://heterogenoustasks.wordpress.com/2015/01/26/standard-patterns-in-choice-based-games/ by Sam Kabo Ashwell:
[[Time Cave]]<h3>Time Cave</h3>
A heavily-branching sequence. All choices are of roughly equal significance; there is little or no re-merging, and therefore no need for state-tracking. There are many, many endings.
<img src="https://heterogenoustasks.wordpress.com/wp-content/uploads/2015/01/timecaveb.png">
Effects: The time cave is the oldest and most obvious CYOA structure. It is often good for narratives about freedom and open possibility, adventures that could go anywhere, flights of fancy. Time caves tend to have relatively short playthroughs, but strongly encourage replay: they are broad rather than long. Even with multiple playthroughs, most players will probably miss a good deal of the content.
[[Gauntlet]]<h3>Gauntlet</h3>
Long rather than broad, gauntlets have a relatively linear central thread, pruned by branches which end in death, backtracking, or quick rejoining.
<img src="https://heterogenoustasks.wordpress.com/wp-content/uploads/2015/01/gauntlet.png">
Effects: The player is likely to realise that they are on a constrained path, but the presentation of side-branches matters a great deal.
Deadly Gauntlet : A wrong choice means game over.
Friendly Gauntlet : A wrong choice gets steered back on path (not game over).
[[Branch and Bottleneck]]<h3>Branch and Bottleneck</h3>
Branch and Bottleneck. The game branches, but the branches regularly rejoin, usually around events that are common to all versions of the story. To avoid obliterating the effect of past choices, branch-and-bottleneck structures almost always rely on heavy use of state-tracking (if a game doesn’t do this, chances are you are dealing with a gauntlet).
<img src="https://heterogenoustasks.wordpress.com/wp-content/uploads/2015/01/bottlebranch.png">
Effects: Branch-and-bottleneck games tend to be heavily governed by the passage of time, while still allowing the player fairly strong grasp. The branch-and-bottleneck structure is most often used to reflect the growth of the player-character: it allows the player to construct a somewhat-distinctive story and/or personality, while still allowing for a manageable plot.
[[Continue->Quest]]<h3>Quest</h3>
The quest structure forms distinct branches, though they tend to rejoin to reach a relatively small number of winning endings (often only one). The elements of these branches have a modular structure: small, tightly-grouped clusters of nodes allowing many ways to approach a single situation, with lots of interconnection within each cluster and relatively little outside it.
<img src="https://heterogenoustasks.wordpress.com/wp-content/uploads/2015/01/quest.png">
Effects: This mode is well-suited for journeys of exploration, focused on setting; the quest’s structure tends to be organised by geography rather than time. Indeed, most works of this kind involve a journey with a specific purpose in mind.
[[Continue->OpenMap]]<h3>Open Map</h3>
Even though quests are structured by geography, time still plays an important part: there’s a built-in direction of travel. Often this is a literal geography and relies on extensive state-tracking both explicit and secret for narrative progress.
<img src="https://heterogenoustasks.wordpress.com/wp-content/uploads/2015/01/openmap.png">
Effects: As with classic map-based parser games, the narrative tends to become slower-paced and less directed; the player has more leisure to explore and grasp the world, but spends less of their time advancing the story.
[[Continue->LoopAndGrow]]<h3>Loop and Grow</h3>
The game has a central thread of some kind, which loops around, over and over, to the same point: but thanks to state-tracking, each time around new options may be unlocked and others closed off.
<img src="https://heterogenoustasks.wordpress.com/wp-content/uploads/2015/01/cyclegrow.png">
Effects: Loop and Grow emphasizes the regularity of the world while retaining narrative momentum. A justification is needed for why whole sections of narrative can repeat: the player-character is often following routine activities in a familiar space, engaged in time-travel, or performing tasks at a certain level of abstraction.
[[Continue->storycreate]]<h3>How to produce a basic story</h3>
We'll be using <a href="https://twinery.org/" target="_blank">Twine</a>, and the SugarCube StoryFormat.
<h2>Why Twine?</h2>
* Intuitive, easy to use interface
* Visual map of story progression
* Export to html file or twee (for advanced use cases)
* Import of html file or twee
* Overall easy to use
[[Why Sugarcube]]<h2>Why SugarCube?</h2>
* My own experience indicates it is better to start here
* Everything you need to start
* Expandable, hybrid between usability and advanced use
* Very large community and loads of supporting data/forum posts/discord/reddit
[[A note on story formats]]<h3>About story formats</h3>
Twine stories can be written with different story 'formats'.
Each format has different rules, syntax and approaches.
* Chapbook - Seen as the most user friendly format for writers who just want a neatly presented story.
* Harlowe - The default story format for Twine. A more natural feel and accessible styling.
* SugarCube - The most popular Twine story format. No helpers in the Twine UI. Still worth starting here.
* Snowman - No guardrails or help, pure HTML/JS/CSS.
[[Speedrun Tour of Twine->TwineTour]]Let's take a look through the Twine UI.
1. Open Twine (Install the desktop app, preferably, but the web app works just as well)
2. Create new story (give it a name you like)
3. Navigate to Story -> Details and then change 'Story Format' from Harlowe to SugarCube 2.37.3 (or later)
4. Open the first empty passage and start to create
* Each 'page' is called a 'passage' in Twine parlance
* Create links to new 'passages' using two square brackets
* Add images using the {{{<img src="https://server.com/path/to/image.png">}}} syntax
Example : A lightbulb image is here : https://clipartcraft.com/images/light-bulb-clipart-cartoon-7.png
Put that in an img tag : {{{<img src="https://clipartcraft.com/images/light-bulb-clipart-cartoon-7.png">}}}
results in :
<img src="https://clipartcraft.com/images/light-bulb-clipart-cartoon-7.png">
[[Lets create]]<h3>Let's create a demo story using Twine and SugarCube!</h3>
Think of a story you like or one you remember easily. Pick a critical point in the story and create a 'what if?' scenario. If you can't think of one, here are some examples you can use :
<div class="examples">Luke Skywalker faces The Emperor, with his father (Darth Vader) by his side. "Luke, come to the dark side" hisses The Emperor.
Original Story choice : <span class="choice">"Never!" shouts Luke.</span>
Your 'what if' : <span class="whatif">Luke stops and thinks for a moment. "You know what, that actually sounds like a great idea!"</span>
... what happens next?
</div>
<div class="examples">Burke visits Ripley in her apartment and pleads with her to go to a planet which has stopped all communication. He thinks there are Xenomorphs, which Ripley has experience with.
"Please, Ripley, we need your experience, come to the planet - we can guarantee your safety"
Original Story choice : <span class="choice">Ripley has a nightmare and decides to go on the ship to meet the Alien.</span>
Your 'what if' : <span class="whatif">Ripley just says no. Goes about her life.</span>
...what happens next?
</div>
[[Wrap up->EndStage]]<h3>Let's do a quick review of anything we've been able to create and wrap up.</h3>
[[Continue->resources]]<h3>Resources : </h3>
* https://intfiction.org/
* https://www.reddit.com/r/twinegames/
* https://www.adamhammond.com/twineguide/
* https://ifdb.org/
* https://manonamora.itch.io/twine-sugarcube-guide
* https://ifdb.org/showuser?id=r8zj2ybma6r0emy4
* https://en.wikipedia.org/wiki/Ergodic_literature
* https://en.wikipedia.org/wiki/Hypertext_fiction
* https://en.wikipedia.org/wiki/Gamebook