you thought you were the most magnificent of all the birds\nbut you were wrong\n(you have never been wrong before)\n\nyou thought your black feathers the epitome\nof all that a blackbird can be\n(it is, after all, in the name)\n\nbut her brown feathers have a deeper texture\nher plump chest is prouder even than yours\nher beak is as yellow as yours and her eye is as keen\n\nand as she alights next to you\nthe precise angle of her head \n[[surpasses your own|imagined]]
you are an excellent percher\n\nsome birds can only perch on trees and walls\nbut you can perch anywhere\n\na [[railing]]\nthe [[lowest point]] of the distant ground\nthe [[very apex]] of the tallest building
version.extensions["cyclinglinkMacro"]={major:3,minor:2,revision:0};macros.cyclinglink={handler:function(a,b,c){var rl="cyclingLink";\nfunction toggleText(w){w.classList.toggle(rl+"Enabled");w.classList.toggle(rl+"Disabled");\nw.style.display=((w.style.display=="none")?"inline":"none");}switch(c[c.length-1]){case"end":var end=true;\nc.pop();break;case"out":var out=true;c.pop();break;}var v="";if(c.length&&c[0][0]=="$"){v=c[0].slice(1);\nc.shift();}var h=state.history[0].variables;if(out&&h[v]===""){return;}var l=Wikifier.createInternalLink(a,null);\nl.className="internalLink cyclingLink";l.setAttribute("data-cycle",0);for(var i=0;\ni<c.length;i++){var on=(i==Math.max(c.indexOf(h[v]),0));var d=insertElement(null,"span",null,"cyclingLink"+((on)?"En":"Dis")+"abled");\nif(on){h[v]=c[ i ];l.setAttribute("data-cycle",i);}else{d.style.display="none";}insertText(d,c[ i ]);\nif(on&&end&&i==c.length-1){l.parentNode.replaceChild(d,l);}else{l.appendChild(d);\n}}l.onclick=function(){var t=this.childNodes;var u=this.getAttribute("data-cycle")-0;\nvar m=t.length;toggleText(t[u]);u=(u+1);if(!(out&&u==m)){u%=m;if(v){h[v]=c[u];}}else{h[v]="";\n}if((end||out)&&u==m-(end?1:0)){if(end){var n=this.removeChild(t[u]);n.className=rl+"End";\nn.style.display="inline";this.parentNode.replaceChild(n,this);}else{this.parentNode.removeChild(this);\nreturn;}return;}toggleText(t[u]);this.setAttribute("data-cycle",u);};}};\n
it takes a long time to build the perfect nest\n\nit takes twigs and mud\ndexterity and determination\n(it's a wonder that so many lesser birds \nmanage at all)\n\nyou build in the day, and sometimes at night you sing \n(in the quiet, in streetlight)\nand then you sleep again, wing against wing\nin your bundle of twigs that is, each night, more whole,\ndenser-packed with leaves and mud and stones\n\nuntil you realise one morning when you wake\nthat you've slept for the first time [[in your finished nest|in your nest]]
<<nobr>><<set i = 0>><<if $i lt $hatchlings>><<replace "egg ">>egg <<endreplace>><<set $i += 1>><<eggturnloop>><<else>><<set $i = 0>><<endif>><<endnobr>>
<<nobr>><<fadeoutsound "birds.mp3">><<set $streetsmart = $streetsmart1 + $streetsmart2 + $sreetsmart3 + $streetsmart4>>\n<<set $glossiness = $glossiness1 + $glossiness2 + $glossiness3 + $glossiness4>>\n<<set $love = $love1 + $love2 + $love3 + $love4>>\n<<set $musicality = $musicality1 + $musicality2 + $musicality3 + $musicality4>>\n<<set $bravura = $bravura1 + $bravura2 + $bravura3 + $bravura4>>\n<<set $hatchlings_left = $hatchlings>><<endnobr>><big>CONGRATULATIONS!</big>\n<<timedcontinue 1s>>you are so good at being a blackbird\n\n<<timedcontinue 1.5s>><big>BLACKBIRD SCORES</big>\n<<timedcontinue 1s>>{{{city smarts}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{. }}}<<timedcontinue 0.3s>><<print $streetsmart>>\n<<timedcontinue 0.3s>>{{{glossiness}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{. }}}<<timedcontinue 0.3s>><<print $glossiness>>\n<<timedcontinue 0.3s>>{{{love}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{. }}}<<timedcontinue 0.3s>><<print $love>>\n<<timedcontinue 0.3s>>{{{musicality}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{. }}}<<timedcontinue 0.3s>><<print $musicality>>\n<<timedcontinue 0.3s>>{{{bravura}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{. }}}<<timedcontinue 0.3s>><<print $bravura>>\n<<timedcontinue 0.3s>>{{{hatchlings born}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{. }}}<<timedcontinue 0.3s>><<print $hatchlings_start>>\n<<timedcontinue 0.3s>>{{{hatchlings surviving}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{. }}}<<timedcontinue 0.3s>><<print $hatchlings>>\n\n<<timedcontinue 1s>>these scores are the perfect scores\n<<timedcontinue 1.5s>>you are the best at being a blackbird\n<<timedcontinue 1.5s>>you are the best at everything\n<<timedcontinue 1s>>[[restart|dupeStart]]\n<<replace "tweet your score">>chirp chirp chirp chirp<<playsound "tweet.mp3">><<endreplace>>
[[chapter i]]\n<<if visited ("keep flying")>>[[chapter ii]]<<else>>chapter ii<<endif>>\n<<if visited ("another blackbird")>>[[chapter iii]]<<else>>chapter iii<<endif>>\n<<if visited ("it is your turn to hunt")>>[[chapter iv]]<<else>>chapter iv<<endif>>\n\n[[back|dupeStart]]
a careful sleep, not entire\nbut always half-waking\n\nwhile your eyes take turns\none sleeping wholehearted, one watchful \n\nyou see past your nest \nand <<if $nest eq "hedge">>the twig-knitted walls of your hedge<<else if $nest eq "tree">>the long branches beyond<<else>>its barricade of thin spikes<<endif>>\n<<<\n//you see tall trees, as tall as the highest building\nthick with blossom, pink and white\nand you dive from the highest branch\noutracing the petals that fall and twist in your wake//\n<<<\nyou shift on the nest, feel the hatchlings kick and gape\n<<<\n//and you [[dream]]
<<set $shininess2 += 1>>\s\nthe sunlight is orange now\n\nthe railing\n(like you)\nis glossy and black\n\na bigger bird could not fit here\na smaller bird would, you imagine, be intimidated\n\nonly you can command the railing's spikes and iron\nyou are unparalleled\n[[it will not be hard for you to win a mate|win a mate]]
you skirt the leaves above\nup into empty air\n\nand as you fly\nyou survey the city\n\nyou swerve around chimneys\nyou disdain leaf-packed gutters\nyou have [[other matters|chapters]] to deal with
<<set $shininess = $shininess1 + $shininess2 + $shininess3>><<set $death to either (0,1,2)>><<set $hunt = "tables">>you land on abandoned tables\n<<if $shininess lt $death>><<set $hatchlings -= 1>>you ate here so often, once\nsurrounded by admirers\n\nbut your feathers are ruffled now\nyour coat dull\n\nyou fill your beak with food then fly away,\n[[dodge back again]]\nand fly away again<<else>>you are magnificent\n\nyour beauty dazzles everyone around\nand you eat uninterrupted \nfrom the plates of kings\n\nyou fill your beak with treats and fly them home\n\nnever have any birds dined so richly\nand when at long last the gaping mouths are stilled\nyou [[rest|chapters]]<<endif>>
<<set $wellfed1 += 1>>\s\nthey have so much food for you\n\nbacon rind\n(all salt and fat, chopped finely for ease of digestion)\nraisins\n(soaked in warm water for your delectation)\nsunflower seeds\n(you don't know why they give you these\nthey are terrible\nso terrible\nso dry and bitter)\n\n[[eat]]
<<set $wellfed1 += 1>>there is so much food\nyou scoop up a raisin in your beak\nand swallow it whole\n\nyour are left alone with your feast\nand nothing to do but eat\n\nof course, the greybird might lumber back\nbut you are so strong\nand there is so much food \n\n[[keep eating|eat3]]\n[[fly away]]
<<set $wellfed += 1>><<set $nest = "hedge">>\s\nthe branches are packed in tightly, thick with leaves\nthe dirt below is rich with worms\nyou'll eat well here\n\nit is so late now\nbut you'll stay here together and sleep\nboth of you\nasleep at last in this hedge\nand [[in the morning]], you'll nest
how to be a blackbird
from the north of the tree\nyou circle widely\nwest then south then east\nallowing the sun to glint on your every feather\n\nyou pull up\nturn\nand circle again\neast south west north east\nfaster and faster\n\nand when you are sure you have been noticed\n(nobody could fail to notice)\nyou spot from your height a bare and elegant branch\nand you [[land|singbetter5]]
if you left them alone in the world\npassing strangers would surely witness their perfection\n\nbring them gifts\ndangle fruits above them\ndrop bacon and beetles into their eager maws\n\nwait for their eyes to slowly open and see\nfor the first time \nthe world\n\nbut: better safe than sorry\nso you [[feed them]] yourselves\n
<<if $streetsmart1 gt 1>>you call alarm from the gutter\n\nyour admirers return\nto wave their arms \nto protect you\n\nthe greybird retreats\nsounding its ugly squawk\n\nand in the wake of its flight\nyou land, ever so gently,\n[[to feed|to eat]]<<else if $musicality1 gt 2>>you call alarm from the gutter\n\nyour admirers return\nto wave their arms \nto protect you\n\nthe greybird retreats\nsounding its ugly squawk\n\nand in the wake of its flight\nyou land, ever so gently,\n[[to feed|to eat]]<<else>>but nobody hears\n\nyour admirers do not return\nyour alarm call vanished beneath city noise\n\nand when at last the greybird departs\nit has left you no raisins\n\nthere is nothing but [[dry seeds|eat the dry crumbs]]\nperhaps you should scorn these dregs and [[fly away|flynofood]]<<endif>>
<<set $bravura2 += 1>>in the treetops\nother blackbirds gather\n\n[[arrange your tail at a rakish angle]]\n[[sing|matingsong]]
you could go anywhere\n\nwell, there are other blackbirds nesting to the east\nwho are a little protective of their territory\nso perhaps not that way\n\nand everythings is very busy below on the ground\nso maybe not there just yet\nit would be a shame to die while your feathers are so beautiful\n\nbut anywhere else\nlike [[a balcony]]\nor [[a treetop]]
\n\n\n\n\n\n\n\n\n\n\n<html><big><big>how to be a blackbird</big></big></html>
<<set $streetsmart1 += 1>>\s\nbelow you, in a hedge\nhalf-hidden\nsomething moves slowly\n\nbrown and orange\nfour legs\na tail \n\nthe ground is full of things that move slowly\nand the ground is full of things that move quickly\n\nthe ground is, as a rule, quite full\n\nyou watch\nand [[hop]]
and you push into air\nyour belly proud with raisins\n\n[[higher]]\n
<<set $bravura1 += 1>>\s\n<<set $streetsmart1 += 1>>\s\n//here i am, here i am// you sing\n//so hear me, so hear me// you sing\n//hear, here, look at me//\n\nand below you there is movement\nperhaps even kerfuffle\nas if everyone has become aware of the most beautiful sound\n(it is not for you to say your song is the most beautiful sound\nbut that is after all how they respond\nand who are you to tell them that they're wrong?)\n\n//here i am// you sing\nand they listen, and listen, until you [[fly away|fly]]
you punctuate your song\nwith quick notes \nrepeating\n//here i am//\nreversing\n//i am here//\nshowing off\n//behold, behold//\n\nit's strange that it's taking so long\n\n[[sing|singbetter2]]
from the gutter, looking down, you see\n\nadmirers on the balcony\nbringing you tribute\n(this happens sometimes\n<<if $musicality1 gt $shininess1>>you must have been singing particularly finely\nyour practice has not gone unrewarded)<<else>>your feathers must be even more beautiful than usual\nall your preening has been recognised)<<endif>>\n\nyour admirers pile [[gifts]] upon your ledge\nand then they leave\n
<<nobr>><<set $musicality1 = 0>>\n<<set $shininess1 = 0>>\n<<set $wellfed1 = 0>>\n<<set $love1 = 2>>\n<<set $streetsmart1 = 0>>\n<<set $bravura1 = 0>><<endnobr>>blackbird feathers are glossy and bright\nblackbird nests are cosy and neat\nblackbird song is the most beautiful of all the birdsong\n\n(you sing it every morning\nso you should know)\n\n[[hop|hop1]]
you chirp once\n//hello, friend//\n\nthere are two of them on the balcony now\nso you correct yourself\n//hello, friends//\n\n(but don't let them come too close\n"friend" is a courtesy title\nthe city is dangerous\nand you must be careful where you place your trust)\n\n[[wait for your gifts|wait for tribute]]
<<timedcontinue 1s>>hop <<timedcontinue 0.5s>>hop <<timedcontinue 0.1s>>hop <<timedcontinue 0.1s>>hop <<timedcontinue 0.1s>>hop <<timedcontinue 0.3s>>hop\n\n<<timedcontinue 1s>>(you hop very well\nwith grace and an element of unpredictability)\n\n[[preen]]\n[[sing]]\n[[fly]]\n<<fadeinsound "birds.mp3" >>\n
you turn up one green leaf\nand then another\n\n<<timedcontinue 3s>>nothing\n<<timedcontinue 1s>>nothing <<timedcontinue 0.7s>><<print either ("[[a caterpillar]]","[[a chip]]","[[a chip]]","nothing")>> <<timedcontinue 0.7s>>nothing\n<<timedcontinue 1s>>nothing <<timedcontinue 0.7s>><<print either ("[[a chip]]","nothing")>> <<timedcontinue 0.7s>><<print either ("[[a chip]]","nothing")>> <<timedcontinue 0.7s>>nothing\n<<timedcontinue 1s>>[[a caterpillar]]\n
<<if $divebuddy eq "a mountain of berries">><<set $wellfed += 1>>\s\n>>>//you dream every colour of berry\nred yellow green//\n>>>\ntraffic lights reflect in water\n>>>//and you gorge yourself\nyour beak grows wider \nencompasses ten, a hundred berries, a thousand\nand you tilt your head back and swallow\nfeel your stomach grow plump\nyour feathers smooth with health//\n<<else if $divebuddy eq "clustered admirers waiting">><<set $shininess += 1>>\s\n>>>//you dream your elegant flight\n\nall the blackbirds, and other birds as well\nlook up in awe as you descend\ntrees leaning out of your path\nwalls disassembling themselves brick by brick\nrebuilding into towers to honour your flight\nthe city reforming around you//\n<<else if $divebuddy eq "your nest and your glossy companion">><<set $love += 2>>\s\n>>>//you dream your companion flying from the nest\nand you circle together\nintersecting spirals\n\nand then you land on a ledge\n(he likes a good ledge)\nand you hop together\nhop hop hop hop hop//<<else>><<set $bravura += 1>>\n>>>//in dreams, as in your waking life\nthreats are nothing to you\nyou outfly them all\n\nthey cower before you\nfoxes and traffic alike\nturning \ndespairing\ncringing before your magnificent beak//<<endif>>\n>>>\nand you open one eye again\nand see the daylight [[dark as night]]\n
<<eggturnloop>>\nand wait\n\n<<if $nest eq "tree">><<set $hatchlings -= 1>>you turn the eggs \nand turn them as your tree gusts in the wind\n\nand if one of them rolls to the edge of the nest\n(and it does)\nthen it [[probably won't fall]]<<else>>you turn the eggs\nand turn them\n\noutside the nest winds gust and trees bend\nbut here your eggs are safe\n<<eggturnloop>>\n\nwhile you [[wait|eggwait]] until the time comes \nto turn them again<<endif>>
you are a small blackbird\nin a big city\n\n[[play|chapters]]\n[[about]]\n
body { background-image: url("trees.jpg"); background-size: 1500px; }
and you <<continue "look">>look\n\nlook for anything\nlook north and east and south and west\n\nlook on chimney pots\nlook on roads\n\nyou are of course not worried\nyou do not worry, as a rule\nit is never necessary, and it dulls the feathers\n\nbut you [[look|look4]]
<<set $musicality2 += 1>>it's getting dark\n\nyou sing\nyour notes in the gaps between the sounds below you\n\n[[sing better]]\n[[sing louder|matingsong louder]]
you are wonderful, the most wonderful blackbird\n(you and he, alone in your shared radiance)\n\nbut your gloss and glamour are in disarray\nand nobody clamours, now, to bring you gifts\n//shoo, get off// they yell\nalmost as if \nyou had [[no business here]]\n
body { background-image: url("bridge.jpg"); background-size: 1500px; }
<<set $bravura2 += 1>>you drop from the branch \nand plunge towards the ground\nand then pull up\n\nup higher\nhigher\n\nand then land again \n\nyou are pretty sure that everybody noticed\n\n[[dive]]\n[[circle]]
<<set $streetsmart3 += 1>><<set $nest = "ledge">>there are spikes here\nthin spikes\nand you drop behind them\neffortless in your flight\n\nthey are barricades\nbuilt just for you\n\nit's late now, so late\nand you sleep\nbut for the first time you sleep together\nand [[in the morning]] you will nest\n
you wait in the nest-to-be\n\nsoon the first twigs will come\nyou will balance and twist \nand make the most beautiful home\n\neach twig is dropped at your feet with a rush of air\nand a song just for you\n(such beautiful wings\nsuch a beautiful song)\n\n[[take the twig]]\nand place it carefully\n\nyour home depends on this\n
<<set $streetsmart = $streetsmart1 + $streetsmart2 + $streetsmart3>><<set $death to either (0,1,2,3)>><<set $hunt = "paths">><<set $wellfed3 +=1>>nothing here lies still for long\nstone becomes crumb becomes stone\n\n<<if $streetsmart lt $death>><<set $hatchlings -= 1>>there is so much food\nbut it's hard to get to\nblocked by lumbering greybirds and fast-striding feet \n\nyou grab and swallow what you can\nswoop here and turn there\nyou are out of practice\nyou have not trained for [[streets this busy]]<<else>>there is so much food\nblocked by lumbering greybirds and fast-striding feet \nbut you are in your element\n\nyou have trained for this day\nand though you are out of practice\nyour command of the city streets is supreme\n\nyou swoop sidelong, filling your beak\ncircling home and returning\nover and over\n\nand when at long last your gaping infants sleep\nyou [[rest|chapters]]<<endif>>
body { background-image: url("contrails.jpg"); background-size: 1500px; }
<<set $love3 += 1>>and grasping the twig in your beak\nyou fly\nso fast\nas fast as you can\nbursting with song \neach note dammed up by the twig \n\nand when you drop it at the nest \nyour beak free at last\nyou sing\njust quickly\n\nand then you fly away \nto [[gather again]]
and if it falls \n(and it does) \nthen it [[probably won't break]]\n
you will have unparalleled fledgelings\nblackbirds will come from all over the city\nfrom outside the city as well\nleaving their distant trees\nto gaze on your fledgelings\n\nyou will be beautiful together\nand you will be happy\n\nyou will build the cosiest nest\nyou will cosset each other\nfor ever\nyou will bring each other fat raisins and immense worms \n\n[[you have done well for yourself|chapters]]
<<set $streetsmart1 += 1>>on this balcony there are lilacs growing\nthere are tulips\nthere is a squirrel sunning itself on a ledge\n\nyou do not concern yourself with squirrels\n\na greybird is here, big and clumsy\n(so much bigger than you)\n\nit hops and huffs and fluffs its feathers\ngrey and pink and white, little red-rimmed eyes \n\nthere are windows\nand in the windows you see the sky\nand behind the sky you see something move\n\n[[retreat]]\n[[stay]]
and you and he together\nsated on worms\nfind shelter under a <<print $cloudcolour>> roof\n\nyou could rush to the nest, but the hatchlings\nwill only be yawing for food\nand it will not hurt them to wait\n\nand if one or two of them should be lost\nduring the delay\n(and this is, you concede, quite likely)\nthen you will have more worms and love for those that remain\n\nso you shake your wings and sit\nstill damp, but dryer\nand wait for the storm to [[end|results]]\n\n<<fadeoutsound "storm.mp3" >>\n<<fadeoutsound "traffic.mp3">>
<<set $streetsmart2 +=1>>you sing into dusk\n(louder and louder)\nand into the night \n\nand you aren't sure\nwhether the sounds around have finally started to fade\n(as they do in the night\nlong after you usually sleep)\n\nor whether your lungs and bold heart\nhave inspired you to accomplish feats of song\nbeyond feats that blackbirds can accomplish\n\nyou aren't sure\nbut finally [[someone hears]]
you will not countenance situations like this\nyou will not stoop to the level of the greybirds\n\nyou will not compete for attention\nor affection\n\nor for food\nthat should be yours by right\nand was in any case probably not very nice\n\n[[you leave the balcony behind|flynofood]]
from here you can see\n\nstone on ground\nclouds in the high air\nsun bright on treetops\n(leaves move with your heft as you land\nshadows shift below)\n\nfrom here\nyou can [[preen|preenb]]\n(you are exceptionally good at preening)\nyou can [[watch]] the constant movement below\n(your eyesight is remarkable)\nyou can [[listen]]\n(when you cock your head to the side at a perfect angle\nyour hearing is unparalleled)
(function () {\n version.extensions['timedreplaceMacro'] = {\n major: 2,\n minor: 3,\n revision: 0\n };\n macros['timedcontinue'] = macros['timedinsert'] = macros['timedreplace'] = {\n handler: function (g, e, f, b) {\n function cssTimeUnit(s) {\n if (typeof s == "string") {\n if (s.slice(-2).toLowerCase() == "ms") {\n return Number(s.slice(0, -2)) || 0;\n }\n else if (s.slice(-1).toLowerCase() == "s") {\n return Number(s.slice(0, -1)) * 1000 || 0;\n }\n }\n throwError(g, s + " isn't a CSS time unit");\n return 0;\n }\n\n function tagcontents(starttag, endtag, k) {\n var a = b.source.slice(k);\n var l = 0;\n var c = "";\n for (var i = 0; i < a.length; i++) {\n var w = endtag.length;\n if (a.substr(i, w) == endtag) {\n if (l == 0) {\n b.nextMatch = k + i + w;\n return c;\n }\n else {\n l--;\n c += a.charAt(i);\n }\n }\n else {\n if (a.substr(i, starttag.length) == starttag) {\n l++;\n }\n c += a.charAt(i);\n }\n }\n return "";\n }\n var tr = "<<" + e;\n var rw = "<<replacewith>>";\n var etr = "<<end" + e + ">>";\n var k = b.source.indexOf('>>', b.matchStart) + 2;\n var c, d;\n\t if (e == "timedcontinue") {\n\t d = b.source.slice(k);\n\t\tb.nextMatch = k + d.length;\n\t }\n else if (e == "timedreplace") {\n c = tagcontents(tr, rw, k);\n d = tagcontents((c ? rw : tr), etr, c ? b.nextMatch : k);\n }\n else if (e == "timedinsert") {\n d = tagcontents(tr, etr, k);\n }\n else if (e == "timedremove") {\n c = tagcontents(tr, etr, k);\n }\n var tm;\n tm = cssTimeUnit(f[0]);\n var h;\n if (c) {\n if (d) {\n g = insertElement(g, "span", null, "timedreplacements");\n }\n h = insertElement(g, "span", null, "timedreplacement timedremove");\n new Wikifier(h, c);\n if (d || e == "timedremove") {\n setTimeout(function () {\n h.classList.add("replacement-out");\n setTimeout(function () {\n h.parentNode.removeChild(h);\n }, 1000);\n }, tm);\n }\n }\n if (d) {\n var m = insertElement(g, "span", null, "timedreplacement timedinsert", d);\n m.style.display = "none";\n setTimeout(function () {\n if (m) {\n var t = m.firstChild ? m.firstChild.nodeValue : "";\n removeChildren(m);\n new Wikifier(m, t);\n m.style.display = "inline";\n m.classList.add("replacement-in");\n setTimeout(function () {\n m.classList.remove("replacement-in");\n }, 1);\n scrollWindowTo(m);\n }\n }, tm);\n }\n else if (!c && e != "timedremove") {\n throwError(g, "can't find matching end" + e);\n return;\n }\n }\n }\n macros['timedremove'] = macros['timedreplace'];\n macros['replacewith'] = macros['endtimedinsert'] = macros['endtimedremove'] = macros['endtimedreplace'] = {\n handler: function () {}\n }\n scrollWindowTo=function(E){var D=window.scrollY?window.scrollY:document.body.scrollTop;\n var G=J(E);if(!G){return;}var C=Math.abs(D-G);var B=0;var I=(D>G)?-1:1;var F=window.setInterval(H,25);\n function H(){B+=0.1;window.scrollTo(0,D+I*(C*Math.easeInOut(B)));if(B>=1){window.clearInterval(F);\n }}function J(N){var O=A(N);var P=O+N.offsetHeight;var K=window.scrollY?window.scrollY:document.body.scrollTop;\n var L=window.innerHeight?window.innerHeight:document.body.clientHeight;var M=K+L;\n if(O>=K){if(P>M){if(N.offsetHeight<L){return(O-(L-N.offsetHeight)+20);}else{return O;\n }}}}function A(K){var L=0;while(K.offsetParent){L+=K.offsetTop;K=K.offsetParent;}return L;\n }};\n}());
and when in due course the eggs crack\ntheir perfect shells disturbed at last\n\nyour [[hatchlings]] clamber out\n(wet and clumsy\nmouths agape, eyes shut)\n\n
<<set $musicality2 += 1>>you sing to yourself often\nand you sound magnificent\nbut something about this is different\n\nyou are singing \n//here i am//\nyou are singing for the future\n//look at me//\nyou are singing for joy\n//i am me\ni am a blackbird\nand the blackbirds are the best of the birds\nand i am the best of the blackbirds//\n\n[[trill]]\n[[chirrup]]
you wake up early and sing\n\nyou summon the world\neach note a new shaft of sunlight\n\nyou are so happy\nunstoppable\nbold\nbeloved\nand you [[start to build|nest1]]
>>>//you spread your wings, lit from below\nmajestic\n\nlofted into the air by admiration \nby gasps and chirrups and upturned eyes//\n>>>\neyes: you open your own\njust for a moment\nyou witness the splash of a raindrop\nthen [[close them again]]
<<set $wellfed1 += 1>>\s\n<<set $shininess1 += 1>>\s\nyou catch the caterpillar \nby its reluctant head\nflick your own back\nswallow\n\nit wriggles in your throat as you [[fly away|treefly]]
the twigs come faster\nand leaves, wet with mud on this dry day\nanother twig\nanother song\nanother twig\n\nyou hear the city (louder and louder)\nand feel the sun (warmer and warmer)\nand then it gets dark\nand the sounds settle\n(just a rumble now in ruddy lamplight)\n\nand you both huddle together\nand sleep in your mess of twigs\nand in the morning you [[build again|gather again]]
you have been singing so loud\nfor so long\n\nyour song aches in your chest\n\n[[sing|singlouder4]]
and sometimes, while you wait and turn the eggs\nyour black-feathered companion lands\nbeak rammed with crumbs\nor crammed with raisins\nor dangling a creature with either no legs, or with many\n\nthese gifts are carried with such aplomb\nand once his beak is empty he sings again\n\n//here i am, here i am// he sings\n//here you are, here you are// he sings\n//this is food, this is food// he sings\n \nand you [[alight|he is]] from your throne of eggs\n(<<eggloop>>)\n
body { background-image: url("blackbird-background.jpg"); background-size: 1700px; }\n
<<set $glossiness2 += 1>>some of the other blackbirds glance your way\n\n[[swoop to impress them]]\n[[sing magnificently|matingsong]]\n
<<set $musicality1 += 3>>//here i am here i am here i am//\nyou sing\n//look at me look at me look at me//\n\nbut nobody is looking at you\nwhich can't be right\n\nthere are other noises\n//whhhhhhhhrrrm, bwooooonk, BEEP. BEEP. BEEP. BEEP.//\nperhaps they are blocking you out\n\n[[keep singing|sing2]]\n[[sing louder]]\n[[fly]]
>>>//so fast, //so// fast\nand so far\n\nthrough clouds that split open in welcome\n\nyou plummet towards\n<<cyclinglink $divebuddy "a mountain of berries" "clustered admirers waiting" "your nest and your glossy companion" "greybirds and bicycles fleeing your powerful beak">>//\n>>>\neyes open again:\nthudding rain and deep puddles\nand you alone in your nest\n\n(your hatchlings, adorable, call out in their hunger\nbut as yet they have little conversation)\n\n[[keep sleeping]]
one of you\nthe brown one\nsharp-eyed and brave\nwill stay here\n[[knitting together]] the nest\ntwigs and leaves, grass and mud\n\nthe other one\nthe black one\nsharp-beaked and proud\nwill [[fly and fetch]]\n\nhunting the twigs\nscooping the mud\nbringing it home
<<set $musicality2 = 0>>\s\n<<set $shininess2 = 0>>\s\n<<set $wellfed2 = 0>>\s\n<<set $love2 = 0>>\n<<set $streetsmart2 = 0>>\s\n<<set $bravura2 = 0>>you have wondered for days past\nwhether the time has come\nto seek a companion\n\nto find a mate who will follow you through the air\nwho will search for food with you\nwho will watch for danger\nand warn you \nand whom you will warn in turn\n\n[[perhaps]] the time has come
this is a blackbird simulation game \nby <html><a href="http://hollygramazio.net">holly gramazio</a></html>, made in <html><a href="http://twinery.org">twine</a></html>\n\nsounds:\ncity: <html><a href="https://www.freesound.org/people/Cameron%20Johnson/sounds/72062/">Cameron Johnson</a></html>\nstorm: <html><a href="https://www.freesound.org/people/OroborosNZ/sounds/141251/">OroborosNZ</a></html>\nbirds: <html><a href="https://www.freesound.org/people/inchadney/sounds/102805/">inchadney</a></html>\ntweet: <html><a href="https://www.freesound.org/people/acclivity/sounds/13531/">acclivity</a></html>\n\n[[back|dupeStart]]
body { background-image: url("cranes.jpg"); background-size: 1500px; }
<<nobr>><<set $shininess1 += 2>>\n<<set $bravura1 += 2>><<endnobr>>\nyour feathers are so bright in the sun\nyour tail is pert\nyour belly is stout\nyou bury your beak in your wings to comb out the knots\n(one by one)\nand your feathers grow brighter\n\n[[keep preening|preen2]]\n[[sing]]\n[[fly]]
holly gramazio
you take your turn on the nest\nto guard your hatchlings against the jealous world\nand you [[sleep]]\n\n<<fadeoutsound "birds.mp3" >>
you head to the treetops\nwhere you have seen\nother blackbirds gather\n\nto take your place among them\nand to woo\n\nyou have never wooed before\nbut you expect it will come naturally\n\n[[arrange your tail at a rakish angle]]\n[[sing|matingsong]]
and as you sing\nsomeone is watching\n\n(probably she has been watching all along\nyou are, after all, worth watching)\n\nand when you have sung every note you know\nshe hops \n\n(closer)\n(closer)\n\nand [[lands on your branch|another blackbird]]\n\n
<<set $shininess1 += 1>>\s\nthe birds are the most beautiful of the things \nand the blackbirds are the most beautiful of the birds\nand you are maybe\n(you don't want to be vain but in the sunlight like this\nyour wings newly combed\nyour beak clean\nyour eyes keen)\nyou are maybe the most beautiful of the blackbirds\n\nyou give your feathers one quick flutter\nyou are ready for the big city\n\n[[fly]]
he may be waiting\nguarding bacon and berries\nwaiting for you to deduce the nature \nof the situation\n\nor perhaps he is just taking shelter from the rain\n\nthose are the only two possibilities\nnothing has gone wrong\n\n[[go and check]]\n[[stay with the nest]]
you're very handsome\n\n[[flick your wings]]\n[[sing beautifully|matingsong]]
<<set $sleepiness = 0>>you are a small blackbird\nin a big city\n\n<<timedcontinue 2s>>[[play|chapters]]\n<<timedcontinue 1s>>[[about]]\n\n<<fadeinsound "traffic.mp3" >>
your admirers have gathered so much food for you\n\nbacon rind\n(all salt and fat, chopped finely for ease of digestion)\nraisins\n(soaked in warm water for your delectation)\nsunflower seeds\n(you don't know why they give you these\nthey are terrible\nso terrible\nso dry and bitter)\n\n[[eat]]
>>>//trees grow as you watch\ntheir slow lives hastened by sleep\n<<cyclinglink $citystate "fresh green twigs that thicken into branches""a forest packed dense around buildings""bursting through pavements, trunks through shattered stone">>\nand you perch \n\nthrough every window a light begins to shine\n\neach one so bright \na sun built just for you\nto shine on you\n\ncasting a [[million dawns|million sunrises]] over the ground
but if it takes some time \nto fill your beak\n\nand so at home you find the open maws\none fewer than you thought \n(<<mouthloop>>)\n\nthen no harm done\n\nthere is only so much love in a blackbird heart\nand it wouldn't do to spread it out too thin\n\nyou [[rest|chapters]]
>>>//you can fly so high\n\neach circle takes you higher\nuntil you see the city entire, supplicant\nbeseeching your attention\n\nits distant edges\n\nyou're dizzy with height\nthin air beneath your wings\n\n[[dive|dive2]]//
<<set $shininess += 1>>you are a beautiful blackbird\nall who witness you are dazzled\n\nbut all the same\nit can't hurt to look your best\n\nyou tilt your head to one side\nat its most becoming angle\nand fix your gaze upon your eager admirers\n\n[[wait for tribute]]
<<set $love4 += 2>><<set $hatchlings -= 1>>you take off\n(your nest will be fine)\n\nand watch for familiar movements\nfor grace and elegance and effortless flight\nyou listen for the most beautiful song\n\nthere are [[so many reflections]]
and if you find your companion worm-beaked\nmatted by rain\n(which you do)\nthen you do not feel afraid \nand when he tilts his head\n(that perfect angle)\nyou do not feel relief \nnor at his familiar hop\n(hop hop hop hop hop)\n\nyou simply pluck a worm of your own from the [[mud]]\n<<fadeinsound "birds.mp3" >>
body { background-image: url("general-city.jpg"); background-size: 1500px; }
you open one eye again:\nit's getting cold\n>>>//you flew to the country once\nflew and kept flying\n<<cyclinglink $sound "perched on a high steeple, listened to bells" "patrolled the long hedges and ruined walls" "teased clumsy sheep and slept in hollow trees">>\n\nat night the foxes were loud\n(but foxes are always loud)\n\nin the morning you could hear so many birds//\n>>>\nyour nest is sturdy\nand barely rocks in the wind\n\n[[watch|watch3]]\n\n<<fadeinsound "storm.mp3" >>
<<$love3 += 1>>\s\n<<set $nest = "tree">>it's late\nand time to sleep\nbut you stay here in the tree\nboth of you\n\nhigh branches shift in the wind\nyou can see in every direction\n\n[[in the morning]] you will nest\n
<<set $bravura1 += 1>>the food bearers who tend the balcony know you\nand do not challenge you\nbut it cannot do to be overconfident\nand it cannot hurt to remind them of your status\n\nyou puff out your chest and fluff your wings\nlook at you!\nyou are enormous! \nyou are so brave!\nyou could take them both\n\nnot that you will, but you could\n\n[[wait for their gifts|wait for tribute]]
<<set $musicality1 += 1>>from here you can make out long notes\na constant rumble \n\na repeating bellow\na honk, a blare, a clatter\n\nthe burr of awkward greybirds calling each other\n(so predictable)\n\n[[hop]]
to be fair\nit's quite loud\nand some of the subtleties of your song may be lost\n\nbut you will not compromise your artistic integrity\n\nyou sing\n//here i am//\nyou sing\n//and here i will stay//\nyou sing\n//until it grows dark\nand the city quiets\nand the lights grow dim\nand then you will hear me at last//\n\n[[sing|singbetter3]]
the sun is gone\nand you sing on\n\nit gets darker\nand darker\nand then no darker\nsky clouded with light from the ground below\n\nand you fly from branch to branch\nsinging\n\nit is long past dusk\n\n[[sing|singbetter5]]
you have waited in the nest for so long\nbuilding and laying and turning the eggs\n\nbut now you and he take turns\n\none of you admires your hatchlings\ntheir fluffing protofeathers\ntheir growing wingstubs\n\nwhile the other hunts\n\n[[it is your turn to hunt]]
<<set $danger to either (1,2,3);>>\s\n<<set $streetsmart = $streetsmart1 + $streetsmart2>>\s\n<<if $danger gte $streetsmart>>\s\n<<set $shininess -= 1>>\s\nyou land on shady dirt\na square as wide as your outspread wings\nsurrounded by stone\n\nchirrup\nand dodge the whirr of thin wheels passing by\n\nthis is a noisy place\nthis is the wrong place for you\nthis is a place for tough blackbirds, hard blackbirds\ndeadly blackbirds honed in the arena of the street\n\nyou are too sophisticated for this square of dirt\nyou leave with your feathers in slight disarray\n\nyou have more important matters to consider\nafter all, it's time to [[fall in love|win a mate]]\n<<else>><<set $wellfed2 += 1>>the city's rumble is loudest here\n\nyou land on shady dirt\na square as wide as your outspread wings\nsurrounded by stone\n\nan insect tries to run\nbut you snatch it up\nand swallow it whole \n\nfor another bird it might be dangerous to perch here\nbut you are so quick\nand so brave\n\n[[you will be so good at seeking your mate|it's time to seek a mate]]<<endif>>
and then, on a branch beside you,\n[[another blackbird]]
and if it breaks \n(and it does)\nthen it's no matter really\n\nyou can tend to your remaining eggs more closely now\n<<eggloop>>\n\nwhile you [[wait|eggwait]] until the time comes \nto turn them again
and it's not that you were worried \nnor that the shaking of your nest made you fear \ngreater losses\n\nit is not that you did not trust your companion\nto navigate puddle-deep streets\n\nbut all the same when he lands of a sudden beside you\na solitary worm in his beak\n\nyou find you do not regret his poor haul\nnor do you fly out yourself straight away\ntaking your turn\n\nbut rather you shift on your nest \nto [[give him room|make room]]\n\n<<fadeinsound "birds.mp3" >>
you are back in the air at last\nabove the trees\n\ngrassy expanses and stony paths and tables\nall clustered below\nwaiting for you to pick\n\nthe [[grassy expanses]] are filled with insect homes\nthe [[stony paths]] are scattered with long-lost food\nthe [[tables]] heave with piles of food so vast\nthat even your hatchlings with their constant hunger\nwould be sated
<<set $hunt = "grass">><<set $hatchlings -= 1>><<set $shininess3 -=1>>you land and peck\nand swallow the first worm whole\n\nyou need to work quite hard, on this pristine grass,\nto find the food and ferry it here to home\nslowed by the need to dodge sharp claws and orange fur\nbut there is food, and you will eat\n\nand if at home you find the open mouths\none fewer than you thought (<<mouthloop>>)\nthen no harm done\nthere is only so much love in a blackbird heart\nand it wouldn't do to spread it out too thin\n\n[[rest|chapters]]
<<set $shininess1 += 1>>you settle back \ntuck in your wings\nflick your tail\n\nyou are angled to your best advantage\n(the rooftops behind a complementary echo\nof your elegant lines)\n\nyou have never looked better\n\n[[hop]]
<<set $wellfed1 += 1>>\s\n[[eat more]]
you push into air \n\ntreetops and rooftops\nchimneys and hoardings\npylons\nwindows reflecting the sky\n\n[[keep flying]]\n
grey sky and thunder\n\nperhaps you should go and check\nthat everything is as it ought to be\n\nperhaps your companion has found so much food\nthat he cannot carry it back to the nest by himself\n\nthat is by far the [[most likely circumstance]]
you keep one eye open\nand one eye closed\n>>>//in your sleep, the thunder\nis the chorus of a thousand birds//\n>>>\nand you <<continue "wait">>wait\nand wait and sleep\n>>>//fluff your feathers, grow vast//\n>>>\nand <<continue "wait">>wait\n[[and sleep]]\n
you fly past the wide expanse of grass \nwhere sharp claws and orange fur threaten\n\nyou fly past huddled greybirds\n\nyou land on dirt and look around\nthen take off\n\nyou land on a table, plates deep in water\nsoggy crumbs afloat\n\nand you [[fly higher]]
you nestle together and look at your pretty hatchlings\nand your wonderful nest\nand your wonderful city\n(or maybe it's not so wonderful)\n\n[[good night blackbirds|results]]\n\nCONGRATULATIONS, YOU HAVE SUCCESSFULLY COMPLETED\nHOW TO BE A BLACKBIRD\n\n
and once again you fly\n\nso swiftly when you take off\ninto the trees\na steady beat of your wings\nbrushing past leaves\n\nyou do not need to eat today\nyou have [[other matters|chapters]] to deal with\n
<<set $wellfed1 += 2>>\s\nthe chip is whole and unsullied\n\nyou grasp it\ntilt back your head\nand try to swallow\n\nit's big\nbut you can do it\n\n[[of course you can]]
<<set $bravura3 += 1>>and grasping the twig in your beak\nyou fly\nso fast\nas fast as you can\nbursting with song \neach note dammed up by the twig \n\nand when you drop it at the nest \nyour beak free at last\nyou sing\njust quickly\n\nand then you fly away \nto [[gather again]]
.timedcontinue {\n\ttransition: 0s;\n\t-webkit-transition: 0s;\n}
and yet you find food, somehow, and ferry it home\n\nand if it takes some time\nand if therefore you find \nthe open mouths\none fewer than you thought \n(<<mouthloop>>)\n\nthen no harm done\nthere is only so much love in a blackbird heart\nand it wouldn't do to spread it out too thin\n\nyou [[rest|chapters]]\n
your nest is perfect\n\nyou are both perfect within it\n\nwho knew any other bird\ncould fly as bravely as you?\n\nwho knew any nest could be so warm?\n\n[[strut]]\n[[eat|eat5]]
and you huddle\nerratically sheltered\nbuffetted from below by your numerous hatchlings\n\nwatching <<print $cloudcolour>> lights\nflare in the clouds\n\nand you wait for the storm to [[end|results]]\n\n<<fadeoutsound "traffic.mp3" >>\n<<fadeoutsound "storm.mp3">>
and if you hear a sound behind you\na yowl and a bell\nand you [[take off|treefly]], chip heavy in your stomach\n\nthen that's not cowardice or alarm\nnot a flight from fear\n\nyou've just eaten\n\nnobody wants to fight on a full stomach
and together you admire the eggs\nso warm, so elegant\n\nnot as beautiful as you, of course\nand not as beautiful as him\nbut at least as beautiful as anything else in the world\n\nyou are very very good at laying [[eggs]]
<<set $eggdies to either ("dead","dead","alive")>>\s\n<<set $bravura3 += 1>>you leave the eggs and hop around the nest\nhop hop hop hop hop\nstretching your legs and your wings\nspreading your beak as wide as it goes\n\nand when you return to the nest\nthe eggs remain\n(<<eggloop>>)\n<<if $eggdies eq "dead">><<set $hatchlings -= 1>>\nwell, perhaps one egg is a little cold\nbut it was always the least symmetrical\nthe egg you cossetted least fondly under your feathers\n\nit will be good to be able to concentrate more fully\non your preferred eggs\n(<<eggloop>>)<<endif>>\nand so you [[wait|eggwait]]\n
(function () {\n version.extensions['replaceMacro'] = {\n major: 1,\n minor: 3,\n revision: 0\n };\n macros['continue'] = macros['insert'] = macros['replace'] = {\n handler: function (g, e, f, b) {\n var h = insertElement(null, "span", null, "replacement");\n var k = b.source.indexOf('>>', b.matchStart) + 2;\n var a = b.source.slice(k);\n var d = -1;\n var c = '';\n var l = 0;\n var el = e.length\n\t\t\tif (e=="continue") {\n\t\t\t d=k+a.length;\n\t\t\t c=a;\n } else for(var i = 0; i < a.length; i++) {\n if(a.substr(i, 7 + el) == '<<end' + e + '>>') {\n if(l == 0) {\n d = k + i + 7 + el;\n break;\n }\n else {\n l--;\n c += a.charAt(i);\n }\n }\n else {\n if(a.substr(i, 2 + el) == '<<' + e) {\n l++;\n }\n c += a.charAt(i);\n }\n }\n if(d != -1) {\n var m = Wikifier.createInternalLink(g, null);\n m.className = "internalLink replaceLink";\n insertText(m, f[0]);\n insertText(h, c);\n g.appendChild(h);\n h.style.display = "none";\n m.onclick = function () {\n var n = this.nextSibling;\n if(n) {\n var t = n.firstChild ? n.firstChild.nodeValue : "";\n removeChildren(n);\n new Wikifier(n, t);\n n.style.display = "inline";\n n.classList.add("replacement-in");\n setTimeout(function () {\n n.classList.remove("replacement-in");\n }, 1);\n scrollWindowTo(n);\n }\n if(e == "insert") {\n var p = document.createElement("span");\n p.innerHTML = this.innerHTML;\n p.className = this.className + " disabled";\n this.parentNode.insertBefore(p, this.nextSibling);\n }\n this.parentNode.removeChild(this);\n }\n b.nextMatch = d;\n }\n else {\n throwError(g, "can't find matching end" + e);\n return;\n }\n }\n }\n macros['endinsert'] = macros['endreplace'] = {\n handler: function () {}\n }\n scrollWindowTo=function(E){var D=window.scrollY?window.scrollY:document.body.scrollTop;\n var G=J(E);if(!G){return;}var C=Math.abs(D-G);var B=0;var I=(D>G)?-1:1;var F=window.setInterval(H,25);\n function H(){B+=0.1;window.scrollTo(0,D+I*(C*Math.easeInOut(B)));if(B>=1){window.clearInterval(F);\n }}function J(N){var O=A(N);var P=O+N.offsetHeight;var K=window.scrollY?window.scrollY:document.body.scrollTop;\n var L=window.innerHeight?window.innerHeight:document.body.clientHeight;var M=K+L;\n if(O>=K){if(P>M){if(N.offsetHeight<L){return(O-(L-N.offsetHeight)+20);}else{return O;\n }}}}function A(K){var L=0;while(K.offsetParent){L+=K.offsetTop;K=K.offsetParent;}return L;\n }};\n}());
you are at first uncertain\n\nyou are tired by your song\nyou are tired by the late hour\n\nbut you see movement\nthere on the next tree over\ndisturbed leaves falling back into place\n\n[[sing|loudersing2]]
(function(){var r="";var s=Wikifier.formatters;for(var j=0;j<s.length;j++){if(s[j].name=="image"){r=s[j].lookahead;\nbreak;}}var div=$("storeArea").firstChild.nextSibling;while(div){if(r){k(new RegExp(r,"mg"),4);\n}var b=String.fromCharCode(92);var u=b+"s*['"+'"]?([^"'+"']+(jpe?g|a?png|gif|bmp))['"+'"]?'+b+"s*";\nk(new RegExp("url"+b+"("+u+b+")","mig"),1);k(new RegExp("src"+b+"s*="+u,"mig"),1);\ndiv=div.nextSibling;}function k(c,e){do{d=c.exec(div.innerHTML);if(d){var i=new Image();\ni.src=d[e];}}while(d);}}());
you repeat your notes\nbut with finesse\nup and down\nfast and slow\n//admire my sharp eye\ncovet my swift beak//\n\nit's strange that it's taking so long\nfor you to be noticed\n\n[[sing|singbetter2]]
[[you could try|it's time to seek a mate]]\nyou could try to discover \na blackbird worthy of you\nyour glossy plumage \nyour eloquent song\n\nor you could [[perch]]\n\njust for a little while\nperch and sit and think\ngather yourself\n(not that you're nervous\nbut it wouldn't do to rush)
<<set $wellfed1 += 1>>you didn't realise you were this hungry\nthough lately crumbs have been so thinly strewn\nand the worms have been so scarce on stony ground\n\n<<print either("[[eat still more]] or [[fly away]]","[[eat still more]] or [[fly away]]","and if that is a greybird now<html><br></html>landing behind you<html><br></html>with a thump (a hollow thump)<html><br></html>so clumsy<html><br></html><html><br></html>and if it rushes at you<html><br></html>and you [[fly away]]<html><br></html><html><br></html>then it is not really in disarray<html><br></html>nor because you are afraid<html><br></html>but because you have already eaten so many raisins<html><br></html>and it's therefore time to leave")>>
<<set $wellfed3 += 1>>you fly from the nest\nand food seems to fall before you\neffortless\n\ncrumbs and caterpillars\nbeetles and blueberries\nbeneath every leaf there is something just for you\na gift in acknowledgement of your gifts to the world\n\nand when you return to your nest \nit strikes you\n\nthat it's almost perfect\nbut perhaps a little empty\n[[lay]]
<<set $wellfed1 += 1>>\s\nyou eat more raisins, you gorge on bacon rind\n\n<<print either("[[keep eating|eat4]] or [[fly away]]","[[keep eating|eat4]] or [[fly away]]","[[keep eating|eat4]] or [[fly away]]","[[keep eating|eat4]] or [[fly away]]","and if that is a greybird landing behind you (and it is)<html><br></html>with a thump <html><br></html>a huge thump<html><br></html>(so clumsy)<html><br><br></html>and if it rushes at you<html><br></html>(and it does)<html><br></html>and if you fly away<html><br></html>([[and you do|fly away]], you fly)<html><br></html><html><br></html>then it isn't that you are fleeing in disarray<html><br></html>nor is it, really, that you're at all afraid<html><br></html>but rather that you've fed so much already")>>\n
@import url(http://fonts.googleapis.com/css?family=Arvo:400,400italic);\n\n\n.passage { font-family: "Arvo", "Georgia", sans-serif; } \n.passage { font-size: large; }\n\nbody { color:white; background-color: #333333; } \nh1 { color:#F2F2F2; } \n \n.passage .title { display: none }\n.passage .body .disabled { color:white; font-style:normal }\n\n#sidebar { display: none; }\n\n#passages { border-left: 0px; padding-left: 0px; margin-left:30%; }\n\na.externalLink { color:#CCCCCC; }\na.externalLink:hover { color:#AAAAAA; }\na.internalLink { color:#FFDD00; }\na.internalLink:hover { color:#DDBB00; }\na.replaceLink { color:#FFDD00; }\na.replaceLink:hover {color:#DDBB00; }\na.cyclingLink:hover {color:#99AAFF; }\na.cyclinglink { color:#99AAFF; }\n\n.replacement.replacement-in {\n\topacity: 0;\n}\n.replacement {\n\ttransition: 1s;\n\t-webkit-transition: 1s;\n}\n.timedreplacement.replacement-in {\n\topacity: 0;\n}\n.timedreplacement {\n\ttransition: 0.4s;\n\t-webkit-transition: 0s;\n}\n.timedreplacement.replacement-out {\n\topacity: 0;\n}
hop\n\n<<timedcontinue 0.5s>>hop <<timedcontinue 0.1s>>hop <<timedcontinue 0.1s>>hop \n\n<<timedcontinue 0.7s>>hop <<timedcontinue 0.1s>>hop <<timedcontinue 0.1s>>hop <<timedcontinue 0.1s>>[[hop|hopagain]]\n\n\n
dunno
<<set $shininess3 += 1>>and grasping the twig in your beak\nyou fly\nso fast\nas fast as you can\nbursting with song \neach note dammed up by the twig \n\nand when you drop it at the nest \nyour beak free at last\nyou sing\njust quickly\n\nand then you fly away \nto [[gather again]]
you have eaten enough for today\nyou have [[other matters|chapters]] to deal with
<<nobr>>\n<<if $i lt $hatchlings>>\negg <<set $i += 1>><<eggloop>>\n<<else>>\n<<set $i = 0>>\n<<endif>>\n<<endnobr>>
below you on the ground\ngreen leaves, brown dirt\n\nperhaps there will be something there to eat\n(you have a delicate palate\nand would not normally eat anywhere so busy\nbut you are a little peckish\njust a little\nand it doesn't always do to be too fussy)\n\n[[investigate]]\n[[fly away|treefly]]
you almost graze the ground\nwith the tips of your wings\nyour tapered claws\n\nbut you once again pull up\nand return to the branch\n\nyou [[land|singbetter5]]\nas if it were nothing\nso casual\nfeathers immaculate
<<set $wellfed1 += 1>>the seeds are bitter\nbut you've eaten worse\n\nand your duty to the world is to feed\nto keep yourself plump\nto [[thrive|flynofood]]
<<set $bravura1 += 1>>someone comes onto the balcony\n//shoo// they say\nbut not to you, never to you\nyou are too beautiful to be shooed \n\nthe greybird lumbers, clumsy in the air\n(the worst bird, barely a bird at all)\nand the squirrel departs\nleaving the ledge unoccupied\n\nit was always rightfully yours\nyou like a good ledge\n\n[[tilt your head to one side becomingly]]\n[[fluff your chest as a warning]]\n[[chirp in acknowledgement]]
but as you move\na greybird\n(so big, so awkward)\nlands with ungainly wings upon your gifts\n\n//that's mine, that's mine// you sing\n//go away, go away// you sing\n\nbut the greybird is big\ngobbling to make itself bigger\nit will grow so big that it occludes the sun\nit will grow so big that trees buckle beneath it\n\nthis situation is altogether outrageous\n[[fly away in a huff]]\n[[call out in anger]]\n
<<nobr>>\n<<if $i lt $hatchlings>>\nhatchling <<set $i += 1>><<mouthloop>>\n<<else>>\n<<set $i = 0>>\n<<endif>>\n<<endnobr>>
<<nobr>><<set $hatchlings = 3>><<set $wellfed = $wellfed1 + $wellfed2 + $wellfed3>>\n<<if $wellfed gt 2>><<set $hatchlings +=1>><<endif>>\n<<if $wellfed gt 3>><<set $hatchlings +=1>><<endif>>\n<<if $wellfed gt 4>><<set $hatchlings +=1>><<endif>>\n<<if $wellfed gt 5>><<set $hatchlings +=1>><<endif>>\n<<if $wellfed gt 6>><<set $hatchlings +=1>><<endif>><<endnobr>>\nyou fill your perfect nest with eggs\n<<if $hatchlings lt 4>>not so many eggs, perhaps, but enough<<else>>so many eggs<<endif>>\n<<if $hatchlings gte 7>>an unprecedented number of eggs<<endif>>\n<<eggloop>>\n\n[[tend your eggs|tend the eggs]]\n<<set $hatchlings_start = $hatchlings>>
<<set $glossiness3 += 1>>\s\n<<set $bravura3 += 1>>outside your nest\nyou bounce\nand hop\nchest out, tail up\n\nit's a good nest\nbut it's missing something\n\nperhaps it's a little too empty\n\n[[lay]]
you must turn the eggs\nevery egg\nturn them and turn them\n<<eggturnloop>>\nand turn them \nturn them again\n<<eggturnloop>>\n\nyou turn them so often\nmore often, perhaps, than they need\nthey're strong and hardy\nperhaps you could [[leave them alone]]\n\nor perhaps you should just [[turn them again]] \n
body { background-image: url("rooftops.jpg"); background-size: 1500px; }
<<set $musicality1 += 1>>\s\nthere is clatter beneath\nbut you are above it all\n(both literally and metaphorically)\n\nyou keep singing\n//here i am here i am here i am//\n//way up here//\n//here i am//\n\nyou have a beautiful voice\nsuch subtleties of expression and emotion\nthe most beautiful voice, perhaps?\n\nyou are not vain but perhaps\nperhaps your voice is the most beautiful voice\n\n[[fly]]
<<nobr>><<set $musicality3 = 0>>\n<<set $shininess3 = 0>>\n<<set $love3 = 0>>\n<<set $wellfed3 = 0>>\n<<set $streetsmart3 = 0>>\n<<set $bravura3 = 0>><<endnobr>>there are two of you now\nat last\ntwo perfect blackbirds\n\nand together it's time (at last)\nto build a home\n\nyou could live anywhere\nand you would be happy for ever\nanywhere\n\n[[this tree here, this tree where you met]]\n[[the thick hedge below]]\n[[tucked away at the back of this high stone ledge]]
(function () {\n "use strict";\n version.extensions['soundMacros'] = {\n major: 1,\n minor: 1,\n revision: 2\n };\n var p = macros['playsound'] = {\n soundtracks: {},\n handler: function (a, b, c, d) {\n var loop = function (m) {\n if (m.loop == undefined) {\n m.loopfn = function () {\n this.play();\n };\n m.addEventListener('ended', m.loopfn, 0);\n } else m.loop = true;\n m.play();\n };\n var s = eval(d.fullArgs());\n if (s) {\n s = s.toString();\n var m = this.soundtracks[s.slice(0, s.lastIndexOf("."))];\n if (m) {\n if (b == "playsound") {\n m.play();\n } else if (b == "loopsound") {\n loop(m);\n } else if (b == "pausesound") {\n m.pause();\n } else if (b == "unloopsound") {\n if (m.loop != undefined) {\n m.loop = false;\n } else if (m.loopfn) {\n m.removeEventListener('ended', m.loopfn);\n delete m.loopfn;\n }\n } else if (b == "stopsound") {\n m.pause();\n m.currentTime = 0;\n } else if (b == "fadeoutsound" || b == "fadeinsound") {\n if (m.interval) clearInterval(m.interval);\n if (b == "fadeinsound") {\n if (m.currentTime>0) return;\n m.volume = 0;\n loop(m);\n } else {\n if (!m.currentTime) return;\n m.play();\n }\n var v = m.volume;\n m.interval = setInterval(function () {\n v = Math.min(1, Math.max(0, v + 0.005 * (b == "fadeinsound" ? 1 : -1)));\n m.volume = Math.easeInOut(v);\n if (v == 0 || v == 1) clearInterval(m.interval);\n if (v == 0) {\n m.pause();\n m.currentTime = 0;\n m.volume = 1;\n }\n }, 10);\n }\n }\n }\n }\n }\n macros['fadeinsound'] = p;\n macros['fadeoutsound'] = p;\n macros['unloopsound'] = p;\n macros['loopsound'] = p;\n macros['pausesound'] = p;\n macros['stopsound'] = p;\n macros['stopallsound'] = {\n handler: function () {\n var s = macros.playsound.soundtracks;\n for (var j in s) {\n\t\tif (s.hasOwnProperty(j)) {\n s[j].pause();\n if (s[j].currentTime) {\n\t\t s[j].currentTime = 0;\n\t\t }\n\t\t}\n }\n }\n }\n var div = document.getElementById("storeArea").firstChild;\n var fe = ["ogg", "mp3", "wav", "webm"];\n while (div) {\n var b = String.fromCharCode(92);\n var q = '"';\n var re = "['" + q + "]([^" + q + "']*?)" + b + ".(ogg|mp3|wav|webm)['" + q + "]";\n k(new RegExp(re, "gi"));\n div = div.nextSibling;\n }\n\n function k(c, e) {\n do {\n var d = c.exec(div.innerHTML);\n if (d) {\n var a = new Audio();\n if (a.canPlayType) {\n for (var i = -1; i < fe.length; i += 1) {\n if (i >= 0) d[2] = fe[i];\n if (a.canPlayType("audio/" + d[2])) break;\n }\n if (i < fe.length) {\n a.setAttribute("src", d[1] + "." + d[2]);\n a.interval = null;\n macros.playsound.soundtracks[d[1]] = a;\n } else console.log("Browser can't play '" + d[1] + "'");\n }\n }\n } while (d);\n }\n}());
and because you were not worried\nyour chest does not thump with fear\nwhen you perch in the highest tree that you can find\nand see dark feathers huddled below\n\nand if you fly down fast\n(which you do)\nthen that is because [[you like to fly fast]]\n\n<<fadeoutsound "traffic.mp3" >>
the tallest building is very tall\nyou leave the treetops behind\nand the other buildings\nand the other birds\n\nthe noise of the city diminishes\n\nthe sunlight is orange now\nand low in the sky\n\n[[it's time to fall in love|win a mate]]
you fly into the morning\n(cold and bright)\nand look for the perfect twig\n\nyou both deserve this\nthe very best home\nfor the very best birds\n\nyou heft three twigs\none [[sturdy and bold]]\none [[greenshot and lithe]]\none [[smooth and slender]]
watch, watch everything move\nas vaster birds eye your hatchlings with hunger\n\nwatch patches of sunlight grow cold\nas clouds swell above\n>>>//but watch, as well,\nthe clouds grow <<cyclinglink $cloudcolour "silver" "golden" "red" "purple">>\nwatch leaves unfurl \nand fall to thickly mat the ground below\n\nhome to a thousand worms\na million caterpillars\nthe sodden dirt heaves with delight//\n>>>\n[[watch|watch2]]
<<set $wellfed1 += 1>>more raisins\nand still more\n\nand if that is a greybird now\nlanding behind you (and it is) \n\nwith a thump \na huge thump\n(so clumsy)\n\nand if it rushes at you (and it does)\nand you [[fly away]]\n(and you do, you fly)\n\nthen it's not that you are fleeing in disarray\nand certainly not that you are worried or startled\nbut rather that you have eaten so much already