A Simple Visual Novel Format for Twine
//A Twine Writer//
“So this is how you format a visual novel in twine?”
//S. A. Welland//
“Yes, it's very simple. Just use html to refer to your character portrait art, as written in the example at the bottom of this passage.”
//A Twine Writer//
“And I can do anything I want with this?”
[[EARTH A.D. Prologue: Wetlands Archive / Semantic Collapse]]
//S. A. Welland//
“Yes, you don't even have to credit me for the use of this template unless you want to. If you choose to use background art as I did in //Asher//, simply register it in your story stylesheet, and refer to it in each passage with a tag, as in the example in this passage.”<div id="portraitL"><img class="responsive-image" src="portraittemplate.png"></div><div id="portraitR"><img class="responsive-image" src="portraittemplate.png"></div>(set: $opening to (random: 1,2))
(if: $opening is 1)[The State Machine grumbles to itself.](else:)[A whining of tributaries.]
(text-style:"italic")[High above the planet surface your coffin is strapped to a mast…
Close to the forest floor the ants carry you to their mountain home…
Throughout each and every moment you dream,
Here in the flooded field.
I want you to think about the film where they find a book bound in screaming skin
It contains description, prophecy, anatomy, recipe. Warnings and wards.
The pages are torn shrieking from their spine and scattered in the field.
Now imagine the book was about [[you->WhoAreYou]]. ]
<div id="portraitL"><img class="responsive-image" src="./images/portraits/hand.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/noise.gif"></div>Who are you exactly?
Can you write your name for me?
(force-input-box:2bind $PlayerName,"=X","I don't know yet")
When you're done, [[we can move on.->GainingSubstance]]
<div id="portraitL"><img class="responsive-image" src="./images/portraits/hand.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/noise.gif"></div>(align:"<==")+(box:"=X")[Howling Void(click-replace: "Howling Void")[Find something to hold onto.]]
(align:"==>")+(box:"=X")[Endless errors(click-replace: "Endless errors")[I'm trying to]]
[[Restart->Reboot]]
<div id="portraitL"><img class="responsive-image" src="./images/portraits/hand.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/noise.gif"></div>(link-replace: "Run")[(live: 2s)
[[[Running->Running]] (stop:)]]
<div id="portraitL"><img class="responsive-image" src="./images/portraits/hand.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/noise.gif"></div>(align:"<==")+(box:"=X")[(link-replace: "Now let me just find you")[(live: 2s)
[[[There you are->ThereYouAre]] (stop:)]]]
<div id="portraitL"><img class="responsive-image" src="./images/portraits/hand.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/noise.gif"></div>I need to you to [[sit up]]
<div id="portraitL"><img class="responsive-image" src="./images/portraits/hand.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/noise.gif"></div>MainTheme: ./music/earthAD1.ogg{
(track: 'MainTheme', 'loop', true)
(track: 'MainTheme', 'playwhenpossible')
}now look at your [[hands]]
<div id="portraitL"><img class="responsive-image" src="./images/portraits/noiseL.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/noiseR.gif"></div>Do you remember how a body works?
(set: $gestures to (a: "castspell1", "painfulcontortion", "graspoars"))
(set: $handaction to (shuffled: ...$gestures))
(link: "yes")[(goto: 1st of $handaction)]
(link: "Yes, I can do miracles, just let me")[(goto: 1st of $handaction)]
(link-replace: "No.")[(live: 2s)
[(link: "I mean, yes.")[(goto: 1st of $handaction)](stop:)]]
(if:$SpellAttempts is 3)[(goto: "graspoars")]
<div id="portraitL"><img class="responsive-image" src="./images/portraits/HandL.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/HandR.gif"></div>(set: $SpellAttempts to it + 1)
//Your body betrays you, your grasp is uneven, the whole world spins but the oars do not//
[[Steady yourself, try again.|hands]]
<div id="portraitL"><img class="responsive-image" src="./images/portraits/HandL.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/HandR.gif"></div>(set: $SpellAttempts to it + 1)
(set: $HandInjury to true)
//Somewhere, something misfires.
Your hands attempt something far beyond their capacity.
There is no pain as such, but something in undeniably wrong within your clawed appendages.
This may have consiquences.
However.
(text-style:"bold","fade-in-out")[Don't be dishearted, please.
][[You can do this.|hands]]//
<div id="portraitL"><img class="responsive-image" src="./images/portraits/HandL.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/HandR.gif"></div>(set: $SpellAttempts to it + 1)
(if:$SpellAttempts is 1)[Your hands know miracles, even when you mind knows only (text-style:"fade-in-out")[nothing]
](else-if:$SpellAttempts is 2 or $SpellAttempts is 3)[Clumsy, unfamiliar, (text-style:"buoy")[your body is a greasy marionette]
](else-if:$SpellAttempts is 4 or $SpellAttempts is 5)[What you lack in the poetry of your body, you make up for in relentlessnes.
](else:)[You tried for eternity to bend tired synapses to the rubber sheet of your will. Eventually, perhaps only due to the universe's sense of pity for its most clumsy child, you manage to wrap these gloved paws around the wood.]
[[With a degree or compentency, you strike out, like the angel of history, and row.|beginrowing]]
<div id="portraitL"><img class="responsive-image" src="./images/portraits/HandL.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/HandR.gif"></div>[[you travel through the flooded maze|page1]]
<div id="portraitL"><img class="responsive-image" src="./images/portraits/RowingL.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/noiseR.gif"></div>You pull on the oars, moving your small boat through the flooded field.
[[think]]
[[look]]
[[listen]]
[[imagine]]
<div id="portraitL"><img class="responsive-image" src="./images/portraits/rowingL.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/noiseR.gif"></div>(set:$sense to "thought")
(if:$SpellAttempts is 1)[//Still riding the high of successfully using the spidery tools at the end of your arms, the joy of both fine and gross motor skills, the agency of hands//]
You think about what brought you here, but there's nothing, your brain is empty like the dried lake, like a border patrol agent's heart, like a.. (text-style:"shudder")[like...]
|test>[//(bg:(gradient: 0, 0,#ffffff,0.5,#80e619,1,#ffffff))[words, like everything else, fail you]//]
(link-replace: "A shape")[(live: 3s)
[[[There is something->Paper]] (stop:)]]
<div id="portraitL"><img class="responsive-image" src="./images/portraits/RowingL.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/noiseR.gif"></div>(set:$sense to "sight")
Around you is the boat, around that is the water. Looking up, you see that whereever that point was that you first opened your eyes must now be lost behind the gentle curve of this channel you are rowing along.
Either side of you are rows of stalks swaying gently in the wash.
A flooded field.
You glance over the edge.
(text-style:"upside-down")[Your own face looks back, a void in some kind of specialist suit]
|test>[//(bg:(gradient: 0, 0,#ffffff,0.5,#80e619,1,#ffffff))[Look away before dizziness sets in]//]
(link-replace: "A shape")[(live: 3s)
[[[something on the water->Paper]] (stop:)]]
<div id="portraitL"><img class="responsive-image" src="./images/portraits/RowingL.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/noiseR.gif"></div>(set:$sense to "hearing")
Around you is the boat, around that is the water. Looking up, you see that whereever that point was that you first opened your eyes must now be lost behind the gentle curve of this channel you are rowing along.
Either side of you are rows of stalks swaying gently in the wash.
A flooded field.
You glace over the edge.
(live: 10s)[(text-style:"upside-down")+(text-colour:green)[Your own face looks back, a void in some kind of specialist suit]]
(live: 13s)[(text-style:"shudder")+(text-colour:green)[you look away, already overwhelmed]]
(live: 13s)[[[[something on the water->Paper]] (stop:)]]
<div id="portraitL"><img class="responsive-image" src="./images/portraits/RowingL.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/noiseR.gif"></div>(set:$sense to "imagination")
Around you is the boat, around that is the water. Looking up, you see that whereever that point was that you first opened your eyes must now be lost behind the gentle curve of this channel you are rowing along.
Either side of you are rows of stalks swaying gently in the wash.
A flooded field.
You glace over the edge.
(live: 10s)[(text-style:"upside-down")+(text-colour:green)[Your own face looks back, a void in some kind of specialist suit]]
(live: 13s)[(text-style:"shudder")+(text-colour:green)[you look away, already overwhelmed]]
(live: 13s)[[[[something on the water->Paper]] (stop:)]]
<div id="portraitL"><img class="responsive-image" src="./images/portraits/RowingL.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/noiseR.gif"></div>(set: $test to (random: 1,2))
(if: $test is 1)[The Moon watches you without judgement.](else:)[The boat bobs to the canal's artereal pulse.]
(align:"<==")[Floating in the water, its ink glaring with the radiance of the thousand beetles ground to make its indeible pigment, is a page torn from some illuminated text.]
(set: _list to (array: "Page1", "Page2", "Page3", "Page4", "Page5", "Page6"))
Reaching down, you pull the paper (//is that what it is?//) from the water's grasp.
(link-goto: "Your eyes focus, and seeminly so do the words", (shuffled: ..._list)'s 1st)
<div id="portraitL"><img class="responsive-image" src="./images/portraits/PageL.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/noiseR.gif"></div>//You down as the words swim on the parchment//
'Page 22: You’re asleep now, some people are watching over you and will wake you up when you are needed.
(live: 2s)[(text-style:"fade-in-out")+(text-colour:green)[That could be soon'.]]
(link-replace: "Return")[(live: 3s)
[[[To the boat.->FirstJunction]] (stop:)]]
<div id="portraitL"><img class="responsive-image" src="./images/portraits/PageL.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/noiseR.gif"></div>//Your eyes water and the shred of parchment drips onto the gloss of your space suit//
'Page 23: You remember waking up, the water soaking your clothes, the silt caking your face, your blood all but washed away down the riverbed to join the tanoids and ghost guns. Through the stems of water plants you see a castle on fire,
(live: 7s)[(text-style:"sway")+(text-colour:green)[ the cattail heads knock in the breeze above you and their flowers settle in your hair.]]
(link-replace: "Return")[(live: 2s)
[[[To the boat.->FirstJunction]] (stop:)]]
<div id="portraitL"><img class="responsive-image" src="./images/portraits/PageL.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/noiseR.gif"></div>//The words appear to be burned into the page, which is made of some almost transclucent bark, rough and thick but lacking nearly all opacity//
'Page 24: You remember waking up and seeing through moon gritted eyes the demon that sits at the foot of your bed. (live: 7s)[(text-style:"sway")+(text-colour:green)[ They are leaving you now that it is morning and you both wave at one another with warm formality'.]]
(link-replace: "Return")[(live: 2s)
[[[To the boat.->FirstJunction]] (stop:)]]
<div id="portraitL"><img class="responsive-image" src="./images/portraits/PageL.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/noiseR.gif"></div>//As you lift it, the page spools out like freed intestines, pooling in the bottom of the boat with the grey water and tiny frogs that play there.//
'Page 25: You remember waking up and your body felt huge and still. Its the part of consciousness that takes shape, the sense of your sheer size and absence of movement, so perfect. Quietly, as if such an adverb could be applied to the process of a brain impulses crossing a neural lace, you launch a piece of code that will ask the sensors around your body what they know. The sensors having passively been passively converting waves and particles to electricity in your long conscious absence happily chirp back their findings, and with another piece of code you stitch their reports together into a pattern of data...'
[[Read on.|Page4.1]]
<div id="portraitL"><img class="responsive-image" src="./images/portraits/PageL.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/noiseR.gif"></div>//The paper reflects things that are not visable when you turn your head to look behind you.//
'Page 20:
A drawing of a token from The RotoCasino, situated on a floating dock in the flooded mouth of an extinct volcano where Dante once left hell. Games available are based around haruspicy, with the player placing their stake against their prediction coming true. The house assigns an anamniotic wraith to cling to the players neck, overseeing the bet. These sometimes go rogue and bleed out the player,
(live: 7s)[(text-style:"blink")+(text-colour:green)[ hence uncashed chips'.]]
(link-replace: "Return")[(live: 2s)
[[[To the boat.->FirstJunction]] (stop:)]]
<div id="portraitL"><img class="responsive-image" src="./images/portraits/PageL.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/noiseR.gif"></div>Page 21:
//Its a note written on a MudCorps branded sticky label for third tier interstellar freight. It reads “I cannot escape the realisation that I am morally obligated to blow up a key part of the national PetroPharmacuitical infrastructure, and to keep doing so until I am caught or die of old age”.//
(live: 7s)[(text-style:"blink")+(text-colour:green)[//You recognise the hand writing.//]]
(link-replace: "Return")[(live: 2s)
[[[To the boat.->FirstJunction]] (stop:)]]
<div id="portraitL"><img class="responsive-image" src="./images/portraits/PageL.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/noiseR.gif"></div>While you were reading you must have drifted, because now there is a small channel open leading off the main canal.
A dark gap in the rotting folliage.(if:$handinjury is true)[ Your aching hands throb, willing you towards this [[detour|new path]].
Then again, what do you hands know? Nothing! maybe you should just keep to the [[main channel|Row]].](else:)[The wall of plants reaches up to the eye of the night above you. They look like animals in the dithering light and between them you see the smallest of [[gaps|new path]].
Under the surface of the water you see an eel disapear into some ancient machinery. Your boat gently pulls to continue on the main channel, eager to be moving and [[gone from this place.|Row]]]
<div id="portraitL"><img class="responsive-image" src="./images/portraits/noiseL.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/noiseR.gif"></div> '...Your huge still body lays at the lowest point of a flooded valley. Around you are a circle of stones each pointing up, each as large as the footprint you make in the floor of this lake. Detritus drifts around you, disturbed only by a slow current that splits around the stones, passing over you along diverging trajectories that your system helpfully displays a bright green fan vectors that cross one another like lacework. Somewhere off to the north must be a spring that feeds this lake, its cool and clear water cutting through the hanging sulphur and minute particles of plant and animal life. You marvel at the complexity of the arrangement, not just just the rocks in relation to the spring, but the size of your body, the depth of water and its mineral composition perfectly balanced to display this scene in near perpetuity...'
[[Read on.|Page4.2]]
<div id="portraitL"><img class="responsive-image" src="./images/portraits/PageL.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/noiseR.gif"></div> '...A kind of purring sensation occurs in the back of your mind, pulling your attention back to the stones are the results of a secondary order analysis routine, it helpfully affirms that substrate density indicates they were positioned here shortly after you first lay in this spot, and a short time before this valley was flooded. You bring up a visual model of the stones and another bright green vector composition rotates somewhere between neurons, atomic matrixes, and synthetic amniotic fluid. Six stones jut out of the lake bed around your position, pointing up at the surface some 10 metres above through yellowly water...'
[[Read on|Page4.3]]
<div id="portraitL"><img class="responsive-image" src="./images/portraits/PageL.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/noiseR.gif"></div>'...Another purr and background diagnostics have returned operations check results, green across the board. Three whole milliseconds have passed since you first came back online. You allow the meat part of you a few hundred more, taking in the beauty of this tomb that was made you, that those that made it loved you so much. Embraced in thousands of tons of water and sulphur dependent bacteria, watched over. You cycle your ancient reactor rods, allowing the vibration to gently evict anything that had taken up residence in the gaps between your chassis’ reinforced platework and pistons,(live: 7s)[(text-style:"sway")+(text-colour:green)[ and then you get to your feet.']]
(link-replace: "Return")[(live: 2s)
[[[To the boat.->FirstJunction]] (stop:)]]
<div id="portraitL"><img class="responsive-image" src="./images/portraits/PageL.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/noiseR.gif"></div>You move the boat through a (text-style:"smear")[curving channel],
the sky is black here, the light of glowing algae pulls demonic faces from the reeds.
The bacteria gives off a (text-style:"wavy-strike")[gas] that makes you feel (text-style:"wavy-strike")[car sick], fogs your mind.
Was this once a field? What ''grew'' here?
(if:$handinjury is true)[You try to keep your mind from you damaged hands.]
[[Maybe you should glance over your shoulder, to see what awaits you?|Mimic]]
(if:$handinjury is true)[<div id="portraitL"><img class="responsive-image" src="./images/portraits/RowingdarkL.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/InjuredHandR"></div>](else:)[<div id="portraitL"><img class="responsive-image" src="./images/portraits/RowingdarkL.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/noiseR"></div>](link-replace: "Row")[(live: 3s)
[[[Your hear a noise above the slap of water on wood.->Figure]] (stop:)]]
<div id="portraitL"><img class="responsive-image" src="./images/portraits/RowingL.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/noiseR.gif"></div>As you glance over your shoulder you see an ancient ''sea chest'', beached on a sand bar.
(if:$handinjury is true)[Your bones (text-style:"fade-in-out")[throb].]
[[Carefully steering around wreckage, you move in ''closer''|MimicClose]]
(if:$handinjury is true)[<div id="portraitL"><img class="responsive-image" src="./images/portraits/RowingdarkL.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/InjuredHandR"></div>](else:)[<div id="portraitL"><img class="responsive-image" src="./images/portraits/RowingdarkL.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/noiseR"></div>](align:"<==")[//The mimic talks//]
(align:"==>")+(box:"=X")[you reply]
(align:"<==")[//The mimic talks//]
(align:"==>")+(box:"=X")[you reply]
(align:"<==")[//The mimic talks//]
(align:"==>")+(box:"=X")[you reply]
(align:"<==")[//The mimic talks//]
(align:"==>")+(box:"=X")[you reply]
(if:$handinjury is true)[[OfferHands]]](else:)[[Row]]]
(if:$handinjury is true)[<div id="portraitL"><img class="responsive-image" src="./images/portraits/mimic2L.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/InjuredHandR"></div>](else:)[<div id="portraitL"><img class="responsive-image" src="./images/portraits/mimic2L.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/noiseR"></div>](set: $repairedhands to true)[[Row]]
<div id="portraitL"><img class="responsive-image" src="./images/portraits/mimic2L.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/InjuredHandR"></div>[[agree|Antenna]]
[[ignore|SecondPages]]
<div id="portraitL"><img class="responsive-image" src="./images/portraits/figuredarkL.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/noise.gif"></div>(set: $test2 to (random: 1,2))
(if: $test2 is 1)[The Moon watches you without judgement.](else:)[The boat bobs to the canal's artereal pulse.]
(align:"<==")[Floating in the water, its ink glaring with the radiance of the thousand beetles ground to make its indeible pigment, is a page torn from some illuminated text.]
(set: _list to (array: "Page7", "Page8", "Page9", "Page10", "Page11"))
Reaching down, you pull the paper (//is that what it is?//) from the water's grasp.
(link-goto: "Your eyes focus, and seeminly so do the words", (shuffled: ..._list)'s 1st)
<div id="portraitL"><img class="responsive-image" src="./images/portraits/PageL.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/noiseR.gif"></div>(set: $broadcast to true)
[[Figure]] [[Tomb]]
[[HugeTree]]
(if:$broadcast is true)[[Future1]]]
(if:$repairedhands is true)[[Future2]]]
[[Credits]][[Credits]] [[Figure]] (link: "Quit")[<script>window.close()</script>]Page 22: I need you to understand that some things are just good. For example, beautiful women holding swords, these are always just good!
(live: 2s)[(text-style:"fade-in-out")+(text-colour:green)[That could be soon'.]]
(link-replace: "Return")[(live: 3s)
[[[To the boat.->Wier]] (stop:)]]
<div id="portraitL"><img class="responsive-image" src="./images/portraits/PageL.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/noiseR.gif"></div>(live: 2s)[(text-style:"fade-in-out")+(text-colour:green)[That could be soon'.]]
(link-replace: "Return")[(live: 3s)
[[[To the boat.->Wier]] (stop:)]]
<div id="portraitL"><img class="responsive-image" src="./images/portraits/PageL.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/noiseR.gif"></div>(live: 2s)[(text-style:"fade-in-out")+(text-colour:green)[That could be soon'.]]
(link-replace: "Return")[(live: 3s)
[[[To the boat.->Wier]] (stop:)]]
<div id="portraitL"><img class="responsive-image" src="./images/portraits/PageL.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/noiseR.gif"></div>(live: 2s)[(text-style:"fade-in-out")+(text-colour:green)[That could be soon'.]]
(link-replace: "Return")[(live: 3s)
[[[To the boat.->Wier]] (stop:)]]
<div id="portraitL"><img class="responsive-image" src="./images/portraits/PageL.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/noiseR.gif"></div>(live: 2s)[(text-style:"fade-in-out")+(text-colour:green)[That could be soon'.]]
(link-replace: "Return")[(live: 3s)
[[[To the boat.->Wier]] (stop:)]]
<div id="portraitL"><img class="responsive-image" src="./images/portraits/PageL.gif"></div><div id="portraitR"><img class="responsive-image" src="./images/portraits/noiseR.gif"></div>