<<display RealmHeading>>\n\nThe voice has a strange hollow sound to it.\n\nEach step you take rolls the environment around you, like you're walking on a tiny planet with unusually strong gravity. In the distance, curling over the horizon, you spot the soft glow of what looks like a tree.\n\nThe tree glows white, but casts no shadow and reflects its light on nothing else.\n\nThe Old Man speaks. \n\n"You must rotate the tree into position. Then you can feed them. Place your [[hand on her trunk]] to let her know you're here."\n
You awaken in a meadow. <<timedcontinue 2s>>\nThe tall, whispy grass around you blows gently in the wind. \nLarge birds, the size of small airplanes, fly in large groups of three above you. Wings flapping in what seems like slow motion on a clear blue sky.\n\nYou feel [[thirsty]].
<<display "FrogHeading">>\n\nYou walk toward a stand of deciduous trees near by. \nYou walk for longer than you feel like you should. \nAs you approach the stand, the trees reveal themselves to be quite enormous. After all the walking you approach a [[spring]], with a single [[frog]] perched upon a rock in the centre of the pool.
<<display "FrogHeading">>\n\nYou drink from the spring.\n<<timedcontinue 3s>>\n\nThe frog croaks.\n\n"Weary traveller - you have drunk of the spring. The Nectar of The Forest now flows through you. You are protected. [[Enter our realm]], if you so choose."
17h 51m +87°.3 :: Forest Simulator, Mk I\n-------------------------------------------
<<display "CityHeading">>\n\nAn old friend.\n\n[[Okay.|small housefront]]
...booting system...//\n\nEnter coordnates...\n\nA :: [[17h 51m +87°.3|FROG]]\nB :: [[6h 35m +12°.1|CITY]]
(function(){version.extensions.replaceMacrosCombined={major:1,minor:1,revision:5};var nullobj={handler:function(){}};\nfunction showVer(n,notrans){if(!n){return}n.innerHTML="";new Wikifier(n,n.tweecode);n.setAttribute("data-enabled","true");\nn.style.display="inline";n.classList.remove("revision-span-out");if(!notrans){n.classList.add("revision-span-in");\nif(n.timeout){clearTimeout(n.timeout)}n.timeout=setTimeout(function(){n.classList.remove("revision-span-in");\nn=null},1)}}function hideVer(n,notrans){if(!n){return}n.setAttribute("data-enabled","false");n.classList.remove("revision-span-in");\nif(n.timeout){clearTimeout(n.timeout)}if(!notrans){n.classList.add("revision-span-out");n.timeout=setTimeout(function(){if(n.getAttribute("data-enabled")=="false"){n.classList.remove("revision-span-out");\nn.style.display="none";n.innerHTML=""}n=null},1000)}else{n.style.display="none";n.innerHTML="";n=null\n}}function tagcontents(b,starttags,desttags,endtags,k){var l=0,c="",tg,a,i;function tagfound(i,e,endtag){for(var j=0;\nj<e.length;j++){if(a.indexOf("<<"+e[j]+(endtag?">>":""),i)==i){return e[j]}}}a=b.source.slice(k);for(i=0;\ni<a.length;i++){if(tg=tagfound(i,starttags)){l++}else{if((tg=tagfound(i,desttags,true))&&l==0){b.nextMatch=k+i+tg.length+4;\nreturn[c,tg]}else{if(tg=tagfound(i,endtags,true)){l--;if(l<0){return null}}}}c+=a.charAt(i)}return null\n}var begintags=[];var endtags=[];function revisionSpanHandler(g,e,f,b){var k=b.source.indexOf(">>",b.matchStart)+2,vsns=[],vtype=e,flen=f.length,becomes,c,cn,m,h,vsn;\nfunction mkspan(vtype){h=insertElement(m,"span",null,"revision-span "+vtype);h.setAttribute("data-enabled",false);\nh.style.display="none";h.tweecode="";return h}if(this.shorthand&&flen){while(f.length>0){vsns.push([f.shift(),(this.flavour=="insert"?"gains":"becomes")])\n}}else{if(this.flavour=="insert"||(this.flavour=="continue"&&this.trigger=="time")){vsns.push(["","becomes"])\n}}if(this.flavour=="continue"&&flen){b.nextMatch=k+b.source.slice(k).length;vsns.push([b.source.slice(k),vtype])\n}else{becomes=["becomes","gains"];c=tagcontents(b,begintags,becomes.concat(endtags),endtags,k);if(c&&endtags.indexOf(c[1])==-1){while(c){vsns.push(c);\nc=tagcontents(b,begintags,becomes,endtags,b.nextMatch)}c=tagcontents(b,begintags,["end"+e],endtags,b.nextMatch)\n}if(!c){throwError(g,"can't find matching end"+e);return}vsns.push(c);if(this.flavour=="continue"){k=b.nextMatch;\nb.nextMatch=k+b.source.slice(k).length;vsns.push([b.source.slice(k),""])}}if(this.flavour=="remove"){vsns.push(["","becomes"])\n}cn=0;m=insertElement(g,"span",null,e);m.setAttribute("data-flavour",this.flavour);h=mkspan("initial");\nvsn=vsns.shift();h.tweecode=vsn[0];showVer(h,true);while(vsns.length>0){if(vsn){vtype=vsn[1]}vsn=vsns.shift();\nh=mkspan(vtype);h.tweecode=vsn[0]}if(typeof this.setup=="function"){this.setup(m,g,f)}}function quantity(m){return(m.children.length-1)+(m.getAttribute("data-flavour")=="remove")\n}function revisionSetup(m,g,f){m.className+=" "+f[0].replace(" ","_")}function keySetup(m,g,f){var key=f[0];\nm.setEventListener("keydown",function l(e){var done=!revise("revise",m);if(done){m.removeEventListener("keydown",l)\n}})}function timeSetup(m,g,f){function cssTimeUnit(s){if(typeof s=="string"){if(s.slice(-2).toLowerCase()=="ms"){return Number(s.slice(0,-2))||0\n}else{if(s.slice(-1).toLowerCase()=="s"){return Number(s.slice(0,-1))*1000||0}}}throwError(g,s+" isn't a CSS time unit");\nreturn 0}var tm=cssTimeUnit(f[0]);setTimeout(function timefn(){var done=!revise("revise",m);if(!done){setTimeout(timefn,tm)\n}},tm)}function hoverSetup(m){var fn,noMouseEnter=(document.head.onmouseenter!==null),m1=m.children[0],m2=m.children[1],gains=m2.className.indexOf("gains")>-1;\nif(!m1||!m2){return}m1.onmouseenter=function(e){var efp=document.elementFromPoint(e.clientX,e.clientY);\nwhile(efp&&efp!==this){efp=efp.parentNode}if(!efp){return}if(this.getAttribute("data-enabled")!="false"){revise("revise",this.parentNode)\n}};m2.onmouseleave=function(e){var efp=document.elementFromPoint(e.clientX,e.clientY);while(efp&&efp!==this){efp=efp.parentNode\n}if(efp){return}if(this.getAttribute("data-enabled")!="false"){revise("revert",this.parentNode)}};if(gains){m1.onmouseleave=m2.onmouseleave\n}if(noMouseEnter){fn=function(n){return function(e){if(!event.relatedTarget||(event.relatedTarget!=this&&!(this.compareDocumentPosition(event.relatedTarget)&Node.DOCUMENT_POSITION_CONTAINED_BY))){this[n]()\n}}};m1.onmouseover=fn("onmouseenter");m2.onmouseout=fn("onmouseleave");if(gains){m1.onmouseout=m2.onmouseout\n}}m=null}function mouseSetup(m){var evt=(document.head.onmouseenter===null?"onmouseenter":"onmouseover");\nm[evt]=function(){var done=!revise("revise",this);if(done){this[evt]=null}};m=null}function linkSetup(m,g,f){var l=Wikifier.createInternalLink(),p=m.parentNode;\nl.className="internalLink replaceLink";p.insertBefore(l,m);l.insertBefore(m,null);l.onclick=function(){var p,done=false;\nif(m&&m.parentNode==this){done=!revise("revise",m);scrollWindowTo(m)}if(done){this.parentNode.insertBefore(m,this);\nthis.parentNode.removeChild(this)}};l=null}function visitedSetup(m,g,f){var i,done,shv=state.history[0].variables,os="once seen",d=(m.firstChild&&(this.flavour=="insert"?m.firstChild.nextSibling:m.firstChild).tweecode);\nshv[os]=shv[os]||{};if(d&&!shv[os].hasOwnProperty(d)){shv[os][d]=1}else{for(i=shv[os][d];i>0&&!done;i--){done=!revise("revise",m,true)\n}if(shv[os].hasOwnProperty(d)){shv[os][d]+=1}}}[{name:"insert",flavour:"insert",trigger:"link",setup:linkSetup},{name:"timedinsert",flavour:"insert",trigger:"time",setup:timeSetup},{name:"insertion",flavour:"insert",trigger:"revisemacro",setup:revisionSetup},{name:"later",flavour:"insert",trigger:"visited",setup:visitedSetup},{name:"keyinsert",flavour:"insert",trigger:"key",setup:keySetup},{name:"replace",flavour:"replace",trigger:"link",setup:linkSetup},{name:"timedreplace",flavour:"replace",trigger:"time",setup:timeSetup},{name:"mousereplace",flavour:"replace",trigger:"mouse",setup:mouseSetup},{name:"hoverreplace",flavour:"replace",trigger:"hover",setup:hoverSetup},{name:"revision",flavour:"replace",trigger:"revisemacro",setup:revisionSetup},{name:"keyreplace",flavour:"replace",trigger:"key",setup:keySetup},{name:"timedremove",flavour:"remove",trigger:"time",setup:timeSetup},{name:"mouseremove",flavour:"remove",trigger:"mouse",setup:mouseSetup},{name:"hoverremove",flavour:"remove",trigger:"hover",setup:hoverSetup},{name:"removal",flavour:"remove",trigger:"revisemacro",setup:revisionSetup},{name:"once",flavour:"remove",trigger:"visited",setup:visitedSetup},{name:"keyremove",flavour:"remove",trigger:"key",setup:keySetup},{name:"continue",flavour:"continue",trigger:"link",setup:linkSetup},{name:"timedcontinue",flavour:"continue",trigger:"time",setup:timeSetup},{name:"mousecontinue",flavour:"continue",trigger:"mouse",setup:mouseSetup},{name:"keycontinue",flavour:"continue",trigger:"key",setup:keySetup},{name:"cycle",flavour:"cycle",trigger:"revisemacro",setup:revisionSetup},{name:"mousecycle",flavour:"cycle",trigger:"mouse",setup:mouseSetup},{name:"timedcycle",flavour:"cycle",trigger:"time",setup:timeSetup},{name:"keycycle",flavour:"replace",trigger:"key",setup:keySetup}].forEach(function(e){e.handler=revisionSpanHandler;\ne.shorthand=(["link","mouse","hover"].indexOf(e.trigger)>-1);macros[e.name]=e;macros["end"+e.name]=nullobj;\nbegintags.push(e.name);endtags.push("end"+e.name)});function insideDepartingSpan(elem){var r=elem.parentNode;\nwhile(!r.classList.contains("passage")){if(r.classList.contains("revision-span-out")){return true}r=r.parentNode\n}}function reviseAll(rt,rname){var rall=document.querySelectorAll(".passage [data-flavour]."+rname),ret=false;\nfor(var i=0;i<rall.length;i++){if(!insideDepartingSpan(rall[i])){ret=revise(rt,rall[i])||ret}}return ret\n}function revise(rt,r,notrans){var ind2,curr,next,ind=-1,rev=(rt=="revert"),rnd=(rt.indexOf("random")>-1),fl=r.getAttribute("data-flavour"),rc=r.childNodes,cyc=(fl=="cycle"),rcl=rc.length-1;\nfunction doToGainerSpans(n,fn){for(var k=n-1;k>=0;k--){if(rc[k+1].classList.contains("gains")){fn(rc[k],notrans)\n}else{break}}}for(var k=0;k<=rcl;k++){if(rc[k].getAttribute("data-enabled")=="true"){ind=k}}if(rev){ind-=1\n}curr=(ind>=0?rc[ind]:(cyc?rc[rcl]:null));ind2=ind;if(rnd){ind2=(ind+(Math.floor(Math.random()*rcl)))%rcl\n}next=((ind2<rcl)?rc[ind2+1]:(cyc?rc[0]:null));var docurr=(rev?showVer:hideVer);var donext=(rev?hideVer:showVer);\nvar currfn=function(){if(!(next&&next.classList.contains("gains"))||rnd){docurr(curr,notrans);doToGainerSpans(ind,docurr,notrans)\n}};var nextfn=function(){donext(next,notrans);if(rnd){doToGainerSpans(ind2+1,donext,notrans)}};if(!rev){currfn();\nnextfn()}else{nextfn();currfn()}return(cyc?true:(rev?(ind>0):(ind2<rcl-1)))}macros.revert=macros.revise=macros.randomise=macros.randomize={handler:function(a,b,c){var l,rev,rname;\nfunction disableLink(l){l.style.display="none"}function enableLink(l){l.style.display="inline"}function updateLink(l){if(l.className.indexOf("random")>-1){enableLink(l);\nreturn}var rall=document.querySelectorAll(".passage [data-flavour]."+rname),cannext,canprev,i,ind,r,fl;\nfor(i=0;i<rall.length;i++){r=rall[i],fl=r.getAttribute("data-flavour");if(insideDepartingSpan(r)){continue\n}if(fl=="cycle"){cannext=canprev=true}else{if(r.firstChild.getAttribute("data-enabled")==!1+""){canprev=true\n}if(r.lastChild.getAttribute("data-enabled")==!1+""){cannext=true}}}var can=(l.classList.contains("revert")?canprev:cannext);\n(can?enableLink:disableLink)(l)}function toggleText(w){w.classList.toggle(rl+"Enabled");w.classList.toggle(rl+"Disabled");\nw.style.display=((w.style.display=="none")?"inline":"none")}var rl="reviseLink";if(c.length<2){throwError(a,b+" macro needs 2 parameters");\nreturn}rname=c.shift().replace(" ","_");l=Wikifier.createInternalLink(a,null);l.className="internalLink "+rl+" "+rl+"_"+rname+" "+b;\nvar v="";var end=false;var out=false;if(c.length>1&&c[0][0]=="$"){v=c[0].slice(1);c.shift()}switch(c[c.length-1]){case"end":end=true;\nc.pop();break;case"out":out=true;c.pop();break}var h=state.history[0].variables;for(var i=0;i<c.length;\ni++){var on=(i==Math.max(c.indexOf(h[v]),0));var d=insertElement(null,"span",null,rl+((on)?"En":"Dis")+"abled");\nif(on){h[v]=c[i];l.setAttribute("data-cycle",i)}else{d.style.display="none"}insertText(d,c[i]);l.appendChild(d)\n}l.onclick=function(){reviseAll(b,rname);var t=this.childNodes,u=this.getAttribute("data-cycle")-0,m=t.length,n,lall,i;\nif((end||out)&&u>=m-(end?2:1)){if(end){n=this.removeChild(t[u+1]||t[u]);n.className=rl+"End";n.style.display="inline";\nthis.parentNode.replaceChild(n,this)}else{this.parentNode.removeChild(this);return}}else{toggleText(t[u]);\nu=(u+1)%m;if(v){h[v]=c[u]}toggleText(t[u]);this.setAttribute("data-cycle",u)}lall=document.getElementsByClassName(rl+"_"+rname);\nfor(i=0;i<lall.length;i++){updateLink(lall[i])}};disableLink(l);setTimeout((function(l){return function(){updateLink(l)\n}}(l)),1);l=null}};macros.mouserevise=macros.hoverrevise={handler:function(a,b,c,d){var endtags=["end"+b],evt=(window.onmouseenter===null?"onmouseenter":"onmouseover"),t=tagcontents(d,[b],endtags,endtags,d.source.indexOf(">>",d.matchStart)+2);\nif(t){var rname=c[0].replace(" ","_"),h=insertElement(a,"span",null,"hoverrevise hoverrevise_"+rname),f=function(){var done=!reviseAll("revise",rname);\nif(b!="hoverrevise"&&done){this[evt]=null}};new Wikifier(h,t[0]);if(b=="hoverrevise"){h.onmouseover=f;\nh.onmouseout=function(){reviseAll("revert",rname)}}else{h[evt]=f}h=null}}};macros.instantrevise={handler:function(a,b,c,d){reviseAll("revise",c[0].replace(" ","_"))\n}};macros.endmouserevise=nullobj;macros.endhoverrevise=nullobj}());
<<silently>>\n<<set $globe_turns = 1>>\n<<endsilently>>\n\n[[POWER ON|COORDINATES]]\n\n~~ be nice, we're a work in progress ~~
<<display "CityHeading">>\n\nYou approach the Old Man's house and knock quietly on the door. A short, old man slides open a hatch concealed in the rust of the door. <<timedcontinue 2s>>\n\n"What?" <<timedcontinue 2s>>\n\nI've brought you something from the Canopy. <<timedcontinue 2s>>\n\nJust as fast, the slider on the viewport is thrown shut; multiple deadblots on the door clunking open. <<timedcontinue 2s>>\n\n\n"Come in. [[Quickly]]."\n
<<display "CityHeading">>\n\nYou decide to take the creepy rich turbolift back down to the Undergarden. Something about the cleanliness of it all fills you with a disgust that revitalizes you.\n\nThe hoverbus ride proves more exciting than you'd thought, the energy of heading somewhere you feel like you belong providing an endogenous euphoria.\n\nExiting the hoverbus early, you're let out by a beautiful wooded park - think and lush. <<timedcontinue 2s>>\n\nYou almost turn toward it, but there is [[work to do]].
<<display "FrogHeading">>\n\nYou approach the table, covered in strange fruits arranged on lavish platters. The frog is on the table when you arrive, and as you do, other forest creatures begin to emerge from the darkness. <<timedcontinue 2s>>\n\n"Try the [[bluit]]. It's magnificent."
version.extensions.timedgotoMacro={major:1,minor:2,revision:0};\nmacros["goto"]=macros.timedgoto={timer:null,handler:function(a,b,c,d){function cssTimeUnit(s){if(typeof s=="string"){if(s.slice(-2).toLowerCase()=="ms"){return +(s.slice(0,-2))||0\n}else{if(s.slice(-1).toLowerCase()=="s"){return +(s.slice(0,-1))*1000||0\n}}}throwError(a,s+" isn't a CSS time unit");return 0}var t,d,m,s;\nt=c[c.length-1];d=d.fullArgs();m=0;if(b!="goto"){d=d.slice(0,d.lastIndexOf(t));\nm=cssTimeUnit(t)}d=eval(Wikifier.parse(d));if(d+""&&state&&state.init){if(macros["goto"].timer){clearTimeout(macros["goto"].timer)\n}s=state.history[0].passage.title;macros["goto"].timer=setTimeout(function(){if(state.history[0].passage.title==s){state.display(d,a)\n}},m)}}};
<<display RealmHeading>>\n<<set $globe_turns = $globe_turns + 1>>\nYou walk toward the [[blue]] orb. \n\n<<if $globe_turns eq -2>>It is very dull.<<elseif $globe_turns eq -1>>The light is weak.<<elseif $globe_turns eq 0>>It is dim, but present.<<elseif $globe_turns eq 1>>The light grows brighter.<<elseif $globe_turns eq 2>>It has become difficult to look at.<<endif>>\n\n<<if $globe_turns neq 3>>The black planet rotates under your feet.<<elseif $globe_turns neq -3>>The black planet rotates under your feet.<<endif>>\n\n<<if $globe_turns neq 3>>The [[red]] orb dims slightly.<<elseif $globe_turns neq -3>>The [[red]] orb dims slightly.<<endif>>\n\nZion trots at your heels.\n\n<<if $globe_turns eq 3>> <<continue "[[The orbs disappear]].">><<elseif $globe_turns eq -3>> <<continue "[[The orbs disappear]].">> <<endif>>
Xh XXm ±XX°.X :: Fo$^s* Sim4#$>o=, Mk ~\n-----------------------------------------
<<display "FrogHeading">>\n\nIs it even a real frog?\n\nYou are still [[thirsty]].
<<display RealmHeading>>\n\nThe light of the trees consume everything around you. \n\nAll you hear is Zion's voice.\n\n"You have completed FOREST SIMULATION 2. Please return to the [[console|COORDINATES]]."
<<display "FrogHeading">>\n\nThe frog's mouth opens so wide, you can walk right in.\n\nInside the frog's mouth, you are floating in a nebula - clusters of stars and gas clouds of all colours surround you. As you look around, you realize the views of space are the foliage of the trees you were walking toward before. Their trunks are a superblack, only noticeable for their complete lack of reflected light. There is a [[table]] standing on the transparent ground with you.
BRAIN\n\nBidirectional Resonance Amplification Interface, N-Class\n\nv1.0
<<display "CityHeading">>\n\nYou knock quietly on the door. A short, old man slides open a hatch concealed in the rust of the door. <<timedcontinue 2s>>\n\n“What?” <<timedcontinue 2s>>\n\n“Um...hello?” <<timedcontinue 2s>>\n\n“BEAT IT, KID! WE'VE GOT PROBLEMS IN HERE.” <<timedcontinue 2s>>\n\nAs the hatch slams shut in your face, Zion chimes in.\n\n“We'd better [[get some help|forgetting something]].”\n
<<display RealmHeading>>\n\nThe ground upon which you have been walking becomes transparent, the white glow of the tree appearing a few hundred metres blow you and to the left. \n\nYou and Zion fall toward the centre of the planet, below the glowing tree. \n\nAt the centre you stop, hovering. You feel a movement in your pocket as the item Ona gave you comes loose and floats in front of you. <<timedcontinue 2s>>\n\nIt opens itself at eye level, as if manipulated by invisible hands. Its contents stream out toward the tree in a fine golden powder, twinkling in the dull [[light of the plant]].
<<display RealmHeading>>\n<<set $globe_turns = $globe_turns - 1>>\nYou walk toward the [[red]] orb. \n\n<<if $globe_turns eq 2>>It is very dull.<<elseif $globe_turns eq 1>>The light is weak.<<elseif $globe_turns eq 0>>It is dim, but present.<<elseif $globe_turns eq -1>>The light grows brighter.<<elseif $globe_turns eq -2>>It has become difficult to look at.<<endif>>\n\n<<if $globe_turns neq 3>>The black planet rotates under your feet.<<elseif $globe_turns neq -3>>The black planet rotates under your feet.<<endif>>\n\n<<if $globe_turns neq 3>>The [[blue]] orb dims slightly.<<elseif $globe_turns neq -3>>The [[blue]] orb dims slightly.<<endif>>\n \nZion trots at your heels.\n\n<<if $globe_turns eq -3>> <<continue "[[The orbs disappear]].">><<elseif $globe_turns eq 3>> <<continue "[[The orbs disappear]].">> <<endif>>
<<display "CityHeading">>\n\nYou decide to stick with the sunlight a bit longer.\n\nTaking the Horizontal Corridor lifts you mood a bit, as you prepare for the rough ride back down to the Old Man.\n\nYou think to yourself how this canopied city would be an interesting place to stay for a while.\n\n<<continue ""Parkside."">>\n\nYou step out. <<timedcontinue 2s>>\n\nYou wonder where that park is.\n\nBut there's [[work to do]].
<<display "CityHeading">>\n\nThe hoverbus flies just under the concrete canopy with the drone of its power supply. <<timedcontinue 2s>>\n\nStepping off the the bus, the canopy over you is darker. The Undergarden here is much more run down; filled with makeshift shelters and crude storefronts. Turning a few corners, you arrive at your destination. <<timedcontinue 2s>>\n\n“Wait. Did you get the details?” <<timedcontinue 2s>>\n\nI knew I was [[forgetting something]].\n\nI need to get in. [[Now]].
<<display "FROG">>\n\n...INITIALIZING PROGRAM...\n\nΔ :: Forest Simulator, Mk I\n\n// 17h 51m +87°.3\n\n<<timedgoto "meadow" 5s >>
<<display RealmHeading>>\n\nAs the twinkling stream fades away, trees of all colours begin to sprout on the planet's surface, out from the central tree. <<timedcontinue 2s>>\n\nThe Old Man floats down to you. <<timedcontinue 2s>>\n\n"Thank you, Stranger. I don't know where you came from, but you have saved the city." <<timedcontinue 2s>>\n\nTrees continue to surround you, filling the room with a vibrant array of coloured light. <<timedcontinue 2s>>\n\n"This is the reactor core. These trees power Canopy City with their natural light. There has been a food shortage, but Ona knew what to do." <<timedcontinue 2s>>\n\n[[As always]].\n
<<display "CityHeading">>\n\n“Watch where you're going!”\n\nThe hoverbike's alarm still blaring, you realize the voice came from the dog at your heels. Spinning around, the half-robot half-pug's tiny face is glaring at you.\n\n“You can't get away with that [[down here]].”
<<display "CITY">>\n\n...INITIALIZING PROGRAM...\n\nΔ :: Forest Simulator, Mk I\n\n// 6h 35m +12°.1\n\n<<timedgoto "watch" 5s >>
<<display "FrogHeading">>\n\nThe frog's mouth opens so wide, you can [[walk right in]].
<<display RealmHeading>>\n\nAs your eyes begin to adjust to the darkness, you realize you're not standing anywhere. \n\nNo sound, no light. \n\nThe only thing coming into focus are you, Zion, and the sketchy Old Man refastening the locks on the door.\n\n"[[Follow me]]." \n
<<display "CityHeading">>\n\nTapestries and crocheted rugs hang from the walls of the unit, the air blue with inscence and the sage of that morning's smudge. Slender and fair, Ona emerges from behind the dance of hanging fabrics to greet you.\n\nDressed in a tattered hooded robe, she gestures you inside. <<timedcontinue 2s>>\n\n"Welcome friends! I'm glad you're here. I just made cookies. Oh, and some tea..."\n\nYou eat a cookie and sip the tea. <<timedcontinue 2s>>\n\nThe tea tastes earthy.\n\n"If you're going to visit the [[Old Man]], could you bring him some tea?"\n\n<<continue "Okay.">>\n\nShe hands you a crocheted bag that crunches with its contents.\n\n"Oh! How grand it would be to have one of those new-fangled teleporters. Ah well, you will have to do. Still something to be said for good [[ol'-fashioned adventures|adventures]], right?"
<<display RealmHeading>>\n\n[[The tree|Follow me]] lets out a burst of light. \n\nIn the distance to your right, a [[red]] orb appears in the darkness. \n\nA quick look the other way reveals a similar orb in [[blue]] to your left.
<<display "COORDINATES">>\n\n6h 35m +12°.1 \n\n:: LOAD PROGRAM ::\n\nΔ :: [[Forest Simulator, Mk I|INITIALIZING 2]]
<<display "CityHeading">>\n\n“Let's take the Canopy Shuttle.”\n\nThe dog putters toward the nearest trunk column, visible over the tops of the huts. <<timedcontinue 2s>>\n\nIn the lobby of this turbo lift, the decrepit conditions tell you it's going to be rough. You manually punch your destination into the decades-old terminal with an experience that confuses your still-hazy consciousness.\nThe turbolift pulls you up, and until you reach the Horizontal Corridor, the ride jostles you in the tube.\n\nYou go into a <<continue "daze">> as the light rings of the corridor supports pass you, occasional glimpses of the greenspace below. <<timedcontinue 3s>>\n\n"Canopy 42," chimes the lift.\n\nZion leads you through one of the few plant-green towers, reclaimed by the revolt of greenspace workers years ago. You approach a [[small housefront]], decorated as a shaman would have it.
<<display "CityHeading">>\n\nAfter exchanging goodbyes, you step back out into the green of Canopy 42. \n\nThrough the leaves, the sun shines on your face - a rarity of the underground - always [[artificial]], despite how [[real]] it can feel..
<<display "COORDINATES">>\n\n17h 51m +87°.3\n\n:: LOAD PROGRAM ::\n\nΔ :: [[Forest Simulator, Mk I|INITIALIZING 1]]
<<display "CityHeading">>\n\nYour heart now slowing from the near-miss, you look around. \n\nTowers – some steel, some concrete. The tallest you've ever seen. Starting from the ground in a tree trunk-like structure, the buildings ballooning into the Canopy of curved glass and lights. Hundred of metres above the ground, the structures support each other, interconnecting with the next creating a greenspace underneath them – the Undergarden. <<timedcontinue 2s>>\n\n“What are you doing down here anyway?”\n\n“We need to see [[someone]].”\n\n“Good Question. Let's see if [[Ona knows]].”
<<display "FrogHeading">>\n\nIt is the most satisfying thing you have ever consumed.\n\n"Store these coordinates traveller, you are always welcome here."\n\n[[return|COORDINATES]]
<<display "CityHeading">>\n\nYou both break for the nearest turbolift column.\n\nThe lobby of the lift is an LED-shimmering white neoplastic and smells like money. Security cameras watch everything with an unknown technology. You stand on the platform and tap you destination on the panel. \n\nThe ride is smooth, and the view of the greenspace is stunning. Hovercars whiz by the tube as the light of the support rings pass you by.\n\nYou're taken to a tower equally green to the parks below, and are led by Zion to a [[small housefront]] decorated as a shaman would have it.\n
6h 35m +12°.1 :: Forest Simulator, Mk I\n-----------------------------------------
.revision-span-in {\n\topacity: 0;\n}\n.revision-span:not(.revision-span-out) {\n\ttransition: 1s; -webkit-transition: 1s;\n}\n.revision-span-out {\n\tposition:absolute;\n\topacity: 0;\n}
the Digital Forest