(if: (history:)'s last is "Hearing Player")[]\
(else:)[(hide: ?are)(show: ?update)(if: $ASL is 0)[(set: $ASL to 1)](else:)[(set: $ASL to 0)]]\
Character settings[](are|[ have been updated](update|: (if: $ASL is 0)[you cannot use ASL conversationally, and speak to communicate](else:)[you (can) use ASL to communicate].
Note: game uses English text only (no ASL/video/picture).]
[ [[]<italicNote| `*`Setting yourself as culturally Deaf/HOH in another setting does not assume you use ASL, nor does setting yourself as an ASL user set your [[hearing status|Hearing Player]]. Knowing the alphabet does not count as being conversationally fluent...[]<italicNoteEnd|]<italic| ]<note|
<!--[[Continue with access set-up|Game settings]]--!>\
(link: "Continue with access set-up")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "Game settings")]
<!--[[Change setting|ASL User]]--!>\
(link: "Change setting again")[(masteraudio: 'stopall')(track: 'twinkle', 'play')(go-to: "ASL User")]
{=
(if: $ASL is 1)[
(if: $colourblind is 1)[(enchant: "updated", (bg: white)+(text-color:black))]
(else:)[(enchant: "updated", (text-colour: green))]]
(if: $ASL is 0)[(if: $colourblind is 0)[(enchant: "updated", (text-colour: red))]]
(if: (history:)'s last is "Hearing Player")[(show: ?are)(hide: ?update)](else:)[(hide: ?are)(show: ?update)](if: $ageusic is 0)[(set: $ageusic to 1)](else:)[(set: $ageusic to 0)]\
Character settings have been updated: [(if: $ageusic is 0)[you can perceive flavours (or taste)](else:)[you cannot or struggle to perceive flavours or taste things].]
<!--[[Continue with access set-up|Game settings]]--!>\
(link: "Continue with access set-up")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "Game settings")]
<!--[[Change setting|Ageusic Player]]--!>\
(link: "Change setting again")[(masteraudio: 'stopall')(track: 'twinkle', 'play')(go-to: "Ageusic Player")]
{=
(if: $ageusic is 1)[(enchant: "updated", (text-colour: green))](if: $ageusic is 0)[(enchant: "updated", (text-colour: red))](if: $anosmic is 0)[(set: $anosmic to 1)](else:)[(set: $anosmic to 0)]\
Character settings have been updated: [(if: $anosmic is 0)[you can perceive [[]<italicNote| scents or smells[]<italicNoteEnd|]<italic|](else:)[you cannot or struggle to perceive scents or smells].]
<!--[[Continue with access set-up|Game settings]]--!>\
(link: "Continue with access set-up")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "Game settings")]
<!--[[Change setting|Anosmic Player]]--!>\
(link: "Change setting again")[(masteraudio: 'stopall')(track: 'twinkle', 'play')(go-to: "Anosmic Player")]
{=
(if: $anosmic is 1)[(enchant: "updated", (text-colour: green))](if: $anosmic is 0)[(enchant: "updated", (text-colour: red))](if: $blind is 0)[(set: $blind to 1)](else:)[(set: $blind to 0, $dragon to 0)]\
Character settings have been updated: (if: $blind is 0)[you are sighted](else:)[you are non-visual, Blind, or have low or partial vision].
[Note: This game is designed to assume Blind player characters can perceive some light changes, or are moving with sighted or guided assistance. It does not assume you use a mobility device which can be set later. The game is also set at night, although it may be played any time! Thanks for your patience with this sighted creator.
As a non-visual player/character, there is a bonus scene written for you. Would you like to meet the dragon? \
[\
No ❌ (link-repeat: "(edit)")[\
(masteraudio: 'stopall')(track: 'fire', 'play')(hide: ?dragonOff)(show: ?dragonOn)(set: $dragon to 1)]](dragonOff|[<span id="dragon" aria-live="assertive">Yes 🐉 (link-repeat: "(edit)")[(masteraudio: 'stopall')(track: 'twinkle', 'play')(hide: ?dragonOn)(show: ?dragonOff)(set: $dragon to 0)]</span>](dragonOn|\
(if: $dragon is 0)[(show: ?dragonOff)](else:)[(show: ?dragonOn)]\
]<note|
<!--[[Continue with access set-up|Game settings]]--!>\
(link: "Continue with access set-up")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "Game settings")]
<!--[[Change setting|Blind Player]]--!>\
(link: "Change setting again")[(masteraudio: 'stopall')(track: 'twinkle', 'play')(go-to: "Blind Player")]
{=
(if: $blind is 1)[
(show: ?note)
(if: $colourblind is 1)[
(enchant: "updated", (bg: white)+(text-color:black))
]
(else:)[
(enchant: "updated", (text-colour: green))
]
]
(if: $blind is 0)[
(hide: ?note)
(if: $colourblind is 0)[
(enchant: "updated", (text-colour: red))
]
](if: $colourblind is 0)[(set: $colourblind to 1, $colourText to 0)](else:)[(set: $colourblind to 0, $colourText to 1)]\
Character settings have been updated: [(if: $colourblind is 0)[you perceive colour without challenges](else:)[you perceive colour differently and experience barriers (chromatic vision loss, impairment or deficiency, or colour "blindness")].]
(if: $colourblind is 1)[
Note: By default, links or clickable words are indicated through a colour, bold styling, and a rollover color-change (light-blue) indicator. With the "chromatic/colourblind" fliter setting, any links or interactive texts are underlined. Any words that were coloured for flavour ("colour text") have been styled with a background highlight in white, the text in black.
However, if you find any issues that impedes your way forward, please let Kay know!]
<!--[[Continue with access set-up|Game settings]]--!>\
(link: "Continue with access set-up")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "Game settings")]
<!--[[Change setting|Colourblind Player]]--!>\
(link: "Change setting again")[(masteraudio: 'stopall')(track: 'twinkle', 'play')(go-to: "Colourblind Player")]
{=
(if: $colourblind is 1)[(enchant: "updated", (bg: white)+(text-color:black))](if: $colourblind is 0)[(enchant: "updated", (text-colour: red))]{(set: $helpDialogue to "Click instructions to get a summary of the game's goals. Click map to get going with the story. Not accessible? Go back to menu and click game settings to change your access settings.")}\
[Kay hands you a piece of paper. Running your hands over it, you feel the different textures and layers and realize it's a map.
]<introCont|\
(if: $blind is 1)[\
[
Kay's text-to-voice device continues: "If you hand me your phone, I've loaded a new beta of my haptic wayfinding map. As you approach each location where I have detected a concentration of sensory memories, your phone will buzz."
The Narrator's voice breaks the fourth wall and says. "Sadly, this tool is not yet ready for the launch of this game as of October 2024 but Kay continues to work on this and hopes to have a working beta ready by their next residency in February 2025. Apologies to all non-visual gamers. The author appreciates your imagination and patience." The voice fades away.
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?blindContinue)(hide: ?introCont)(show: ?blindContinue2)]\
]<blindContinue|\
[\
Kay's device continues reading in the skinned, robotic voice, "All you need to do is feed the spectre sensory descriptions that allows it to experience each location with satisfaction. Ghosts seem to respond to voice or text, so when you think you have a satisfactory description, share it with them."
<!--[[map description]]--!>\
(link: "Review the map")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "map description")]
<!--[[Review the game instructions|instructions]]--!>\
(link: "Review the game instructions")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "instructions")]\
](blindContinue2|\
<!--END BLIND--!>\
]\
(else:)[\
(if: $ASL is 1)[\
[
Kay waves near the edge of your page and continues.
I LABEL DIFFERENT SPOTS ON MAP `(CL:1 "POINT, PLACE/NOTE")`. YOUR PHONE, GIVE-ME. APP I TRANSFER.
YOUR GOAL? PONDER CREATE SENTENCES. EACH ONE TOPIC 5 SENSES—TOUCH, TASTE, SMELL, SOUND, SIGHT. FINISH? SHARE WITH GHOST (POINT). YOUR GHOST SATISFY WILL. (POINT “GHOST”) FREE.
APP, DODO? YOU NEAR LOCATION `(CL:5-claw "PLACE LEFT")`. PHONE VIBRATE (FS-HAPTIC). ALSO I MAKE-NOTES, TRANSFER TO PHONE. PREFER YOU EXPLORE? UP-TO-YOU. ME ONE MONTH HERE, ISLAND, FINISH, I KNOW. `(CL:5-LOCATIONS POINT-ON-MAP)`.
BAD-NEWS. YOUR GHOST, ASL CLUELESS (85-AWFUL).
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?ASLContinue)(hide: ?introCont)(show: ?ASLContinue2)(show: ?ContinueMenu)]\
]<ASLContinue|\
[\
They type a message on their phone and hold it up. It reads,
"Your ghost is super cute."
Kay looks into the distance and grins. They sign,
BUT ENGLISH UNDERSTAND. SPEAK OR TYPE PHONE, CAN."\
](ASLContinue2|\
<!--ASL END--!>\
]\
(else:)[\
[
Kay waits until you're done looking at the map and then types out:
"I have marked a few places on the map using tactile, shaped stickers with embedded RFID tags. In these locations, I have found a high concentration of unattached spirits attracted to the lingering memories on the island. Scan the tags and you'll get feedback and directions.
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?continueCont1)(hide: ?introCont)(show: ?continueCont2)(show: ?ContinueMenu)]\
]<continueCont1|\
[\
"You can wander about and try to find your own sensory experiences, but after a month on the island, I guarantee you'll be able to satisfy your ghost companion at these five locations.
Ghosts respond to voice or text, so share it with them when you think you have a satisfactory description."\
](continueCont2|
[\
<!--[[map description]]--!>
(link: "Review the map")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "map description")]
<!--[[Review the game instructions|instructions]]--!>\
(link: "Review the game instructions")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "instructions")]\
](ContinueMenu|\
]\
]<a href="#thanks" class="skip-link" aria-label="Skip to Thank You">Skip to Thank You</a><a href="#audio" class="skip-link" aria-label="Skip to Audio Credits">Skip to Audio Credits</a><a href="#footerCredits" class="skip-link" aria-label="Skip to Footer">Skip to Footer</a>\
The Haunted Island © 2024 by Kay Slater is licensed under CC BY-NC-SA
Concept, writing and development: Kay Slater.
Additional programming: Chris Slater, chatGPT 4o
Playtesters: Johnny Tiger, and Chris Slater.
This story and game was created during Slater's 2024 October residency hosted by othersights on Granville Island. (link: "The FLEET: Granville Island mobile artist studio (opens new tab)")[(open-url: "https://www.fleetstudios.org/")] was situated colonially named Vancouver, BC, on unceeded Coast Salish territory whose waterways and lands have been and are stewarded by the Musqueam, Squamish, and Tsleil Waututh nations.
The story was created using Twine, an interactive fiction tool created and maintained by Chris Klimas, using the story format Harlowe, created and maintained by Leon Arnott. Twine is a registered trademark of the
(link: "Interactive Technology Foundation (opens new tab)")[(open-url: "https://iftechfoundation.org/")]. Sound has been added through the use of HAL, the (link: "Harlowe Audio Library (opens new tab)")[(open-url: "https://twinelab.net/harlowe-audio/#/")] with thanks to Chapel.
<span id="thanks">[\
#Thank you
Thank you to CHMC Granville Island, othersights and to the many artists, creatives, and community members who came by to visit, supported this endeavour, followed and engaged online, or who listened to Kay tell them about this project and their residency. Thank you to Luowen Qiao and Anne Sullivan for their research paper [[]<italicNote| Twine Screen Reader: A Browser Extension for Improving the Accessibility of Twine Stores for People with Visual Impairments []<italicNoteEnd|]<italic|, and all those who participated in the (link: "2019 Accessibility Testing Report (opens new tab)")[(open-url:"https://accessibility.iftechfoundation.org/")].]</span>
<span id="audio">[\
#Audio Credits and Track List
Credits for the Royalty-free sound effects used in The Haunted Island.
Please note - clicking these links will navigate you away from your browser saved game and end your session.
* //woosh// Sound Effect generated by AI, credited to <a href="https://pixabay.com/users/ribhavagrawal-39286533/?utm_source=link-attribution&utm_medium=referral&utm_campaign=music&utm_content=230554">Ribhav Agrawal</a> from <a href="https://pixabay.com//?utm_source=link-attribution&utm_medium=referral&utm_campaign=music&utm_content=230554">Pixabay</a>
* //charming twinkle sound for fantasy and magic// Sound Effect by <a href="https://pixabay.com/users/universfield-28281460/?utm_source=link-attribution&utm_medium=referral&utm_campaign=music&utm_content=250240">UNIVERSFIELD</a> from <a href="https://pixabay.com//?utm_source=link-attribution&utm_medium=referral&utm_campaign=music&utm_content=250240">Pixabay</a>
* //UI back sound// Sound Effect from <a href="https://pixabay.com/?utm_source=link-attribution&utm_medium=referral&utm_campaign=music&utm_content=100590">Pixabay</a>
* //door open close with bell// Sound Effect from <a href="https://pixabay.com/sound-effects/?utm_source=link-attribution&utm_medium=referral&utm_campaign=music&utm_content=96884">Pixabay</a>
* //wooden Door Slamming Close// Sound Effect from <a href="https://pixabay.com/sound-effects/?utm_source=link-attribution&utm_medium=referral&utm_campaign=music&utm_content=79934">Pixabay</a>
* //Ghost Woo// Sound Effect by <a href="https://pixabay.com/users/shut_up_ghost-32917765/?utm_source=link-attribution&utm_medium=referral&utm_campaign=music&utm_content=135543">Ghostie Graves</a> from <a href="https://pixabay.com/sound-effects//?utm_source=link-attribution&utm_medium=referral&utm_campaign=music&utm_content=135543">Pixabay</a>
* //New Level// Sound Effect by <a href="https://pixabay.com/users/universfield-28281460/?utm_source=link-attribution&utm_medium=referral&utm_campaign=music&utm_content=142995">UNIVERSFIELD</a> from <a href="https://pixabay.com//?utm_source=link-attribution&utm_medium=referral&utm_campaign=music&utm_content=142995">Pixabay</a>
* //scratching// Sound Effect from <a href="https://pixabay.com/?utm_source=link-attribution&utm_medium=referral&utm_campaign=music&utm_content=85152">Pixabay</a>
* //short-fireball-woosh// Sound Effect from <a href="https://pixabay.com/sound-effects/?utm_source=link-attribution&utm_medium=referral&utm_campaign=music&utm_content=6146">Pixabay</a>
* //paper// Sound Effect by <a href="https://pixabay.com/users/u_go9pkxdnu9-46250777/?utm_source=link-attribution&utm_medium=referral&utm_campaign=music&utm_content=245786">u_go9pkxdnu9</a> from <a href="https://pixabay.com//?utm_source=link-attribution&utm_medium=referral&utm_campaign=music&utm_content=245786">Pixabay</a>
]</span>
<span id="footerCredits">[(link: "Return to menu")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "The Haunted Island")]]</span></span>\
{(if: (passage:)'s tags contains "admin")[]\
(else:)[(unless: (passage:)'s tags contains "tutorial" or "noRepeat")[(set: $last to (passage:)'s name)(display: "word-inventory")]\
[<hr style="border-top: dotted 1px;" />
[<span id="hint" aria-live="assertive">$helpDialogue</span>]<counterText|](counter|
<hr>
<span id="footer">
(text-color:purple)[\
(link: "Back to menu")[\
(masteraudio: 'stopall')(track: 'back', 'play')
(go-to: "The Haunted Island")
] \
] | [(display: "help")]<help|\
(unless: (passage:)'s tags contains "noMap")[\
(if: (history:) contains "Review the map")[\
| (link: "Review the map")[\
(masteraudio: 'stopall')(track: 'back', 'play')
(go-to: "Review the map")
]\
]\
]\
<!--GHOST FOOTER--!>\
(if: $ghost is 1)[\
[ | ]\
[\
(link: "👻")[\
(masteraudio: 'stopall')(track: 'ghost', 'play')
(go-to: "ghost")
]\
]<ghost|\
[]<eat|
]\
(else-if: $ghost is 2)[\
[ | ]\
[\
(link: "👻")[\
(masteraudio: 'stopall')(track: 'ghost', 'play')
(go-to: "tutorial-ghost")
]\
]<ghost|\
[]<eat|
]\
(if: $dragon is 2)[| <span class="glow">(link: "⚪")[(masteraudio: 'stopall')(track: 'fire', 'play')(go-to: "desc-Pearl")]</span>]]</span>\
(if: $italics is 1)[(enchant: ?italic, (text-style: "italic"))]
(else:)[(replace: ?italicNote)[
(Italicized text:)
] (replace: ?italicNoteEnd)[
(italicized text ends.)
]]
(if: $colourblind is 1)[
(enchant: ?set, (bg: white)+(text-color:black))
(enchant: "yellow", (bg: white)+(text-color:black))
(enchant: " red ", (bg: white)+(text-color:black))
(enchant: "green", (bg: white)+(text-color:black))
(enchant: "blue green", (bg: white)+(text-color:black))
(enchant: "sea green", (bg: white)+(text-color:black))
(enchant: "blue", (bg: white)+(text-color:black))
]
(else:)[
(enchant: ?set, (text-color: magenta))
(enchant: ?counter, (text-color: yellow))
(enchant: "yellow", (text-color: yellow))
(enchant: " red ", (text-color: red))
(enchant: "green", (text-color: green))
(enchant: "sea green", (text-color: aqua))
(enchant: "blue green", (text-color: aqua))
(enchant: "blue", (text-color: blue))
]
(if: $colourblind is 1)[
<script>$('body').addClass('colourblind-mode');</script>
]
(else:)[
<script>$('body').removeClass('colourblind-mode');</script>
]
}{(set: $ghost to 0)}\
(if: visits is 1)[New Game - <!--[[Skip access set-up|Do you want a tutorial]]--!>\
(link: "Skip Set-up (Start without access settings)")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Do you want a tutorial")]](else:)[]
#Player Settings:
<span id="settings">[\
Are you currently:
<span id="visual">\
* Blind, Non-Visual or Low/Vision? (if: $blind is 1)[Yes]<Yes|(else:)[No] \
(link: "(Edit)")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Blind Player")]</span>\
<span id="ASL">\
* An ASL User? (if: $ASL is 1)[Yes]<Yes|(else:)[No] \
(link: "(Edit)")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "ASL User")]</span>\
<span id="deaf">\
* d/Deaf/HOH, or have hearing loss? (if: $deaf is 1)[Yes]<Yes|(else:)[No] \
(link: "(Edit)")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Hearing Player")]</span>\
<span id="mobility">\
* A Mobility Device User? (if: $mobility is 1)[Yes]<Yes|(else:)[No] \
(link: "(Edit)")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Mobility Needs Player")]</span>\
<span id="colourBlind">\
* Colourblind or do you experience chromatic barriers? (if: $colourblind is 1)[Yes]<Yes|(else:)[No] \
(link: "(Edit)")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Colourblind Player")]</span>\
<span id="smell">\
* Anosmic? (if: $anosmic is 1)[Yes]<Yes|(else:)[No] \
(link: "(Edit)")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Anosmic Player")]</span>\
<span id="taste">\
* Ageusic? (if: $ageusic is 1)[Yes]<Yes|(else:)[No] \
(link: "(Edit)")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Ageusic Player")] </span>\
<span id="touch">\
* Paralyzed and without a sense of touch? (if: $paralyzed is 1)[Yes]<Yes|(else:)[No] \
(link: "(Edit)")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Paralyzed Player")]]</span>\
</span>\
Changing any of the above will slightly alter the language in the game and may provide additional directions for wayfinding.
##Additional Style Settings:
* Italics: (if: $italics is 0)[No](else:)[Yes]<Yes| \
(link: "(Edit)")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Italics Settings")]
* Coloured text: (if: $colourText is 0)[No](else:)[Yes]<Yes| \
(link: "(Edit)")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Colour Settings")]
##Player access summary:
You (if: $blind is 1)[|Yes>[are non-visual or Blind]](else:)[are sighted](if: $colourblind is 1)[ |Yes>[and perceive colour differently than others]](else:)[ and do not struggle with chromatic perception ("colourblind")]. You (if: $deaf is 1)[|Yes>[cannot or struggle to perceive sounds] (if: $ASL is 0)[but](else:)[and] ](else:)[can perceive most sounds (if: $ASL is 1)[but](else:)[and]] you (if: $ASL is 1)[|Yes>[can or do use ASL to communicate]](else:)[use speech to communicate]. You (if: $anosmic is 1)[|Yes>[cannot or struggle to perceive smells]](else:)[have a sense of smell], (if: $ageusic is 1)[(if: $anosmic is 1)[and](else:)[but] |Yes>[cannot or struggle to perceive taste]](else:)[(if: $anosmic is 1)[but](else:)[and] you can perceive taste]. You (if: $paralyzed is 1)[|Yes>[are unable to feel or sense things through touch], (if: $mobility is 1)[|Yes>[and use a mobility device to get around]](else:)[but you can physically move and travel without assistance or aids]](else:)[can perceive things through touch(if: $mobility is 1)[|Yes>[. You use a mobility device to get around]](else:)[, and you can physically move and travel without assistance or aids].]
(if: (history:) contains "haunted" or "Review the map")[(link: "Return to game")[(go-to: $last)]]\
(else:)[If this is correct, let's <!--[[start the game|Do you want a tutorial]]--!>(link: "get started")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Do you want a tutorial")]].
<a href="#settings" class="skip-link" aria-label="Skip back to player settings">Skip back to player settings</a>\
{=
(if: $colourblind is 1)[(enchant: ?Yes, (bg: white)+(text-color:black))](else:)[(enchant: "No ", (text-colour: red))(enchant: ?Yes, (text-colour: green))]{(set: $helpDialogue to "Read, collect words, click links, continue. Not accessible? Go back to menu and click game settings to change your access settings.")}\
(if: $ASL is 1)[Kay responds to your surprize. They sign:
"YOU KNOW GHOST WHAT?
GHOST HERE, MEMORY LOST. THEY WANT CONNECT WITH SENSE/MEMORY. IF YOU CONNECT GHOST WITH SENSE EXPERIENCE LIST: (1)FEEL (2)SEE (3)SMELL, (4) HEAR (5)TASTE, THEY SATISFIED. FINISH? THEY CAN LEAVE. EASY."
<!--[[Continue]]--!>\
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Continue")]]\
(else-if: $blind is 1)[\
[You express your surprise and wait for Kay to type their response:
“Oh, it’s not a big deal. Ghosts always pop up around this time of year, and most of the spirits that hang around here are attracted to the sensory experiences they enjoyed when they were living.” The voice pauses and you imagine Kay furiously tapping away at their device.
"Spectres form from incompleteness. These ghosts are simply missing memories or senses that allow them to come to terms with who they were and who they are now. If you can reconnect them to strong sense memories, it triggers a moment from their past and allows them to feel satisfied." You wonder at their knowledge of ghosts.
(if: $deaf is 0)[In response, you hear Kay chuckle as they pause, tapping away at their device to continue.
]\
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?blindInstruct)(show: ?blindInstruct2)]]<blindInstruct|
[\
"You also picked up one of my favourite spectres - I have nicknamed them: The Narrator. When I was walking about the island, doing some field recordings, my transcripts kept showing a running dialogue, describing spectral scenes that I hadn't noticed. I started turning on my auto-caption tool when I would go walking just so I could follow along. You're in for a treat."
Another voice, this time low and male, sniffs before speaking, "Indeed. The Narrator <em>is</em> a treat." (if: $dragon is 1)[
Kay types a laughing face emoji and then continues. "Hold out your hand - The Narrator is holding something out for you." You feel something small, round, and [|inventory>[smooth]]<smooth| pressed into your hand. It is hard with an irregular shape, like a polished pebble or gem. Again the Narrator interjects, "The Narrator instructs you to keep their gift safe." You pocket the stone.]
Kay's voice-clone continues. "Take a walk about the island and deal with your haunted spirit. The Narrator will come and go. I'll be here when you get back.
<!--[[Continue]]--!>\
(link: "Continue")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Continue")]
](blindInstruct2|\
](else:)[\
[\
Kay types a shocked ghost emoji into their phone and then explains:
"Ah, you don't see it yet. You've got a ghost that has attached itself to you. It happens this time of year on the island. It's easy to get rid of, but I like to see it as an opportunity to be creative rather than a burden."
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?instruct1)(show: ?instruct2)]\
]<instruct1|\
[\
They give you a big grin. They shake their phone, clearing the text from the screen and continue:
"spectres form from incompleteness. These ghosts are simply missing memories or senses that allow them to come to terms with who they were and who they are now. If you can reconnect them to strong sense memories, it triggers a moment from their past and satisfies them.
Easy, right?"
<!--[[Continue]]--!>\
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Continue")]\
](instruct2|\
](if: $mobility is 0)[(set: $mobility to 1)](else:)[(set: $mobility to 0)]\
Character settings have been updated: (if: $mobility is 0)[You can move or travel without assitance or aids.](else:)[You use a mobility device to travel and move.]
<!--[[Continue with access set-up|Game settings]]--!>\
(link: "Continue with access set-up")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "Game settings")]
<!--[[Change setting|Mobility Needs Player]]--!>\
(link: "Change setting again")[(masteraudio: 'stopall')(track: 'twinkle', 'play')(go-to: "Mobility Needs Player")]
{=
(if: $mobility is 1)[(enchant: "updated", (text-colour: green))](if: $mobility is 0)[(enchant: "updated", (text-colour: red))](if: $paralyzed is 0)[(set: $paralyzed to 1)](else:)[(set: $paralyzed to 0)]\
Character settings have been updated: [(if: $paralyzed is 0)[you are able to experience or feel things using your sense of touch](else:)[you cannot or struggle to sense things through touch].]
(if: $mobility is 0)[You can, however, move or travel without assitance or aids.](else:)[You use a mobility device to travel and move.]
(if: $paralyzed is 1)[Note: The game is designed to be compatible with keyboard navigation and assistive technology, but author is not paralyzed and primarily uses touch interfaces. If you encounter barriers, your feedback is welcome!]\
<!--[[Continue with access set-up|Game settings]]--!>\
(link: "Continue with access set-up")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "Game settings")]
<!--[[Change setting|Paralyzed Player]]--!>\
(link: "Change setting again")[(masteraudio: 'stopall')(track: 'twinkle', 'play')(go-to: "Paralyzed Player")]
<!--[[Change mobility setting|Mobility Needs Player]]--!>\
(link: "Change mobility setting")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Mobility Needs Player")]
{=
(if: $paralyzed is 1)[(enchant: "updated", (text-colour: green))](if: $paralyzed is 0)[(enchant: "updated", (text-colour: red))]{(set: $helpDialogue to "Click on a link to go to a new location.")}\
(set: _adjacentLocations to (a:), _pearl to "")\
{
<!-- Check for Endgame -->
(if: $winCond contains all of (a: "touch", "taste", "sight", "smell", "sound"))[
(set: $location to "Fleet")
(go-to: "end game")
]
<!-- Get adjacent locations -->
(if: $location is "FLEET")[
(set: _adjacentLocations to (a: "kids", "carvingShed", "market"))
](else-if: $location is "commCentre")[
(set: _adjacentLocations to (a: "kids", "emilyCarr"))
](else-if: $location is "carvingShed")[
(set: _adjacentLocations to (a: "market", "emilyCarr", "kids"))
](else-if: $location is "market")[
(set: _adjacentLocations to (a: "kids", "carvingShed"))
](else-if: $location is "emilyCarr")[
(set: _adjacentLocations to (a: "commCentre", "carvingShed"))
](else-if: $location is "kids")[
(set: _adjacentLocations to (a: "commCentre", "carvingShed", "market"))
](else:)[
(set: _adjacentLocations to (a: "commCentre", "carvingShed", "market"))
]
}\
<!-- Display adjacent locations as clickable links -->\
You check your map. You are currently at (if: $location is "FLEET")[(print: ($locationLabels's $location))](else:)[(link: "[(print: ($locationLabels's $location))]")[(go-to: $location)]] facing North. (if: $dragon is 2)[{
(if: $location is "FLEET")[Your pearl is pulled to the Northeast.]\
(else-if: $location is "kids")[Your pearl is pulled to the Northeast.]\
(else-if: $location is "commCentre")[Your pearl is pulled towards the North.]\
(else-if: $location is "market")[Your pearl is pulled towards the East.]\
(else-if: $location is "carvingShed")[Your pearl is pulled towards the East.]\
(else-if: $location is "emilyCarr")[Your pearl vibrates excitedly."]\
} ]\
From here, you can quickly travel to:\
<ul>\
(for: each _adjLoc, ..._adjacentLocations)[\
<li>\
(link: $locationLabels's _adjLoc)[\
(set: $lastLocation to $location)
(set: $location to _adjLoc)
<!-- Play appropriate sound -->
(if: (history:) contains _adjLoc)[
(masteraudio: 'stopall')(track: 'back', 'play')
](else:)[
(masteraudio: 'stopall')(track: 'woosh', 'play')
]
(go-to: "nav-Handler")
][\
(if: $dragon is 2)[\
(if: $location is "FLEET" and _adjLoc is "carvingShed")[ ⚪]\
(else-if: $location is "market" and _adjLoc is "carvingShed")[ ⚪]\
(else-if: $location is "kids" and _adjLoc is "carvingShed")[ ⚪]\
(else-if: $location is "carvingShed" and _adjLoc is "emilyCarr")[ ⚪]\
(else-if: $location is "commCentre" and _adjLoc is "emilyCarr")[ ⚪]\
]\
]<pearl|\
</li>\
]\
</ul>\
<!--[[Review the map's visual and tactile description|map description]]--!>\
(link: "Review the map's visual and tactile description")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "map description")]
{={(set: $helpDialogue to "Read, collect words and explore the (print: ($locationLabels's $location)). When ready, set the SCENT or SMELL sensory sentence by clicking 'Describe the scene'. Not ready to set your sentence? Keep exploring the island and collect more words.")}\
[<a href="#navMenuSmell" class="skip-link" aria-label="Skip to Navigation (choice)">Skip to Navigation</a>]\
#Public Market Courtyard
<!-- Sensory Smell Sentence Complete -->\
(if: $winCond contains "smell")[You return to the Public Market courtyard. The area remains [|inventory>[lively]]<lively|, though the crowds have thinned to lingering tourists and ferry passengers. The busker is gone\
(if: $anosmic is 1)[\
[\
[]<italicNote|, and all that remains is the usual funk of False Creek mingling with the ever-present scent of diesel and grease []<italicNoteEnd|\
]<italic|\
].
(either: "A seagull picks at a piece of trash, surrounded by two opportunistic crows.",
"A happy couple stumbles past, chatting excitedly about a play.",
"A business-suited person rushes into the courtyard, breathless. They pause, embarrassed, before heading calmly toward the empty ferry dock.")
](else:)[\
<!--Arrival Text--!>\
[\
(if: (history:) contains "market")[(link: "Skip description")[(hide: ?marketM1)(show: ?marketM4)]
]\
You step into the Public Market courtyard.
Here, (if: $deaf is 1)[tourists and ferry-goers linger, watching the calm, [|inventory>[soft]]<soft| waves play gently at the base of the jetty.](else:)[the hum of tourists and ferry-goers persists-though far quieter than the daytime bustle against a backdrop of calm, [|inventory>[soft]]<soft| waves lapping against the jetty]. (if: $blind is 1)[The Narrator ghost rushes to describes the scene before your wayfinding app can begin, "]A temporary blue safety fence, erected for roof renovations, stretches along the edge of the historic building, banners proclaiming: **Old Building, New Roof.**(if: $blind is 1)["]
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?marketM1)(show: ?marketM2)]]<marketM1|\
[\
(if: $blind is 1)["]The [|inventory>[slick]]<slick|, damp surfaces of autumn glisten under the low lights, and (if: $blind is 0)[your eyes are drawn to the] blocky, rainbow-colored letters (if: $blind is 1)[boldly proclaim the entrance to the Aquabus ferries](else:)[of the Aquabus sign]. A [|inventory>[fine]]<fine| mist moves through the courtyard, clinging to railings and sculptures, making any metal feel slippery. Underfoot, a pebble-[|inventory>[heavy]]<heavy| concrete path soon shifts to textured non-slip steel and coated handrails, now flaking and pocked from decades of use, mark the ramp sloping down toward the ferry dock. A busker plays near the ferry ramp entrance.(if: $blind is 1)["](if: $anosmic is 1)[\
You listen for a verse...
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?marketM2)(show: ?waterAnosmic)]](else:)[
(link: "Stay a listen to the busker...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?marketM2)(show: ?waterAnosmic)]
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?marketM2)(show: ?marketM3)]]\
](marketM2|\
[\
[(if: $blind is 1)[The Narrator quickly describes the busker before he continues his song, "The man is dressed in layers of [|inventory>[dark]]<dark| cotton, in high contrast to the gleaming light wood cover of his acoustic guitar. He sways](else:)[The busker sings in jovial style, swaying] back and forth and he grins as he serenades the crowd and the water with enthusiasm:(if: $blind is 1)["]
♫ ["There’s a breeze off the water that’ll sting your nose,
Is it seaweed, salt, or who even knows?
It smells like a toilet left out in the sun,
But hey, it’s Vancouver—ain’t it all part of the fun?"]<italic| ♫
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?busker1)(show: ?busker2)]\
]<busker1|\
[\
The busker continues, and a few people nearby join in as he sings the chorus. You wonder how many verses came before or if these are fans of the musician...
♫ ["Oh False Creek, False Creek, you reek like a dream,
A slurry of seawater, sewage, and steam.
Hold your nose and just paddle away,
The tide’s rolling in, and it’s here to stay."]<italic| ♫
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?busker2)(show: ?busker3)]\
](busker2|\
[\
♫ ["The water’s all [|inventory>[briny]]<briny|, and a little bit mean,
Like a port-a-potty at some music fest scene.
It sloshes and swirls, both stinky and shiny,
False Creek, you’re kicking us right in the heinie."]<italic| ♫
The crowd chuckles and again more people join in as he repeats the chorus. You can still hear him as you (if: $blind is 1)[instruct your wayfinding app to ]move down the ramp towards the ferries(if: $anosmic is 0)[, the [|inventory>[raw]]<raw| scent of the water becoming more potent as if in proud response to the ode].
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?waterAnosmic)(show: ?marketM3)]](busker3|\
](waterAnosmic|\
[\
(if: $blind is 1)[Again, the Narrator speaks up, "]Below the dock, the tide laps lazily against large stones. The [|inventory>[dark]]<dark| water ripples sluggishly, hiding all but a few meters of depth. Feathers, leaves, and floating debris gather along the edges, swirling in lazy spirals. A [|inventory>[sharp]]<sharp| line of barnacles clings to the pier posts, their green-brown shells blending into streaks of rust—markers of the tides’ steady rise and fall.(if: $blind is 1)["]
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?marketM3)(show: ?marketM4)]](marketM3|\
[\
(if: $blind is 1)[The Narrator persists in his description, "](if: visits is 1)[(if: $blind is 1)[Down in](else:)[Looking down at] the [|inventory>[briny]]<briny| water, (if: $blind is 1)[there are](else:)[you spot] several spectral figures caught in the slow current. For a moment, it feels like witnessing someone drowning. (if: $blind is 1)[T](else:)[But as you squint, t]he shapes become clearer—half-formed words tangled in the folds of their coverings, clinging like barnacles.](else:)[The spirits rise sluggishly from the water, their movements syrupy and strange. They float just above the surface, indifferent to the [|inventory>[chill]]<chill| of the tide, with some drifting ashore for a fleeting moment before dissolving back into the murk. Drawn to the unoccupied pier, the ghosts gather where the water stretches [|inventory>[dark]]<dark| and deep below.](if: $blind is 1)["]
(display: "tablet-input")(if: $dragon >0 and <3)[
Your pearl is trembling and pulls at the air to the Southeast.
]\
<span id="navMenuSmell">[\
(if: $winCond contains "smell")[](else:)[(if: $blind is 1)[(link: "Pause and examine the ghosts")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "ghost-Smell")]](else:)[<!--[[Look at the other lingering ghosts|ghost-Smell]]--!>\
(link: "Look at the ghosts")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "ghost-Smell")]]
<!--[[Describe the scene to your ghost|tablet-Smell]]--!>\
(b4r: "solid")[(link: "Describe the scene to your ghost (complete sentence)")[(masteraudio: 'stopall')(track: 'woosh', 'play')(track: 'goblin', 'loop', true)(track: 'goblin', 'play')(if: $descriptList's length <3)[(go-to: "tablet-Smell-input")](else:)[(go-to:"tablet-Smell")]]]
]\
<!--[[Keep exploring the island|Review the map]]--!>\
(link: "Keep exploring the island")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Review the map")]]</span>\
](marketM4|\
]
{=
(if: (history:)'s last is "ghost-Smell")[(hide: ?marketM1)(show: ?marketM4)]{(set: $helpDialogue to "Read, collect words and explore the (print: ($locationLabels's $location)). When ready, set the SOUND or HEARING sensory sentence by clicking 'Describe the scene'. Not ready to set your sentence? Keep exploring the island and collect more words.")}\
[<a href="#navMenuSound" class="skip-link" aria-label="Skip to Navigation (choice)">Skip to Navigation</a>]\
#The Old Art University Building
<!-- Sensory Sound Sentence Complete -->\
(if: $winCond contains "sound")[You return to the shadowy corridor. Although the spectral presence has dissipated, the (if: $deaf is 1)[slight flicker in the](else:)[hum of the] light overhead remains. (if: $deaf is 0)[It buzzes [ [|inventory>[insistantly]]<insistant|]<insistantly|, like a memory etched into sound, refusing to fade].]\
(else:)[\
<!-- Arrival Text -->\
[\
<!--emilyM1--!>\
(if: (history:) contains "emilyCarr")[\
(link: "Skip description")[(if: $blind is 1)[(hide: ?emilyM1)(show: ?emilyM5)](else:)[(hide: ?emilyM1)(show: ?emilyM4)]]
]\
(if: $blind is 1)[\
[\
As you pause before the echoing corridor, a [|inventory>[familiar]]<familiar| if odd voice emerges from your phone—a clone of Kay reads:
"Hey, you made it to the old art school—this place was always weirdly inspiring and also unsettling. Now it’s even weirder with all the ghosts hanging around. I'm gonna walk you through what I saw, so bear with me!"
Footsteps sound to simulate Kay walking along with you.
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?blindEC1)(show: ?blindEC2)]\
]<blindEC1|\
[\
"Okay, so right at the entrance, there's a tag that points into the corridor and says 'This way to the Bee Hive'. When you get midway down the corridor, and you'll know it if you can hear, there’s a mural. It’s kind of chaotic—bees everywhere mixed in with *bzz bzz* odonomodopedic style lines. They swirl around this overhead light. That's where I observed some ghosts signing to each other."
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?blindEC2)(show: ?blindEC3)]\
](blindEC2|\
[\
"One of them was holding their head, grimacing as if the buzzing light above them was just too much. When I chatted with my partner later, he confirmed that there is this annoying, [|inventory>[insistent]]<insistent| buzzing coming from the light. One of the ghosts complained that it triggered their tinnitus, so I'm glad I kept my earplug in when I was investigating these halls."
Footsteps sound again as Kay moves further down the corridor.
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?blindEC3)(show: ?blindEC4)]\
](blindEC3|\
[\
"The walls here are pretty industrial—lots of exposed pipes, and the air smells like a mix of old metal and damp concrete. The ghosts move around like they're still working on their projects—half-formed sculptures, paintings they’ll never finish. I wonder what will happen when the new occupants for this building move in"
(if: $anosmic is 0)[\
[\
[]<italicNote|A [|inventory>[metallic]]<metallic| tang lingers in the corridor, a [|inventory>[familiar]]<familiar| marker of damp air mingling with the residue of tools once used for boat repairs and artistic experiments. []<italicNoteEnd|\
]<italic|\
] Although the air carries the moist memory and forthcoming promise of Autumn rain, the ground is [|inventory>[dry]]<dry| here, under the covered path. Again, footsteps sound and then come to rest.
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?blindEC4)(show: ?blindEC5)]\
](blindEC4|\
[\
"Near the buzzing light, I can see a shipyard behind a metal gate. There are some big old [|inventory>[mechanical]]<mechanical| systems resting there, to hoist up the boats when they get worked on, but right now it's all dust and [|inventory>[eerie]]<eerie| shadows."
They continue. "It's pretty [|inventory>[cold]]<cold| around here. This is where my haunted ghost wanted me to describe what was going on. I described what I can hear when I am introduced to an annoying, repeating sound. I figure that's probably what your spook is looking for too."
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?blindEC5)(show: ?emilyM5)]
](blindEC5|\
](else:)[\
The shadowy corridor stretches before you, dimly lit by yellow-orange lights. The industrial walls rise high above, exposing pipes and conduits in tangled, utilitarian webs. Everything feels both meticulously maintained and abandoned—caught between a place once bursting with creativity and now left empty. Near the entrance someone has recently sprayed a tag(if: $anosmic is 0)[, the smell of chemicals and paint makes your nose crinkle]. A dripping arrow underlines looping text that reads; "this way to the Bhive".
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?emilyM1)(show: ?emilyM2)]]\
]<emilyM1|\
[\
Midway down the corridor, the roof opens to the sky, giving you a fleeting moment of openness before the walls close in again. On the east side, you spy into the fenced-off canoe club courtyard. Through the grid of the metal gate, dusty boats and [|inventory>[mechanical]]<mechanical| systems used to hoist the vehicles up for transport and repair sit idle as though waiting for a race that will never come. \
(if: $anosmic is 0)[\
[\
[]<italicNote|A [|inventory>[metallic]]<metallic| tang lingers in the corridor, a [|inventory>[familiar]]<familiar| marker of damp air mingling with the residue of tools once used for boat repairs and artistic experiments. []<italicNoteEnd|\
]<italic|\
]
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?emilyM2)(show: ?emilyM3)]\
](emilyM2|\
[\
(if: _haunting is 0)[\
Any doubts you had about the island being haunted are put to rest as you observe the bustling activity through the empty corridor.\
](else:)[\
Here the ghosts of granville island are not shy and you are able to see them clearly.] \
They move along the corridor—students frozen in their prime, caught between inspiration and frustration. They drift from the North Campus building to the manufacturing wing, each carrying phantom shapes of sculptures and paintings. The projects are half-formed, their edges blurred, as though [\
[|inventory>[fading]]<faded|\
]<fading| from memory.
(if: $deaf is 1 or $ASL is 1)[
You spot a pair of spectral students signing with each other...
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?emilyM3)(show: ?deafConvo)]\
](else:)[
Conversations hum on the edges of your awareness—murmured critiques, bursts of laughter, and frantic whispers about deadlines. Some shuffle along, dragging invisible art supplies; others pause briefly, lost in thought before resuming their routine.
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?emilyM3)(show: ?emilyM4)]\
]\
](emilyM3|\
[\
<!--Deaf convo--!>\
[\
One of the two ghosts gazes up at an overhead light, cradling their head in distress, as if trying to block out an annoying sound. Their companion looks concerned and signs, "You should write a letter to the dean. It's not fair that this hallway triggers your tinnitus everytime we come to INDD404. It's oppresive and not accessible."
The other student removes their hearing aids and palms them both into one hand. With the other they sign, "I have complained. They said they would get on it, but they also said that I shouldn't be able to hear it if I am deaf..."
The first student grimmaces as if they smelled something bad.
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?deaf1)(show: ?deaf2)]\
]<deaf1|\
[\
"What I don't understand is, if they can hear this thing, why don't they do something about it? It's this bone [|inventory>[rattling]]<rattling|, repeating [|inventory>[drone]]<drone| of static and pain..."
"What I don't understand is, if they can hear this thing, why don't they do something about it? It’s a bone-[|inventory>[rattling]]<rattling| [|inventory>[drone]]<drone|—like static threaded with pain."
The first student looks up at the light while their companion rushes ahead and through the metal gridded gate, not hindered by the living-world's barrier. They look up and contemplate the circle of light and again grimmace, as if swallowing something bitter. Shaking their head, they run forward to catch up to their friend.
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?deaf2)(show: ?deaf3)]\
](deaf2|\
[\
As the two move into the shipyard, they fade away, only to return to their original path, walking along the corridor. The student again grabs her head in pain, and the conversation repeats. You look away from the two and feel a pang of sympathy, and wish you could help.
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?deaf3)(show: ?emilyM4)]\
](deaf3|\
](deafConvo|\
[\
Although the air carries the moist memory and forthcoming promise of Autumn rain, the ground is [|inventory>[dry]]<dry| here, under the covered path. (if: $anosmic is 0)[\
[\
[]<italicNote|Again, beyond the smell of petrichor, the smell of aerosol paint lingers. []<italicNoteEnd|\
]<italic|\
] \
You spy another tag, a mural of active bees mixed in with swirling lines of onomatopoeic *bzz bzz* syllables, ascending the metal sides of the west wall to converge around a\
(if: $deaf is 1)[\
n overhead light. It looks just like the other exterior ones, leaving you to wonder what’s causing it to make a sound. Could a [|inventory>[mechanical]]<mechanical| issue be making the light rattle? Without a hearing companion to confirm whether the [|inventory>[insistent]]<insistent| sound persists, you look away from the buzzing bees and the troublesome light.]\
(else:)[ \
buzzing light which hums with [|inventory>[mechanical]]<mechanical| precision, its sound a static [|inventory>[drone]]<drone|. The buzz is relentless—[|inventory>[rattling]]<rattling| in your jaw, [|inventory>[insistent]]<insistent| in your ear.\
]
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?emilyM4)(show: ?emilyM5)]\
](emilyM4|\
[\
(if: visits is 1)[\
(if: $blind is 1)[\
The Narrator describes the scene, focused on the ghosts moving throughout the corridor. "\
]\
A ghost pauses mid-step, turning its head as if sensing your presence. Its form flickers, and for a moment, you feel as though you’re intruding on a memory that doesn’t belong to you. It goes to step away again, and then stops, looking back\
(if: $blind is 1)[ towards the far exit."].]\
(else:)[\
(if: $blind is 1)[\
The Narrator describes: "\
]\
The ghosts move with the urgency of artists mid-project, ultimately ignoring you.\
(if: $blind is 1)["]\
]
(display: "tablet-input")
(if: $dragon >0 and <3)[
Your pearl is trembling and pulls at the air on the other side of the corridor.
]\
<span id="navMenuSound">[\
(if: $winCond contains "sound")[]\
(else:)[\
(if: $blind is 1)[\
(link: "Pause and examine the ghosts")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')
(go-to: "ghost-Sound")
]\
]\
(else:)[\
<!--[[Look at the other lingering ghosts|ghost-Sound]]--!>\
(link: "Look at the ghosts")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')
(go-to: "ghost-Sound")
]\
]
<!--[[Describe the scene to your ghost|tablet-Sound]]--!>\
(b4r: "solid")[\
(link: "Describe the scene to your ghost (complete sentence)")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')(track: 'goblin', 'loop', true)(track: 'goblin', 'play')
(if: $descriptList's length <3)[(go-to: "tablet-Sound-input")](else:)[(go-to:"tablet-Sound")]\
]\
]
]\
(if: $dragon >0 and <3)[\
<!--[[If Blind/non-visual|Meet the dragon]]--!>\
(link: "Continue through the corridor")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')
(go-to: "Meet the dragon")
]
]\
<!--[[Keep exploring the island|Review the map]]--!>\
(link: "Keep exploring the island")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')
(go-to: "Review the map")
]\
]</span>\
](emilyM5|\
]<!--ELSE--!>\
{=
(if: (history:)'s last is "ghost-Sound")[(hide: ?emilyM1)(show: ?emilyM5)]{(if: (history:)'s length >0)[(unless: (history:) contains "map description")[(set: $ghost to 0)]]}\
[<hr style="border: 0; border-top: 3px double #da6fab;" />]\
|=
[The Haunted Island]<Left|\
=|
(align: "===>")[v1.0]<Right|\
|=|
[<hr style="border: 0; border-top: 3px double #da6fab;" />]\
[Thank you for trying out The Haunted Island. This game was in development throughout October 2024 as a part of the FLEET: Granville Island residency with Kay Slater. Note that you may find bugs, and Kay would be delighted if you shared where you find them.]
(if: visits is 1)[\
<!--[[New Game|Game settings]]--!>\
(link: "New Game")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')
(go-to: "Game settings")\
]\
]\
(else:)[\
(link: "Return to game")[\
(masteraudio: 'stopall')(track: 'back', 'play')
(go-to: $last)
]\
(link: "Start Over")[\
(restart:)\
]\
]
(link: "Accessibility Settings")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Game settings")]
<!--[[Tutorial (How to Play)|Tutorial]]--!>\
(link: "Tutorial (How to Play)")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Tutorial")]
<!--[[Summary]]--!>\
(link: "Summary")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Summary")]
<!--[[Content Warnings]]--!>\
(link: "Content Warnings")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Content Warnings")]
<!--[[Credits]]--!>\
(link: "Credits")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Credits")]
<!--[[Development Log]]--!>\
(link: "Development Log")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Development Log")]{(set: $helpDialogue to "Read, collect words and explore the (print: ($locationLabels's $location)). When ready, set the TOUCH sensory sentence by clicking 'Describe the scene'. Not ready to set your sentence? Keep exploring the island and collect more words.")}\
[<a href="#navMenuTouch" class="skip-link" aria-label="Skip to Navigation (choice)">Skip to Navigation</a>]\
#The Carving Shed
<!-- Sensory Touch Sentence Complete -->\
(if: $winCond contains "touch")[You return to the Carving Shed. The cedar beams glow [ [|inventory>[warmly]]<warm|]<warmly| under the low evening light, the shed’s wooden bones radiating a sense of calm Tourists pass by without pause, oblivious to the ghosts lingering within—figures bent over phantom carvings, their hands tracing [|inventory>[familiar]]<familiar| patterns. (either: "A crow hops across the plaza, tilting its head at the carving shed as though inspecting an unfinished work.", "A breeze stirs the leaves scattered across the ground, arranging them in lazy spirals before setting them down again.",
"A jogger pauses briefly at the edge of the plaza, taking a deep breath before continuing on.")
The (if: $deaf is 0)[quiet] shuffling of leaves accompanies a [|inventory>[soft]]<soft| breeze through the open spaces of the gate.](else:)[\
[\
(if: (history:) contains "carvingShed")[(link: "Skip description")[(hide: ?carvingM1)(show: ?carvingM4)]
]\
(if: $blind is 1)[\
[\
Your wayfinding app guides you toward the carving shed, buzzing [ [|inventory>[insistantly]]<insistant|]<insistantly| as you near where the cedar roots threaten to burst through the brick path. You jostle through the passing crowd, but once beyond the trees, the space feels calm and [|inventory>[unrushed]]<unrushed|. (if: $deaf is 0)[The sound here feels [|inventory>[contained]]<contained|, without an echo.]
(link: "Continue…")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?blind1Carve)(show: ?blind2Carve)]]<blind1Carve|\
[\
The app begins to play a message in Kay's cloned-voice:
"This shed fills me with mixed emotions. As a white settler, I feel privileged to witness when carving happens here, but it also feels weird—like a beautiful making space wrapped inside a zoo exhibit. It’s both restored and somehow... caged."
(link: "Continue…")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?blind2Carve)(show: ?blind3Carve)]](blind2Carve|\
[\
"This is the reconstructed and restored carving shed of Bill Reid, and it's a really beautiful structure. When it's activated with Indigenous artisans, there are sawhorses everywhere covered in huge logs where carvers make everything from house and welcome posts to boats. Right now though, the city workers have tranformed the interior to a temporary day of the dead market stand. This time of night though, the sliding gate is locked, framed by two carved welcome posts, and the space is still."
The voice recording slows, as though winding down like a dying battery.
(link: "Continue…")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?blind3Carve)(show: ?blind4Carve)]](blind3Carve|\
[Suddenly, the ghostly Narrator interjects, loud and clear:
"Actually -the carving shed is not as empty as the older artist would have you believe. In fact it bustles with energy. (if: _haunting is 0)[Any doubts you had about Granville Island being haunted are put to rest, for though](else:)[Though] the shed is locked for the season, the island's ghosts are active here. Within, two figures hunch over transculent posts of wood, each carver surrounded by other figures observing the work. They carve with slow, deliberate motions, their hands [|inventory>[precise]]<precise|."
(if: $anosmic is 0)[\
[
[]<italicNote|A sudden whiff of sawdust and smoke hits your senses, only to vanish on the next breath, leaving behind the [|inventory>[faint]]<faint| scent of wet pavement. []<italicNoteEnd|\
]<italic|\
]
(link: "Continue…")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?blind4Carve)(show: ?blind5Carve)]](blind4Carve|\
[\
Kay’s voice returns, slowly picking up speed like a vinyl needle placed mid-track:
"These welcome posts are magnificient—darkened wood with two fish winding along their lengths, forming [|inventory>[sleek]]<sleek| S-shapes. The fish are designed using Pacific Formline, with forms such as the ovoid which is often described as bean or loaf shaped employed throughout. Each fish is polished but the [|inventory>[sleek]]<rough| grain of the wood is still very apparent."
(link: "Continue…")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?blind5Carve)(show: ?blind6Carve)]](blind5Carve|\
[\
"At the base of each post is a bear paw, the two forming a set in a gesture similar to a Salish thank you and acknowledgement (raised hands). There is also a repeating circle between two curved lines, that repeat up the posts. The paws and circles are carved into the post, leaving an indentation, where the salmon are carved in relief—raised and swimming along the surface of the post."
(link: "Continue…")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?blind6Carve)(show: ?blind7Carve)]](blind6Carve|\
[\
"Within the fishes' eyes as well as within the repeating cicles and bearpaw, the space is painted or lined with very thin copper. I think it is paint as it isn't [|inventory>[cold]]<cold| and feels the same temperature at the rest of the wood. Closing my eyes, it doesn't feel different, but when looking it's very obvious that colour has been added here."
(link: "Continue…")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?blind7Carve)(show: ?blind8Carve)]](blind7Carve|\
[\
"In my reading, I learned that the carving artist, Xwalacktun, uses bear paws as a signature. Male and female salmon symbolize abundance, though I couldn’t tell which was which. There’s not much written about these posts, despite them being frequently photographed."
(link: "Continue…")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?blind8Carve)(show: ?blind9Carve)]](blind8Carve|\
[\
"I bet you'll feel more than I did when you touch the carvings. The ghosts around here are intense. As I said - complicated feelings about being a specator here. I can only imagine what the ghosts think when the carving shed is rented out for a wedding or kid's party..."
Kay's recorded note finishes, and the wayfinding app directs you forward and towards the welcome posts.
(link: "Continue…")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?blind9Carve)(show: ?carvingM4)]](blind9Carve|\
]\
(else:)[\
The shed stands with its A-frame roof supported by tall cedar posts. \
(if: $anosmic is 0)[\
[\
[]<italicNote|The scent of wood lingers in the air, [|inventory>[faint]]<faint| and aged, merging with the [|inventory>[crisp]]<crisp| smell of autumn leaves.[]<italicNoteEnd|\
]<italic|\
] Whispers of light from the city, lamposts and perhaps even starlight filters through the gaps between the beams, casting long stripes of light and shadow across the structure. Inside is a dormant, but colourful pop-up market celebrating the forthcoming day of the dead, complete with long running and [|inventory>[delicate]]<delicate| bunting made from crepe paper and puffy pom-poms. It looks well situated and yet still a little odd [|inventory>[contained]]<contained| within the locked, Coast Salish style carving shed.
(link: "Continue…")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?carvingM1)(show: ?carvingM2)]]]<carvingM1|\
[\
At the entrance, two carved houseposts greet visitors—cedar pillars bearing pairs of salmon swimming downward in elegant, fluid curves. Their bodies are [|inventory>[smooth]]<smooth| but still expertly carved to show and allow the wood's grain to be felt and seen. The bear paws carved at the base face forward in a gesture of welcome, their indentations [|inventory>[smooth]]<smooth| and painted copper.
(link: "Continue…")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?carvingM2)(show: ?carvingM3)]](carvingM2|\
[\
(if: _haunting is 0)[Any doubts you had about Granville Island being haunted are put to rest, for though](else:)[Though] the shed is locked for the season, the island's ghosts are active here. Within, two figures hunch over transculent posts of wood, each carver surrounded by other figures observing the work. They (if: $deaf is 0)[silently ]carve with slow, deliberate motions, their tools invisible but their hands [|inventory>[precise]]<precise|. \
(if: $anosmic is 0)[\
[\
[]<italicNote|The memory of sawdust and smoke hangs just at the edge of perception, teasing your senses. But when you try to breathe it in, the air is clean, carrying only the [|inventory>[faint]]<faint| trace of the city after rain. []<italicNoteEnd|\
]<italic|\
]
(link: "Continue…")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?carvingM3)(show: ?carvingM4)]](carvingM3|\
[\
(if: $blind is 1)[The Narrator describes the active ghost world, "](if: visits is 1)[One ghost pauses mid-carve, looking up suddenly as though sensing your presence. His hand stills, caught in a gesture of recognition, before he returns to his work. However, he seems distracted and each time he moves to begin again, he pulls back and looks around.](else:)[Most of the ghosts seem at peace here, lost in their work. They pass through the space with purpose, tracing shapes remembered from another time, their spectral hands gliding over phantom tools and unfinished carvings.](if: $blind is 1)["]
(display: "tablet-input")(if: $dragon >0 and <3)[
Your pearl is trembling and pulls at the air, Eastward.
]\
<span id="navMenuTouch">[\
(if: $winCond contains "touch")[](else:)[(if: $blind is 1)[(link: "Pause and examine the ghosts")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "ghost-Touch")]](else:)[<!--[[Look at the other lingering ghosts|ghost-Touch]]--!>\
(link: "Look at the ghosts")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "ghost-Touch")]]
<!--[[Describe the scene to your ghost|tablet-Touch]]--!>\
(b4r: "solid")[(link: "Describe the scene to your ghost (complete sentence)")[(masteraudio: 'stopall')(track: 'woosh', 'play')(track: 'goblin', 'loop', true)(track: 'goblin', 'play')(if: $descriptList's length <3)[(go-to: "tablet-Touch-input")](else:)[(go-to:"tablet-Touch")]]]
]\
<!--[[Keep exploring the island|Review the map]]--!>\
(link: "Keep exploring the island")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Review the map")]]</span>\
](carvingM4|\
]\
{=
(if: (history:)'s last is "ghost-Touch")[(hide: ?carvingM1)(show: ?carvingM4)](if: $blind is 1)[From just behind you, a male voice begins to narrate a visual description of the surrounding plaza and FLEET trailer... They must be reading from a script to not see the confusion and disturbance on your face for having launched into an unsolicited report. Resigned, you listen to his account. "] The fleet mobile studio is a cedar-sided RV or trailer located within the Chain and Forge plaza of Granville Island. It is situated under the Granville Street bridge and near two massive bridge supports covered in large Salish murals. The trailer features one large window overlooking the plaza and a set of double doors facing out the back leading to a small patio. The patio and one more side door facing away from the plaza have three unsupported steps with no railings or ramps.
The trailer is installed atop a flatbed platform, with three pairs of large tires and a few balance axles keeping it steady. Electric lights glow inside the trailer; a single extension cord leads from the trailer and is plugged into a crossbeam laid across a pair of wooden posts, a series that line the plaza's perimeter. (if: $blind is 1)[" When he finishes his description, you go to introduce yourself, but no one responds. How rude...]
<!--[[desc-Kay]]--!>(link: "Ask the man to describe Kay...")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "desc-Kay")]
<!--[[haunted]]--!>(link: "Continue...")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "haunted")](if: $blind is 1)[(if: (history:) contains "desc-FLEET-mobile-trailer")[The man responds and ](else:)[From just behind you, a male voice begins to descibe Kay. They do not introduce yourself, and you wonder if Kay has hired interveners and describers for the night. Perhaps this guy is a volunteer or is new to this work. Regardless, ]you listen to his description. "]Kay is a white, middle-aged person with greying midback-length hair, the colour and texture of wet West Coast sand. It is barely held in a messy braid between shaved sides, the hair fuzzy and inexpertly cut. They have brown eyes, a triple-pierced nose, double-pierced lip on opposing sides, and prominent rosy cheeks. They have a large smile that crinkles the corner of their eyes and exposes their tea-stained, yellow teeth.
Seated on the patio, they appear relatively tall and of average size, although it's [|inventory>[hard]]<hard| to tell under the layers of winter gear, a toque, gloves and multiple hooded sweatshirts. Their feet swing [\
[\
|inventory>[playfully]\
]<playful|\
]<playfully| in [|inventory>[heavy]]<heavy| construction boots.(if: $blind is 1)[ For someone about to host an event, they seem [|inventory>[unrushed]]<unrushed| and at ease."]
<!--[[haunted]]--!>(link: "Continue...")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "haunted")]This sticker is the shape two concentric circles, like a bullseye or a round target. When you bring your phone close to the sticker, it buzzes and says:
"This is the old Emily Carr University. I've marked a section of the corridor that runs through the building and back towards False Creek, like a mini-arcade There is a high concentration of ghosts seeking a sound memory here, but also, there are just a lot of ghosts over there. Bundle up!"
<!--[[Return to Map Description|map description]]--!>\
(link: "Back")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "map description")]The sticker is a bunch of stacked, horizontal dashes. There are two on the top and bottom between which is sandwiched a single long line. When you bring your phone close to the sticker, it buzzes and says:
"This is the False Creek Community Centre. There is a high concentration of hungry ghosts here."
<!--[[Return to Map Description|map description]]--!>\
(link: "Back")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "map description")]The sticker is a rectangle, long and thin with vertical lines texturing the surface. When you bring your phone close to the sticker, it buzzes and says:
"This is the Carving Shed. There is a high concentration of ghosts searching for a tactile memory here.
<!--[[Return to Map Description|map description]]--!>\
(link: "Back")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "map description")]{(set: $helpDialogue to "You did it - you have completed the game. Click back to menu to restart.")}\
(if: (history:)'s last is "end game")[Oh! The restart button doesn't seem to be working! Try refreshing your browser, or going back to the main menu and starting a new game.]
(set: $ghost to 0)The map shudders and then shifts. The lines on the page contrort into new forms, (if: $blind is 1)[and you can feel both the familar dots of UEB as well as railed English letters. The page spells out THANK YOU. A careless whistle begins and then slowly fades as if the whistler was walking away. You wait for a moment, to see if the Narrator has anything else to say and after the longest moment of silence you've had since arriving on the island, you assume he has also moved along to his next vict-, companion.](else:)[and becomes the words THANK YOU. The letters dance in celebration and then morph back into the tactile map.]
Your phone buzzes to inform you that Kay will be starting the open house presentation in 15 minutes, and you start to make your way back towards the FLEET mobile trailer.
Thank you for playing, "The Haunted Island".
You collected (print: $descriptList's length)/72 of the (link-repeat: "available words")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Print the list")]. You can play again but keep (if: $dragon >2)[the dragon's gift of knowledge](else:)[all the words you've found so far] by playing a New Game +. (if: $descriptList <72)[You can only find certain words by checking in on your ghost, revisiting certain passages, or exploring. How many can you find?]
If you want to start again from stratch, either click Start Over, or go back to the Main Menu and start a new game!
(link: "New Game + ")[(go-to: "haunted")]
(link:"Start Over (new game - reset)")[(restart:)]{(set: $helpDialogue to "Read, collect words, click links, continue. Not accessible? Go back to menu and click game settings to change your access settings.")}\
(if: visits is 1)[October, 2024.
(if: $blind is 1)[Your taxi driver comments on the sunset and that you are approaching your destination. The road has been bumpy and curving, but the vehicle has moved slowly for the past 5 minutes as it navigates the island.](else:)[The sun is just setting, and you walk along the cobblestone paths of Granville Island, a merchant and artisan hub ordinarily busy with tourists and now mostly empty but for the occasional evening diner or worker heading home.
You approach the <!--[[FLEET mobile trailer|desc-FLEET-mobile-trailer]]--!>(link: "FLEET mobile trailer (description)")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "desc-FLEET-mobile-trailer")] and come about to the northeast side, dodging a short set of steps that lead up to a [|inventory>[dark]]<dark| door, past two large rain barrels, empty save for some dirt, and navigating the mostly [|inventory>[flat]]<flat| brick-lined pathway before it opens up to the plaza surrounding the studio.]
(if: $blind is 0)[<!--[[Kay (description)|desc-Kay]]--!>(link: "Kay (description)")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "desc-Kay")], the current artist in residence, is seated on the studio's raised wooden patio. Their feet dangle over the edge, and they cuddle a giant, steaming thermos. For someone about to host an event, they seem [|inventory>[unrushed]]<unrushed| and at ease. They face away from you, towards the empty plaza, but they occasionally gesture(if: $ASL is 1)[, as if they are signing to themselves](else:)[ at the air].](else:)[Maneuvering yourself across uneven terrain, following the instructions from your taxi driver, you arrive at the Chain and Forge plaza next to the (link: "FLEET mobile trailer (description)")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "desc-FLEET-mobile-trailer")].
<!--[[Kay (description)|desc-Kay]]--!>(link: "Kay (description)")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "desc-Kay")], the current artist in residence, is hosting an open house tonight.]]\
(else:)[The (link: "FLEET mobile trailer (description)")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "desc-FLEET-mobile-trailer")]\
(if: $blind is 1)[ is sturdy, it's wood sided panels soft but still quite textured, so you take care not to get splinters as you move around the back of the trailer. You feel a textured hand, and recognize Kay's ever present ring on their right hand, fingers frigid but nimble enough to clapse your hands in their energetic way. They softly extract themselves from the greeting, and in the silence that follows, you suspect they are typing out a message.](else:)[ sits comfortably within the Chain and Forge Plaza, and the evening lights are suspended on the perimeter poles, creating a charming scene. <!--[[Kay (description)|desc-Kay]]--!>(link: "Kay (description)")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "desc-Kay")] sits on the back porch, their feet dangling over the edge, huddling over a thermos. Every once in a while, they gesture(if: $ASL is 1)[, as if they are signing to themselves](else:)[ at the air].]]
<!--[[Approach Kay]]--!>
(link: "Approach Kay")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Approach Kay")]{(set: $helpDialogue to "You can return to the menu and change your game settings without losing your game's progress as long as you keep this tab open and your computer or mobile device doesn't have agressive refresh rates!")}\
#Game instructions:
A dissatisfied ghost haunts you. Free yourself and the ghost by taking it to five locations on the map and creating sensory descriptions. Collect words for your descriptions by clicking on words "hidden" in the game's text.
You will be provided a list of words at each location to help you build an English sentence describing a sensory experience. If you have defined your access needs in the <!--[[game settings|Game settings]]--!>(link: "game settings")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "Game settings")], each sensory scene will be modified to allow for different lived experiences and to acknowledge barriers.
Once you have visited the five locations and set your sensory sentences, you can check in with your ghost to see whether it is ready to move on.
<!--[[map|map description]]--!>(link: "Review the map")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "map description")](set:
$winCond to (a: "ready"),
$last to "",
$blind to 0,
$colourblind to 0,
$deaf to 0,
$ASL to 0,
$anosmic to 0,
$ageusic to 0,
$paralyzed to 0,
$mobility to 0,
$italics to 1,
$colourText to 1,
$descriptList to (a: "chaotic"),
$tutInv to (a:),
$help to 0,
$dragon to 0,
$location to "FLEET",
$helpDialogue to "Help counter is turned on."
)
(set: $locationLabels to (dm:
"kids", "Kids Market",
"emilyCarr", "Old Emily Carr Building",
"carvingShed", "Carving Shed",
"commCentre", "Community Centre",
"market", "Public Market Courtyard",
"FLEET", "Chain & Forge Plaza"
))(if: (history:)'s last is "ASL User")[]\
(else:)[(hide: ?are)(show: ?update)(if: $deaf is 0)[(set: $deaf to 1)](else:)[(set: $deaf to 0)]]\
Character settings[](are|[ have been updated](update|: (if: $deaf is 0)[you are hearing and can perceive most sounds](else:)[you are deaf, Deaf, [|inventory>[hard]]<hard| of Hearing, [|inventory>[hard]]<hard| of hearing or have hearing loss and/or the inability to process sound].
[ []<italicNote| `*`This setting is only associated with the "sense" hearing. It does not require you to identify culturally as Deaf or [|inventory>[hard]]<hard| of Hearing, although you may be! You can also set yourself as an <!--[[ASL User]]--!>(link: "ASL user")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "ASL User")].[]<italicNoteEnd|]<italic|
<!--[[Continue with access set-up|Game settings]]--!>\
(link: "Continue with access set-up")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "Game settings")]
<!--[[Change setting|Hearing Player]]--!>\
(link: "Change setting again")[(masteraudio: 'stopall')(track: 'twinkle', 'play')(go-to: "Hearing Player")]
{=
(if: $deaf is 1)[(enchant: "updated", (text-colour: green))](if: $deaf is 0)[(enchant: "updated", (text-colour: red))]
(if: (history:)'s last is "ASL User")[(show: ?are)(hide: ?update)](else:)[(hide: ?are)(show: ?update)]<a href="#about" class="skip-link" aria-label="Skip to About">Skip to About</a>
In this game, players will visit locations across Granville Island , a small tourist village and marina in colonially-named Vancouver, BC, Canada. Newly haunted, players must visit different places across the island and create sensory descriptions to help their ghost remember their past and allow them to feel satisifaction so they may go on their way.
#Seasonal gameplay:
The game takes place during the month of October, 2024. At the time of writing, the game is scheduled to be live until the end of that month, and potentially republished in subsequent years for a month every fall.
<span id="about">[\
#About the game:
The Haunted Island was created in 3 weeks during an artist residency at the FLEET: granville island mobile artist studios. It is designed to give players the excuse to go on a walk about the island, and to practice sensory description in text. As players explore, they collect sensory language which gives them more options to use when playing. It was designed to allow for low-vision, Blind or non-visual participation as well as those with limited access to data, using only the free wifi available in patches on granville island. As such, the use of images, gifs, or video have not been included in this game version and as such, only English-GLOSS is used to represent signed converations in game. There is no ASL available at this time.
The game can be played from home or anywhere with a wifi connection, but will require players to make sensory guesses as to what the real-life locations might [[]<italicNote| smell[]<italicNoteEnd|]<italic|, taste, sound, look, or feel like.
The game also allows players to be without access to the "5 senses" without penalizing them by setting their access needs within the [[game settings|Game settings]]. However, this game is written in English text and does require the player to have some knowledge of written English to progress.
This game was written by a white, ambulatory, [|inventory>[hard]]<hard| of hearing (oral), queer settler author who may have made assumptions or who has not incorporated a wide enough spectrum of experience to match up with every lived experience and it is not their intension to further make anyone feel more marginalized or unseen. If you want to give feedback to the artist, please contact kay@kdot.ca. Your feedback is a gift, even when project scope and timelines do not allow for every possible execution. "You are valued, love Kay."]</span>
(link: "Return to menu")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "The Haunted Island")]#Content Warnings
##Sensory Peception and Identity Language
This game is focused on the senses and as such will ask players if they experience barriers related to the senses based on a societial expectation that all humans perceive the senses similarly (universally). However, this game and the author do not consider these as deficiencies and personally rejects the Medical Model of Disability that people who experience barriers need to be fixed. The access check is only to modify the text in the game to allow players with different sensory perceptions and lived experience to move through the game with fewer barriers. You are loved and appreciated, but that does not mean that the author has not created harm unintentionally - please take care. Feedback is welcomed.
##Absense isn't a universal
In some cases, the reader who has identified as living with a disability (or identifying as Deaf or Disabled) has been written into the story such that they do not perceive an associated sense (Deaf = no sound cues, Blind = no light, shadow, sight cues) and this is certainly not the case for many people who identify with these lived experiences. This game tries to cover a lot of ground, but acknowledges that it does not provide a complete and deep gameplay for congruent to all lived experiences, and hopes that this roleplaying game allows you to imagine yourself as these characters during the game, and for players choosing access settings that do not match their own lived experience, that they do not take these game settings to be equivilent or even true to life. This is a game. Life is complicated and varied!
##Use of "colourblindness" as an access term:
While the Medical definitions suggest that Chromatic Perception is universal, this is not true. This being said, there is a majority agreement on how colour is perceived for the sake of efficiency within majorities categorizations (language, science, capitalism), and as such those who experience Chromatic Vision or Colour differently are often refered to as Colourblind. This term is used in the access settings to acknolwedge that it is a more universally recognized term, but it is reductionist and ignores the fact that some people see colour, just not in the same way as others. Please excuse the author's use of this term for the sake of clarity and take care of yourself.
[[Return to menu|The Haunted Island]]This sticker is the shape of a triangle, the bottom edges a little rounded. It could be the shape of a nose. When you bring your phone close to the sticker, it buzzes and says:
"This is the Public Market Courtyard and Quay. There is a high concentration of ghosts seeking a scent memory here."
<!--[[Return to Map Description|map description]]--!>\
(link: "Back")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "map description")]This sticker is the shape of a...nut? An almond? Maybe it's an eye? When you bring your phone close to the sticker, it buzzes and says:
"This is the Kids Market. There is a high concentration of ghosts seeking a visual memory here."
<!--[[Return to Map Description|map description]]--!>\
(link: "Back")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "map description")](if: visits is 1)[\
{(set: $helpDialogue to "Read, collect words, click links, continue. Not accessible? Go back to menu and click game settings to change your access settings.")}\
You check out the (if: $paralzed is 0)[tactile ]map that Kay handed you.
[(display: "desc-map")]<map|
Kay has placed a few (if: $paralzed is 0)[fuzzy ]stick- (if: $paralyzed is 1)[](else:)[you freeze. Something [|inventory>[cold]]<cold| slithers down your spine, and you shiver. Your mouth goes [|inventory>[dry]]<dry|. ](if: $blind is 1)[Something grabs at your wrist!](else:)[You spot something out of the corner of your eye...]
<!--[[What is that?|ghosts abound]]--!>\
(link: "What is that?")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "ghosts abound")]]\
(else:)[\
{(set: $helpDialogue to "Click the stickers for sensory experiences, and to gain insight into which senses can be challenged at which location. If you're want to get started, or you know the island well, click the skip.")}\
(if: (history:) contains "Review the map")[<a href="#fuzzyStickers" class="skip-link" aria-label="Skip to sticker descriptions">Skip to sticker descriptions</a>\
[(display: "desc-map")]<map|
There are fuzzy stickers at each of the locations.]
(else-if: (history:) contains "desc-scentSticker" and "desc-touchSticker" and "desc-tasteSticker" and "desc-sightSticker" and "desc-soundSticker")[You have examined every sticker and know where you can go to solve this ghost problem.
]\
(else-if: visits >=3)[You continue to examine the stickers. You touch each one and scan them with your phone for details.]\
(else:)[You return to the tactile map. This time, you focus on the fuzzy stickers that you were distracted away from before. A large diamond represents the FLEET trailer in the centre of the map. Five other stickers are scattered across the map. Your phone buzzes as you examine each sticker...]\
<span id="fuzzyStickers">[\
0. (if: (history:) contains "desc-scentSticker")[(link-repeat: "⏶")[(masteraudio: 'stopall')(track: 'scratching', 'play')(go-to: "desc-scentSticker")] The public market (middle-left)](else:)[<!--[[Top left of the middle|desc-scentSticker]]--!>(link: "Top left of the middle")[(masteraudio: 'stopall')(track: 'scratching', 'play')(go-to: "desc-scentSticker")]]
0. (if: (history:) contains "desc-touchSticker")[(link-repeat: "▥")[(masteraudio: 'stopall')(track: 'scratching', 'play')(go-to: "desc-touchSticker")] Carving Shed (middle)](else:)[<!--[[middle near FLEET|desc-touchSticker]]--!>(link: "Middle (near FLEET)")[(masteraudio: 'stopall')(track: 'scratching', 'play')(go-to: "desc-touchSticker")]]
0. (if: (history:) contains "desc-tasteSticker")[(link-repeat: "☵")[(masteraudio: 'stopall')(track: 'scratching', 'play')(go-to: "desc-tasteSticker")] Community Centre (bottom-right)](else:)[<!--[[Bottom right|desc-tasteSticker]]--!>(link: "Bottom right")[(masteraudio: 'stopall')(track: 'scratching', 'play')(go-to: "desc-tasteSticker")]]
0. (if: (history:) contains "desc-sightSticker")[(link-repeat: "⏿")[(masteraudio: 'stopall')(track: 'scratching', 'play')(go-to: "desc-sightSticker")] Kids Market (bottom-middle)](else:)[<!--[[Bottom middle near the edge|desc-sightSticker]]--!>(link: "Bottom middle near the edge")[(masteraudio: 'stopall')(track: 'scratching', 'play')(go-to: "desc-sightSticker")]]
0. (if: (history:) contains "desc-soundSticker")[(link-repeat: "◎")[(masteraudio: 'stopall')(track: 'scratching', 'play')(go-to: "desc-soundSticker")] Old Emily Carr Building (upper right)](else:)[<!--[[Upper right|desc-soundSticker]]--!>(link: "Upper right")[(masteraudio: 'stopall')(track: 'scratching', 'play')(go-to: "desc-soundSticker")]]]<fuzzy|\
[
(link: "Reexamine a fuzzy sticker")[(masteraudio: 'stopall')(track: 'twinkle', 'play')(track: 'scratching', 'play')(show: ?fuzzy)]
<!--[[Choose a destination|Review the map]]--!>(link: "Choose a destination")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Review the map")]](fuzzyShow|</span>\
[(link: "I'm familiar with the island (skip the stickers)")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Review the map")]]<continue|]\
{=
(if: (history:) contains "desc-scentSticker" and "desc-tasteSticker" and "desc-touchSticker" and "desc-sightSticker" and "desc-soundSticker")[(hide: ?fuzzy)(show: ?fuzzyShow)(hide: ?continue)]{(set: $helpDialogue to "Read, collect words and explore the (print: ($locationLabels's $location)). When ready, set the TASTE sensory sentence by clicking 'Describe the scene'. Not ready to set your sentence? Keep exploring the island and collect more words.")}\
[<a href="#navMenuTaste" class="skip-link" aria-label="Skip to Navigation (choice)">Skip to Navigation</a>]\
#False Creek Community Centre
<!-- Sensory Taste Sentence Complete -->\
(if: $winCond contains "taste")[You return to the community centre. The space feels (if: $paralyzed is 0)[ [|inventory>[warm]]<warm| but ]quiet. Chairs along the walls are occupied by bundled-up adults scrolling through their phones, lost in their timelines.
(either: "A youth bursts into tears somewhere deeper in the centre and then fades.", "The elliptical machine groans under the weight of a lone, determined runner.", "A phone rings, [|inventory>[sharp]]<sharp| and sudden—only to stop just as abruptly.") The hum of muted conversation floats from behind the glassed-in front desk, where two city workers continue their quiet chat.]\
(else:)[\
<!-- Arrival Text -->\
[\
(if: (history:) contains "commCentre")[(link: "Skip description")[(hide: ?commM1)(show: ?commM4)]
]\
(if: $blind is 1)[\
[\
Your wayfinding app directs you toward the community centre entrance. \
(if: $paralyzed is 0)[\
The lobby welcomes you with its [|inventory>[warm]]<warm| central heating.]\
You detect what you believe to be an HVAC system rumbling at full blast\
(if: $anosmic is 0)[\
[\
[]<italicNote| and the lobby holds no distinct scents[]<italicNoteEnd|\
]<italic|\
]; the city pursuing a low-scent and allergen policy in public spaces. \
(if: $deaf is 0)[\
The [|inventory>[faint]]<faint| echoes of shuffling feet along the corridor's [|inventory>[smooth]]<smooth|, concrete slabs underfoot are sometimes accompanied by a random squeak of a sneaker from one of the connected gymnasiums.]\
(else:)[Through a small view hole near the front desk is a peek into the exercise room where someone toils away at an elyptical machine.]\
The thought of exercise makes you thirsty.
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?blindcomm1)(show: ?blindcomm2)]\
]<blindcomm1|\
[\
The app buzzes and Kay's note using the speech-to-text cloned voice, is triggered.
“Welcome to the community centre! There's washrooms and a waterfountain around the corner. Just pass the large welcome counter, about 15 steps from the entrance, and follow it right. Along that wall and down a short corridor, cut in the brick, is the washroom and past that hall is the water fountain. That's where I was able to satisfy my spectre. I assume you'll be able to do the same."
(if: $ageusic is 1)[\
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?commM1)(show: ?waterAgeustic)]
](else:)[\
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?blindcomm2)(show: ?commM3)]\
]\
](blindcomm2|\
]\
<!--SIGHTED--!>\
(else:)[\
The community centre lobby welcomes you with its [|inventory>[warm]]<warm| overhead lighting \
(if: $paralyzed is 0)[and central heating]. A large HVAC rumbles \
(if: $anosmic is 0)[\
[\
[]<italicNote| and the lobby holds no distinct scents[]<italicNoteEnd|\
]<italic|\
]; the city pursuing a low-scent and allergen policy in public spaces. Wood beams criss-cross the ceiling above, intersurpsed with industrial pipes. The [|inventory>[faint]]<faint| echoes of shuffling feet along the corridor's [|inventory>[smooth]]<smooth|, matte concrete slabs underfoot are sometimes accompanied by a random squeak of a sneaker from one of the connected gymnasiums. The thought of exercise makes you thirsty.
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?commM1)(show: ?commM2)]\
]\
]<commM1|\
[\
The water fountain stands just inside the west exit. It’s one of those modern models, accommodating both water bottles and those who drink straight from the spout. The metal is in contrast against the pale wall, but the buttons of the fountain are in low contrast made of the same materials, the [|inventory>[sleek]]<sleek| surface of the press button worn down and unhelpful to both sighted and non-sighted users. A few steps away, a short corridor to the washrooms and showers is busily used.
You take a sip from the water fountain. It’s \
(if: $paralyzed is 0)[ [|inventory>[cold]]<cold| and ]\
[|inventory>[refreshing]]<refreshing|, the \
(if: $paralyzed is 0)[cool ]\
stream leaving you feeling revitalized. \
(if: $ageusic is 1)[\
Your phone buzzes. It's a text from Kay...
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?commM2)(show: ?waterAgeustic)]\
](else:)[
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?commM2)(show: ?commM3)]\
]\
](commM2|\
[\
[\
(if: $blind is 1)["T]\
(else:)[\
"Just a heads-up—when you reach the community centre, t]\
he ghosts love the water fountain. I can only guess it’s because, at night, once the market closes, there aren’t many other treats with strong sensory memories."
Kay adds, "Water itself doesn’t really taste like \
[\
[]<italicNote| anything []<italicNoteEnd|\
]<italic|, \
but that’s subjective. It can take on the flavour of wherever it’s drawn from or whatever it’s served in."
(if: $blind is 0)[Three dots appear as Kay continues typing.
]\
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?water1)(show: ?water2)]\
]<water1|\
[\
"For example, in Ontario, the water tasted [|inventory>[earthy]]<earthy| and a little like sulfur. In smaller cities, it could taste like chemicals or chlorine—maybe because it came from a lake, or because it needed more treatment. I’m not sure why."
"Vancouver’s tap water is really clean—at least, it tastes like [\
[]<italicNote| nothing []<italicNoteEnd|\
]<italic| \
to me. I grew up here, so unless the fountain or pipes give it a [|inventory>[metallic]]<metallic| taste, it’s just water. But people visiting from out of town say our water has a [|inventory>[crisp]]<crisp|, mineral flavour. Funny how that works."
(if: $blind is 0)[Three dots appear again.
]\
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?water2)(show: ?water3)]\
](water2|\
[\
"Anyway, I know you’ve mentioned struggling with flavours before, so I thought this might help you satisfy your ghost. They’re all thirsty, and at night, the only place to get water—besides the restaurants—is the community centre."
Kay adds, "I hope I’m not overstepping... wall of text, done."
(if: $blind is 0)[\
Kay sends a water droplet, a ghost, and a heart wrapped in a ribbon emoji.
]\
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?commM2)(show: ?commM3)]\
](water3|\
](waterAgeustic|\
[\
(if: $blind is 1)[\
As Kay's voice note ends, the Narrator clears his throat dramatically, and says, "](if: _haunting is 0)[\
Any doubts you had about the island being haunted are put to rest as you move through the communtiy centre. Transluscent figures fade in and out of view, going about tasks, and mirroring the actions of the living.\
]\
(else:)[\
Ghosts linger here, less frantic than elsewhere on the island. \
]\
A spectral figure stands before the bulletin board near the water fountain, scanning fliers with the intensity of someone searching for a place to live. Their hand hovers, as though trying to pluck a piece of paper that no longer exists.
Down the washroom corridor, another ghost whispers urgently into their cloth covered hand as if speaking on a phone. Their expression flickers between annoyance and worry, pulling their arm away to examine their empty palm, eternally awaiting a connection that will never come.(if: $blind is 1)["]
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?commM3)(show: ?commM4)]\
](commM3|\
[\
(if: visits is 1)[(if: $blind is 1)[The Narrator shares, "]The ghost at the bulletin board turns slightly, as though sensing your presence. They hesitate, caught between their search and something unseen, before dismissing you entirely, returning to their spectral task.(if: $blind is 1)["]]\
(else:)[The ghosts move slowly, detached but determined, each wrapped in the quiet routines of another time.]
(display: "tablet-input")(if: $dragon >0 and <3)[
Your pearl is trembling and pulls at the air to the North.
]\
<span id="navMenuTaste">[\
(if: $winCond contains "taste")[]\
(else:)[\
(if: $blind is 1)[\
(link: "Pause and examine the ghosts")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')
(go-to: "ghost-Taste")
]\
]\
(else:)[\
<!--[[Look at the other lingering ghosts|ghost-Taste]]--!>\
(link: "Look at the ghosts")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')
(go-to: "ghost-Taste")
]\
]
<!--[[Describe the scene to your ghost|tablet-Taste]]--!>\
(b4r: "solid")[\
(link: "Describe the scene to your ghost (complete sentence)")[\
(masteraudio: 'stopall')
(track: 'woosh', 'play')(track: 'goblin', 'loop', true)(track: 'goblin', 'play')
(if: $descriptList's length <3)[\
(go-to: "tablet-Taste-input")]\
(else:)[\
(go-to:"tablet-Taste")
]\
]\
]
]\
<!--[[Keep exploring the island|Review the map]]--!>\
(link: "Keep exploring the island")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')
(go-to: "Review the map")
]\
]</span>\
](commM4|\
]
{=
(if: (history:)'s last is "ghost-Taste")[(hide: ?commM1)(show: ?commM4)]{(set: $helpDialogue to "Read, collect words and explore the (print: ($locationLabels's $location)). When ready, set the SIGHT sensory sentence by clicking 'Describe the scene'. Not ready to set your sentence? Keep exploring the island and collect more words.")}\
<a href="#navMenuSight" class="skip-link" aria-label="Skip to Navigation (choice)">Skip to Navigation</a>\
#Kids Market
<!--Sensory Sight Sentence Complete--!>\
(if: $winCond contains "sight")[You return to the Kids Market to find the area now calm(if: $deaf is 0)[ and quiet]. There are no longer any churning spirits and other than the occassional passing vehicle, Cartwright street where it means the entrance to the island is very still.
(either: "A tourbus passes by and an elderly passenger takes your picture from inside.", "A duck waddles across the street and then continues along to Old Bridge Street.", "A trio of people stumble out of the pub, their noses red and their breath steaming in the cool night air.")](else:)[\
<!--Arrival text--!>\
[\
(if: (history:) contains "kids")[(link: "Skip description")[(hide: ?kidsM1)(show: ?kidsM3)]
]\
(if: $blind is 1)[(if: (history:) contains "tablet-Sight")[You are prompted to listen again. ]The app plays a message in Kay's voice:
"Throughout the month of October, I have noticed an increase in spectres crowed around the two exterior signs to the Kid's Market. Perhaps they are attracted to the [ [|inventory>[fluttering]]<flutter|]<fluttering| sequined flaps, or perhaps they just really like rainbows, but they float and hang off of these arching signs like flying monkeys.]\
(else:)[(if: (history:) contains "tablet-Sight")[You pause to take in your surroundings again. ]You look up at the muted yellow building, the arching rainbow signs catching the streetlights as their sequined rows [|inventory>[flutter]]<flutter| in the evening breeze. The structure, shaped like a vintage train station but painted like a clown, nestles snugly beneath the descending arc of the Granville Street Bridge, making the space feel both tucked away and monumental.]
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?kidsM1)(show: ?kidsM2)]]<kidsM1|\
[\
(if: $blind is 1)[Inside their |swollen>[[swollen]<inventory|] bellies, I could see the incomplete or incorrect spelling of the words |playful>[[playful]<inventory|], |sparkly>[[sparkly]<inventory|], and |festive>[[festive]<inventory|]. When I was haunted, I eventually figured out that the spectres were looking for a description of the sign that satisfied them, and that these ghosts were unable to complete their memories, either having been severed from a previous haunting, or as yet unable to start one.]\
(else:)[\
Though only two stories tall, its high, lofted roof creates the illusion of big-top grandeur, accentuated by the proximity of the bridge towering above. The building seems to hold its breath as the road curves [\
[|inventory>[sharply]]<sharp|\
]<sharply| in front and then away, drawing level with the bridge, creating a sense that both the station and the bridge are locked in quiet conversation, sharing the weight of the city above. The chatter and friendly atmosphere of the brewery across the street further accentuate the feeling.]
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?kidsM2)(show: ?kidsM3)]](kidsM2|\
[\
(if: $blind is 1)[\
"I was able to disapate the ghosts by sharing a visual description of the sign. Try one of the words I used, but honestly, just give your spectre an enjoyable visual description. How do you imagine the sign to look like on top of this Kids Market? Go wild." Laughing face emoji. \
(if: _haunting is 0)[\
"If your haunting is like mine, your spectre is holding out a tablet like shape that is waiting for your description...Face the [|inventory>[cold]]<cold| and tell it your description."
The Narrator confirms, "Yes. This is true."\
]\
]\
(else:)[\
(if: visits is 1)[\
(if: _haunting is 0)[\
Any doubts you had about the island being haunted are put to rest. \
]\
Spirits hover and cling to the sign like flying monkeys, cloth-covered appendages grasping and hooking themselves at the \
[\
[\
|inventory>[fluttering]\
]<flutter|\
]<fluttering| sequins. The most visible creatures are [|inventory>[swollen]]<swollen|, with rounded bulges forming around half-formed words as if they were caught and infected. \
]\
(else:)[\
The spirits cling to the \
|festive>[\
[festive]<inventory|\
] sign and moan. They hover and move about it such that it creates almost a glowing outline, highlighting it in the sky.\
]\
]
(display: "tablet-input")(if: $dragon >0 and <3)[
Your pearl is trembling and pulls at the air to the Northeast
]\
<span id="navMenuSight">[\
(if: $winCond contains "sight")[]\
(else:)[\
(if: $blind is 1)[\
(link: "Pause and examine the ghosts")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')
(go-to: "ghost-Sight")
]\
]\
(else:)[\
<!--[[Look at the other lingering ghosts|ghost-Sight]]--!>\
(link: "Look at the ghosts")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')
(go-to: "ghost-Sight")
]\
]
(b4r: "solid")[\
<!--[[Describe the scene to your ghost|tablet-Sight]]--!>\
(link: "Describe the scene to your ghost (complete sentence)")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')(track: 'goblin', 'loop', true)(track: 'goblin', 'play')
(if: $descriptList's length <5)[\
(go-to: "tablet-Sight-input")
]\
(else:)[\
(go-to:"tablet-Sight")
]\
]\
]
]\
<!--[[Keep exploring the island|Review the map]]--!>\
(link: "Keep exploring the island")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')
(go-to: "Review the map")\
]\
]</span>\
](kidsM3|\
]
{=
(if: (history:)'s last is "ghost-Sight")[(hide: ?kidsM1)(show: ?kidsM3)]<!--REMINDER: Kay - no inventory words this page--!>\
(if: _haunting is 0)[\
You reach out with your senses(if: $blind is 0)[, searching for any sign of a haunting]:
(if: $paralyzed is 0)[\
A faint chill brushes your skin, raising goosebumps on your arm. Your hair feels frizzy, as if a storm was brewing.]\
(else:)[\
(if: $blind is 1)[](else:)[You watch goosebump raise across your arm.]\
](if: $blind is 0)[\
You squint into the dim light—shapes shift, but nothing stays long enough to confirm your suspicions. The island lights glow warm, cutting through the dark| twilight. (if: $descriptList's length > 0)[A smoky wisp forms in the air: “You have collected (print: $descriptList's length)/72 (link-repeat: "available words")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Print the list")].”]<!--[[Print the list]]--!>]\
(else:)[\
(if: $descriptList's length >0)[Your Narrator clears his throat, and says: "Oh, it looks like you have collected (print: $descriptList's length)/72 (link-repeat: "available words")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Print the list")]! Well done."]\
]
(if: $deaf is 0 and $blind is 0)[\
You stop moving, holding your breath. The usual city sounds blend into a quiet hum. You hear your heartbeat pound in your ears before you detect any other sounds.\
](if: $anosmic is 0)[\
[\
[]<italicNote| A strange scent tickles your nose—faint but unsettling. It smells like wet autumn leaves and cold air.[]<italicNoteEnd|\
]<italic| \
](if: $ageusic is 0)[\
You open your mouth and smack your lips—no surprises—just a stale taste reminiscent of your last meal.\
]
(if: $blind is 0)[Are you really haunted, or are you just hallucinating words because of Kay's story?](else:)[The Narrator speaks up after you complete your check-in, "Believe me," he says solemnly, "the spectre is here."]
(if: (history:)'s last is "ghosts abound")[(link: "Continue...")[(masteraudio: 'stopall')(track: 'ghost', 'play')(go-to: "ghosts abound")]]\
(else:)[(link: "Continue...")[(masteraudio: 'stopall')(track: 'ghost', 'play')(go-to: $last)]]
]\
<!--HAUNTING IS ONE--!>\
(else-if: _haunting is 1)[\
Something stirs.
(if: $paralyzed is 0)[\
The air around you shifts—one side feels noticeably cooler, brushing against your arm like the lazy breeze of a fan.](if: $blind is 0)[\
You catch a flicker of light—soft, yellow and hazy, like a spotlight through fog. As soon as you focus, it blends into the ambient glow. (if: $descriptList's length > 0)[\
A translucent wisp forms: “You have collected (print: $descriptList's length)/72 (link-repeat: "available words")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Print the list")]."\
]\
]\
(else:)[\
(if: $descriptList's length >0)[\
"They are totally ignoring you," your Narrator recounts, "so just ignore them back for now."Your Narrator clears his throat and says: "Oh, but it looks like you have collected (print: $descriptList's length)/72 (link-repeat: "available words")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Print the list")]! Well done."
]\
]
(if: $deaf is 0)[\
A faint whisper threads through the air, like distant paper rustling. You hold your breath and think the sounds are not coming from your body before the pulsing of your heartbeat overtakes it, leaving you unsure and gasping.\
](if: $anosmic is 0)[\
[\
[]<italicNote| The air smells briefly of decay, like forgotten laundry left to sour.[]<italicNoteEnd|\
]<italic| You sniff again, and it is gone, but then it is [\
[]<italicNote| back again, maddeningly subtle[]<italicNoteEnd|\
]<italic|.\
](if: $ageusic is 0)[\
A bitter aftertaste lingers on your tongue as old tea steeped too long.]
Huh, it seems you may, in fact, be haunted. (if: $blind is 1)[The Narrator says smugly, "I told you."]
[(link: "Continue...")[(go-to: $last)]]]\
<!--HAUNTING IS TWO--!>\
(else-if: _haunting is 2)[\
The presence sharpens, pressing closer.
(if: $paralyzed is 0)[\
You feel a tug in the air, as though your hand is brushing against the current of a fan at low speed.\
](if: $blind is 0)[\
A faintly glowing shape hovers beside you—vague but unsettling. It shifts in time with your movements, always within reach, and colours the world seen through it a sickly green. \
(if: $descriptList's length > 0)[\
A smoky trace spells: “You have collected (print: $descriptList's length)/72 (link-repeat: "available words")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Print the list")]."\
]\
]\
(else:)[\
(if: $descriptList's length >0)[\
"Oh calm down," the Narrator says impatiently, "they have nothing to do it with." He stammers, "Oh, not you, your spectre is throwing a fit. It's just a phase, ignore them." Your Narrator clears his throat and says: "Oh, but it looks like you have collected (print: $descriptList's length)/72 (link-repeat: "available words")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Print the list")]! Well done." Nearby, a container rattles and clatters as if kicked. "Stop that," the Narrator hisses.\
]\
]
(if: $deaf is 0)[\
The sound of shallow, laboured breathing emerges—faint but unmistakable.
](if: $anosmic is 0)[\
[\
[]<italicNote| A musty, wet smell lingers, like decaying wood and cold stone.[]<italicNoteEnd|\
]<italic|\
](if: $ageusic is 0)[\
A bitter taste spreads across your tongue, metallic and unpleasant.\
]
(link: "Continue...")[(go-to: $last)]]\
<!--HAUNTING IS THREE--!>\
(else-if: _haunting is 3)[\
The air feels dense, thick with unease.
(if: $paralyzed is 0)[\
You push your hand forward and feel resistance—like moving through a stream of cold air.\
](if: $blind is 0)[\
A sea green-tinged figure takes shape—a robed form, faintly outlined in glowing blue against the dark. Its translucent edges seem to dissolve into the buildings behind it. \
(if: $descriptList's length > 0)[\
A smoky script reads: “You have collected (print: $descriptList's length)/72 (link-repeat: "available words")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Print the list")]."\
]\
]\
(else:)[\
(if: $descriptList's length >0)[\
"Get up off the ground," the Narrator hisses and then sucks his teeth. "Oh, not you. Your spectre is being pathetic - I'm ashamed to be a ghost right now..." Your Narrator clears his throat and says: "Oh, but it looks like you have collected (print: $descriptList's length)/72 (link-repeat: "available words")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Print the list")]! Well done." An overly enthusiastic clap follows. "Stop that," the Narrator hisses.]\
]
(if: $deaf is 0)[\
A laboured breathing shudders near you, uneven and unsettling.\
](if: $anosmic is 0)[\
[\
[]<italicNote| The air reeks of rot and brine, forcing you to breathe through your mouth.[]<italicNoteEnd|\
]<italic|\
](if: $ageusic is 0)[\
Your throat feels dry, parched from the acrid taste lingering in your mouth.\
]
[(link: "Continue...")[(go-to: $last)]]]\
<!--HAUNTING IS FOUR--!>\
(else-if: _haunting is 4)[\
The spectre is fully present now—there’s no mistaking its form.
(if: $paralyzed is 0)[\
Your hand brushes against what feels like a block of ice—cold and solid—before it melts into air.\
](if: $blind is 0)[\
The spectre floats beside you, its robes shimmering like (if: $colourblind is 1)[(bg: white)+(text-color:black))[wine]](else:)[(text-color: #722F37)[wine]] in candlelight. Shadows swirl beneath its feet, barely touching the ground. The figure appears to be weeping beneath its layers of berry-tinted gauze.\
(if: $descriptList's length > 0)[\
(if: $deaf is 0)[It whispers:]\
(else:)[A smoky script reads:] \
“You have collected (print: $descriptList's length)/72 (link-repeat: "available words")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Print the list")]."\
]\
]\
(else:)[\
(if: $descriptList's length >0)[\
"Your clingy spectre has recently turned a shade of glowing maroon, like wine in candlelight." He pauses and then sighs, "It would be beautiful but for the creatures ceaseless weeping..." The Narrator takes a sharp tone as he completes the sentence. He then clears his throat and says: "Oh, but it looks like you have collected (print: $descriptList's length)/72 (link-repeat: "available words")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Print the list")]! Well done."]\
]
(if: $deaf is 0)[\
Between sobs, its breath rattles in and out, impossibly loud when you focus on the creature and becomes distant and vague when you stop.](if: $anosmic is 0)[\
[\
[]<italicNote| You try not to sniff the air but cannot ignore the sickly smell of decay clings to you, unrelenting.[]<italicNoteEnd|\
]<italic|\
](if: $ageusic is 0)[\
A foul taste coats your tongue—like spoiled wine and iron.
]\
What does it want from you?
(link: "Continue...")[(go-to: $last)]]\
<!--HAUNTING IS FIVE/END GAME--!>\
(if: _haunting is 5)[\
(if: $blind is 0)[\
The spectre solidifies as if drawing power from your attention.\
]\
(else:)[\
The Narrator starts, "(if: $descriptList's length > 0)[You have collected (print: $descriptList's length)/72 available words.] Your spectre is now fully formed, as close to your living world as it ever will be again..." he trails off and goes silent.\
]\
(if: $paralyzed is 0)[\
You reach out, and your hand presses into something solid—cold as winter air. (if: $blind is 0)[The spectre watches as you pull your hand away.]](if: $blind is 0)[\
It looms before you, dense and opaque now, obscuring the shapes behind it. \
(if: $descriptList's length > 0)[\
It whispers: “You have collected (print: $descriptList's length)/72 available words. It won't be long now.”\
]\
]
(if: $deaf is 0)[Its breath rattles and gasps, persistent and unnerving.\
](if: $anosmic is 0)[\
[\
[]<italicNote| The foul odor clings to the air like a curse.[]<italicNoteEnd|\
]<italic|](if: $ageusic is 0)[\
The bitter taste lingers on your tongue, refusing to fade.
]\
It responds to your presence and waits for something...
<!--[[end game]]--!>\
(link: "What does it want now?")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "end game")]]{(set: $helpDialogue to "Using the dropdown menus, select a word from your inventory and fill in the blanks. When selections are complete, click Set the Sentence. You will have the chance to edit once more after that. (if: $blind is 1)[No sight? Make something up!]")}\
[Describe the Kids Market sign to satisfy your spectre.(if: $dragon >2)[ Words flood into your mind with ease and you taste honey.]]<instructions|
<span id="sensorySight-sentence">[\
[\
(text-color:aqua)[\
<!--Dropdown--!>(set: _sortedList to (sorted: ...$descriptList))
What is remarkable about the (dropdown: bind $sight1Choice, ..._sortedList) sign is its (dropdown: bind $sight2Choice, ..._sortedList) way of drawing ones attention. Even at night, the (dropdown: bind $sight3Choice, ..._sortedList) signboard is (dropdown: bind $sight4Choice, ..._sortedList).
]
<!--[[Change mode to Fill in the Blanks|tablet-Sight-input]]--!>\
(link: "Change mode to: Fill in the Blanks")[(masteraudio: 'stopall')(track: 'woosh', 'play')(track: 'goblin', 'loop', true)(track: 'goblin', 'play')(go-to:"tablet-Sight-input")]
(link-repeat: "Set the sentence")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')\
(hide: ?input)\
(show: ?sentence)\
(replace: ?output)[What is remarkable about the $sight1Choice sign is it's $sight2Choice way of drawing ones attention. Even at night, the $sight3Choice signboard is $sight4Choice.
]\
(replace: ?instructions)[Ok! Sentence is set. What do you think?]\
]
(link: "Oops! I didn't collect enough words (go back)")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "kids")]
]<input|\
[
[]<output|
<!--[[Set the Sight Sentence]]--!>\
(link: "Confirm and Continue")[(masteraudio: 'stopall')(track: 'confirm', 'play')(track: 'woosh', 'play')(set: $winCond to it + (a:"sight"))(go-to: "Set the Sight Sentence") ]
(link-repeat: "Edit sentence")[(masteraudio: 'stopall')(track: 'goblin', 'loop', true)(track: 'goblin', 'play')(hide: ?sentence)(show: ?input)]](sentence|\
<a href="#sensorySight-sentence" class="skip-link" aria-label="Skip to Input">Skip back to Input Sentence</a>\
]</span>\
{={(set: $helpDialogue to "Read, collect words, click links, continue.")}\
(if: visits is 1)[(if: $blind is 0)[Any lingering doubts you have that you are being haunted are tested as you watch a pair of translucent beings walk toward and through you. You were so caught up in your map that you first believed them regular Granville Island visitors and that they would swive to avoid you. But they continued through the plaza as if you were not there. You look up, startled momentarily, and then catch Kay's eye. They shrug and give you a sheepish look.](else:)[The Narrator's voice shares, "Your personal spectre attempts to pull you out of the way but fails. A pair of poltergeists walk towards and through you as you fondle your map." The Narrator sounds smug, "It seems that your wayfinding app is not detecting the spirit world and you find yourself grateful that the Narrator has taken interest in your task."
You scoff, but the Narrator ignores you and continues, "Your personal phantasm attemps to walk away from the plaza only to reappear a few steps away again. They are frustrated and start to throw a tantrum."]
<!--[[ghost]]--!>\
(link: "Check your personal spectre")[(set: $ghost to 1)(masteraudio: 'stopall')(track: 'ghost', 'play')(go-to: "ghost")]]
(else:)[(if: $blind is 1)[The Narrator again fills the quiet with his observances, (if: $dragon is 1)["Ignoring your shadowy cling-on, you wonder where to start. You consider the gift in your pocket, but your map also deserves your attention."](else-if: $dragon is 2)[Your pearl now active, your map deserves your attention."](else:)["Ignoring your shadowy cling-on, you wonder where to start. Your map seems a logical place..."]\
](else:)[If not for the pair of poltergeists before, your own personal haunting would have had little effect on your motivation, but Kay had moved into the trailer and was setting up an overhead projector and had put up a poster stating that the open house would start in an hour. You now have time to spare and a ghost to get rid of...
You shake out the tactile map and decide where to start.]
<!--[[Review your map|map description]]--!>\
(link: "Review your map")[(masteraudio: 'stopall')(track: 'back', 'play')(set: $ghost to 1)(go-to: "map description")]
<!--[[Examine the pearl|desc-Pearl]]--!>\
(if: $dragon is 1)[\
(link: "Take out the pearl")[\
(masteraudio: 'stopall')(track: 'fire', 'play')(set: $ghost to 1)(go-to: "desc-Pearl")\
]\
](else-if: $dragon is 2)[\
(link: "Take out the stone")[\
(masteraudio: 'stopall')(track: 'fire', 'play')(go-to: "desc-Pearl")\
]\
]\
]{(set: _haunting to 0)
(if: $winCond contains "sound")[(set: _haunting to it +1)]
(if: $winCond contains "sight")[(set: _haunting to it +1)]
(if: $winCond contains "taste")[(set: _haunting to it +1)]
(if: $winCond contains "smell")[(set: _haunting to it +1)]
(if: $winCond contains "touch")[(set: _haunting to it +1)]
}\
(unless: (passage:)'s tags contains "admin")[<a href="#footer" class="skip-link" aria-label="Skip to Footer">Skip to Footer</a>]\
<span id="content-start">{(set: $helpDialogue to "Read, collect words, continue.")}\
(unless: $descriptList contains "elusive" and "stimulating" and "refreshing" and "invigorating" and "rotten" and "mysterious")[\
[(if: $blind is 1)[Again, the Narrator describes the ghosts. "The spectres circle about in dizzying sprials, their grotesque forms ballooned around infected growths which contain the following misformed words:"](else:)[You stare up at the ghosts, focusing on their bloated, grotesque forms, and you can make some misformed words:]
(if: $descriptList does not contain "elusive")[ee-loo-seave
]<a|\
(if: $descriptList does not contain "stimulating")[stem-euh-late-ting
]<b|\
(if: $descriptList does not contain "refreshing")[ruh-freh-shheng
]<c|\
(if: $descriptList does not contain "invigorating")[inn-vig-gore-ray-ting
]<d|\
(if: $descriptList does not contain "rotten")[raw-ton
]<e|\
(if: $descriptList does not contain "mysterious")[me-stee-ree-oos
]<f|\
]<bloat|[(if: $blind is 1)[The Narrator says: "]The ghosts seem to sigh and whither as you release the half formed words from their bodies. The ghosts that remain seem thin and desperate, some float towards you only to dissipate explosively when they come within a few metres of you and your spectre.(if: $blind is 1)["]](relief|]\
(else:)[(if: $blind is 1)[The story's Narrator says: "]The ghosts ignore your presence, dazzled by the flickering patterns within the sign's [ [|inventory>[fluttering]]<flutter|]<fluttering| sequins.(if: $blind is 1)["]]
(link: "Refocus on the Market Sign")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "kids")]
{
<!--ELUSIVE--!>\
(if: $descriptList contains "elusive")[(hide: ?a)]\
(unless: $descriptList contains "elusive")[\
(click: "ee-loo-seave")[
(set: _newWord to "elusive")(display: "new-word")(hide: ?a)
(if: $descriptList contains "elusive" and "stimulating" and "refreshing" and "invigorating" and "rotten" and "mysterious")[(hide: ?bloat)(show: ?relief)]
]
]
<!--STIMULATING--!>\
(if: $descriptList contains "stimulating")[(hide: ?b)]\
(unless: $descriptList contains "stimulating")[\
(click: "stem-euh-late-ting")[
(set: _newWord to "stimulating")(display: "new-word")(hide: ?b)
(if: $descriptList contains "elusive" and "stimulating" and "refreshing" and "invigorating" and "rotten" and "mysterious")[(hide: ?bloat)(show: ?relief)]
]
]
<!--REFRESHING--!>\
(if: $descriptList contains "refreshing")[(hide: ?c)]\
(unless: $descriptList contains "refreshing")[\
(click: "ruh-freh-shheng")[
(set: _newWord to "refreshing")(display: "new-word")(hide: ?c)
(if: $descriptList contains "elusive" and "stimulating" and "refreshing" and "invigorating" and "rotten" and "mysterious")[(hide: ?bloat)(show: ?relief)]
]
]
<!--INVIGORATING--!>\
(if: $descriptList contains "invigorating")[(hide: ?d)]\
(unless: $descriptList contains "invigorating")[\
(click: "inn-vig-gore-ray-ting")[
(set: _newWord to "invigorating")(display: "new-word")(hide: ?d)
(if: $descriptList contains "elusive" and "stimulating" and "refreshing" and "invigorating" and "rotten" and "mysterious")[(hide: ?bloat)(show: ?relief)]
]
]
<!--ROTTEN--!>\
(if: $descriptList contains "rotten")[(hide: ?e)]\
(unless: $descriptList contains "rotten")[\
(click: "raw-ton")[
(set: _newWord to "rotten")(display: "new-word")(hide: ?e)
(if: $descriptList contains "elusive" and "stimulating" and "refreshing" and "invigorating" and "rotten" and "mysterious")[(hide: ?bloat)(show: ?relief)]
]
]
<!--MYSTERIOUS--!>\
(if: $descriptList contains "mysterious")[(hide: ?f)]\
(unless: $descriptList contains "mysterious")[\
(click: "me-stee-ree-oos")[
(set: _newWord to "mysterious")(display: "new-word")(hide: ?f)
(if: $descriptList contains "elusive" and "stimulating" and "refreshing" and "invigorating" and "rotten" and "mysterious")[(hide: ?bloat)(show: ?relief)]
]
]
}woosh: ./audio/woosh.mp3, ./audio/woosh.ogg
twinkle: ./audio/twinkle.mp3, ./audio/twinkle.ogg
back: ./audio/back.mp3, ./audio/back.ogg
toggleOn: ./audio/toggleOn.mp3, ./audio/toggleOn.ogg
toggleOff: ./audio/toggleOff.mp3, ./audio/toggleOff.ogg
ghost: ./audio/ghost.mp3, ./audio/ghost.ogg
goblin: ./audio/goblinKing.mp3, ./audio/goblinKing.ogg
confirm: ./audio/confirm.mp3, ./audio/confirm.ogg
scratching: ./audio/scratching.mp3, ./audio/scratching.ogg
fire: ./audio/fire.mp3, ./audio/fire.ogg
paper: ./audio/paper.mp3, ./audio/paper.ogg(if: $help is 1)[(show: ?counter)(link: "Help (On)")[(masteraudio: 'stopall')(track: 'toggleOff', 'play')\
(if: (passage:)'s tags contains "input")[(track: 'goblin', 'loop', true)(track: 'goblin', 'play')]\
(set: $help to 0)(replace: ?help)[(display: "help")]](enchant: ?help, (text-color: yellow))]\
(if: $help is 0)[(hide: ?counter)(link: "Help (Off)")[(masteraudio: 'stopall')(track: 'toggleOn', 'play')(set: $help to 1)(replace: ?help)[(display: "help")]](enchant: ?help, (text-color: red))]{(set: $tutInv to (a:), $helpDialogue to "Help counter is on.")}\
[This tutorial is to introduce you to the functionality you can expect when playing The Haunted Island. It will also help to test the game using any assistive technology you may be using.
(link: "Start the tutorial now!")[\
(track: 'woosh', 'play')\
{(set: $helpDialogue to "Use the 'Continue tutorial' link to keep playing the tutorial. Use the footer 'Back to menu' link to end the tutorial. Use the 'Help (On)' footer link to toggle off this help message.")}\
(replace: ?tutorial)[\
You just clicked a link or hyperlink. In this story, when you interact with a link it will completely change the text within a page or take you to an entirely new page or "passage".
(if: $colourblind is 0)[Story progression links will be (text-color: blue)[blue], or (text-color: purple)[purple] (if you have visited them before) (text-style: "bold")[bold] and will make a wooshing sound, like wind passing something very quickly. If links or colours are not accessible, you can change settings for colour/chromatic perception (colourblind) in the accessibility settings at the start of a new game or any time in a game from the main menu.](else:)[Story progression links will be (text-style: "underline")[underlined] and (text-style: "bold")[bolded] and will make a wooshing sound, like wind passing something very quickly.]<div aria-label="An ARIA tag has been added to the game to de[|inventory>[fine]]<fine| links as links for screen readers, but this is untested across multiple systems. If you're having challenges, please let this sighted author know (and thank you)."><p aria-hidden="true"></p></div>\
Skip links are available on game pages that allow for navigation between the main story sections, any content that changes within a passage (always identified by a sound or preceded by a clearly marked link action), and to the help feature (when active).
(link: "Continue tutorial")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')\
{(set: $helpDialogue to "Click the word MODIFY, the eleventh word at the top of the page, to continue the tutorial. Use the footer 'Back to menu' link to end the tutorial. Use the 'Help (On)' footer link to toggle off this help message.")}\
(replace: ?tutorial)[\
On this page, there [is a clickable word that will |inventoryWord>[modify] the text without changing the page. Can you find and click this word?]<clickable|\
]\
]
]
]]<tutorial|\
{=
(click: "modify")[\
(masteraudio: 'stopall')(track: 'twinkle', 'play')\
{(set: $helpDialogue to "Use the 'Continue...' link to keep playing the tutorial. Use the footer 'Back to menu' link to end the tutorial. Use the 'Help (On)' footer link to toggle off this help message.")}\
(enchant: "modify", (text-color: white))\
(set: $tutInv to it + (a: "modify"))(replace: ?eat)[🍴 "modify": ]\
(replace: ?clickable)[\
was a clickable word: modify. You clicked the word and the text refreshed. Within The Haunted Island game, click actions will be used to collect words that build your inventory, but will not change displayed text which can be a nuissance for screen reader users.
(if: $colourblind is 1)[Clicks will be (text-color: green)[green],](else:)[Clicks will be (text-style: "bold")[bold] with a (text-style: "wavy-underline")[wavy] underline], and will play a twinkle sound.
(link: "Continue...")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')\
(replace: ?tutorial)[\
Collected words will be listed as they are collected in the game's footer.
🍴 "modify": [ 👻 ]<ghost|
All your collected words can be found in your ghost status (which you can access by clicking the [👻]<ghost| icon game's footer section) and will automatically update your inventory that can be used during the sensory sentence build phases.
(link: "Continue...")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')\
(set: $ghost to 2)\
(replace: ?tutorial)[\
Now you know about passage links, and clicks to collect words.
Let learn about actions phases now. These phases use the words you have collected to build a sensory description phrase.
(link: "Tutorial - Part 2 (Continue)")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Tutorial - Part 2")]\
]\
]\
]\
]\
]\
]{(if: $tutInv contains "fold" and "bend" and "throw")[(set: $helpDialogue to "Click continue.")](else:)[(set: $helpDialogue to "Click the words FOLD, BEND, and THROW, to add them to your inventory.")]}\
(if: $tutInv contains "fold" and "bend" and "throw")[You've got all the words here. Use the 'Continue' link to keep going.](else:)[So far, you have collected the word[s](s| "modify"(if: $tutInv contains "fold")[, "fold"](if: $tutInv contains "bend")[, "bend"](if: $tutInv contains "throw")[, "throw"].
Click the following descriptive words to add them to your inventory: (unless: $tutInv contains "fold")[fold, ]<inventoryWord|(unless: $tutInv contains "bend")[bend, ]<inventoryWord|(unless: $tutInv contains "throw")[throw]<inventoryWord|.]
Optional: Click the ghost icon in the footer to see your word inventory. When clicked it should make a ghostly sound.
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Tutorial - Part 2B")]
{=
(unless: $tutInv contains "fold")[(click: "fold")[(masteraudio: 'stopall')(track: 'twinkle', 'play')(set: $tutInv to it + (a: "fold"))(replace: ?eat)[🍴 "fold": ](enchant: "fold", (text-color: white))(replace: ?inventory)[(print: $tutInv's length)]]]
(unless: $tutInv contains "bend")[(click: "bend")[(masteraudio: 'stopall')(track: 'twinkle', 'play')(set: $tutInv to it + (a: "bend"))(replace: ?eat)[🍴 "bend": ](enchant: "bend", (text-color: white))(replace: ?inventory)[(print: $tutInv's length)]]]
(unless: $tutInv contains "throw")[(click: "throw")[(masteraudio: 'stopall')(track: 'twinkle', 'play')(set: $tutInv to it + (a: "throw"))(replace: ?eat)[🍴 "throw": ](enchant: "throw", (text-color: white))(replace: ?inventory)[(print: $tutInv's length)]]]
(if: $tutInv contains "fold" or "bend" or "throw")[(show: ?s)]Your tutorial ghost has collected the following words:
(print: $tutInv).
You have collected (print: $tutInv's length)/4 available tutorial words!
(link: "Back to the tutorial")[(go-to: $last)]{(set: $helpDialogue to "You have [(print: $tutInv's length)]<inventory|/4 available words collected from this tutorial.
By default the available word count and help counter is turned off. You can toggle on or off the help option in any game passage. If you have all 4 words, click the 'Continue...' link. If not, return to the previous passage by using the 'Go back a step' link.")}\
Did you collect all the available inventory words?
(if: $help is 0)[Toggle on the Help Counter to find out. This is located in the footer or bottom of this passage. This toggle link is (text-color: red)[red] when it is (Off) and will sound like an opening door with a bell. The text will appear just above the footer in (text-color: yellow)[yellow].
](else:)[Check your help counter to see your progress. Oh! You already have it (On)! It's the (text-color: yellow)[yellow] text. It will be (text-color: red)[red] when it is (Off).
]\
(if: visits >1)[
You went back a passage and then returned. There was a quick, unnerving sound like someone starting and stopping a vacuum quickly when you left.
]\
(link: "Go back a step")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "Tutorial - Part 2")]
(link: "Continue...")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')(track: 'goblin', 'loop', true)(track: 'goblin', 'play')\
(if: visits >1)[(if: $tutInv's length < 2)[(go-to: "Tutorial - Part 3A")](else:)[(go-to: "Tutorial - Part 3")]](else:)[(go-to: "Tutorial - Part 3")]\
]<tutorial|{(set: $helpDialogue to "Choose option from the dropdown menus and then click 'Set the sentence'. If this is not accessible to you, change the input type by clicking 'Change to: Fill in the Blanks'.")}\
[(if: visits is 1)[An upbeat melody plays on input pages, and the text is a (text-color:aqua)[light blue].
Let's use your inventory words to build a sensory sentence.(if: $tutInv's length <2)[...[\
[]<italicNote| oh wait![]<italicNoteEnd|\
]<italic| \
You didn't collect enough words to play using the default dropdown input method. If you want to try this, you can go back and collect the rest of the words. ](else:)[ The following sentence has two dropdown menus that allow you to select from your collected inventory words. ]](else:)[Choose from the dropdown menus to complete the sentence.] Alternatively, you can change the input settings by clicking "Change to: Fill in the Blanks".
]<instructions|
<span id="sensory-sentence">[(if: $tutInv's length <2)[](else:)[(text-color:aqua)[\
|==|
|=
I like to
||=
(dropdown: bind $firstChoice, ...$tutInv)
=|
but not
=||
(dropdown: bind $secondChoice, ...$tutInv)
|==|
] ]\
(link: "Change to: Fill in the Blanks")[(masteraudio: 'stopall')(track: 'woosh', 'play')(track: 'goblin', 'loop', true)(track: 'goblin', 'play')(go-to:"Tutorial - Part 3A")]
(link-repeat: "Set the sentence")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')\
(hide: ?input)\
(show: ?sentence)\
(replace: ?output)[I like to $firstChoice but not $secondChoice.
]\
(replace: ?instructions)[Ok! Sentence is set. What do you think?]\
]\
(if: $tutInv's length <3)[
(link: "Oops! I didn't collect enough words (go back)")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "Tutorial - Part 2")]]
]<input|\
[
[]<output|
(link: "Confirm and Continue")[(masteraudio: 'stopall')(track: 'confirm', 'play')(track: 'woosh', 'play')(go-to: "Tutorial - Part 4") ]
(link-repeat: "Edit sentence")[(masteraudio: 'stopall')(track: 'back', 'play')(track: 'goblin', 'loop', true)(track: 'goblin', 'play')(hide: ?sentence)(show: ?input)]](sentence|<a href="#sensory-sentence" class="skip-link" aria-label="Skip to Input">Skip back to Input Sentence</a></span>{(set: $tutInv to (a:""), $firstChoice to "", $secondChoice to "")}\
|set>[Tutorial Sentence Set!]
When you set a sentence you'll hear a series of ascending notes, and a message in pink will be displayed. This means you have completed this area and can move onto the next.
Dropdown input is the default setting in game unless you get to an input screen with too few words in your inventory to complete a sentence. However, even if you collect lots of words, you can always change the input to fill-in-the-blank mode.
You have completed the tutorial! Time to start a new game! Go back to the menu to continue.{(set: $helpDialogue to "Fill in the blanks either using your own new words, or pulling from your word inventory you've collected. You can review your word inventory by clicking on the ghost icon in the footer. When finished click 'Set the sentence'. If this is not accessible to you, change the input type by clicking 'Change to: Dropdown' however you need more than 2 collected words to use this setting.")}\
[[This setting allows you to fill in the blanks insted of using the dropdown menus. You can review your available words by clicking the ghost in the footer, or you can choose your own words. Alternatively, (if: $tutInv's length <2)[you can go back to earlier in the tutorial and collect more words to try the dropdown input method](else:)[you can change the input settings by clicking "Change to: Dropdown"].]<instructions|
<span id="sensory-sentence">[[(text-color:aqua)[
|==|
|=
I like to
||=
(input: bind $firstChoice, "=XXXXXXXXXXXXXXXXXXXXXXXXXXXX=")
=|
but not
=||
(input: bind $secondChoice, "=XXXXXXXXXXXXXXXXXXXXXXXXXXXX=")
|==|
]\
(unless: $tutInv's length <2)[(link: "Change to: Dropdown")[(masteraudio: 'stopall')(track: 'woosh', 'play')(track: 'goblin', 'loop', true)(track: 'goblin', 'play')(go-to:"Tutorial - Part 3")]
]\
(link-repeat: "Set the sentence")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')\
(hide: ?input)\
(show: ?sentence)\
(replace: ?output)[I like to $firstChoice but not $secondChoice.
]\
(replace: ?instructions)[Ok! Sentence is set. What do you think?]\
]\
(if: $tutInv's length <3)[
(link: "Oops! I didn't collect enough words (go back)")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "Tutorial - Part 2")]]
]<input|\
[
[]<output|
(link: "Confirm and Continue")[(masteraudio: 'stopall')(track: 'confirm', 'play')(track: 'woosh', 'play')(go-to: "Tutorial - Part 4") ]
(link-repeat: "Edit sentence")[(masteraudio: 'stopall')(track: 'goblin', 'loop', true)(track: 'goblin', 'play')(hide: ?sentence)(show: ?input)]](sentence|\
<a href="#sensory-sentence" class="skip-link" aria-label="Skip to Footer">Skip back to Input Sentence</a>\
]</span>\
]<tutorial|{(masteraudio: 'stopall')(track: 'twinkle', 'play')
(set: $descriptList to it + (a: _newWord))
(replace: ?eat)[🍴 "_newWord": ]
}{(set: $helpDialogue to "Choose to play the tutorial or not. You can proceed either way, then return to the menu and play it after you started a game.")}\
Do you want to play the tutorial?
<!--[[Yes|Tutorial]]--!>(link: "Yes (Learn how to Play)")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Tutorial")]
<!--[[No|haunted]]--!>(link: "No (Start game)")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to:"haunted")]The map features five (if: $blind or $colourblind is 1)[distinct textures](else-if: $paralyzed is 1)[distinct colours](else:)[distinct colours and textures]. The base layer, a (if: $blind is 0)[\
[|inventory>[dark]]<dark|\
grey ]contour, outlines the island’s edges. A thin, [\
|inventory>[smooth]\
]<smooth|(if: $blind is 0)[, blue] path traces most of the perimeter, interrupted by blocky(if: $blind is 0)[, white] rectangles—likely buildings. These buildings are often surrounded by a bumpy(if: $blind is 0)[, light grey] path forming a large triangle(if: $paralyzed is 0)[, evoking the feel of a road]. A final (if: $blind is 0)[yellow ]path, with a similar thickness, runs mostly parallel to the roads but diverges where vehicles might not reach. None of the thinner paths connect directly to the FLEET trailer.
<!--[[tactile-map]]--!>\
(link: "View image (toggle)")[(masteraudio: 'stopall')(track: 'paper', 'play')(replace: ?map)[(display: "tactile-map")]]{(set: $helpDialogue to "Read, collect words, continue.")}\
(unless: $descriptList contains "precious" and "luscious" and "resinous" and "nostalgic" and "eerie")[\
[(if: $blind is 1)[Again, the Narrator describes the ghosts.
"With their soggy shouds, the following words are trapped:"](else:)[You stare down at the ghosts, focusing on the shadows and gathers in their shouds as they attempt to escape the water,]
(if: $descriptList does not contain "precious")[prehsh-shee-oos
]<a|\
(if: $descriptList does not contain "luscious")[luh-shuhsh
]<b|\
(if: $descriptList does not contain "resinous")[reh-sin-nos
]<c|\
(if: $descriptList does not contain "nostalgic")[noss-tall-jik
]<d|\
(if: $descriptList does not contain "eerie")[ear-ee
]<f|\
]<bloat|[(if: $blind is 1)[The Narrator says: "]The ghosts are released from the water and float up as you take in the words which previously weighed them down. The ghosts that remain seem to float and linger in a passive soak rather than by anchor.(if: $blind is 1)["]
](relief|]\
(else:)[(if: $blind is 1)[The story's Narrator says: "The ghosts are completely uninterested and "](else:)[You examine the ghosts in the water. They seem ]unaffected by your presence.(if: $blind is 1)["]
]\
(link: "Ignore from the soggy spectres")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "market")]
{
<!--LUSCIOUS--!>\
(if: $descriptList contains "luscious")[(hide: ?b)]\
(unless: $descriptList contains "luscious")[\
(click: "luh-shuhsh")[
(set: _newWord to "luscious")(display: "new-word")(hide: ?b)
(if: $descriptList contains "precious" and "luscious" and "resinous" and "nostalgic" and "eerie")[(hide: ?bloat)(show: ?relief)]
]
]
<!--PRECIOUS--!>\
(if: $descriptList contains "precious")[(hide: ?a)]\
(unless: $descriptList contains "precious")[\
(click: "prehsh-shee-oos")[
(set: _newWord to "precious")(display: "new-word")(hide: ?a)
(if: $descriptList contains "precious" and "luscious" and "resinous" and "nostalgic" and "eerie")[(hide: ?bloat)(show: ?relief)]
]
]
<!--RESINOUS--!>\
(if: $descriptList contains "resinous")[(hide: ?c)]\
(unless: $descriptList contains "resinous")[\
(click: "reh-sin-nos")[
(set: _newWord to "resinous")(display: "new-word")(hide: ?c)
(if: $descriptList contains "precious" and "luscious" and "resinous" and "nostalgic" and "eerie")[(hide: ?bloat)(show: ?relief)]
]
]
<!--NOSTALGIC--!>\
(if: $descriptList contains "nostalgic")[(hide: ?d)]\
(unless: $descriptList contains "nostalgic")[\
(click: "noss-tall-jik")[
(set: _newWord to "nostalgic")(display: "new-word")(hide: ?d)
(if: $descriptList contains "precious" and "luscious" and "resinous" and "nostalgic" and "eerie")[(hide: ?bloat)(show: ?relief)]
]
]
<!--EERIE--!>\
(if: $descriptList contains "eerie")[(hide: ?f)]\
(unless: $descriptList contains "eerie")[\
(click: "ear-ee")[
(set: _newWord to "eerie")(display: "new-word")(hide: ?f)
(if: $descriptList contains "precious" and "luscious" and "resinous" and "nostalgic" and "eerie")[(hide: ?bloat)(show: ?relief)]
]
]
}{(set: $helpDialogue to "Using the dropdown menus, select a word from your inventory and fill in the blanks. When selections are complete, click Set the Sentence. You will have the chance to edit once more after that. (if: $anosmic is 1)[No sense of smell? Make something up!]")}\
[Describe the scents of the Public Market Courtyard and Quay to satisfy your spectre.(if: $dragon >2)[ Words flood into your mind with ease and you taste honey.]]<instructions|
<span id="sensorySmell-sentence">[\
[\
(text-color:aqua)[\
<!--Dropdown--!>(set: _sortedList to (sorted: ...$descriptList))
The air carries a (dropdown: bind $scent1Choice, ..._sortedList) blend of (dropdown: bind $scent2Choice, ..._sortedList) and (dropdown: bind $scent3Choice, ..._sortedList) aromas. You catch hints of sewage from the water mixed with the subtle (dropdown: bind $scent4Choice, ..._sortedList) scent of food lingering from the now-closed market.
]
<!--[[Change mode to Fill in the Blanks|tablet-Smell-input]]--!>\
(link: "Change mode to: Fill in the Blanks")[(masteraudio: 'stopall')(track: 'woosh', 'play')(track: 'goblin', 'loop', true)(track: 'goblin', 'play')(go-to:"tablet-Smell-input")]
(link-repeat: "Set the sentence")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')\
(hide: ?input)\
(show: ?sentence)\
(replace: ?output)[The air carries a $scent1Choice blend of $scent2Choice and $scent3Choice aromas. You catch hints of sewage from the water mixed with the subtle $scent4Choice scent of food lingering from the now-closed market.
]\
(replace: ?instructions)[Ok! Sentence is set. What do you think?]\
]
(link: "Oops! I didn't collect enough words (go back)")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "market")]
]<input|\
[
[]<output|
<!--[[Set the Smell Sentence]]--!>\
(link: "Confirm and Continue")[(masteraudio: 'stopall')(track: 'confirm', 'play')(track: 'woosh', 'play')(set: $winCond to it + (a:"smell"))(go-to: "Set the Smell Sentence") ]
(link-repeat: "Edit sentence")[(masteraudio: 'stopall')(track: 'goblin', 'loop', true)(track: 'goblin', 'play')(hide: ?sentence)(show: ?input)]](sentence|\
<a href="#sensorySmell-sentence" class="skip-link" aria-label="Skip to Input">Skip back to Input Sentence</a>\
]</span>\
{={(set: $helpDialogue to "Read, collect words, continue.")}\
(unless: $descriptList contains "incessant" and "soothing" and "sharp" and "mournful" and "rhythmic")[\
[\
(if: $blind is 1)[\
Again, the Narrator describes the ghosts.
"The two ghosts, trapped in their tasks, feature a set of half-formed words\
]\
(else:)[\
You focus on the two ghosts, trapped in their tasks. In their actions, you see a set of half-formed words\
]\
in the spaces where their attention is locked.(if: $blind is 1)["]
(if: $descriptList does not contain "incessant")[\
inn-sess-ant
]<b|\
(if: $descriptList does not contain "soothing")[\
soo-th-eng
]<a|\
(if: $descriptList does not contain "sharp")[\
sharr-puh
]<c|\
(if: $descriptList does not contain "mournful")[\
more-nuh-fuhl
]<d|\
(if: $descriptList does not contain "rhythmic")[\
ruh-thuh-mehk
]<e|\
]<bloat|\
[\
(if: $blind is 1)[\
The Narrator says: "The spectres are freed from their distress, and while they persist, their loops are more natural, coming to a conclusion before beginging again."\
]\
(else:)[\
Your focus untethers the words trapping the beings from their troubled actions, and you watch as the spectres again begin their loop but this time the phone call seems to connect, and the corkboard holds relevant information.\
]\
](relief|\
]\
(else:)[\
(if: $blind is 1)[\
The story's Narrator says: "The ghosts in the corridor seem\
]\
(else:)[\
You examine the ghosts in the corridor. They seem\
]\
unresponsive to your presence or attention.(if: $blind is 1)["]\
]
(link: "Ignore the nearby spirits")[\
(masteraudio: 'stopall')(track: 'back', 'play')
(go-to: "commCentre")
]\
{
<!--INCESSANT--!>\
(if: $descriptList contains "incessant")[(hide: ?b)]\
(unless: $descriptList contains "incessant")[\
(click: "inn-sess-ant")[
(set: _newWord to "incessant")(display: "new-word")(hide: ?b)
(if: $descriptList contains "incessant" and "soothing" and "sharp" and "mournful" and "rhythmic")[(hide: ?bloat)(show: ?relief)]
]
]
<!--SOOTHING--!>\
(if: $descriptList contains "soothing")[(hide: ?a)]\
(unless: $descriptList contains "soothing")[\
(click: "soo-th-eng")[
(set: _newWord to "soothing")(display: "new-word")(hide: ?a)
(if: $descriptList contains "incessant" and "soothing" and "sharp" and "mournful" and "rhythmic")[(hide: ?bloat)(show: ?relief)]
]
]
<!--SHARP--!>\
(if: $descriptList contains "sharp")[(hide: ?c)]\
(unless: $descriptList contains "sharp")[\
(click: "sharr-puh")[
(set: _newWord to "sharp")(display: "new-word")(hide: ?c)
(if: $descriptList contains "incessant" and "soothing" and "sharp" and "mournful" and "rhythmic")[(hide: ?bloat)(show: ?relief)]
]
]
<!--MOURNFUL--!>\
(if: $descriptList contains "mournful")[(hide: ?d)]\
(unless: $descriptList contains "mournful")[\
(click: "more-nuh-fuhl")[
(set: _newWord to "mournful")(display: "new-word")(hide: ?d)
(if: $descriptList contains "incessant" and "soothing" and "sharp" and "mournful" and "rhythmic")[(hide: ?bloat)(show: ?relief)]
]
]
<!--RHYTHMIC--!>\
(if: $descriptList contains "rhythmic")[(hide: ?e)]\
(unless: $descriptList contains "rhythmic")[\
(click: "ruh-thuh-mehk")[
(set: _newWord to "rhythmic")(display: "new-word")(hide: ?e)
(if: $descriptList contains "incessant" and "soothing" and "sharp" and "mournful" and "rhythmic")[(hide: ?bloat)(show: ?relief)]
]
]
}{(set: $helpDialogue to "Using the dropdown menus, select a word from your inventory and fill in the blanks. When selections are complete, click Set the Sentence. You will have the chance to edit once more after that. (if: $ageusic is 1)[No sense of taste? Make something up!]")}\
[Describe the Taste of water when it quenches your thirst and satisfy your spectre.(if: $dragon >2)[ Words flood into your mind with ease and you taste honey.]]<instructions|
<span id="sensoryTaste-sentence">[\
[\
(text-color:aqua)[\
<!--Dropdown--!>(set: _sortedList to (sorted: ...$descriptList))
The water tastes (dropdown: bind $taste1Choice, ..._sortedList), satisfying your thirst in a way that feels \
(dropdown: bind $taste2Choice, ..._sortedList). After a moment, the (dropdown: bind $taste3Choice, ..._sortedList) aftertaste lingers on your tongue.
]
<!--[[Change mode to Fill in the Blanks|tablet-Taste-input]]--!>\
(link: "Change mode to: Fill in the Blanks")[(masteraudio: 'stopall')(track: 'woosh', 'play')(track: 'goblin', 'loop', true)(track: 'goblin', 'play')(go-to:"tablet-Taste-input")]
(link-repeat: "Set the sentence")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')\
(hide: ?input)\
(show: ?sentence)\
(replace: ?output)[The water tastes $taste1Choice, satisfying your thirst in a way that feels $taste2Choice. After a moment, the $taste3Choice aftertaste lingers on your tongue.
]\
(replace: ?instructions)[Ok! Sentence is set. What do you think?]\
]
(link: "Oops! I didn't collect enough words (go back)")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "commCentre")]
]<input|\
[
[]<output|
<!--[[Set the Taste Sentence]]--!>\
(link: "Confirm and Continue")[(masteraudio: 'stopall')(track: 'confirm', 'play')(track: 'woosh', 'play')(set: $winCond to it + (a:"taste"))(go-to: "Set the Taste Sentence") ]
(link-repeat: "Edit sentence")[(masteraudio: 'stopall')(track: 'goblin', 'loop', true)(track: 'goblin', 'play')(hide: ?sentence)(show: ?input)]](sentence|\
<a href="#sensoryTaste-sentence" class="skip-link" aria-label="Skip to Input">Skip back to Input Sentence</a>\
]</span>\
{={(set: $helpDialogue to "Read, collect words, continue.")}\
(unless: $descriptList contains "fragrant" and "distinctive" and "stale" and "overpowering" and "thick")[\
[(if: $blind is 1)[The Narrator describes the carver, "The lead carver is distracted and is caught in a loop. Before him on the log, there are the following scattered letters and symbols:"](else:)[You watch the distracted carver. He is unable to focus and is caught in a loop. Carved into the spectral log before him are a jumble of letters and symbols. You make out the following:]
(if: $descriptList does not contain "fragrant")[frah-gr-ant
]<e|\
(if: $descriptList does not contain "distinctive")[deh-stehnk-tif
]<c|\
(if: $descriptList does not contain "stale")[stay-ull
]<a|\
(if: $descriptList does not contain "overpowering")[oh-ver-pao-wer-ring
]<b|\
(if: $descriptList does not contain "thick")[thuh-ick
]<d|\
]<bloat|[(if: $blind is 1)[The Narrator says, "]The carver shakes his head and seems to perk up, hunching down and focusing on the transculent log before him.(if: $blind is 1)["]
](relief|]\
(else:)[(if: $blind is 0)[You examine the carvers at work. They ignore you.](else:)[The Narrator declares, "The ghastly artisans are unaware of your presence."]
]\
(link: "Ignore from the spectres")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "carvingShed")]
{
<!--STALE--!>\
(if: $descriptList contains "stale")[(hide: ?a)]\
(unless: $descriptList contains "stale")[\
(click: "stay-ull")[
(set: _newWord to "stale")(display: "new-word")(hide: ?a)
(if: $descriptList contains "fragrant" and "distinctive" and "stale" and "overpowering" and "thick")[(hide: ?bloat)(show: ?relief)]
]
]
<!--OVERPOWERING--!>\
(if: $descriptList contains "overpowering")[(hide: ?b)]\
(unless: $descriptList contains "overpowering")[\
(click: "oh-ver-pao-wer-ring")[
(set: _newWord to "overpowering")(display: "new-word")(hide: ?b)
(if: $descriptList contains "fragrant" and "distinctive" and "stale" and "overpowering" and "thick")[(hide: ?bloat)(show: ?relief)]
]
]
<!--DISTINCTIVE--!>\
(if: $descriptList contains "distinctive")[(hide: ?c)]\
(unless: $descriptList contains "distinctive")[\
(click: "deh-stehnk-tif")[
(set: _newWord to "distinctive")(display: "new-word")(hide: ?c)
(if: $descriptList contains "fragrant" and "distinctive" and "stale" and "overpowering" and "thick")[(hide: ?bloat)(show: ?relief)]
]
]
<!--THICK--!>\
(if: $descriptList contains "thick")[(hide: ?d)]\
(unless: $descriptList contains "thick")[\
(click: "thuh-ick")[
(set: _newWord to "thick")(display: "new-word")(hide: ?d)
(if: $descriptList contains "fragrant" and "distinctive" and "stale" and "overpowering" and "thick")[(hide: ?bloat)(show: ?relief)]
]
]
<!--FRAGRANT--!>\
(if: $descriptList contains "fragrant")[(hide: ?e)]\
(unless: $descriptList contains "fragrant")[\
(click: "frah-gr-ant")[
(set: _newWord to "fragrant")(display: "new-word")(hide: ?e)
(if: $descriptList contains "fragrant" and "distinctive" and "stale" and "overpowering" and "thick")[(hide: ?bloat)(show: ?relief)]
]
]
}{(set: $helpDialogue to "Using the dropdown menus, select a word from your inventory and fill in the blanks. When selections are complete, click Set the Sentence. You will have the chance to edit once more after that. (if: $paralyzed is 1)[No sense of touch? Make something up!]")}\
[Describe the feel of the "house posts" on the carving shed to satisfy your spectre.(if: $dragon >2)[ Words flood into your mind with ease and you taste honey.]]<instructions|
<span id="sensoryTouch-sentence">[\
[\
(text-color:aqua)[\
<!--Dropdown--!>(set: _sortedList to (sorted: ...$descriptList))
The (dropdown: bind $touch1Choice, ..._sortedList) wood feels (dropdown: bind $touch2Choice, ..._sortedList) under your hand. You run your fingers over (dropdown: bind $touch3Choice, ..._sortedList) carvings, tracing the (dropdown: bind $touch4Choice, ..._sortedList) shapes with care.
]
<!--[[Change mode to Fill in the Blanks|tablet-Touch-input]]--!>\
(link: "Change mode to: Fill in the Blanks")[(masteraudio: 'stopall')(track: 'woosh', 'play')(track: 'goblin', 'loop', true)(track: 'goblin', 'play')(go-to:"tablet-Touch-input")]
(link-repeat: "Set the sentence")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')\
(hide: ?input)\
(show: ?sentence)\
(replace: ?output)[The $touch1Choice wood feels $touch2Choice under your hand. You run your fingers over $touch3Choice carvings, tracing the $touch4Choice shapes with care.
]\
(replace: ?instructions)[Ok! Sentence is set. What do you think?]\
]
(link: "Oops! I didn't collect enough words (go back)")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "carvingShed")]
]<input|\
[
[]<output|
<!--[[Set the Touch Sentence]]--!>\
(link: "Confirm and Continue")[(masteraudio: 'stopall')(track: 'confirm', 'play')(track: 'woosh', 'play')(set: $winCond to it + (a:"touch"))(go-to: "Set the Touch Sentence") ]
(link-repeat: "Edit sentence")[(masteraudio: 'stopall')(track: 'goblin', 'loop', true)(track: 'goblin', 'play')(hide: ?sentence)(show: ?input)]](sentence|\
<a href="#sensoryTouch-sentence" class="skip-link" aria-label="Skip to Input">Skip back to Input Sentence</a>\
]</span>\
{={(set: $helpDialogue to "Read, collect words, continue.")}\
(unless: $descriptList contains "playful" and "dazzling" and "active" and "delightful" and "reactive")[\
[(if: $blind is 1)[The Narrator focuses on a distressed spectral student, "C](else:)[ You watch a disturbed ghost, c]arrying a stack of books and paper, unable to continue along his path(if: $blind is 1)[, a student is caught in a loop]. They turn and look behind them and letters flash across the top of a notepad. It catches their eye and they stare at it for a moment before turning again to look about. On the page it reads:
(if: $descriptList does not contain "playful")[pluay-full
]<c|\
(if: $descriptList does not contain "dazzling")[dah-zhul-ling
]<e|\
(if: $descriptList does not contain "active")[ahk-tiv
]<a|\
(if: $descriptList does not contain "delightful")[dee-lie-tuh-full
]<b|\
(if: $descriptList does not contain "reactive")[re-ahktv
]<d|\
{(event: when $descriptList contains "playful" and "dazzling" and "active" and "delightful" and "reactive")[(hide: ?bloat)(show: ?relief)]}\
]<bloat|\
[\
(if: $blind is 1)[The Narrator says: "]The ghosts shakes their head and crumples the notepage. They drop it to the ground, and both it and the apparition fade away.(if: $blind is 1)["]
](relief|\
]\
(else:)[(if: $blind is 1)[The story's Narrator says: "The shades are walking about ignoring you. Occassionally, they walk past or through you". You shiver. Gross.]You watch the shades move with purpose along the corridor. They walk past and through you.
]\
(link: "(if: $blind is 1)[Ignore these](else:)[Look away from the] ghosts")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "emilyCarr")]
{
<!--ACTIVE--!>\
(if: $descriptList contains "active")[(hide: ?a)]\
(unless: $descriptList contains "active")[\
(click: "ahk-tiv")[
(set: _newWord to "active")(display: "new-word")(hide: ?a)
(if: $descriptList contains "playful" and "dazzling" and "active" and "delightful" and "reactive")[(hide: ?bloat)(show: ?relief)]
]
]
<!--DELIGHTFUL--!>\
(if: $descriptList contains "delightful")[(hide: ?b)]\
(unless: $descriptList contains "delightful")[\
(click: "dee-lie-tuh-full")[
(set: _newWord to "delightful")(display: "new-word")(hide: ?b)
(if: $descriptList contains "playful" and "dazzling" and "active" and "delightful" and "reactive")[(hide: ?bloat)(show: ?relief)]
]
]
<!--PLAYFUL--!>\
(if: $descriptList contains "playful")[(hide: ?c)]\
(unless: $descriptList contains "playful")[\
(click: "pluay-full")[
(set: _newWord to "playful")(display: "new-word")(hide: ?c)
(if: $descriptList contains "playful" and "dazzling" and "active" and "delightful" and "reactive")[(hide: ?bloat)(show: ?relief)]
]
]
<!--REACTIVE--!>\
(if: $descriptList contains "reactive")[(hide: ?d)]\
(unless: $descriptList contains "reactive")[\
(click: "re-ahktv")[
(set: _newWord to "reactive")(display: "new-word")(hide: ?d)
(if: $descriptList contains "playful" and "dazzling" and "active" and "delightful" and "reactive")[(hide: ?bloat)(show: ?relief)]
]
]
<!--DAZZLING--!>\
(if: $descriptList contains "dazzling")[(hide: ?e)]\
(unless: $descriptList contains "dazzling")[\
(click: "dah-zhul-ling")[
(set: _newWord to "dazzling")(display: "new-word")(hide: ?e)
(if: $descriptList contains "playful" and "dazzling" and "active" and "delightful" and "reactive")[(hide: ?bloat)(show: ?relief)]
]
]
}{(set: $helpDialogue to "Using the dropdown menus, select a word from your inventory and fill in the blanks. When selections are complete, click Set the Sentence. You will have the chance to edit once more after that. (if: $deaf is 1)[No sense of sound? Make something up!]")}\
[Describe the sounds in the hallway to satisfy your spectre.(if: $dragon >2)[ Words flood into your mind with ease and you taste honey.]]<instructions|
<span id="sensorySound-sentence">[\
[\
(text-color:aqua)[\
<!--Dropdown--!>(set: _sortedList to (sorted: ...$descriptList))
The (dropdown: bind $sound1Choice, ..._sortedList) hum of the light in the corridor has a (dropdown: bind $sound2Choice, ..._sortedList) quality that lingers in the air. It mixes with the (dropdown: bind $sound3Choice, ..._sortedList) sounds of the empty building.
]
<!--[[Change mode to Fill in the Blanks|tablet-Sound-input]]--!>\
(link: "Change mode to: Fill in the Blanks")[(masteraudio: 'stopall')(track: 'woosh', 'play')(track: 'goblin', 'loop', true)(track: 'goblin', 'play')(go-to:"tablet-Sound-input")]
(link-repeat: "Set the sentence")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')\
(hide: ?input)\
(show: ?sentence)\
(replace: ?output)[The $sound1Choice hum of the light in the corridor has a $sound2Choice quality that lingers in the air. It mixes with the $sound3Choice sounds of the empty building.
]\
(replace: ?instructions)[Ok! Sentence is set. What do you think?]\
]
(link: "Oops! I didn't collect enough words (go back)")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "emilyCarr")]
]<input|\
[
[]<output|
<!--[[Set the Sound Sentence]]--!>\
(link: "Confirm and Continue")[(masteraudio: 'stopall')(track: 'confirm', 'play')(track: 'woosh', 'play')(set: $winCond to it + (a:"sound"))(go-to: "Set the Sound Sentence") ]
(link-repeat: "Edit sentence")[(masteraudio: 'stopall')(track: 'goblin', 'loop', true)(track: 'goblin', 'play')(hide: ?sentence)(show: ?input)]](sentence|\
<a href="#sensorySound-sentence" class="skip-link" aria-label="Skip to Input">Skip back to Input Sentence</a>\
]</span>\
{={(set: $helpDialogue to "Using the input boxes, enter a word, either from your inventory list (click the ghost icon in the footer) or any word of your choosing and fill in the blanks. When selections are complete, click Set the Sentence. You will have the chance to edit once more after that. (if: $blind is 1)[No sight? Make something up!]")(if: visits is 1)[(set: _input to 1)]}\
[Describe the Kids Market sign to satisfy your spectre.]<instructions|
<span id="sensory-sentence">[\
[\
(text-color:aqua)[\
<!--Fill in the Blanks--!>\
What is remarkable about the
(input: bind $sight1Choice, "")
sign is it's
(input: bind $sight2Choice, "")
way of drawing ones attention. Even at night, the
(input: bind $sight3Choice, "")
signboard is
(input: bind $sight4Choice, "")
]\
<!--[[Change mode to Dropdown|tablet-Sight]]--!>\
(if: $descriptList's length >=4)[\
(link: "Change mode to: Dropdown")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')(track: 'goblin', 'loop', true)(track: 'goblin', 'play')(go-to:"tablet-Sight")]
]\
(link-repeat: "Set the sentence")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')\
(hide: ?input)\
(show: ?sentence)\
(replace: ?output)[\
What is remarkable about the $sight1Choice sign is it's $sight2Choice way of drawing ones attention. Even at night, the $sight3Choice signboard is $sight4Choice.
]\
(replace: ?instructions)[Ok! Sentence is set. What do you think?]\
]
(link: "Oops! I didn't collect enough words (go back)")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "kids")]
]<input|\
[\
[]<output|
<!--[[Set the Sight Sentence]]--!>\
(link: "Confirm and Continue")[\
(masteraudio: 'stopall')(track: 'confirm', 'play')(track: 'woosh', 'play')(set: $winCond to it + (a:"sight"))(go-to: "Set the Sight Sentence")]
(link-repeat: "Edit sentence")[\
(masteraudio: 'stopall')(track: 'goblin', 'loop', true)(track: 'goblin', 'play')(hide: ?sentence)(show: ?input)]
](sentence|\
<a href="#sensorySight-sentence" class="skip-link" aria-label="Skip to Input">Skip back to Input Sentence</a>\
]</span>\
{={(set: $helpDialogue to "You have set the Sight Sentence. Set all 5 to complete the game.")\
(set: $sightList to (a: $sight1Choice, $sight2Choice, $sight3Choice, $sight4Choice))}\
|set>[Visual (Sight) Sentence Set!]
(display: "setSentence"){(set: $helpDialogue to "Using the input boxes, enter a word, either from your inventory list (click the ghost icon in the footer) or any word of your choosing and fill in the blanks. When selections are complete, click Set the Sentence. You will have the chance to edit once more after that. (if: $anosmic is 1)[No sense of smell? Make something up!]")(if: visits is 1)[(set: _input to 1)]}\
[Describe the scents of the Public Market Courtyard and Quay to satisfy your spectre.]<instructions|
<span id="sensorySmell-sentence">[
[\
(text-color:aqua)[\
<!--Fill in the Blanks--!>\
The air carries a
(input: bind $scent1Choice, "")
blend of
(input: bind $scent2Choice, "")
and
(input: bind $scent3Choice, "")
aromas.
You catch hints of
(input: bind $scent4Choice, "")
from the water mixed with the [|inventory>[faint]]<faint|
(input: bind $scent5Choice, "")
scent of food lingering from the now-closed market.
]
<!--[[Change mode to Dropdown|tablet-Smell]]--!>\
(if: $descriptList's length >=5)[\
(link: "Change mode to: Dropdown")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')(track: 'goblin', 'loop', true)(track: 'goblin', 'play')(go-to:"tablet-Sight")]
]\
(link-repeat: "Set the sentence")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')\
(hide: ?input)\
(show: ?sentence)\
(replace: ?output)[The air carries a $scent1Choice blend of $scent2Choice and $scent3Choice aromas. You catch hints of $scent4Choice from the water mixed with the [|inventory>[faint]]<faint| $scent5Choice scent of food lingering from the now-closed market.
]\
(replace: ?instructions)[Ok! Sentence is set. What do you think?]\
]
(link: "Oops! I didn't collect enough words (go back)")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "market")]
]<input|\
[
[]<output|
<!--[[Set the Smell Sentence]]--!>\
(link: "Confirm and Continue")[(masteraudio: 'stopall')(track: 'confirm', 'play')(track: 'woosh', 'play')(set: $winCond to it + (a:"smell"))(go-to: "Set the Smell Sentence") ]
(link-repeat: "Edit sentence")[(masteraudio: 'stopall')(track: 'goblin', 'loop', true)(track: 'goblin', 'play')(hide: ?sentence)(show: ?input)]](sentence|\
<a href="#sensorySmell-sentence" class="skip-link" aria-label="Skip to Input">Skip back to Input Sentence</a>\
]</span>\
{={(set: $helpDialogue to "You have set the Smell Sentence. Set all 5 to complete the game.")\
(set: $smellList to (a: $smell1Choice, $smell2Choice, $smell3Choice, $smell4Choice, $smell5Choice))}\
|set>[Scent (Smell) Sentence Set!]
(display: "setSentence"){(set: $helpDialogue to "Using the input boxes, enter a word, either from your inventory list (click the ghost icon in the footer) or any word of your choosing and fill in the blanks. When selections are complete, click Set the Sentence. You will have the chance to edit once more after that. (if: $ageusic is 1)[No sense of taste? Make something up!]")(if: visits is 1)[(set: _input to 1)]}\
[Describe the Taste of water when it quenches your thirst and satisfy your spectre.]<instructions|
<span id="sensoryTaste-sentence">[\
[\
(text-color:aqua)[\
<!--Fill in the Blanks--!>
The water tastes
(input: bind $taste1Choice, "")
, satisfying your thirst in a way that feels
(input: bind $taste2Choice, "")
. After a moment, the
(input: bind $taste3Choice, "")
aftertaste lingers on your tongue.
]
<!--[[Change mode to Dropdown|tablet-Taste]]--!>\
(if: $descriptList's length >=3)[\
(link: "Change mode to: Dropdown")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')(track: 'goblin', 'loop', true)(track: 'goblin', 'play')(go-to:"tablet-Sight")]
]\
(link-repeat: "Set the sentence")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')\
(hide: ?input)\
(show: ?sentence)\
(replace: ?output)[The water tastes $taste1Choice, satisfying your thirst in a way that feels $taste2Choice. After a moment, the $taste3Choice aftertaste lingers on your tongue.
]
(replace: ?instructions)[Ok! Sentence is set. What do you think?]\
]
(link: "Oops! I didn't collect enough words (go back)")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "commCentre")]
]<input|\
[
[]<output|
<!--[[Set the Taste Sentence]]--!>\
(link: "Confirm and Continue")[(masteraudio: 'stopall')(track: 'confirm', 'play')(track: 'woosh', 'play')(set: $winCond to it + (a:"taste"))(go-to: "Set the Taste Sentence") ]
(link-repeat: "Edit sentence")[(masteraudio: 'stopall')(track: 'goblin', 'loop', true)(track: 'goblin', 'play')(hide: ?sentence)(show: ?input)]](sentence|\
<a href="#sensoryTaste-sentence" class="skip-link" aria-label="Skip to Input">Skip back to Input Sentence</a>\
]</span>\
{={(set: $helpDialogue to "You have set the Taste Sentence. Set all 5 to complete the game.")\
(set: $tasteList to (a: $taste1Choice, $taste2Choice, $taste3Choice))}\
|set>[Flavour (Taste) Sentence Set!]
(display: "setSentence"){(set: $helpDialogue to "Using the input boxes, enter a word, either from your inventory list (click the ghost icon in the footer) or any word of your choosing and fill in the blanks. When selections are complete, click Set the Sentence. You will have the chance to edit once more after that. (if: $paralyzed is 1)[No sense of touch? Make something up!]")(if: visits is 1)[(set: _input to 1)]}\
[Describe the feel of the "house posts" on the carving shed to satisfy your spectre.]<instructions|
<span id="sensoryTouch-sentence">[\
[\
(text-color:aqua)[\
<!--Fill in the Blanks--!>
The
(input: bind $touch1Choice, "")
wood feels
(input: bind $touch2Choice, "")
under your hand. You run your fingers over
(input: bind $touch3Choice, "")
carvings, tracing the
(input: bind $touch4Choice, "")
shapes with care.
]
<!--[[Change mode to Dropdown|tablet-Touch]]--!>\
(if: $descriptList's length >=4)[\
(link: "Change mode to: Dropdown")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')(track: 'goblin', 'loop', true)(track: 'goblin', 'play')(go-to:"tablet-Sight")]
]\
(link-repeat: "Set the sentence")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')\
(hide: ?input)\
(show: ?sentence)\
(replace: ?output)[The $touch1Choice wood feels $touch2Choice under your hand. You run your fingers over $touch3Choice carvings, tracing the $touch4Choice shapes with care.
]\
(replace: ?instructions)[Ok! Sentence is set. What do you think?]\
]
(link: "Oops! I didn't collect enough words (go back)")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "carvingShed")]
]<input|\
[
[]<output|
<!--[[Set the Touch Sentence]]--!>\
(link: "Confirm and Continue")[(masteraudio: 'stopall')(track: 'confirm', 'play')(track: 'woosh', 'play')(set: $winCond to it + (a:"touch"))(go-to: "Set the Touch Sentence") ]
(link-repeat: "Edit sentence")[(masteraudio: 'stopall')(track: 'goblin', 'loop', true)(track: 'goblin', 'play')(hide: ?sentence)(show: ?input)]](sentence|\
<a href="#sensoryTouch-sentence" class="skip-link" aria-label="Skip to Input">Skip back to Input Sentence</a>\
]</span>\
{={(set: $helpDialogue to "You have set the Touch Sentence. Set all 5 to complete the game.")\
(set: $touchList to (a: $touch1Choice, $touch2Choice, $touch3Choice, $touch4Choice))}\
|set>[Texture (Touch) Sentence Set!]
(display: "setSentence"){(set: $helpDialogue to "Using the input boxes, enter a word, either from your inventory list (click the ghost icon in the footer) or any word of your choosing and fill in the blanks. When selections are complete, click Set the Sentence. You will have the chance to edit once more after that. (if: $deaf is 1)[No sense of sound? Make something up!]")(if: visits is 1)[(set: _input to 1)]}\
[Describe the sounds in the hallway to satisfy your spectre.]<instructions|
<span id="sensorySound-sentence">[\
[\
(text-color:aqua)[\
<!--Fill in the Blanks--!>
The
(input: bind $sound1Choice, "")
hum of the light in the corridor has a
(input: bind $sound2Choice, "")
quality that lingers in the air. It mixes with the
(input: bind $sound3Choice, "")
sounds of the empty building.
]
<!--[[Change mode to Dropdown|tablet-Sound]]--!>\
(if: $descriptList's length >=3)[\
(link: "Change mode to: Dropdown")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')(track: 'goblin', 'loop', true)(track: 'goblin', 'play')(go-to:"tablet-Sight")]
]\
(link-repeat: "Set the sentence")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')\
(hide: ?input)\
(show: ?sentence)\
(replace: ?output)[The $sound1Choice hum of the light in the corridor has a $sound2Choice quality that lingers in the air. It mixes with the $sound3Choice sounds of the empty building.
]\
(replace: ?instructions)[Ok! Sentence is set. What do you think?]\
]
(link: "Oops! I didn't collect enough words (go back)")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "emilyCarr")]
]<input|\
[
[]<output|
<!--[[Set the Sound Sentence]]--!>\
(link: "Confirm and Continue")[(masteraudio: 'stopall')(track: 'confirm', 'play')(track: 'woosh', 'play')(set: $winCond to it + (a:"sound"))(go-to: "Set the Sound Sentence") ]
(link-repeat: "Edit sentence")[(masteraudio: 'stopall')(track: 'goblin', 'loop', true)(track: 'goblin', 'play')(hide: ?sentence)(show: ?input)]](sentence|\
<a href="#sensorySound-sentence" class="skip-link" aria-label="Skip to Input">Skip back to Input Sentence</a>\
]</span>\
{={(set: $helpDialogue to "You have set the Sound Sentence. Set all 5 to complete the game.")\
(set: $soundList to (a: $sound1Choice, $sound2Choice, $sound3Choice))}\
|set>[Hearing (Sound) Sentence Set!]
(display: "setSentence"){
<!--ATMOSPHERIC--!>\
(if: $descriptList contains "atmospheric")[(replace: ?atmospheric)[atmospheric]]\
(unless: $descriptList contains "atmospheric")[\
(click: ?atmospheric)[
(set: _newWord to "atmospheric")(display: "new-word")(replace: ?atmospheric)[atmospheric]
]
]
<!--BRIGHT/BRIGHTLY--!>\
(if: $descriptList contains "bright")[(replace: ?bright)[bright](replace: ?brightly)[brightly]]\
(unless: $descriptList contains "bright")[\
(click: ?bright)[
(set: _newWord to "bright")(display: "new-word")(replace: ?bright)[bright](replace: ?brightly)[brightly]
]
]
<!--BRINY--!>\
(if: $descriptList contains "briny")[(replace: ?briny)[briny]]\
(unless: $descriptList contains "briny")[\
(click: ?briny)[
(set: _newWord to "briny")(display: "new-word")(replace: ?briny)[briny]
]
]
<!--CHAOTIC - SEEDED AT START--!>\
(if: $descriptList contains "chaotic")[(replace: ?chaotic)[chaotic]]\
(unless: $descriptList contains "chaotic")[\
(click: ?chaotic)[
(set: _newWord to "chaotic")(display: "new-word")(replace: ?chaotic)[chaotic]
]
]
<!--CHILL/CHILLED/CHILLING--!>\
(if: $descriptList contains "chill")[(replace: ?chill)[chill](replace: ?chilled)[chilled](replace: ?chilling)[chilling]]\
(unless: $descriptList contains "chill")[\
(click: ?chill)[
(set: _newWord to "chill")(display: "new-word")(replace: ?chill)[chill](replace: ?chilled)[chilled](replace: ?chilling)[chilling]
]
]
<!--COLD--!>\
(if: $descriptList contains "cold")[(replace: ?cold)[cold]]\
(unless: $descriptList contains "cold")[\
(click: ?cold)[
(set: _newWord to "cold")(display: "new-word")(replace: ?cold)[cold]
]
]
<!--CONTAINED--!>\
(if: $descriptList contains "contained")[(replace: ?contained)[contained]]\
(unless: $descriptList contains "contained")[\
(click: ?contained)[
(set: _newWord to "contained")(display: "new-word")(replace: ?contained)[contained]
]
]
<!--CRISP--!>\
(if: $descriptList contains "crisp")[(replace: ?crisp)[crisp]]\
(unless: $descriptList contains "crisp")[\
(click: ?crisp)[
(set: _newWord to "crisp")(display: "new-word")(replace: ?crisp)[crisp]
]
]
<!--DARK/DARKNESS--!>\
(if: $descriptList contains "dark")[(replace: ?dark)[dark](replace: ?darkness)[darkness]]\
(unless: $descriptList contains "dark")[\
(click: ?dark)[
(set: _newWord to "dark")(display: "new-word")(replace: ?dark)[dark](replace: ?darkness)[darkness]
]
]
<!--DELICATE--!>\
(if: $descriptList contains "delicate")[(replace: ?delicate)[delicate]]\
(unless: $descriptList contains "delicate")[\
(click: ?delicate)[
(set: _newWord to "delicate")(display: "new-word")(replace: ?delicate)[delicate]
]
]
<!--DENSE--!>\
(if: $descriptList contains "dense")[(replace: ?dense)[dense]]\
(unless: $descriptList contains "dense")[\
(click:?dense)[
(set: _newWord to "dense")(display: "new-word")(replace: ?dense)[dense]
]
]
<!--DISTANT--!>\
(if: $descriptList contains "distant")[(replace: ?distant)[distant]]\
(unless: $descriptList contains "distant")[\
(click: ?distant)[
(set: _newWord to "distant")(display: "new-word")(replace: ?distant)[distant]
]
]
<!--DRONE/DRONING--!>\
(if: $descriptList contains "drone")[(replace: ?drone)[drone](replace: ?droning)[droning]]\
(unless: $descriptList contains "drone")[\
(click: ?drone)[
(set: _newWord to "drone")(display: "new-word")(replace: ?drone)[drone](replace: ?droning)[droning]
]
]
<!--DRY--!>\
(if: $descriptList contains "dry")[(replace: ?dry)[dry]]\
(unless: $descriptList contains "dry")[\
(click:?dry)[
(set: _newWord to "dry")(display: "new-word")(replace: ?dry)[dry]
]
]
<!--EARTHY--!>\
(if: $descriptList contains "earthy")[(replace: ?earthy)[earthy]]\
(unless: $descriptList contains "earthy")[\
(click:?earthy)[
(set: _newWord to "earthy")(display: "new-word")(replace: ?earthy)[earthy]
]
]
<!--EERIE/EERILY--!>\
(if: $descriptList contains "eerie")[(replace: ?eerie)[eerie](replace: ?eerily)[eerily]]\
(unless: $descriptList contains "eerie")[\
(click: ?eerie)[
(set: _newWord to "eerie")(display: "new-word")(replace: ?eerie)[eerie](replace: ?eerily)[eerily]
]
]
<!--FAINT/FAINTLY--!>\
(if: $descriptList contains "faint")[(replace: ?faint)[faint]](replace: ?faintly)[faintly]\
(unless: $descriptList contains "faint")[\
(click: ?faint)[
(set: _newWord to "faint")(display: "new-word")(replace: ?faint)[faint](replace: ?faintly)[faintly]
]
]
<!--FADED/FADING--!>\
(if: $descriptList contains "faded")[(replace: ?faded)[faded](replace: ?fading)[fading]]\
(unless: $descriptList contains "faded")[\
(click: ?faded)[
(set: _newWord to "faded")(display: "new-word")(replace: ?faded)[faded](replace: ?fading)[fading]
]
]
<!--FAMILIAR--!>\
(if: $descriptList contains "familiar")[(replace: ?familiar)[familiar]]\
(unless: $descriptList contains "familiar")[\
(click: ?familiar)[
(set: _newWord to "familiar")(display: "new-word")(replace: ?familiar)[familiar]
]
]
<!--FESTIVE--!>\
(if: $descriptList contains "festive")[(replace: ?festive)[festive]]\
(unless: $descriptList contains "festive")[\
(click: ?festive)[
(set: _newWord to "festive")(display: "new-word")(replace: ?festive)[festive]
]
]
<!--FINE--!>\
(if: $descriptList contains "fine")[(replace: ?fine)[fine]]\
(unless: $descriptList contains "fine")[\
(click:?fine)[
(set: _newWord to "fine")(display: "new-word")(replace: ?fine)[fine]
]
]
<!--FLAT--!>\
(if: $descriptList contains "flat")[(replace: ?flat)[flat]]\
(unless: $descriptList contains "flat")[\
(click: ?flat)[
(set: _newWord to "flat")(display: "new-word")(replace: ?flat)[flat]
]
]
<!--FLUTTER/FLUTTERING--!>\
(if: $descriptList contains "flutter")[(replace: ?flutter)[flutter](replace: ?fluttering)[fluttering]]\
(unless: $descriptList contains "flutter")[\
(click: ?flutter)[
(set: _newWord to "flutter")(display: "new-word")(replace: ?flutter)[flutter](replace: ?fluttering)[fluttering]
]
]
<!--HARD--!>\
(if: $descriptList contains "hard")[(replace: ?hard)[hard]]\
(unless: $descriptList contains "hard")[\
(click: ?hard)[
(set: _newWord to "hard")(display: "new-word")(replace: ?hard)[hard]
]
]
<!--HEAVY--!>\
(if: $descriptList contains "heavy")[(replace: ?heavy)[heavy]]\
(unless: $descriptList contains "heavy")[\
(click:?heavy)[
(set: _newWord to "heavy")(display: "new-word")(replace: ?heavy)[heavy]
]
]
<!--HILLY--!>\
(if: $descriptList contains "hilly")[(replace: ?hilly)[hilly]]\
(unless: $descriptList contains "hilly")[\
(click: ?hilly)[
(set: _newWord to "hilly")(display: "new-word")(replace: ?hilly)[hilly]
]
]
<!--INSISTENT/INSISTENTLY--!>\
(if: $descriptList contains "insistent")[(replace: ?insistent)[insistent](replace: ?insistently)[insistently]]\
(unless: $descriptList contains "insistent")[\
(click: ?insistent)[
(set: _newWord to "insistent")(display: "new-word")(replace: ?insistent)[insistent](replace: ?insistently)[insistently]
]
]
<!--INVIGORATING--!>\
(if: $descriptList contains "invigorating")[(replace: ?invigorating)[invigorating]]\
(unless: $descriptList contains "invigorating")[\
(click: ?invigorating)[
(set: _newWord to "invigorating")(display: "new-word")(replace: ?invigorating)[invigorating]
]
]
<!--LIVELY--!>\
(if: $descriptList contains "lively")[(replace: ?lively)[lively]]\
(unless: $descriptList contains "lively")[\
(click: ?lively)[
(set: _newWord to "lively")(display: "new-word")(replace: ?lively)[lively]
]
]
<!--MECHANICAL--!>\
(if: $descriptList contains "mechanical")[(replace: ?mechanical)[mechanical]]\
(unless: $descriptList contains "mechanical")[\
(click: ?mechanical)[
(set: _newWord to "mechanical")(display: "new-word")(replace: ?mechanical)[mechanical]
]
]
<!--METALLIC--!>\
(if: $descriptList contains "metallic")[(replace: ?metallic)[metallic]]\
(unless: $descriptList contains "metallic")[\
(click: ?metallic)[
(set: _newWord to "metallic")(display: "new-word")(replace: ?metallic)[metallic]
]
]
<!--MUSTY--!>\
(if: $descriptList contains "musty")[(replace: ?musty)[musty]]\
(unless: $descriptList contains "musty")[\
(click: ?musty)[
(set: _newWord to "musty")(display: "new-word")(replace: ?musty)[musty]
]
]
<!--MYSTERIOUS--!>\
(if: $descriptList contains "mysterious")[(replace: ?mysterious)[mysterious]]\
(unless: $descriptList contains "mysterious")[\
(click: ?mysterious)[
(set: _newWord to "mysterious")(display: "new-word")(replace: ?mysterious)[mysterious]
]
]
<!--NOSTALGIC--!>\
(if: $descriptList contains "nostalgic")[(replace: ?nostalgic)[nostalgic]]\
(unless: $descriptList contains "nostalgic")[\
(click: ?nostalgic)[
(set: _newWord to "nostalgic")(display: "new-word")(replace: ?nostalgic)[nostalgic]
]
]
<!--PLAYFUL/PLAYFULLY--!>\
(if: $descriptList contains "playful")[(replace: ?playful)[playful](replace: ?playfully)[playfully]]\
(unless: $descriptList contains "playful")[\
(click: ?playful)[
(set: _newWord to "playful")(display: "new-word")(replace: ?playful)[playful](replace: ?playfully)[playfully]
]
]
<!--PRECISE--!>\
(if: $descriptList contains "precise")[(replace: ?precise)[precise]]\
(unless: $descriptList contains "precise")[\
(click: ?precise)[
(set: _newWord to "precise")(display: "new-word")(replace: ?precise)[precise]
]
]
<!--RATTLING--!>\
(if: $descriptList contains "rattling")[(replace: ?rattling)[rattling]]\
(unless: $descriptList contains "rattling")[\
(click: ?rattling)[
(set: _newWord to "rattling")(display: "new-word")(replace: ?rattling)[rattling]
]
]
<!--RAW--!>\
(if: $descriptList contains "raw")[(replace: ?raw)[raw]]\
(unless: $descriptList contains "raw")[\
(click:?raw)[
(set: _newWord to "raw")(display: "new-word")(replace: ?raw)[raw]
]
]
<!--REFRESHING--!>\
(if: $descriptList contains "refreshing")[(replace: ?refreshing)[refreshing]]\
(unless: $descriptList contains "refreshing")[\
(click: ?refreshing)[
(set: _newWord to "refreshing")(display: "new-word")(replace: ?refreshing)[refreshing]
]
]
<!--ROUGH--!>\
(if: $descriptList contains "rough")[(replace: ?rough)[rough]]\
(unless: $descriptList contains "rough")[\
(click: ?rough)[
(set: _newWord to "rough")(display: "new-word")(replace: ?rough)[rough]
]
]
<!--SALTY--!>\
(if: $descriptList contains "salty")[(replace: ?salty)[salty]]\
(unless: $descriptList contains "salty")[\
(click: ?salty)[
(set: _newWord to "salty")(display: "new-word")(replace: ?salty)[salty]
]
]
<!--SHARP/SHARPLY--!>\
(if: $descriptList contains "sharp")[(replace: ?sharp)[sharp](replace: ?sharply)[sharply]]\
(unless: $descriptList contains "sharp")[\
(click: ?sharp)[
(set: _newWord to "sharp")(display: "new-word")(replace: ?sharp)[sharp](replace: ?sharply)[sharply]
]
]
<!--SLEEK--!>\
(if: $descriptList contains "sleek")[(replace: ?sleek)[sleek]]\
(unless: $descriptList contains "sleek")[\
(click: ?sleek)[
(set: _newWord to "sleek")(display: "new-word")(replace: ?sleek)[sleek]
]
]
<!--SLICK--!>\
(if: $descriptList contains "slick")[(replace: ?slick)[slick]]\
(unless: $descriptList contains "slick")[\
(click: ?slick)[
(set: _newWord to "slick")(display: "new-word")(replace: ?slick)[slick]
]
]
<!--SMOKY--!>\
(if: $descriptList contains "smoky")[(replace: ?smoky)[smoky]]\
(unless: $descriptList contains "smoky")[\
(click: ?smoky)[
(set: _newWord to "smoky")(display: "new-word")(replace: ?smoky)[smoky]
]
]
<!--SMOOTH--!>\
(if: $descriptList contains "smooth")[(replace: ?smooth)[smooth]]\
(unless: $descriptList contains "smooth")[\
(click: ?smooth)[
(set: _newWord to "smooth")(display: "new-word")(replace: ?smooth)[smooth]
]
]
<!--SOFT--!>\
(if: $descriptList contains "soft")[(replace: ?soft)[soft]]\
(unless: $descriptList contains "soft")[\
(click: ?soft)[
(set: _newWord to "soft")(display: "new-word")(replace: ?soft)[soft]
]
]
<!--SPARKLY/SPARKLES--!>\
(if: $descriptList contains "sparkly")[(replace: ?sparkly)[sparkly](replace: ?sparkles)[sparkles]]\
(unless: $descriptList contains "sparkly")[\
(click: ?sparkly)[
(set: _newWord to "sparkly")(display: "new-word")(replace: ?sparkly)[sparkly](replace: ?sparkles)[sparkles]
]
]
<!--STALE--!>\
(if: $descriptList contains "stale")[(replace: ?stale)[stale]]\
(unless: $descriptList contains "stale")[\
(click: ?stale)[
(set: _newWord to "stale")(display: "new-word")(replace: ?stale)[stale]
]
]
<!--SWAMPY--!>\
(if: $descriptList contains "swampy")[(replace: ?swampy)[swampy]]\
(unless: $descriptList contains "swampy")[\
(click: ?swampy)[
(set: _newWord to "swampy")(display: "new-word")(replace: ?swampy)[swampy]
]
]
<!--SWOLLEN--!>\
(if: $descriptList contains "swell")[(replace: ?swollen)[swollen](replace: ?swelling)[swelling]]
(unless: $descriptList contains "swell")[\
(click: ?swollen)[
(set: _newWord to "swell")(display: "new-word")(replace: ?swollen)[swollen](replace: ?swelling)[swelling]
]
]
<!--THICK--!>\
(if: $descriptList contains "thick")[(replace: ?thick)[thick]]\
(unless: $descriptList contains "thick")[\
(click:?thick)[
(set: _newWord to "thick")(display: "new-word")(replace: ?thick)[thick]
]
]
<!--UNRUSHED--!>\
(if: $descriptList contains "unrushed")[(replace: ?unrushed)[unrushed]]\
(unless: $descriptList contains "unrushed")[\
(click: ?unrushed)[
(set: _newWord to "unrushed")(display: "new-word")(replace: ?unrushed)[unrushed]
]
]
<!--VIBRANT--!>\
(if: $descriptList contains "vibrant")[(replace: ?vibrant)[vibrant]]\
(unless: $descriptList contains "vibrant")[\
(click: ?vibrant)[
(set: _newWord to "vibrant")(display: "new-word")(replace: ?vibrant)[vibrant]
]
]
<!--WARM/WARMLY--!>\
(if: $descriptList contains "warm")[(replace: ?warm)[warm](replace: ?warmly)[warmly]]\
(unless: $descriptList contains "warm")[\
(click: ?warm)[
(set: _newWord to "warm")(display: "new-word")(replace: ?warm)[warm](replace: ?warmly)[warmly]
]
]
(if: $colourblind is 1)[
(enchant: ?inventory, (text-style: "wavy-underline")+(text-color: white))
]
(else:)[(enchant: ?inventory, (text-color: green))]
}{
(set: $time to (current-time:))
(if: (str: $time)'s length < 8)[(set: $time to "0" + it)]
(set: _a to (number:(substring: $time,1,2)))
(if: (substring: $time,7,7) is "P")[(set: _a to it+12)]
(if: _a is 12)[(set: _a to 0)]
(if: _a is 24)[(set: _a to 12)]
(if: _a < 7)[(show: ?night)]
(elseif: _a < 9)[(show: ?morning)]
(elseif: _a < 18)[(show: ?afternoon)]
(elseif: _a < 22)[(show: ?evening)]
(else:) [(show: ?night)]
}{(set: $helpDialogue to "Read, collect words, click links, continue to (print: ($locationLabels's $location)).")}\
<!-- Intial Travel from FLEET to Carving Shed -->\
(if: $lastLocation is "FLEET")[\
[You leave the FLEET trailer and the Chain and Forge Plaza, consulting the tactile map. It directs you to walk southeast along a path that skirts the edge of the parking lot. There are no sidewalks here, only the uneven interlocking brick that covers most of the island. (if: $blind is 1)[\
The wayfinding app buzzes: "Proceed straight. You’ll walk alongside the parking lot (left)—watch for gaps and uneven surfaces." It alerts you: "Approaching a raised sidewalk. Turn left onto Cartwright Street."]\
(else-if: $mobility is 1)[\
You navigate carefully along the uneven ground by the parking lot. After a short walk, you reach a raised sidewalk and turn left onto Cartwright Street.]\
(else:)[\
The path transitions from a brick-lined road to a raised sidewalk as you reach Cartwright Street and head east (left).]
(link: "Continue...")[(show: ?fleet2KidsFirst2)(hide: ?fleet2KidsFirst)]]<fleet2KidsFirst|\
[\
(if: $blind is 1)[The app vibrates again: "Approaching crosswalk. Pause here. Turn back toward the crowd or brewery building and pivot south towards the street. Loading building description..."
]\
You stop near the crosswalk that traverses Cartwright Street. Behind you, the Granville Island Brewery is bustling with people entering and leaving the pub and store. \
(if: $anosmic is 0)[\
[\
[]<italicNote|The [|inventory>[musty]]<musty| smell of hops mingles with the scent of fried food. []<italicNoteEnd|\
]<italic|\
]\
(if: $deaf is 1)[You can feel the[|inventory>[bright]]<bright|, active energy coming from the pub.](else:)[The sound of laughter and tinkling silverware drifts from the pub as it handles a brisk evening crowd.] Before you and across the street is the Kids Market(if: $blind is 0)[, its [|inventory>[bright]]<bright| yellow facade visible even in the [ [|inventory>[fading]]<faded|]<fading| evening light].
<!-- Arrival at the destination -->
(link: "Continue to " + ($locationLabels's $location))[
(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: $location)
]](fleet2KidsFirst2|\
]\
<!-- Traveling from FLEET to Kids Market -->\
(else-if: $lastLocation is "market" or "carvingShed")[\
[Leaving the plaza, walking south along a path that skirts the edge of the parking lot. There are no sidewalks here, only the uneven interlocking brick that covers most of the island. (if: $blind is 1)[\
The wayfinding app buzzes: "Proceed straight. You’ll walk alongside the parking lot (left)—watch for gaps and uneven surfaces." It alerts you: "Approaching a raised sidewalk. Turn left onto Cartwright Street."
]\
(else-if: $mobility is 1)[\
You navigate carefully along the uneven ground by the parking lot. After a short walk, you reach a raised sidewalk and turn left onto Cartwright Street.
]\
(else:)[\
The path transitions from a brick-lined road to a raised sidewalk as you reach Cartwright Street and head east (left).]
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?fleet2kids1)(show: ?fleet2kids2)]](fleet2kids1|\
[\
(if: $blind is 1)[The app vibrates again: "Approaching crosswalk. Pause here. Turn back toward the crowd or brewery building and pivot south towards the street. Loading building description..."
]\
You stop near the crosswalk that traverses Cartwright Street. Behind you, the Granville Island Brewery is bustling with people entering and leaving the pub and store. \
(if: $anosmic is 0)[\
[\
[]<italicNote|The [|inventory>[musty]]<musty| smell of hops mingles with the scent of fried food. []<italicNoteEnd|\
]<italic|\
] \
(if: $deaf is 1)[You can feel the[|inventory>[bright]]<bright|, active energy coming from the pub.](else:)[The sound of laughter and tinkling silverware drifts from the pub as it handles a brisk evening crowd.] Before you and across the street is the Kids Market(if: $blind is 0)[, its [|inventory>[bright]]<bright| yellow facade visible even in the [ [|inventory>[fading]]<faded|]<fading| evening light].
<!-- Arrival at the destination -->
(link: "Continue to " + ($locationLabels's $location))[
(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: $location)
]](fleet2kids2|
]\
<!-- Traveling back from Kids Market to FLEET -->\
(else:)[\
(if: (history:) contains $location)[(link: "Skip travel description")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: $location)]
]\
[Leaving the Kids Market, you head back toward the intersection of Cartwright Street and Anderson Street. (if: $deaf is 0)[The open area beneath the bridge echoes the sounds of bustling](else:)[Here, there is busy] traffic where three one-way streets converge, letting travellers either leave the island or loop back for another tour.(if: $blind is 1)[
The wayfinding app buzzes: "Turn right at the corner and continue along the raised sidewalk for two metres. Warning: change in elevation ahead."]\
(if: $mobility is 1)[You carefully navigate down the elevated sidewalk.]
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?kidsF1)(show: ?kidsF2)]]<kidsF1|\
[\
Continuing along Anderson Street, you hug the edge of the parking lot, walking against the flow of one-way traffic. Soon, you return to the Chain and Forge Plaza.
(if: $blind is 1)[The wayfinding app buzzes: "No traffic detected. Cross west (left) across Anderson Street into the Chain and Forge Plaza."]\
You cross Anderson Street and maneuver into the plaza(if: $blind is 1)[, approaching the wood-lined trailer and stopping at the back patio.](else:)[, where the [|inventory>[familiar]]<familiar| rear patio doors of the FLEET trailer come into view.]
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?kidsF2)(show: ?chainMarket1)(show: ?chainCarving1)]](kidsF2|\
](if: $italics is 0)[(set: $italics to 1)](else:)[(set: $italics to 0)]\
Style settings have been updated: (if: $italics is 1)[ [italics]<italic| are on](else:)[italics are off and previously italized text will be identified with the text note].
[ []<italicNote| Note: Italics are used primarily to style scents or smells in game which are not displayed when player identifies as anosmic. []<italicNoteEnd|]<italic|
<!--[[Continue with access set-up|Game settings]]--!>\
(link: "Continue with access set-up")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "Game settings")]
<!--[[Change setting|Italics Settings]]--!>\
(link: "Change setting again")[(masteraudio: 'stopall')(track: 'twinkle', 'play')(go-to: "Italics Settings")]
{=
(if: $italics is 0)[
(if: $colourblind is 1)[(enchant: "updated", (bg: white)+(text-color:black))]
(else:)[(enchant: "updated", (text-colour: red))]
]
(if: $italics is 1)[(if: $colourblind is 0)[(enchant: "updated", (text-colour: green))]](if: $colourText is 0)[(set: $colourText to 1)](else:)[(set: $colourText to 0)]\
Style settings have been updated: (if: $colourText is 1)[(text-colour:red)[c](text-colour:orange)[o](text-colour:yellow)[l](text-colour:green)[o](text-colour:blue)[u](text-colour:purple)[r] text is on](else:)[colour text is off and will simply be listed as white or black text].
Note: Coloured text shows colour words, such as red, orange, and green, styled to match. This may present reading challenges to some players and is automatically turned off when player identifies having chromatic challenges.
<!--[[Continue with access set-up|Game settings]]--!>\
(link: "Continue with access set-up")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "Game settings")]
<!--[[Change setting|Colour Settings]]--!>\
(link: "Change setting again")[(masteraudio: 'stopall')(track: 'twinkle', 'play')(go-to: "Colour Settings")]
{=
(if: $colourText is 1)[
(if: $colourblind is 1)[(enchant: "updated", (bg: white)+(text-color:black))]
(else:)[(enchant: "updated", (text-colour: red))]
]
(if: $colourText is 0)[(if: $colourblind is 0)[(enchant: "updated", (text-colour: green))]]{(set: $helpDialogue to "Read, collect words, click links, continue to (print: ($locationLabels's $location)).")}\
<!-- Traveling from Community Centre to Kids Market -->\
(if: $lastLocation is "commCentre")[\
(if: (history:) contains $location)[(link: "Skip travel description")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: $location)]
]\
[ You exit the False Creek Community Centre through the side entrance.\
(if: $blind is 1)[\
The wayfinding app buzzes: "You are facing steps up a small hill. Turn left to avoid the stairs and follow the gravel path. The ground is uneven with small stones." It continues: "To the right of the path is the children’s waterpark, currently closed for the season. The terrain there is very uneven and [|inventory>[hilly]]<hilly|."
]\
(else-if: $mobility is 1)[\
You find yourself facing a set of steps. You avoid the stairs by following the gravel path to the left, which loops around the [|inventory>[hilly]]<hilly|, closed waterpark.
]\
(else:)[\
You find yourself facing a set of steps which lead you up and across the [|inventory>[hilly]]<hilly|, uneven ground of the waterpark, weaving between the playground structures.
]
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?commK1)(show: ?commK2)]]<commK1|\
[You eventually arrive at a narrow wooden bridge, stretching over a shallow [|inventory>[swampy]]<swampy| area.\
(if: $blind is 1)[\
The app buzzes: "Narrow wooden bridge ahead, with no railings. It's a metre across with cane detectable edges. Proceed slowly." You carefully maneuver your way across the wooden bridge, mindful of the uneven boards underfoot.\
]\
(else-if: $mobility is 1)[\
You carefully maneuver your way across the wooden bridge, mindful of the uneven boards underfoot.]\
(else:)[\
You stride over the wooden bridge, (if: $deaf is 0)[hearing it creak](else:)[feeling it bounce and give] slightly with each step.]\
(if: $anosmic is 0)[\
[\
[]<italicNote| The smell of brackish water and autumn damp swirls with the cool August air. []<italicNoteEnd|\
]<italic|\
]
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?commK2)(show: ?commK3)]](commK2|\
[(if: $blind is 1)[\
The wayfinding app voices: "Path opens into a small park and plaza. Be mindful of raised planters in the path." The app provides haptic feedback as you approach them, with fast pulses if you veer off the recommended path. When facing north, the app continues: "Move straight ahead through an alley towards Cartwright Street. Cars move quickly here." As you approach the road, the app buzzes in [|inventory>[sharp]]<sharp| pulses: "Turn left, mindful of trolley rails embedded in the road. Stay to the left. You have arrived at the Kids Market. When ready, cross Cartwright Street at the crosswalk and pivot 180 degrees to load the building description."
]\
(else:)[The path leads to a small plaza with a grid of raised bed planters, each featuring a single tree. To your right is a yellow building, with a wide clown's face gazing from the large upper windows towards the duck pond and seawall. The tactile map directs you through an alley towards Cartwright Street. (if: $mobility is 1)[You carefully navigate the cluster of crisscrossing trolley rails, slowing down to avoid getting caught.](else:)[You step carefully over the rails embedded in the interlocking brick path.] You arrive in front of the Kids Market, now closed for the night.]
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?commK3)(show: ?commK4)]](commK3|\
[(if: $blind is 1)[Across the street, the (if: $anosmic is 0 and $deaf is 0)[smells and sounds of the](else-if: $anosmic is 1)[sounds of the](else:)[smells of the] Brewery tempt you to step inside.](else:)[Across the street, the (if: $anosmic is 0 and $deaf is 0)[smells, sounds](else-if: $anosmic is 1)[sounds](else:)[smells] and inviting lights of the Brewery tempt you to step inside. Resisting, you decide to rid yourself of your spectre and after crossing Cartwright, you turn away to face the Kids Market(if: $blind is 1)[.](else:)[, taking in the building's design, obviously meant to entice and welcome children.]]
<!-- Arrival at the destination -->
(link: "Continue to " + ($locationLabels's $location))[
(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: $location)
]](commK4|\
]\
<!-- Traveling from Kids Market to Community Centre -->\
(else:)[\
(if: (history:) contains $location)[(link: "Skip travel description")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: $location)]
]\
[You step toward the crosswalk at Cartwright Street. (if: $blind is 1)[The wayfinding app buzzes: "No traffic detected. Walk with traffic east, following the sidewalk along Cartwright Street." As you cross and turn, it continues: "Mind the trolley rails ahead—turn right into the alley." The app vibrates gently as you pass the rails and continue.]\
(else-if: $mobility is 1)[\
You carefully cross the street, minding the crisscrossing trolley rails to avoid getting caught. Turning right past the Kids Market, you follow a wide alley.]\
(else:)[\
After checking for traffic, you cross the street and walk alongside the Kids Market, passing the caboose-turned-pet shop. The old trolley rails cluster and cross beneath your feet before you continue right, past the Waterfront Theatre’s illuminated lobby, and down a quiet alley.]
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?commK5)(show: ?commK6)]]<commK5|\
[Past the alley is a small plaza lined with raised planters(if: $blind is 1)[. The app vibrates, keeping you on the path and buzzing [ [|inventory>[sharply]]<sharp|]<sharply| when you drift near them. (if: $deaf is 0)[You hear leaves rustling and a [|inventory>[faint]]<faint| trickle of water nearby.]](else:)[, each featuring a tree swaying lightly in the breeze.] Soon, you reach a narrow wooden bridge spanning a shallow swamp. (if: $blind is 1)[The app buzzes: "Wooden bridge ahead. No railings but cane-detectable edges. Proceed cautiously." You carefully cross, feeling the boards shift underfoot.]\
(else-if: $mobility is 1)[You tread carefully over the bridge, mindful of the uneven planks.]\
(else:)[As you step across, (if: $deaf is 0)[you hear it creak](else:)[you feel it shift] slightly. Ducks float silently in the water below.] \
(if: $anosmic is 0)[\
[\
[]<italicNote| The [|inventory>[earthy]]<earthy| scent of the pond mixes with the cool evening air. []<italicNoteEnd|\
]<italic|\
]
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?commK6)(show: ?commK7)]](commK6|\
[After crossing the bridge, you (if: $blind is 1)[find yourself on a slowly curving gravel path. The app helpfully informs you that you are circumventing around the children’s waterpark, which sits empty and closed for the season. The app continues: "The waterpark to your right is [|inventory>[hilly]]<hilly| and uneven, with a slide and raised features. Stay on the gravel path. It’s [|inventory>[flat]]<flat| but uneven and will become paved in about 20 metres." The app vibrates intermittently, guiding you along the path.](else-if: $mobility is 1)[find yourself on a slowly curving gravel path. You follow the gravel path slowly, avoiding the uneven, [|inventory>[hilly]]<hilly| ground of the waterpark and wishing for [|inventory>[flat]]<flat| and paved route.]\
(else:)[weave through an empty waterpark, navigating small dips and rises. At night, what feels [|inventory>[playful]]<playful| by day becomes [|inventory>[eerie]]<eerie|, with shadows stretching across the playground structures and [|inventory>[hilly]]<hilly| landscape. You climb a small hill near the [|inventory>[vibrant]]<vibrant| yellow slide.]
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?commK7)(show: ?commK8)]](commK7|\
[Approaching the False Creek Community Centre, the path shifts back to paving stones. (if: $blind is 1)[The wayfinding app buzzes again: "The west entrance is closed after [|inventory>[dark]]<dark|. Follow the building to reach the front entrance." It vibrates as it guides you along the side towards the north entrance of the building.]\
(else:)[You reach the side entrance, only to find it locked after hours. Following the path along the side of the building, you soon reach the open front entrance(if: $paralyzed is 0)[, [|inventory>[warm]]<warm| air spilling from inside].]
<!-- Arrival at the destination -->
(link: "Continue to " + ($locationLabels's $location))[
(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: $location)
]
](commK8|\
]{<!-- Initial travel from FLEET -->
(if: $lastLocation is "FLEET" and $location is "kids")[
(display: "path-FLEET-kids")
]
(else-if: $lastLocation is "FLEET" and $location is "market")[
(display: "path-FLEET-market")
]
(else-if: $lastLocation is "FLEET" and $location is "carvingShed")[
(display: "path-FLEET-carvingShed")
]
<!-- Direct paths -->
(else-if: ($lastLocation is "commCentre" and $location is "kids") or
($lastLocation is "kids" and $location is "commCentre"))[
(display: "path-commCentre-kids")
]
(else-if: ($lastLocation is "commCentre" and $location is "emilyCarr") or
($lastLocation is "emilyCarr" and $location is "commCentre"))[
(display: "path-commCentre-emilyCarr")
]
(else-if: ($lastLocation is "carvingShed" and $location is "emilyCarr") or
($lastLocation is "emilyCarr" and $location is "carvingShed"))[
(display: "path-carvingShed-emilyCarr")
]
<!-- Chained paths -->
(else-if: $lastLocation is "market" and $location is "carvingShed")[
(display: "path-FLEET-market")
(display: "path-FLEET-carvingShed")
]
(else-if: $lastLocation is "carvingShed" and $location is "market")[
(display: "path-FLEET-carvingShed")
(display: "path-FLEET-market")
]
(else-if: $lastLocation is "kids" and $location is "carvingShed")[
(display: "path-FLEET-kids")
(display: "path-FLEET-carvingShed")
]
(else-if: $lastLocation is "carvingShed" and $location is "kids")[
(display: "path-FLEET-carvingShed")
(display: "path-FLEET-kids")
]
(else-if: $lastLocation is "kids" and $location is "market")[
(display: "path-FLEET-kids")
(display: "path-FLEET-market")
]
(else-if: $lastLocation is "market" and $location is "kids")[
(display: "path-FLEET-market")
(display: "path-FLEET-kids")
]
<!-- Catch-all error -->
(else:)[
"You try to travel between two locations that aren't connected. Something seems off."
]
}\
{<!-- Arrival at the destination
(link: "Continue to " + ($locationLabels's $location))[
(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: $location)
]--!>}{(set: $helpDialogue to "Read, collect words, click links, continue to (print: ($locationLabels's $location)).")}\
<!-- Intial Travel from FLEET to Carving Shed -->\
(if: $lastLocation is "FLEET")[\
[You move from the FLEET trailer, consulting the tactile map. It directs you towards the Chain and Forge building for which the surrounding plaza takes it's name and through a wide but shadowed arcade that leads through and out to Johnston street.
(link: "Continue...")[(show: ?fleet2CarveFirst2)(hide: ?fleet2CarveFirst)]]<fleet2CarveFirst|\
[\
(if: $blind is 1)[\
The app vibrates: "Not an official crosswalk; there is no traffic. Cross Johnston Street here. Proceed with caution across the rails." Once across, the app instructs you to pivot right and continue east along Johnston Street, traffic to your right. "Shops with red corrugated siding are on your left, and large cedar trees mark your approach."\
](else:)[\
You cross the street, carefully maneuvering over the old trolley track. Turning right,(if: $mobility is 1)[you move carefully along the uneven brick path, mindful of the raised roots catching at your mobility device. You pass by a series of shops and dodge pedestrians moving into the path of travel, focused on their recent purchases or their phones.](else:)[you pass a series of small galleries and stores, marked by the iconic red corrugated walls, matching the design of the nearby Public Market. A line of taxi sit idling and waiting to take away the last of the island's visitors and ferry travellers. ]]
(link: "Continue...")[(show: ?fleet2CarveFirst3)(hide: ?fleet2CarveFirst2)]](fleet2CarveFirst2|\
[\
As you leave the shops behind, the cedar trees to your left signal you’re nearing the Carving Shed.\
(if: $deaf is 0)[A [|inventory>[faint]]<faint| breeze rustles through the branches. ]\
(if: $anosmic is 0)[\
[\
[]<italicNote|The scent of cedar lingers in the cool air. []<italicNoteEnd|\
]<italic|\
]\
(if: $blind is 1)[Your app buzzes: "Carving Shed ahead. You’ve reached your destination."](else:)[You arrive at the Carving Shed, marked by two large carved welcome posts at the entrance.]
<!-- Arrival at the destination -->
(link: "Continue to " + ($locationLabels's $location))[
(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: $location)]](fleet2CarveFirst3|]\
<!-- Traveling from Carving Shed to FLEET -->\
(else-if: $lastLocation is "carvingShed")[\
(if: (history:) contains $location)[(link: "Skip travel description")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: $location)]
]\
[You leave the Carving Shed, heading along the path west towards the shops. Even after [|inventory>[dark]]<dark|, there are way more people around here. (if: $blind is 1)[The wayfinding app buzzes: "Continue along the path, on the right of Johnston Street. Large cedar posts are spaced out on your left, and shops are on your right. You are approaching an area where a railing on the right will jut into the pedestrian path."]\
(if: $mobility is 1)[You carefully move along the uneven path where tree roots have pushed up the bricks from below.]\
(if: $blind is 0)[A line of taxi sit idling and waiting to take away the last of the island's visitors and ferry travellers. The shops to your right are marked by red corrugated siding, matching the design of the nearby Public Market. You pass in front of the cluster of small galleries and stores.] \
(if: $anosmic is 0)[\
[\
[]<italicNote|The [|inventory>[faint]]<faint| smell of incense lingers here. []<italicNoteEnd|\
]<italic|\
]
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?CarveA)(show: ?CarveB)]]<CarveA|\
[\
(if: $location is "kids")[\
[<!--Path to Kids 1--!>\
The brick path becomes [|inventory>[flat]]<flat| concrete(if: $blind is 1)[. Your wayfinding app buzzes for you to stop and pivot: "Not an official crosswalk; there is no traffic. Cross Johnston Street here. Proceed with caution across the rails."](else:)[, and while the road is not marked, an obvious crossing leads from Johnston Street to the [|inventory>[dark]]<dark| arcade through the Chain and Forge building, looming to your left. Through the open corridor, you glimpse the FLEET trailer and the plaza beyond.]
(if: $mobility is 1)[You cautiously navigate across the trolley rails, slowing to avoid catching your mobility device or tripping.]\
(else:)[You step carefully across the street, stepping over the old trolley rails and dodging passing cyclists and pedestrians.]
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?Carve2F1)(show: ?Carve2F2)]\
]<Carve2F1|\
[<!--Path to Kids 2--!>\
You pass through through the corridor, feeling (if: $deaf is 1 and $paralyzed is 0))[the air [|inventory>[warm]]<warm| slightly](else:)[the change in sound as your steps echo slightly] within the arcade.\
(if: $blind is 1)[The app vibrates: "Pass through the arcade and turn left to leave the Chain and Forge Plaza. The FLEET trailer is to your right." The app buzzes, guiding you down Anderson Street.]\
(else:)[You return to the Chain and Forge plaza, passing by the FLEET trailer, where Kay bustles about inside. ]
(link: "Continue...")[(show: ?fleet2kids1)(hide: ?CarveB)]\
](Carve2F2|\
]<!--End of Path to Kids--!>\
(else:)[\
[The brick path becomes [|inventory>[flat]]<flat| concrete marking the path towards the market, or if you were otherwise inclined, the path through the Chain and Forge building back to the FLEET trailer.
(link: "Continue...")[(show: ?chainMarket1)(hide: ?CarveB)]\
]<Carve2Market|]\
](CarveB|\
]\
<!-- Traveling to Carving Shed -->\
(else:)[\
<!-- Chaining unseen passage -->\
[\
<!-- Traveling kids/Fleet to Carving Shed -->\
(if: $lastLocation is "kids")[\
[You navigate the open plaza and pass through an arcade bisecting the Chain and Forge Building(if: $deaf is 1)[, feeling the air cool slightly as you pass through the corridor](else:)[, listening as your steps echo lightly within the enclosed space].
On the other side, you find yourself on Johnston Street.
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?F2Carve)(show: ?F2Carve2)]]<F2Carve|\
[\
(if: $blind is 1)[\
The app vibrates: "Not an official crosswalk; there is no traffic. Cross Johnston Street here. Proceed with caution across the rails." Once across, the app instructs you to pivot right and continue east along Johnston Street, traffic to your right. "Shops with red corrugated siding are on your left, and large cedar trees mark your approach."\
](else:)[\
You cross the street, carefully maneuvering over the old trolley track. Turning right,(if: $mobility is 1)[you move carefully along the uneven brick path, mindful of the raised roots catching at your mobility device.]\
(else:)[you pass a series of small galleries and stores, marked by the iconic red corrugated walls, matching the design of the nearby Public Market.]]
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?F2Carve2)(show: ?F2Carve3)]](F2Carve2|\
]\
<!-- Traveling Market to Carving Shed -->\
(else:)[\
[\
(if: $blind is 1)["Shops with red corrugated siding are on your left, and large cedar trees mark your approach."]\
(else:)[A line of taxi sit idling and waiting to take away the last of the island's visitors and ferry travellers. On your left, you pass a series of small galleries and stores, marked by the iconic red corrugated walls, matching the design of the nearby Public Market.]
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?F2CarveB)(show: ?F2Carve3)]]<F2CarveB|\
]\
[\
As you leave the shops behind, the cedar trees to your left signal you’re nearing the Carving Shed.\
(if: $deaf is 0)[A [|inventory>[faint]]<faint| breeze rustles through the branches.]\
(if: $anosmic is 0)[\
[\
[]<italicNote|The scent of cedar lingers in the cool air. []<italicNoteEnd|\
]<italic|\
]\
(if: $blind is 1)[Your app buzzes: "Carving Shed ahead. You’ve reached your destination."](else:)[You arrive at the Carving Shed, marked by two large carved welcome posts at the entrance.]
<!-- Arrival at the destination -->
(link: "Continue to " + ($locationLabels's $location))[
(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: $location)]\
](F2Carve3|\
](chainCarving1|\
]{(set: $helpDialogue to "Read, collect words, click links, continue to (print: ($locationLabels's $location)).")}\
<!-- Traveling from Community Centre to Emily Carr -->\
(if: $lastLocation is "commCentre")[\
(if: (history:) contains $location)[\
(link: "Skip travel description")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')
(go-to: $location)
]
]\
[\
You leave the Community Centre through the side entrance, heading west along the path back toward Cartwright Street. The street is cluttered with parked cars, leaving little room to walk.
(if: $blind is 1)[\
The wayfinding app buzzes: "Keep right. Rails run parallel to Cartwright Street." The haptics are triggered as you approach a crosswalk. The app continues, "No traffic detected. Caution, embedded rails. You have arrived at Railpur Park at the entrance of Railspur alley in the Artist Quarter." \
]\
(else:)[\
Following the old trolley rails east, you come to a white crosswalk where the tracks crisscross across the street. Carefully stepping over them, you arrive at Railspur Park, its children’s playground sitting quiet in the evening light.
]\
(if: $anosmic is 0)[\
[\
[]<italicNote|The [|inventory>[earthy]]<earthy| scent of wet mulch and fallen leaves clings to the cool air. []<italicNoteEnd|\
]<italic|\
]
(link: "Continue...")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')
(hide: ?commE1)(show: ?commE2)
]\
]<commE1|\
[\
(if: $blind is 1)[\
The app directs you around a mulsh covered playground and between an alley\
(if: $deaf is 0)[\
, your steps echoing [\
[|inventory>[faintly]]<faint|\
]<faintly| \
]\
as you pass a cutaway into an unground parking garage under the west building. \
(if: $deaf is 0)[\
The sound changes as you pass beyond the alley. \
]\
The wayfinding app buzzes at you to stop.\
]\
(else:)[\
To the east lies the Artisan Quarter—also known as Railspur Alley—now still and empty, with merchants and artisans having closed shop for the night. You move left, facing north, and follow the path between two buildings: a tall grey structure with underground parking below, \
(if: $deaf is 0)[\
where your steps echo [\
[|inventory>[faintly]]<faint|\
]<faintly|, \
]\
and a squat blue and yellow art shop, locked for the evening. As you path, you can peer in the window and see many rows of pre-stretched canvases ready for sale.\
]
(link: "Continue...")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')
(hide: ?commE2)(show: ?commE3)
]\
](commE2|\
[\
(if: $blind is 1)[\
The wayfinding app states, "A wide crosswalk ahead. No traffic detected. Caution, embedded rails." When you complete the crossing, the haptic vibration directs you to turn right. "Keep the building to your left," the app continues, "traffic is to your right, divided by a series of path-parallel [|inventory>[thick]]<thick| wooden posts, installed two metres apart."\
](else:)[\
A wide crosswalk across Johnston Street leads you to the old Emily Carr University building, its windows plastered with vinyl signs announcing a future arts and innovation hub. Crossing the street, you turn right to follow the footpath along the building, [|inventory>[thick]]<thick| wooden posts and a string of lights illuminating the way.\
]
(link: "Continue...")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')
(hide: ?commE3)(show: ?commE4)
]\
](commE3|\
[\
(if: $blind is 1)[\
The app's haptics inform you that you have reached your next destination. The building ends in a corner, and you are directed to follow it left. Turning, the app sounds, "Caution, hazards below. Bed of rocks line side of building." You step away and the app guides you along the [|inventory>[atmospheric]]<atmospheric| corridor\
(if: $deaf is 0)[\
, your steps echoing [|inventory>[eerily]]<eerily| within the walkway\
]. \
](else:)[\
The path narrows as you enter the breezeway between wings of the Emily Carr North Campus. The covered corridor feels strangely [|inventory>[atmospheric]]<atmospheric|, a dim ambiance settling as your steps echo [|inventory>[eerily]]<eerily|.\
]
<!-- Arrival at the destination -->
(link: "Continue to " + ($locationLabels's $location))[\
(masteraudio: 'stopall')(track: 'woosh', 'play')
(go-to: $location)
]\
](commE4|\
]\
<!-- Traveling from Emily Carr to Community Centre -->
(else:)[\
[\
(if: (history:) contains $location)[\
(link: "Skip travel description")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')
(go-to: $location)
]\
]\
You leave the [|inventory>[dark]<dark|corridor of the old Emily Carr building\
(if: $deaf is 0)[\
, the buzzing sound still ringing [\
[|inventory>[faintly]]<faint|\
]<faintly| in your ear\
]. \
(if: $blind is 1)[\
The wayfinding app buzzes gently: "Follow the building right, moving with traffic parallel to Cartwright street. You are seperated from vehicle traffic by [|inventory>[thick]]<thick| wooden posts, spaced two metres apart." You continue until the app buzzes for you to stop. "Turn left 90 degrees, facing street. No traffic detected. Cross with caution, embedded rails ahead." The haptics pulse as you complete the crossing.\
](else:)[\
Turning right onto Johnston Street, you move along with the traffic, the university building to your right.\
]
(link: "Continue...")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')
(hide: ?commE5)(show: ?commE6)
]\
]<commE5|\
[\
(if: $blind is 1)[\
The app guides you forward down a short alley and into a plaza. "You have entered Railspur Park, east of Railspur Alley, the island's Artisan Quarter. The Alley is closed for the evening. Move forward, following the park's woodlined border." \
(if: $anosmic is 0)[\
[\
[]<italicNote|The smell of wet mulsh lingers.[]<italicNoteEnd|\
]<italic|\
]\
The path is crossed with trolley rails where a switch and turn must have once lined this path. You navigate through, the app directing you back to another road and vibrating for you to stop.\
](else:)[\
Reaching the wide crosswalk at the building’s entrance, you cross and proceed south, following a path between the squat blue and yellow building and the tall grey structure with underground parking visible through a gap beneath it. Passing through the alley, you arrive at Railspur Park. Its playground sits [|inventory>[dark]]<dark| and silent near the [|inventory>[soft]]<soft| glow of lampposts, lighting the way but not inviting play. To your right is the Artisan Quarter, known as Railspur Alley, its shops and studios closed for the night.\
]
(link: "Continue...")[\
(masteraudio: 'stopall')(track: 'woosh', 'play')
(hide: ?commE6)(show: ?commE7)
]\
](commE6|\
[\
(if: $blind is 1)[\
"You have arrived at Cartwright," the wayfinding app informs you. "No traffic detected, cross with caution. Trolley rails ahead." Again, you cross the street, and follow its directions to turn right, narrowly avoiding parked cars that jut out irratically along the path. When you near in front of the False Creek community centre, the app again rings to confirm your arrival. You are directed left and through the front doors.\
](else:)[\
Continuing past the park, you reach Cartwright Street. A crosswalk guides you across, but the sidewalk is broken by parked cars and intersecting trolley tracks. You weave carefully through the obstacles and head toward the [|inventory>[bright]]<bright| lights of the Community Centre. Turning left off Cartwright, you enter the building, greeted by \
(if: $paralyzed is 0)[\
[|inventory>[warm]]<warm| air and ]\
glowing interior lights.\
]
<!-- Arrival at the destination -->
(link: "Continue to " + ($locationLabels's $location))[\
(masteraudio: 'stopall')(track: 'woosh', 'play')
(go-to: $location)
]\
](commE7|\
]{(set: $helpDialogue to "Read, collect words, click links, continue to (print: ($locationLabels's $location)).")}\
<!-- Traveling from Carving Shed to Old Emily Carr Building -->\
(if: $lastLocation is "carvingShed")[\
(if: (history:) contains $location)[(link: "Skip travel description")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: $location)]
]\
[(if: $blind is 1)[\
The wayfinding app buzzes regularly, guiding you along the uneven brick sidewalk as you leave the Carving Shed and turn left. It offers helpful prompts:
“Stay left. Ivy-covered walkway on the left leads to gates at a commercial work site. Use caution and follow haptic directions."](else:)[You leave the Carving Shed, facing Johnston Street. Turning left, you walk against traffic, following a squat wall [|inventory>[thick]]<thick| with ivy. The area feels open here, with traffic from Old Bridge Street feeding into Johnston Street, creating a chaotic merge of vehicles. To your left, Anderson Street splits [ [|inventory>[sharply]]<sharp|]<sharply|, curving southwest.]
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?carveE1)(show: ?carveE2)]]<carveE1|\
[(if: $blind is 1)[\
Occasionally, you feel the subtle bump of embedded trolley rails underfoot, but your focus stays on the app as the path lacks clear sidewalk borders or walls. A steady breeze brushes against you (if: $deaf is 0)[, carrying relentless noise—grinding sounds mixed with the clang of metal and passing cars].](else:)[\
The ivy-covered wall becomes a metal gate enclosing the Ocean Construction lot, its expanse filled with cement trucks and silos. The striking public art display—yellow-faced figures in streetwear—wraps the silos, attracting lingering tourists taking photos. With no sidewalk to guide you, you weave between slow-moving vehicles and distracted tourists amongst [|inventory>[rough]]<rough|, weathered concrete as Johnston Street spills out from between the old Emily Carr campus buildings.]\
(if: $anosmic is 0 or $ageusic is 0)[\
[\
[]<italicNote|A breeze carrying a faintly [|inventory>[salty]]<salty| tang drifts from the direction of the construction site, a mixture of False Creek with the dusty scent of disturbed concrete. []<italicNoteEnd|\
]<italic|\
]
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?carveE2)(show: ?carveE3)]](carveE2|\
[(if: $blind is 1)[\
The app vibrates again:
“Ten metres ahead, building on your left. You are approaching the North Campus building of the former Emily Carr University of Art and Design.”
The path becomes more [|inventory>[smooth]]<smooth|, the bricks more level (if: $deaf is 0)[, and the noise fades as you move between the buildings.] The app continues:
“Keep the building to your left. Traffic is on your right, separated by a series of path-parallel [|inventory>[thick]]<thick| wooden posts spaced two metres apart.”](else:)[\
Soon, you walk alongside the old, abandoned Emily Carr University building. A short distance further, you come upon a crosswalk heading north across Johnston Street. You ignore it, continuing along the footpath that traces the length of the building. [|inventory>[thick]]<thick| wooden posts and a string of lights create a boundary between you and the road, lighting your way.]
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?carveE3)(show: ?carveE4)]](carveE3|\
[(if: $blind is 1)[\
As the haptics alert you, you reach a corner, and the app instructs:
“Turn left. Caution: hazards below. A bed of rocks lines the edges of the building.”
You adjust your path, stepping clear of the rocks, and follow the app’s prompt along a covered corridor (if: $deaf is 0)[, your steps echoing [|inventory>[eerily]]<eerily| within the enclosed space].](else:)[\
At last, you reach the covered corridor passing through the old Emily Carr building. (if: $deaf is 1)[The cavernous space feels [|inventory>[heavy]]<heavy|, pressing against your senses](else:)[The [ [|inventory>[darkness]]<dark|]<darkness| feels cavernous, your footsteps echoing in the [|inventory>[eerie]]<eerie| quiet]. But the map confirms that this path will guide you through to the other side, opening onto the False Creek pier.]
<!-- Arrival at the destination -->
(link: "Continue to " + ($locationLabels's $location))[
(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: $location)]](carveE4|
]\
<!-- Traveling from Old Emily Carr Building to Carving Shed -->\
(else:)[\
(if: (history:) contains $location)[(link: "Skip travel description")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: $location)]
]\
[\
(if: $blind is 1)[\
The wayfinding app buzzes steadily as you exit the covered corridor of the old Emily Carr building and merge right onto the main path. It prompts:
“Follow the building—old Emily Carr North Campus.”
As you trace the edge of the building, the app continues:
“Path-parallel [|inventory>[thick]]<thick| wooden posts, spaced two metres apart, run along the left. Traffic flows alongside the posts.”](else:)[\
Leaving the [|inventory>[dark]]<dark| corridor of the old Emily Carr building, the lingering buzz from the sound challenge still hums [ [|inventory>[faintly]]<faint|]<faintly| in your ear. You turn right onto Johnston Street, moving with the flow of traffic, the old university building to your right.]
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?carveE5)(show: ?carveE6)]]<carveE5|\
[\
(if: $blind is 1)[\
As the end of the campus approaches, the app buzzes again, signalling:
“Continue straight along Johnston Street. No sidewalk ahead. Open, shared pedestrian and vehicle road. Embedded trolley rails and uneven pavement—proceed with caution.”
The texture beneath your feet shifts. The uniform brick gives way to crisscrossed trolley tracks and [|inventory>[rough]]<rough| chunks of asphalt, made trickier by pedestrians walking closely past you on either side. (if: $deaf is 0)[The soundscape also shifts—the noise of grinding metal and passing cars blends with chatter and [|inventory>[distant]]<distant| city sounds as you move into a more open part of the island].](else:)[\
As you pass the building’s front entrance, a sign announces the future home of the Arts and Innovation Hub. There is an LED string that spans the building's width, installed as if it were an electrocardiogram, the light moving in a slow, [|inventory>[sparkly]]<sparkly| pulse on the otherwise abandoned building. Ahead, a wide crosswalk stretches across Johnston, leading south between two buildings, but you ignore it and continue along Johnston Street.]
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?carveE6)(show: ?carveE7)]](carveE6|\
[\
(if: $blind is 1)[\
The app updates:
“Approaching Ocean Construction lot. Service gate and driveway to your right. No traffic detected. Continue straight.”
You press on, relieved as the brick path evens out beneath your feet. The app buzzes:
“Follow the ivy-covered wall to your right.”](else:)[\
The sidewalk ends as you reach the building’s edge, and the road becomes a jumble of intersections where Old Bridge Street feeds into Johnston before [ [|inventory>[sharply]]<sharp|]<sharply| curving southwest down Anderson Street. From here, you can see the Chain and Forge Plaza and the [|inventory>[distant]]<distant| FLEET trailer.]
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?carveE7)(show: ?carveE8)]](carveE7|\
[\
(if: $blind is 1)[\
The [|inventory>[soft]]<soft| brush of ivy grazes your arm as you continue, feeling the path grow uneven again beneath your steps.
“Approaching your destination. Carving Shed ahead—veer right between cedar trees. Caution: uneven brick due to root growth.”
The app falls silent, leaving you to concentrate as you maneuver over the uneven ground and through the narrow space between the wall and the cedar trees. A final buzz announces your arrival. You pause to catch your breath, breathing in the stillness here.](else:)[\
To your right, the Ocean Construction lot fills your view, with more tourists snapping photos of the art-wrapped silos. As you continue past the construction yard, the metal gate gives way to a squat wall covered in [|inventory>[dense]]<dense| ivy. Soon, the pavement beneath your feet becomes uneven, as roots from towering cedar trees rise through the brick path. These trees mark the entrance to the Carving Shed.]
<!-- Arrival at the destination -->\
(link: "Continue to " + ($locationLabels's $location))[
(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: $location)
]](carveE8|
](set: $location to "FLEET")(go-to: "Review the map")You complete the sentence, (if: $blind is 1)[your phone reading it back to you.](else:)[the words themselves suspended within the floating, glowing form.] That certainly did something...
<!--1/5 sentence set, denial-->\
(if: _haunting is 1)[\
Your phone buzzes chaotically, as though flickering between haptic modes. A [|inventory>[chill]]<chill| brushes your neck, and the nearby lights dim, momentarily shuddering like a held breath.
(if: $blind is 1)[The Narrator describes the scene, "Your phantom takes on mass, albeit mostly light and shadow, but it becomes more substantal after connecting to your description. However, it expresses its gratitude by sulking like a petulant child, its back torwards you. It sticks its tongue out at the Narrator who in turn sthiks phizz phung ehought." The Narrator slurs as they also stick out their tongue. You shake your head. ](else:)[Then, it appears—a flicker of shadow on the edge of your vision. A translucent shape stirs in the air, sulking away from you. Its presence lingers, just out of reach, as if unwilling to be known. ](if: $paralyzed is 0)[You feel a [|inventory>[cold]]<cold| pull from the space it occupies, and your skin prickles with the knowledge: **something is here**. But, as quickly as it was felt, the disturbance fades—leaving only (if: $deaf is 1)[stillness behind](else:)[silence].]
]\
<!--2/5 sentence set, anger-->\
(else-if: _haunting is 2)[\
(if: $blind is 1)[The Narrator describes the scene, "The ghost turns inexplicably angry and hurls the glowing rectangle at the ground." (if: $paralyzed is 0)[You flinch as you feel the ground shake,]](else:)[The ghost hurls the glowing rectangle at the ground] with a [|inventory>[heavy]]<heavy| *thud* that reverberates in your bones. (if: $paralyzed is 0)[The air crackles as if charged with electricity, and y](else:)[Y]our phone buzzes—a chaotic crescendo rising, then stopping abruptly. (if: $blind is 0)[Lights flicker violently, and y](else:)[Y]our hair stands on end.
(if: $blind is 1)[The Narrator calls out, "]Before you can react, the ghost rushes you—an indistinct figure slicing through the air(if: $blind is 0)[(if: $paralyzed is 0)[, [|inventory>[cold]]<cold| as steel]].(if: $blind is 1)["] It passes through you(if: $paralyzed is 0)[, leaving your skin icy and your muscles tense, like biting into metal]. (if: $blind is 1)[The Narrator continues, "]Then it sulks, retreating with its back to you, shoulders hunched as if in silent protest.(if: $blind is 1)["]
]\
<!--3/5 sentence set, bargain-->\
(else-if: _haunting is 3)[\
(if: $blind is 1)[The Narrator describes the scene, "]The ghost materializes more fully, becoming more tangible... It stares at its own half-formed hands, almost in disbelief. With a mournful groan, it drops the tablet, which lands with a dull sound. The spirit falls to its knees, mumbling and pleading—not to you, but to something else unseen. It fades from view as if needing a private moment.(if: $blind is 1)["]
You take a step back(if: $paralyzed is 0)[, but the air becomes fridgid with your movement]. (if: $deaf is 1 and $paralyzed is 0)[A slight shift in the air suggests unseen movement.](else:)[The sound of fabric rustling follows you, and [|inventory>[soft]]<soft|, hesitant footsteps press close behind.] You sense it again—(if: $paralyzed is 0)[a [|inventory>[cold]]<cold| presence that clings to your back like a shadow, ]reminding you that **you are not alone**.
]\
<!--4/5 sentence set, depression-->\
(else-if: _haunting is 4)[\
(if: $blind is 1)[The Narrator describes the scene, "]The spirit now appears almost fully formed, with cracked fingers clutching the glowing tablet. Its face, once a blur, now reveals fragile features—a grimace stretched by sorrow. Tears shimmer along its cheeks, and its lips tremble as though struggling to speak.
(if: $blind is 1)[It turns away embarassed to be narrated as it begins to weep and](else:)[It notices your gaze and] pulls a tattered cowl over its head, collapsing into a hunched figure that shivers beneath gauzy sheets. (if: $deaf is 1)[(if: $blind is 1)[The fabric shudders."](else:)[You see the fabric shudder as if the form within insensibly wept.]](else:)[As you move, the sound of muffled sobs trails behind you—a sorrowful weeping that floats on the breeze like a song you can’t quite catch.(if: $blind is 1)["]]
]\
<!--5/5 sentence set, acceptance-->\
(else:)[\
(if: $blind is 1)[The Narrator describes the scene, "]With the final sentence set, the ghost’s form shifts again, but this time it feels different—lighter, warmer, almost playful. The glowing rectangle it held floats upward, merging with the spirit’s hands. (if: $deaf is 1)[The figure’s expression shifts, playful and light, as if it was about to share a secret—then it vanishes into thin air.](else:)[A giggle flutters through the air, and the ghost bends down. In the next moment, the spirit vanishes.](if: $blind is 1)["]
The (if: $paralyzed is 0)[chill dissolves into an early autumn warmth, and the ]lights around you stop flickering, glowing steadily again. (if: $deaf is 1)[The warmth of human presence lingers and your arms erupt in a line of satisfied goosebumps.](else:)[The sounds of the island hum gently—traffic, conversations, and footsteps weaving together in perfect, soothing, living harmony.]
For the first time, you feel present—no longer haunted, no longer tethered to your task. Your pocket begins to quiver, the tactile map calling for your attention.
]\
<!--[[Return to map|Review the map]]--!>\
(link: "Return to map")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "Review the map")](if: $blind is 1)[The Narrator continues, "](if: _haunting is 0)[A glowing rectangle flickers into existence beside you, hovering just above the ground. (if: $blind is 0)[You squint and guess it's the equivalent of a spectral tablet. ]No stranger than the idea of being haunted, you concentrate on the (if: $blind is 1)[idea of a ]glowing screen and an incomplete sentence with blanks flashes.(if: $blind is 1)["]]\
(else-if: _haunting >=2)[Your spectre raises the tablet-like device once more. Its form is [|inventory>[sharp]]<sharp|, becoming more distinct with every sentence you feed it.(if: $blind is 1)["]]\
(else:)[The tablet-like shape reappears, its edges glowing [ [|inventory>[faintly]]<faint|]<faintly|. The sentence on the screen pulses, demanding to be completed.(if: $blind is 1)["] This time, your ghost’s presence feels closer—more than just a shimmer on the edge of your perception.]{(set: $helpDialogue to "Read, collect words, click links, continue. Not accessible? Go back to menu and click game settings to change your access settings.")}\
(if: $blind is 1)[Following the pause is the [|inventory>[familiar]]<familiar| cadence of a text-to-speech narrator, using a clone of Kay's voice, speaks, “Hey there. Thanks for visiting.”
You ask Kay how they are doing but, after a moment with no response, you assume they are looking down and typing something new into their device.
After a short pause, the halting digital voice continues: “I don’t mean to alarm you, but it seems you have picked up two of the seasonal ghosts here on the island. Don’t worry, they’re easy to deal with, and there’s still some time before the open house begins.”]\
(else:)[You approach Kay and wave deliberately so as not to surprise them. They hold a finger to the air and then turn to face you. They wave back enthusiastically. (if: $ASL is 1)[They ask "YOU SIGN YOU?". You respond that you do, and they grin.
"COOL. THANK-YOU COME TONIGHT OPEN HOUSE EVENT.
FINISH SET-UP, NOT YET." They sign in an intermediate ASL/English sign, using mostly English grammar and mouth along, but do not speak. They look over your shoulder.
"GHOST THERE." They point at an empty space over your right shoulder. "YOU HAVE GHOST. YOU HELP THEM. I CONTINUE SET-UP EVENT. PAST, YOU HELP GHOST?](else:)[While mouthing with emphasis, they gesture something you assume is ASL but do not speak. Seeing your confusion, they smile broadly and pull out their phone. They type:
"Hey! It's great you came. We're still setting up for the event. Sorry about the haunting, but you can handle that while I prepare. It's too [|inventory>[cold]]<cold| just to be standing around."]]\
<!--[[Haunting?|Instructions]]--!>
(link: "Haunting?")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Instructions")]{(set: $helpDialogue to "Meet the dragon and decide to swallow the pearl (gain all inventory words), or give it back and continue collecting sensory words.")\
(set: _fly to 1)(set: $dragon to 3)\
(set: $descriptList to (a: "active", "atmospheric", "bright", "briny", "chaotic", "chill", "cold", "contained", "crisp", "dark", "dazzling", "delightful", "delicate", "dense", "distant", "distinctive", "drone", "dry", "earthy", "eerie", "elusive", "faint", "faded", "familiar", "festive", "fine", "flat", "flutter", "fragrant", "hard", "heavy", "hilly", "incessant", "insistent", "invigorating", "lively", "luscious", "mechanical", "metallic", "mournful", "musty", "mysterious", "nostalgic", "overpowering", "playful", "precious", "precise", "rattling", "raw", "reactive", "refreshing", "resinous", "rhythmic", "rotten", "rough", "salty", "sharp", "sleek", "slick", "smoky", "smooth", "soft", "soothing", "sparkly", "stale", "stimulating", "swampy", "swollen", "thick", "unrushed", "vibrant", "warm"))}\
[You continue through the corridor, expecting to reach the wooden beams covering the seawall path, but the ground shifts underfoot—a soft, bouncing surface like a rubber mat. You bend your knees, adjusting to the change just as your body lifts weightlessly into the air. (if: $paralyzed is 0)[The air warms as you rise, and your body unwinds into the embrace of the ascent.]
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?dragon1)(show: ?dragon2)]]<dragon1|\
[\
The Narrator speaks with reverence:
“You rise, carried by the thoughts of the Great Dragon Fuznglong. He has awaited your arrival, here at one of his many hoards at the edge of the living world."
A pause follows, as if the Narrator holds a goblet to toast.
"Rejoice!"
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?dragon2)(show: ?dragon3)]](dragon2|\
[\
The Narrator continues:
“His sinuous body shimmers with iridescent scales that absorb light, casting glistening patterns. His long whiskers sway with his majestic breath, and onyx claws sink into a bed of gems and precious stones, their flat, rounded surfaces shifting gently beneath him. The dragon’s hoard [\
|sparkles>[\
|inventory>[sparkles]\
]\
]<sparkly| in the dim light, reflecting every subtle shift.”
His jade eyes blink slowly, deliberate and all-seeing. The dragon’s demeanor exudes patience and authority, commanding the earth and its treasures."
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?dragon3)(show: ?dragon4)]](dragon3|\
[\
(if: $deaf is 0)[A chorus hums softly, weaving sound through the cavern.]\
(if: $anosmic is 0)[\
[\
[]<italicNote|The air is fragrant with spices and garlic[]<italicNoteEnd|\
]<italic|\
(if: $ageusic is 0)[, evoking memories of feasts on your tongue]\
]\
(else:)[It feels like the warmth of a bustling kitchen]. Wherever you are, it is rich and inviting. \
(if: $deaf is 0)[A low chuckle vibrates through the air]\
(else:)[A pecular rumble tickles your ear] and causes you to smile in response.
"Welcome, traveler."
The words resonate within your mind, more a shared understanding than a voice.
“Thank you for guarding my wayward treasure. In doing so, you honor your ancestors and the earth. If you wish, I will reward you now.”
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?dragon4)(show: ?dragon5)]](dragon4|\
[\
The Narrator adopts a dramatic tone:
“The Great Dragon Fuznglong offers you wisdom. To accept, swallow the pearl you carry. If not, return it to the hoard, where it will await the care of the next shepherd.”
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?dragon5)(show: ?dragon6)]](dragon5|\
[\
The Narrator continues in his usual tone:
“Beside you, your haunted spirit sneers at the dragon, but the epic creature merely smiles. Two figures in green robes and golden cowls glide over the stones, offering folded clothing to your ghost, who turns away. They turn and look at you, their glowing eyes curious yet calm. The scene stills as all present await your choice.”
(link: "Return the dragon's pearl")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?dragon6)(show: ?return1)]
(link: "Accept the dragon's gift (swallow the pearl)")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?dragon6)(show: ?swallow1)]\
](dragon6|\
[\
You swallow the pearl, expecting discomfort, but it dissolves easily. (if: $ageusic is 0)[It leaves behind the complex taste of a rich roasted tea, with notes of caramel, and honey.] (if: $paralyzed is 0)[Your tongue rises reflexively, as if drinking a warm, silky drink (if: $ageusic is 0)[like sipping chocolate or mulled wine]. A comforting warmth spreads from your throat to your head, leaving you relaxed.] (else:)[Satisfaction settles within you like peace in still water.]
Words flow gently into your mind:
“Now it is time to continue.”
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?swallow1)(show: ?swallow2)]](swallow1|\
[\
(if: _fly is 1)[You feel gravity return and your body falls. Instinctively, your arms flail, but unspoken words urge you to trust. (if: $paralyzed is 0)[You relax, and your feet tap the ground lightly as you land.]](else:)[\
(if: $anosmic is 0)[\
[\
[]<italicNote|A warm breath of spicy air brushes past, then shifts abruptly into a salty breeze from False Creek.[]<italicNoteEnd|\
]<italic|\
](else:)[A (if: $paralyzed is 0)[warm] blast of air whips past your head and you realize you are no longer in the presence of the dragon.]]
You regain your bearings at the edge of the corridor between the Emily Carr North Campus buildings. Turning back toward the dragon’s lair, a (if: $paralyzed is 0)[cold](else:)[strong] gust (if: $deaf is 0)[and the squawk of a seagull] greet(if: $paralyzed is 1 or $deaf is 1)[s] you. With a shiver, you step back into the corridor.
(link: "Continue...")[(go-to: "emilyCarr")]](swallow2|\
[\
(set: _fly to 0)
You hesitate, holding the pearl out in your hand. It feels absurd— the cartoonish image of a giant set of claws plucking the tiny bean-shaped sphere from your palm. You snort, catching yourself mid-laugh at the thought of giggling before a fire-breathing creature. The dragon chuckes as it shares your thought.
You feel yourself slowly descending, a not altogether unpleasant but still unsettling feeling, until you feel your feet touch the ground, the precious stones of the creatures bed trembling(if: $deaf is 0)[, their surfaces clacking together like a chorus of affirming giggles] in response to the creatures myrth.
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?return1)(show: ?return2)]](return1|\
[\
The Narrator says,
"One of the well dressed phantoms moves to face you, and cups their fingers into a bowl. They hold it near your torso, and wait."
(link: "Change your mind (swallow the pearl)")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?return1)(show: ?swallow1)]
(link: "Drop the dragon's pearl")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?return2)(show: ?return3)]\
](return2|\
[\
You release the pearl(if: $deaf is 1)[, and wait. Nothing happens.](else:)[, and hear it clatter against the stones, a skittering chatter as it displaces the flat gems and bounces once before settling.] You clear your throat and softly call out, but in answer you get a loud sqwak from a seagull, landing far too close for comfort, intent on scoring a crumb or undefended pastry. You shoo it away and realize you have either been transported back to the shores and seawall of False Creek, your refusal to swallow the pearl the signal to return you home, or you have been released from a hallousination that has had you talking to the night sky for the past 10 minutes. Either way, you turn back towards the echoy corridor bisecting the North Campus of what was once Emily Carr University, your wayfinding app buzzing helpfully to orient yourself south and through.
You release the pearl (if: $deaf is 1)[and wait.](else:)[hearing it bounce and clatter among the stones before settling.] A seagull (if: $deaf is 1)[squawks](else:)[startles you], landing far too close, hoping for crumbs. You shoo it away, realizing you’ve either been transported back to False Creek or snapped from a vivid hallucination.
Turning toward the corridor, your wayfinding app buzzes to orient you southward and back out into the street.
(link: "Continue...")[(go-to: "emilyCarr")]](return3|{(set: $helpDialogue to "Follow the pearl (using the map), or not! It's optional.")}\
(if: visits is 1)[(set: $dragon to 2)(show: ?stone)](else:)[(hide: ?stone)(show: ?pearl)]\
[You pull out the cold, round stone. You extend your sense and slowly move your fingertips over the slippery surface. It feels polished, and flawless at first touch, but after examination, you notice small striations and pocks which cause you to move away from your original assessment. It is also lighter, and while dense, it feels as if the outside was a shell or coating, rather than a polished surface.
A pearl?
The Narrator seems pleased, "Indeed, you hold a pearl between your fingers. In response to your successful detective work, the seabead begins to glow."
(link: "Continue...")[(masteraudio: 'stopall')(track: 'twinkle', 'play')(hide: ?stone)(show: ?pearl)]]<stone|
[\
You feel a tiny tremour in the pearl and then a pull. Still held between your fingers, you soften your elbow and feel the sphere gently tug at the air, as if pulled like a magnet in a specific direction.
The Narrator continues, "You are curious as to where the pearl might be leading you. Your personal spirit has also taken note, looking from your fingers and then in the direction to which it is drawn\
{
(if: $location is "FLEET")[. Your hand points Northeast of your location at (print: ($locationLabels's $location)).]\
(else-if: $location is "kids")[. Your hand points Northeast of your location at (print: ($locationLabels's $location)).]\
(else-if: $location is "commCentre")[. Your hand points North of your location at (print: ($locationLabels's $location))]\
(else-if: $location is "market")[. Your hand points East of your location at (print: ($locationLabels's $location))]\
(else-if: $location is "carvingShed")[. Your hand points East of your location at (print: ($locationLabels's $location))]\
(else-if: $location is "emilyCarr")[- directly ahead and through the corridor."]\
(else:)[- directly ahead and through the corridor.]
}"\
(unless: $location is "emilyCarr")[ You check the Narrator's description against your tactile map."]
<!--[[Back to ghosts abound|ghosts abound]]--!>\
(if: $last is "ghost abound")[(link: "Review your map")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "ghosts abound")]]\
(else:)[\
<!--[[Meet the dragon]]--!>\
(if: $last is "emilyCarr")[(link: "Follow the pearl forward")[(masteraudio: 'stopall')(track: 'fire', 'play')(go-to: "Meet the dragon")]]\
<!--[[Review the map]]--!>\
(else:)[(link: "Review the map")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: "Review the map")]]
]](pearl|(if: (history:) contains "desc-scentSticker" and "desc-touchSticker" and "desc-tasteSticker" and "desc-sightSticker" and "desc-soundSticker")[\
<img src="./images/FLEET-tactile-map-pre-scratch.png" alt: "visual representation of tactile map with labels" style="width: -webkit-fill-available;">]\
(else:)[\
<img src="./images/FLEET-tactile-map-scratched.png" alt: "visual representation of tactile map with symbols" style="width: -webkit-fill-available;">]
<!--[[desc-map]]--!>\
(link: "Map visual descripion (toggle)")[(masteraudio: 'stopall')(track: 'paper', 'play')(replace: ?map)[(display: "desc-map")]]{(set: $helpDialogue to "Read, collect words, click links, continue to (print: ($locationLabels's $location)).")}\
<!-- Intial Travel from FLEET to Carving Shed -->\
(if: $lastLocation is "FLEET")[\
[You move from the FLEET trailer, consulting the tactile map. It directs you towards the Chain and Forge building for which the surrounding plaza takes it's name and through a wide but shadowed arcade that leads through and out to Johnston street.
(link: "Continue...")[(show: ?fleet2MarketFirst2)(hide: ?fleet2MarketFirst)]]<fleet2MarketFirst|\
[\
(if: $blind is 1)[\
The app vibrates: "Not an official crosswalk; there is no traffic. Cross Johnston Street here. Proceed with caution across the rails." Once across, the app instructs you to pivot left and continue west along Johnston Street, traffic to your left. "Shops with red corrugated siding are on your right, and you are approaching a large red building that was once a giant barn."\
](else:)[\
You cross the street, carefully maneuvering over the old trolley track. You turn left and pass a series of small galleries and stores, marked by the iconic red corrugated walls, matching the design of the nearby Public Market.]
(link: "Continue...")[(show: ?fleet2MarketFirst3)(hide: ?fleet2MarketFirst2)]](fleet2MarketFirst2|\
[\
Even though the market is closed, the area is still [|inventory>[lively]]<lively| with people passing through. (if: $blind is 0)[A line of taxi sit idling and waiting to take away the last of the island's visitors and ferry travellers.
The Public Market building, once a red barn, looms large ahead.] Instead of entering the market, you (if: $blind is 1)[are directed to ]take the wide path that runs between the market and the Arts Club Theatre.
(link: "Continue...")[(show: ?fleet2MarketFirst4)(hide: ?fleet2MarketFirst3)]](fleet2MarketFirst3|\
[\
This path opens into the courtyard behind the market, where people gather, rushing to catch the last ferries leaving the island for the night. The ferry dock is just beyond, the boats bobbing gently along False Creek.
<!-- Arrival at the destination -->
(link: "Continue to " + ($locationLabels's $location))[
(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: $location)]](fleet2MarketFirst4|]\
<!-- Traveling from Public Market to Chain and Forge -->\
(else-if: $lastLocation is "market")[\
(if: (history:) contains $location)[(link: "Skip travel description")[(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: $location)]
]\
[\
[You stand in the courtyard behind the Public Market, facing the busy quay, where ferry passengers scramble to board the last boats of the night. The market building stands to your right, and the Arts Club Theatre looms to your left.
(link: "Continue...")[(show: ?market2Fleet2)(hide: ?market2Fleet1)]\
]<market2Fleet1|\
[\
You walk between these two buildings, leaving the quay behind and following the path that opens onto Johnston Street and Anderson Street. Even at this hour, people move in groups, chatting and weaving across the paths. \
(if: $anosmic is 0 or $ageusic is 0)[\
[\
[]<italicNote|The air here has a slightly [|inventory>[smoky]]<smoky| scent as the evening grill of a nearby restaurant is put to work, it's vents directed to attract anyone with undecided dinner plans... []<italicNoteEnd|\
]<italic|\
]
(link: "Continue...")[(show: ?market2Fleet3)(hide: ?market2Fleet2)]](market2Fleet2|\
[\
Passing a fire hydrant inconveniently placed in the center of the path, you approach the west shops, their red corrugated siding matching much of the market architecture. A line of taxi sit idling and waiting to take away the last of the island's visitors and ferry travellers. To your right, a path leads across an unofficial crosswalk to the Chain and Forge building. (if: $location is "kids")[You cross carefully, entering the cool, [|inventory>[dry]]<dry| through path that bisects the Chain and Forge building to arrive at the plaza and the FLEET trailer.
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?markChain1)(show: ?fleet2kids1)]]\
(else:)[You continue west along Johnston Street.
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?markChain1)(show: ?chainCarving1)]]](market2Fleet3|\
]<markChain1|\
]\
<!-- Traveling from Carving/Chain and Forge to Public Market -->\
(else:)[\
<!-- Traveling Fleet to Market -->\
[(if: $lastLocation is "kids")[You walk through the cool, [|inventory>[dry]]<dry| arcade of the Chain and Forge building and arrive at Johnston Street. Crossing the street, you step over the old trolley rails embedded in the road. Ahead of you are the west shops, their red corrugated walls blending with the surrounding market buildings.
Turning left, you dodge pedestrians and cyclists.\
]\
<!-- Traveling Carving to Market -->\
(else:)[(if: $blind is 1)[The Narrator describes your path, "]A line of taxi sit idling and waiting to take away the last of the island's visitors and ferry travellers. You pass by a cluster of shops, their red corrugated walls blending with the surrounding market buildings and finally arrive at the iconic Public Market.(if: $blind is 1)["]]
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?chainMarket1)(show: ?MARK1)]\
](chainMarket1|\
[\
(if: $blind is 1)[The Narrator continues, "]Even though the market is closed, the area is still [|inventory>[lively]]<lively| with people passing through. The Public Market building, once a red barn, looms large ahead.(if: $blind is 1)[". The wayfinding app buzzes and directs you to turn. The Narrator says, "] Instead of entering, you take the wide path that runs between the market and the Arts Club Theatre.(if: $blind is 1)["]
(link: "Continue...")[(masteraudio: 'stopall')(track: 'woosh', 'play')(hide: ?MARK1)(show: ?MARK2)]\
](MARK1|\
[\
(if: $blind is 1)[You feel the air change, and the Narrator says, "]Your path opens into the courtyard behind the market, where people gather, rushing to catch the last ferries leaving the island for the night. The ferry dock is just beyond, the boats bobbing gently along False Creek.(if: $blind is 1)["]
<!-- Arrival at the destination -->
(link: "Continue to " + ($locationLabels's $location))[
(masteraudio: 'stopall')(track: 'woosh', 'play')(go-to: $location)
]](MARK2|\
]#Development Log
Updated: December 1st, 2024
(link: "Back to Menu")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "The Haunted Island")]
1.0 - Launch
Full playthrough with non-visual players now possible (72/72 words) with secret level tested.
0.4 - Beta (it's available to the public at FLEET)
Full playthrough with sighted players now possible (72/72 words)
0.3 - A
Uploaded with audio + map files to live server.
Full playthrough with sighted players now possible (64/67 words)
0.2 - A
Fixed multiple spelling and grammar issues
New line breaks allow for words not to be squished together
0.1 - A (Open House Launch)
A playthrough is possible but there are some deadends
(link: "Back to Menu")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "The Haunted Island")]#The Hidden Word List
[<a href="#listEnd" class="skip-link" aria-label="Skip to Back Button">Skip to Back Button</a>]\
0. [hidden]<hidden1|<!--ATMOSPHERIC--!>\
0. [hidden]<hidden2|<!--BRIGHT/BRIGHTLY--!>\
0. [hidden]<hidden3|<!--BRINY--!>\
0. [hidden]<hidden4|<!--CHAOTIC - SEEDED AT START--!>\
0. [hidden]<hidden5|<!--CHILL/CHILLED/CHILLING--!>\
0. [hidden]<hidden6|<!--COLD--!>\
0. [hidden]<hidden7|<!--CONTAINED--!>\
0. [hidden]<hidden8|<!--CRISP--!>\
0. [hidden]<hidden9|<!--DARK/DARKNESS--!>\
0. [hidden]<hidden10|<!--DELICATE--!>\
0. [hidden]<hidden11|<!--DENSE--!>\
0. [hidden]<hidden12|<!--DISTANT--!>\
0. [hidden]<hidden13|<!--DRONE/DRONING--!>\
0. [hidden]<hidden14|<!--DRY--!>\
0. [hidden]<hidden15|<!--EARTHY--!>\
0. [hidden]<hidden16|<!--EERIE/EERILY--!>\
0. [hidden]<hidden17|<!--FAINT/FAINTLY--!>\
0. [hidden]<hidden18|<!--FADED/FADING--!>\
0. [hidden]<hidden19|<!--FAMILIAR--!>\
0. [hidden]<hidden20|<!--FESTIVE--!>\
0. [hidden]<hidden21|<!--FINE--!>\
0. [hidden]<hidden22|<!--FLAT--!>\
0. [hidden]<hidden23|<!--FLUTTER/FLUTTERING--!>\
0. [hidden]<hidden24|<!--HARD--!>\
0. [hidden]<hidden25|<!--HEAVY--!>\
0. [hidden]<hidden26|<!--HILLY--!>\
0. [hidden]<hidden27|<!--INSISTENT/INSISTENTLY--!>\
0. [hidden]<hidden28|<!--INVIGORATING--!>\
0. [hidden]<hidden29|<!--LIVELY--!>\
0. [hidden]<hidden30|<!--MECHANICAL--!>\
0. [hidden]<hidden31|<!--METALLIC--!>\
0. [hidden]<hidden32|<!--MUSTY--!>\
0. [hidden]<hidden33|<!--MYSTERIOUS--!>\
0. [hidden]<hidden34|<!--NOSTALGIC--!>\
0. [hidden]<hidden35|<!--PLAYFUL/PLAYFULLY--!>\
0. [hidden]<hidden36|<!--PRECISE--!>\
0. [hidden]<hidden37|<!--RATTLING--!>\
0. [hidden]<hidden38|<!--RAW--!>\
0. [hidden]<hidden39|<!--REFRESHING--!>\
0. [hidden]<hidden40|<!--ROUGH--!>\
0. [hidden]<hidden41|<!--SALTY--!>\
0. [hidden]<hidden42|<!--SHARP/SHARPLY--!>\
0. [hidden]<hidden43|<!--SLEEK--!>\
0. [hidden]<hidden44|<!--SLICK--!>\
0. [hidden]<hidden45|<!--SMOKY--!>\
0. [hidden]<hidden46|<!--SMOOTH--!>\
0. [hidden]<hidden47|<!--SOFT--!>\
0. [hidden]<hidden48|<!--SPARKLY--!>\
0. [hidden]<hidden49|<!--STALE--!>\
0. [hidden]<hidden50|<!--SWAMPY--!>\
0. [hidden]<hidden51|<!--SWOLLEN--!>\
0. [hidden]<hidden52|<!--THICK--!>\
0. [hidden]<hidden53|<!--UNRUSHED--!>\
0. [hidden]<hidden54|<!--VIBRANT--!>\
0. [hidden]<hidden55|<!--WARM/WARMLY--!>\
<!--Main Game--!>\
0. [hidden (bonus)]<hidden56X1|<!--ACTIVE--!>\
0. [hidden (bonus)]<hidden57X2|<!--DAZZLING--!>\
0. [hidden (bonus)]<hidden58X3|<!--DELIGHTFUL--!>\
0. [hidden (bonus)]<hidden59X4|<!--DISTINCTIVE--!>\
0. [hidden (bonus)]<hidden60X5|<!--ELUSIVE--!>\
0. [hidden (bonus)]<hidden61X6|<!--FRAGRANT--!>\
0. [hidden (bonus)]<hidden62X7|<!--INCESSANT--!>\
0. [hidden (bonus)]<hidden63X8|<!--LUSCIOUS--!>\
0. [hidden (bonus)]<hidden64X9|<!--MOURNFUL--!>\
0. [hidden (bonus)]<hidden65X10|<!--OVERPOWERING--!>\
0. [hidden (bonus)]<hidden66X11|<!--PRECIOUS--!>\
0. [hidden (bonus)]<hidden67X12|<!--REACTIVE--!>\
0. [hidden (bonus)]<hidden68X13|<!--RESINOUS--!>\
0. [hidden (bonus)]<hidden69X14|<!--RHYTHMIC--!>\
0. [hidden (bonus)]<hidden70X15|<!--ROTTEN--!>\
0. [hidden (bonus)]<hidden71X16|<!--SOOTHING--!>\
0. [hidden (bonus)]<hidden72X17|<!--STIMULATING--!>\
{
(if: $colourblind is 1)[(enchant: "hidden", (bg: white)+(text-color:black))](else:)[(enchant: "hidden", (text-color: red))]
(if: $descriptList contains "atmospheric")[(replace: ?hidden1)[atmospheric]]\
(if: $descriptList contains "bright")[(replace: ?hidden2)[bright]]\
(if: $descriptList contains "briny")[(replace: ?hidden3)[briny]]\
(if: $descriptList contains "chaotic")[(replace: ?hidden4)[chaotic]]\
(if: $descriptList contains "chill")[(replace: ?hidden5)[chill]]\
(if: $descriptList contains "cold")[(replace: ?hidden6)[cold]]\
(if: $descriptList contains "contained")[(replace: ?hidden7)[contained]]\
(if: $descriptList contains "crisp")[(replace: ?hidden8)[crisp]]\
(if: $descriptList contains "dark")[(replace: ?hidden9)[dark]]\
(if: $descriptList contains "delicate")[(replace: ?hidden10)[delicate]]\
(if: $descriptList contains "dense")[(replace: ?hidden11)[dense]]\
(if: $descriptList contains "distant")[(replace: ?hidden12)[distant]]\
(if: $descriptList contains "drone")[(replace: ?hidden13)[drone]]\
(if: $descriptList contains "dry")[(replace: ?hidden14)[dry]]\
(if: $descriptList contains "earthy")[(replace: ?hidden15)[earthy]]\
(if: $descriptList contains "eerie")[(replace: ?hidden16)[eerie]]\
(if: $descriptList contains "faint")[(replace: ?hidden17)[faint]]\
(if: $descriptList contains "faded")[(replace: ?hidden18)[faded]]\
(if: $descriptList contains "familiar")[(replace: ?hidden19)[familiar]]\
(if: $descriptList contains "festive")[(replace: ?hidden20)[festive]]\
(if: $descriptList contains "fine")[(replace: ?hidden21)[fine]]\
(if: $descriptList contains "flat")[(replace: ?hidden22)[flat]]\
(if: $descriptList contains "flutter")[(replace: ?hidden23)[flutter]]\
(if: $descriptList contains "hard")[(replace: ?hidden24)[hard]]\
(if: $descriptList contains "heavy")[(replace: ?hidden25)[heavy]]\
(if: $descriptList contains "hilly")[(replace: ?hidden26)[hilly]]\
(if: $descriptList contains "insistent")[(replace: ?hidden27)[insistent]]\
(if: $descriptList contains "invigorating")[(replace: ?hidden28)[invigorating]]\
(if: $descriptList contains "lively")[(replace: ?hidden29)[lively]]\
(if: $descriptList contains "mechanical")[(replace: ?hidden30)[mechanical]]\
(if: $descriptList contains "metallic")[(replace: ?hidden31)[metallic]]\
(if: $descriptList contains "musty")[(replace: ?hidden32)[musty]]\
(if: $descriptList contains "mysterious")[(replace: ?hidden33)[mysterious]]\
(if: $descriptList contains "nostalgic")[(replace: ?hidden34)[nostalgic]]\
(if: $descriptList contains "playful")[(replace: ?hidden35)[playful]]\
(if: $descriptList contains "precise")[(replace: ?hidden36)[precise]]\
(if: $descriptList contains "rattling")[(replace: ?hidden37)[rattling]]\
(if: $descriptList contains "raw")[(replace: ?hidden38)[raw]]\
(if: $descriptList contains "refreshing")[(replace: ?hidden39)[refreshing]]\
(if: $descriptList contains "rough")[(replace: ?hidden40)[rough]]\
(if: $descriptList contains "salty")[(replace: ?hidden41)[salty]]\
(if: $descriptList contains "sharp")[(replace: ?hidden42)[sharp]]\
(if: $descriptList contains "sleek")[(replace: ?hidden43)[sleek]]\
(if: $descriptList contains "slick")[(replace: ?hidden44)[slick]]\
(if: $descriptList contains "smoky")[(replace: ?hidden45)[smoky]]\
(if: $descriptList contains "smooth")[(replace: ?hidden46)[smooth]]\
(if: $descriptList contains "soft")[(replace: ?hidden47)[soft]]\
(if: $descriptList contains "sparkly")[(replace: ?hidden48)[sparkly]]\
(if: $descriptList contains "stale")[(replace: ?hidden49)[stale]]\
(if: $descriptList contains "swampy")[(replace: ?hidden50)[swampy]]\
(if: $descriptList contains "swell")[(replace: ?hidden51)[swollen]]\
(if: $descriptList contains "thick")[(replace: ?hidden52)[thick]]\
(if: $descriptList contains "unrushed")[(replace: ?hidden53)[unrushed]]\
(if: $descriptList contains "vibrant")[(replace: ?hidden54)[vibrant]]\
(if: $descriptList contains "warm")[(replace: ?hidden55)[warm]]\
<!--Main Game--!>
(if: $descriptList contains "active")[(replace: ?hidden56X1)[active]]\
(if: $descriptList contains "dazzling")[(replace: ?hidden57X2)[dazzling]]\
(if: $descriptList contains "delightful")[(replace: ?hidden58X3)[delightful]]\
(if: $descriptList contains "distinctive")[(replace: ?hidden59X4)[distinctive]]\
(if: $descriptList contains "elusive")[(replace: ?hidden60X5)[elusive]]\
(if: $descriptList contains "fragrant")[(replace: ?hidden61X6)[fragrant]]\
(if: $descriptList contains "incessant")[(replace: ?hidden62X7)[incessant]]\
(if: $descriptList contains "luscious")[(replace: ?hidden63X8)[luscious]]\
(if: $descriptList contains "mournful")[(replace: ?hidden64X9)[mournful]]\
(if: $descriptList contains "overpowering")[(replace: ?hidden65X10)[overpowering]]\
(if: $descriptList contains "precious")[(replace: ?hidden66X11)[precious]]\
(if: $descriptList contains "reactive")[(replace: ?hidden67X12)[reactive]]\
(if: $descriptList contains "resinous")[(replace: ?hidden68X13)[resinous]]\
(if: $descriptList contains "rhythmic")[(replace: ?hidden69X14)[rhythmic]]\
(if: $descriptList contains "rotten")[(replace: ?hidden70X15)[rotten]]\
(if: $descriptList contains "soothing")[(replace: ?hidden71X16)[soothing]]\
(if: $descriptList contains "stimulating")[(replace: ?hidden72X17)[stimulating]]\
}
<span id="listEnd"><!--[[ghost]]--!>\
(link: "Back")[(masteraudio: 'stopall')(track: 'back', 'play')(go-to: "ghost")]</span>