Your browser lacks required capabilities. Please upgrade it or switch to another to continue.
Loading…
<<set $scores = setup.newScores()>>
<<set $questionIndex = 0>>
<<set $currentArchetype = "">>
<<set $chosenCulture = "">>
<<set $lastChoice = "">>
<<set $lastReflection = "">>
<<set $lastQuestionAnswer = "">>
<<set $collection = []>>
<<set $journeyLog = []>><div class="seeker-title">The Seeker</div>
<div class="oracle-line">A story mirror game of archetypal gates and cultural thresholds.</div>
<img class="seeker-visual" src="assets/the-seeker-journey-map.png" alt="The Seeker journey map">
You are not here to choose one story.
You are here to discover why so many stories have been told.
<div class="care-note">This experience does not claim that all traditions are the same. It explores recurring human thresholds expressed through different cultural story-worlds.</div>
[[Begin the Seeker's Journey|Intro_Threshold]]<div class="seeker-title">Threshold</div>
You wake beneath a turning Earth.
Continents drift across the dark like living symbols. Around you stand twelve gates.
A voice says:
//“You do not collect cultures. You collect encounters. Begin with the question that is alive in you.”//
<div class="small-note">You do not become a type. You arrive at a gate. The same Seeker may meet a different gate on another day.</div>
<<set $scores = setup.newScores()>>
<<set $questionIndex = 0>>
<<set $currentArchetype = "">>
<<set $chosenCulture = "">>
<<set $lastChoice = "">>
<<set $lastReflection = "">>
[[Step into the first question.|Question]]<<set _q = setup.questions[$questionIndex]>>
<div class="gate-card">
''Question <<print $questionIndex + 1>> / <<print setup.questions.length>>''
<<print _q.prompt>>
</div>
<div class="choice-list">
<<for _answer range _q.answers>>
<<capture _answer>>
* <<link _answer.text "Question_Route">>
<<run setup.applyScores($scores, _answer.scores)>>
<<set $lastQuestionAnswer = _answer.text>>
<<set $questionIndex += 1>>
<</link>>
<</capture>>
<</for>>
</div><<set _interlude = setup.questionInterludes[$questionIndex - 1]>>
<div class="seeker-title">The Threshold Listens</div>
<div class="director-card">
<span class="director-kicker"><<print _interlude.kicker>> · <<print $questionIndex>> / <<print setup.questions.length>></span>
<div class="answer-echo">“<<print $lastQuestionAnswer>>”</div>
<<print _interlude.text>>
<div class="threshold-meter">
<<for _i = 1; _i <= setup.questions.length; _i++>>
<<if _i <= $questionIndex>>
<span class="is-lit"></span>
<<else>>
<span></span>
<</if>>
<</for>>
</div>
</div>
<<if $questionIndex < setup.questions.length>>
<<link _interlude.action "Question">><</link>>
<<else>>
[[Stand where the answers become a gate.|Resolve_Archetype]]
<</if>><<set $currentArchetype = setup.bestArchetype($scores)>>
<<set _arch = setup.archetypes[$currentArchetype]>>
<div class="seeker-title">The Gate Answers</div>
<div class="director-card">
<span class="director-kicker">The four marks align</span>
The twelve gates fall quiet.
One threshold remains lit.
It does not name you. It names the pattern asking to be met today.
</div>
[[Turn the final key and face the image.|Archetype_Reveal]]<<set _arch = setup.archetypes[$currentArchetype]>>
<<set _card = setup.archetypeCards[$currentArchetype]>>
<div class="seeker-title">Archetype Revealed</div>
You have not become a type.
You have arrived at a gate.
<div class="archetype-card-frame">
<img class="archetype-card-image" @src="_card" @alt="_arch.name + ' archetype card'">
</div>
<div class="gate-card">
''<<print _arch.name>>''
//<<print _arch.question>>//
<<print _arch.gateText>>
Symbol: <span class="symbol"><<print _arch.symbol>></span>
Function: <<print _arch.function>>
</div>
A voice says:
//“This is the pattern that has opened today. Now choose where on Earth you wish to meet its story.”//
[[Let this card choose its place on Earth.|Earth_View]]<<set _arch = setup.archetypes[$currentArchetype]>>
<<set _mirrors = setup.storyMirrors[$currentArchetype]>>
<div class="seeker-title">Virtual Earth</div>
The Earth turns beneath you.
Choose a place where the ''<<print _arch.name>>'' will appear.
<img class="seeker-visual" src="assets/archetypes-global-storytelling.png" alt="Archetypes across global storytelling traditions">
<div class="choice-list">
<<for _cultureId, _mirror range _mirrors>>
<<capture _cultureId _mirror>>
<<set _cultureLinkText = setup.cultures[_cultureId].name + " — " + _mirror.title>>
* <<link _cultureLinkText "Culture_Zoom">>
<<set $chosenCulture = _cultureId>>
<</link>>
<span class="story-glimpse">
<strong>Story glimpse</strong>
<<print _mirror.scenePremise>>
<span class="small-note"><<print _mirror.region>> · <<print _mirror.mapPoint>></span>
</span>
<</capture>>
<</for>>
</div>
[[View collection instead.|Collection_View]]<<set _mirror = setup.getMirror($currentArchetype, $chosenCulture)>>
<<set _culture = setup.cultures[$chosenCulture]>>
<div class="seeker-title">Culture Zoom</div>
The Earth grows larger.
Clouds part.
You descend toward:
''<<print _mirror.mapPoint>>''
The map becomes land.
The land becomes path.
The path becomes story.
<div class="mirror-card">
''<<print _culture.name>> — <<print _mirror.title>>''
Region: <<print _mirror.region>>
<span class="small-note">Care note: <<print _mirror.sensitivity>></span>
</div>
[[Step into the story.|Story_Entrance]]<<set _mirror = setup.getMirror($currentArchetype, $chosenCulture)>>
<<set _choices = setup.getChoicesForMirror(_mirror)>>
<div class="seeker-title">Story-World</div>
<div class="mirror-card">
''<<print _mirror.title>>''
<<print _mirror.scenePremise>>
<<print _mirror.challenge>>
</div>
What do you do?
<div class="choice-list">
<<for _choice range _choices>>
<<capture _choice>>
* <<link _choice.text "Story_Reflection">>
<<set $lastChoice = _choice.text>>
<<set $lastReflection = _choice.reflection>>
<</link>>
<</capture>>
<</for>>
</div><div class="seeker-title">Inner Reflection</div>
The story pauses.
The world does not explain itself. It waits for you to notice what has changed.
<div class="gate-card">
//<<print $lastReflection>>//
</div>
[[Receive the archetype.|Collect_Archetype]]<<run setup.logJourney($currentArchetype, $chosenCulture, $lastChoice, $lastReflection)>>
<<set _arch = setup.archetypes[$currentArchetype]>>
<<set _mirror = setup.getMirror($currentArchetype, $chosenCulture)>>
<<set _culture = setup.cultures[$chosenCulture]>>
<<set _card = setup.archetypeCards[$currentArchetype]>>
<div class="seeker-title">Collected Symbol</div>
You collected an archetype, not a culture.
<div class="collection-card collection-card-with-art">
<img class="archetype-card-inline" @src="_card" @alt="_arch.name + ' archetype card'">
<div>
''<<print _arch.name>>''
<<print _arch.collectionText>>
Story mirror: ''<<print _mirror.title>>''
Culture / tradition: <<print _culture.name>>
Region: <<print _mirror.region>>
</div>
</div>
A symbol appears in your inner mandala.
[[View your collection.|Collection_View]]
[[Begin again with the collection preserved.|Begin_Again]]<div class="seeker-title">Inner Mandala</div>
<img class="seeker-visual" src="assets/the-seeker-journey-map.png" alt="The Seeker journey map">
<<if $journeyLog.length === 0>>
No archetypes collected yet.
<<else>>
You have collected <<print $collection.length>> unique archetype symbol(s) across <<print $journeyLog.length>> journey/journeys.
<div class="seeker-constellation">
<<for _id range $collection>>
<<capture _id>>
<div class="seeker-sigil">
<<set _card = setup.archetypeCards[_id]>>
<<set _cardAlt = setup.archetypes[_id].name + " archetype card">>
<img @src="_card" @alt="_cardAlt">
<span><<print setup.archetypes[_id].shortName>></span>
</div>
<</capture>>
<</for>>
</div>
<<for _entry range $journeyLog>>
<div class="collection-card collection-card-with-art">
<<set _card = setup.archetypeCards[_entry.archetypeId]>>
<<set _cardAlt = _entry.archetypeName + " archetype card">>
<img class="archetype-card-inline" @src="_card" @alt="_cardAlt">
<div>
''<<print _entry.archetypeName>>''
Story mirror: <<print _entry.storyTitle>>
Culture / tradition: <<print _entry.cultureName>>
Region: <<print _entry.region>>
Choice: <<print _entry.choice>>
Reflection: //<<print _entry.reflection>>//
</div>
</div>
<</for>>
<</if>>
[[Begin another journey.|Begin_Again]]<<run setup.resetRunState()>>
<div class="seeker-title">Begin Again</div>
You return to the turning Earth.
The gates close.
But the symbol you collected remains within you.
[[Ask again.|Intro_Threshold]]
[[View collection.|Collection_View]]<div class="seeker-title">Debug State</div>
<div class="debug">
Scores:
<<print JSON.stringify($scores, null, 2)>>
Current archetype: <<print $currentArchetype>>
Chosen culture: <<print $chosenCulture>>
Collection:
<<print JSON.stringify($collection, null, 2)>>
Journey log:
<<print JSON.stringify($journeyLog, null, 2)>>
</div>
[[Back to collection.|Collection_View]]