you thought you were the most magnificent of all the birds

but you were wrong

(you have never been wrong before)



you thought your black feathers the epitome

of all that a blackbird can be

(it is, after all, in the name)



but her brown feathers have a deeper texture

her plump chest is prouder even than yours

her beak is as yellow as yours and her eye is as keen



and as she alights next to you

the precise angle of her head

[[surpasses your own|imagined]]

you are an excellent percher



some birds can only perch on trees and walls

but you can perch anywhere



a [[railing]]

the [[lowest point]] of the distant ground

the [[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";

function toggleText(w){w.classList.toggle(rl+"Enabled");w.classList.toggle(rl+"Disabled");

w.style.display=((w.style.display=="none")?"inline":"none");}switch(c[c.length-1]){case"end":var end=true;

c.pop();break;case"out":var out=true;c.pop();break;}var v="";if(c.length&&c[0][0]=="$"){v=c[0].slice(1);

c.shift();}var h=state.history[0].variables;if(out&&h[v]===""){return;}var l=Wikifier.createInternalLink(a,null);

l.className="internalLink cyclingLink";l.setAttribute("data-cycle",0);for(var i=0;

i<c.length;i++){var on=(i==Math.max(c.indexOf(h[v]),0));var d=insertElement(null,"span",null,"cyclingLink"+((on)?"En":"Dis")+"abled");

if(on){h[v]=c[ i ];l.setAttribute("data-cycle",i);}else{d.style.display="none";}insertText(d,c[ i ]);

if(on&&end&&i==c.length-1){l.parentNode.replaceChild(d,l);}else{l.appendChild(d);

}}l.onclick=function(){var t=this.childNodes;var u=this.getAttribute("data-cycle")-0;

var m=t.length;toggleText(t[u]);u=(u+1);if(!(out&&u==m)){u%=m;if(v){h[v]=c[u];}}else{h[v]="";

}if((end||out)&&u==m-(end?1:0)){if(end){var n=this.removeChild(t[u]);n.className=rl+"End";

n.style.display="inline";this.parentNode.replaceChild(n,this);}else{this.parentNode.removeChild(this);

return;}return;}toggleText(t[u]);this.setAttribute("data-cycle",u);};}};



it takes a long time to build the perfect nest



it takes twigs and mud

dexterity and determination

(it's a wonder that so many lesser birds

manage at all)



you build in the day, and sometimes at night you sing

(in the quiet, in streetlight)

and then you sleep again, wing against wing

in your bundle of twigs that is, each night, more whole,

denser-packed with leaves and mud and stones



until you realise one morning when you wake

that 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>>

<<set $glossiness = $glossiness1 + $glossiness2 + $glossiness3 + $glossiness4>>

<<set $love = $love1 + $love2 + $love3 + $love4>>

<<set $musicality = $musicality1 + $musicality2 + $musicality3 + $musicality4>>

<<set $bravura = $bravura1 + $bravura2 + $bravura3 + $bravura4>>

<<set $hatchlings_left = $hatchlings>><<endnobr>><big>CONGRATULATIONS!</big>

<<timedcontinue 1s>>you are so good at being a blackbird



<<timedcontinue 1.5s>><big>BLACKBIRD SCORES</big>

<<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>>

<<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>>

<<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>>

<<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>>

<<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>>

<<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>>

<<timedcontinue 0.3s>>{{{hatchlings surviving}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{.}}}<<timedcontinue 0.05s>>{{{. }}}<<timedcontinue 0.3s>><<print $hatchlings>>



<<timedcontinue 1s>>these scores are the perfect scores

<<timedcontinue 1.5s>>you are the best at being a blackbird

<<timedcontinue 1.5s>>you are the best at everything

<<timedcontinue 1s>>[[restart|dupeStart]]

<<replace "tweet your score">>chirp chirp chirp chirp<<playsound "tweet.mp3">><<endreplace>>

[[chapter i]]

<<if visited ("keep flying")>>[[chapter ii]]<<else>>chapter ii<<endif>>

<<if visited ("another blackbird")>>[[chapter iii]]<<else>>chapter iii<<endif>>

<<if visited ("it is your turn to hunt")>>[[chapter iv]]<<else>>chapter iv<<endif>>



[[back|dupeStart]]

a careful sleep, not entire

but always half-waking



while your eyes take turns

one sleeping wholehearted, one watchful



you see past your nest

and <<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>>

<<<

//you see tall trees, as tall as the highest building

thick with blossom, pink and white

and you dive from the highest branch

outracing the petals that fall and twist in your wake//

<<<

you shift on the nest, feel the hatchlings kick and gape

<<<

//and you [[dream]]

<<set $shininess2 += 1>>\s

the sunlight is orange now



the railing

(like you)

is glossy and black



a bigger bird could not fit here

a smaller bird would, you imagine, be intimidated



only you can command the railing's spikes and iron

you are unparalleled

[[it will not be hard for you to win a mate|win a mate]]

you skirt the leaves above

up into empty air



and as you fly

you survey the city



you swerve around chimneys

you disdain leaf-packed gutters

you 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

<<if $shininess lt $death>><<set $hatchlings -= 1>>you ate here so often, once

surrounded by admirers



but your feathers are ruffled now

your coat dull



you fill your beak with food then fly away,

[[dodge back again]]

and fly away again<<else>>you are magnificent



your beauty dazzles everyone around

and you eat uninterrupted

from the plates of kings



you fill your beak with treats and fly them home



never have any birds dined so richly

and when at long last the gaping mouths are stilled

you [[rest|chapters]]<<endif>>

<<set $wellfed1 += 1>>\s

they have so much food for you



bacon rind

(all salt and fat, chopped finely for ease of digestion)

raisins

(soaked in warm water for your delectation)

sunflower seeds

(you don't know why they give you these

they are terrible

so terrible

so dry and bitter)



[[eat]]

<<set $wellfed1 += 1>>there is so much food

you scoop up a raisin in your beak

and swallow it whole



your are left alone with your feast

and nothing to do but eat



of course, the greybird might lumber back

but you are so strong

and there is so much food



[[keep eating|eat3]]

[[fly away]]

<<set $wellfed += 1>><<set $nest = "hedge">>\s

the branches are packed in tightly, thick with leaves

the dirt below is rich with worms

you'll eat well here



it is so late now

but you'll stay here together and sleep

both of you

asleep at last in this hedge

and [[in the morning]], you'll nest

how to be a blackbird

from the north of the tree

you circle widely

west then south then east

allowing the sun to glint on your every feather



you pull up

turn

and circle again

east south west north east

faster and faster



and when you are sure you have been noticed

(nobody could fail to notice)

you spot from your height a bare and elegant branch

and you [[land|singbetter5]]

if you left them alone in the world

passing strangers would surely witness their perfection



bring them gifts

dangle fruits above them

drop bacon and beetles into their eager maws



wait for their eyes to slowly open and see

for the first time

the world



but: better safe than sorry

so you [[feed them]] yourselves



<<if $streetsmart1 gt 1>>you call alarm from the gutter



your admirers return

to wave their arms

to protect you



the greybird retreats

sounding its ugly squawk



and in the wake of its flight

you land, ever so gently,

[[to feed|to eat]]<<else if $musicality1 gt 2>>you call alarm from the gutter



your admirers return

to wave their arms

to protect you



the greybird retreats

sounding its ugly squawk



and in the wake of its flight

you land, ever so gently,

[[to feed|to eat]]<<else>>but nobody hears



your admirers do not return

your alarm call vanished beneath city noise



and when at last the greybird departs

it has left you no raisins



there is nothing but [[dry seeds|eat the dry crumbs]]

perhaps you should scorn these dregs and [[fly away|flynofood]]<<endif>>

<<set $bravura2 += 1>>in the treetops

other blackbirds gather



[[arrange your tail at a rakish angle]]

[[sing|matingsong]]

you could go anywhere



well, there are other blackbirds nesting to the east

who are a little protective of their territory

so perhaps not that way



and everythings is very busy below on the ground

so maybe not there just yet

it would be a shame to die while your feathers are so beautiful



but anywhere else

like [[a balcony]]

or [[a treetop]]























<html><big><big>how to be a blackbird</big></big></html>

<<set $streetsmart1 += 1>>\s

below you, in a hedge

half-hidden

something moves slowly



brown and orange

four legs

a tail



the ground is full of things that move slowly

and the ground is full of things that move quickly



the ground is, as a rule, quite full



you watch

and [[hop]]

and you push into air

your belly proud with raisins



[[higher]]



<<set $bravura1 += 1>>\s

<<set $streetsmart1 += 1>>\s

//here i am, here i am// you sing

//so hear me, so hear me// you sing

//hear, here, look at me//



and below you there is movement

perhaps even kerfuffle

as if everyone has become aware of the most beautiful sound

(it is not for you to say your song is the most beautiful sound

but that is after all how they respond

and who are you to tell them that they're wrong?)



//here i am// you sing

and they listen, and listen, until you [[fly away|fly]]

you punctuate your song

with quick notes

repeating

//here i am//

reversing

//i am here//

showing off

//behold, behold//



it's strange that it's taking so long



[[sing|singbetter2]]

from the gutter, looking down, you see



admirers on the balcony

bringing you tribute

(this happens sometimes

<<if $musicality1 gt $shininess1>>you must have been singing particularly finely

your practice has not gone unrewarded)<<else>>your feathers must be even more beautiful than usual

all your preening has been recognised)<<endif>>



your admirers pile [[gifts]] upon your ledge

and then they leave



<<nobr>><<set $musicality1 = 0>>

<<set $shininess1 = 0>>

<<set $wellfed1 = 0>>

<<set $love1 = 2>>

<<set $streetsmart1 = 0>>

<<set $bravura1 = 0>><<endnobr>>blackbird feathers are glossy and bright

blackbird nests are cosy and neat

blackbird song is the most beautiful of all the birdsong



(you sing it every morning

so you should know)



[[hop|hop1]]

you chirp once

//hello, friend//



there are two of them on the balcony now

so you correct yourself

//hello, friends//



(but don't let them come too close

"friend" is a courtesy title

the city is dangerous

and you must be careful where you place your trust)



[[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



<<timedcontinue 1s>>(you hop very well

with grace and an element of unpredictability)



[[preen]]

[[sing]]

[[fly]]

<<fadeinsound "birds.mp3" >>



you turn up one green leaf

and then another



<<timedcontinue 3s>>nothing

<<timedcontinue 1s>>nothing <<timedcontinue 0.7s>><<print either ("[[a caterpillar]]","[[a chip]]","[[a chip]]","nothing")>> <<timedcontinue 0.7s>>nothing

<<timedcontinue 1s>>nothing <<timedcontinue 0.7s>><<print either ("[[a chip]]","nothing")>> <<timedcontinue 0.7s>><<print either ("[[a chip]]","nothing")>> <<timedcontinue 0.7s>>nothing

<<timedcontinue 1s>>[[a caterpillar]]



<<if $divebuddy eq "a mountain of berries">><<set $wellfed += 1>>\s

>>>//you dream every colour of berry

red yellow green//

>>>

traffic lights reflect in water

>>>//and you gorge yourself

your beak grows wider

encompasses ten, a hundred berries, a thousand

and you tilt your head back and swallow

feel your stomach grow plump

your feathers smooth with health//

<<else if $divebuddy eq "clustered admirers waiting">><<set $shininess += 1>>\s

>>>//you dream your elegant flight



all the blackbirds, and other birds as well

look up in awe as you descend

trees leaning out of your path

walls disassembling themselves brick by brick

rebuilding into towers to honour your flight

the city reforming around you//

<<else if $divebuddy eq "your nest and your glossy companion">><<set $love += 2>>\s

>>>//you dream your companion flying from the nest

and you circle together

intersecting spirals



and then you land on a ledge

(he likes a good ledge)

and you hop together

hop hop hop hop hop//<<else>><<set $bravura += 1>>

>>>//in dreams, as in your waking life

threats are nothing to you

you outfly them all



they cower before you

foxes and traffic alike

turning

despairing

cringing before your magnificent beak//<<endif>>

>>>

and you open one eye again

and see the daylight [[dark as night]]



<<eggturnloop>>

and wait



<<if $nest eq "tree">><<set $hatchlings -= 1>>you turn the eggs

and turn them as your tree gusts in the wind



and if one of them rolls to the edge of the nest

(and it does)

then it [[probably won't fall]]<<else>>you turn the eggs

and turn them



outside the nest winds gust and trees bend

but here your eggs are safe

<<eggturnloop>>



while you [[wait|eggwait]] until the time comes

to turn them again<<endif>>

you are a small blackbird

in a big city



[[play|chapters]]

[[about]]



body { background-image: url("trees.jpg"); background-size: 1500px; }

and you <<continue "look">>look



look for anything

look north and east and south and west



look on chimney pots

look on roads



you are of course not worried

you do not worry, as a rule

it is never necessary, and it dulls the feathers



but you [[look|look4]]

<<set $musicality2 += 1>>it's getting dark



you sing

your notes in the gaps between the sounds below you



[[sing better]]

[[sing louder|matingsong louder]]

you are wonderful, the most wonderful blackbird

(you and he, alone in your shared radiance)



but your gloss and glamour are in disarray

and nobody clamours, now, to bring you gifts

//shoo, get off// they yell

almost as if

you had [[no business here]]



body { background-image: url("bridge.jpg"); background-size: 1500px; }

<<set $bravura2 += 1>>you drop from the branch

and plunge towards the ground

and then pull up



up higher

higher



and then land again



you are pretty sure that everybody noticed



[[dive]]

[[circle]]

<<set $streetsmart3 += 1>><<set $nest = "ledge">>there are spikes here

thin spikes

and you drop behind them

effortless in your flight



they are barricades

built just for you



it's late now, so late

and you sleep

but for the first time you sleep together

and [[in the morning]] you will nest



you wait in the nest-to-be



soon the first twigs will come

you will balance and twist

and make the most beautiful home



each twig is dropped at your feet with a rush of air

and a song just for you

(such beautiful wings

such a beautiful song)



[[take the twig]]

and place it carefully



your home depends on this



<<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

stone becomes crumb becomes stone



<<if $streetsmart lt $death>><<set $hatchlings -= 1>>there is so much food

but it's hard to get to

blocked by lumbering greybirds and fast-striding feet



you grab and swallow what you can

swoop here and turn there

you are out of practice

you have not trained for [[streets this busy]]<<else>>there is so much food

blocked by lumbering greybirds and fast-striding feet

but you are in your element



you have trained for this day

and though you are out of practice

your command of the city streets is supreme



you swoop sidelong, filling your beak

circling home and returning

over and over



and when at long last your gaping infants sleep

you [[rest|chapters]]<<endif>>

body { background-image: url("contrails.jpg"); background-size: 1500px; }

<<set $love3 += 1>>and grasping the twig in your beak

you fly

so fast

as fast as you can

bursting with song

each note dammed up by the twig



and when you drop it at the nest

your beak free at last

you sing

just quickly



and then you fly away

to [[gather again]]

and if it falls

(and it does)

then it [[probably won't break]]



you will have unparalleled fledgelings

blackbirds will come from all over the city

from outside the city as well

leaving their distant trees

to gaze on your fledgelings



you will be beautiful together

and you will be happy



you will build the cosiest nest

you will cosset each other

for ever

you will bring each other fat raisins and immense worms



[[you have done well for yourself|chapters]]

<<set $streetsmart1 += 1>>on this balcony there are lilacs growing

there are tulips

there is a squirrel sunning itself on a ledge



you do not concern yourself with squirrels



a greybird is here, big and clumsy

(so much bigger than you)



it hops and huffs and fluffs its feathers

grey and pink and white, little red-rimmed eyes



there are windows

and in the windows you see the sky

and behind the sky you see something move



[[retreat]]

[[stay]]

and you and he together

sated on worms

find shelter under a <<print $cloudcolour>> roof



you could rush to the nest, but the hatchlings

will only be yawing for food

and it will not hurt them to wait



and if one or two of them should be lost

during the delay

(and this is, you concede, quite likely)

then you will have more worms and love for those that remain



so you shake your wings and sit

still damp, but dryer

and wait for the storm to [[end|results]]



<<fadeoutsound "storm.mp3" >>

<<fadeoutsound "traffic.mp3">>

<<set $streetsmart2 +=1>>you sing into dusk

(louder and louder)

and into the night



and you aren't sure

whether the sounds around have finally started to fade

(as they do in the night

long after you usually sleep)



or whether your lungs and bold heart

have inspired you to accomplish feats of song

beyond feats that blackbirds can accomplish



you aren't sure

but finally [[someone hears]]

you will not countenance situations like this

you will not stoop to the level of the greybirds



you will not compete for attention

or affection



or for food

that should be yours by right

and was in any case probably not very nice



[[you leave the balcony behind|flynofood]]

from here you can see



stone on ground

clouds in the high air

sun bright on treetops

(leaves move with your heft as you land

shadows shift below)



from here

you can [[preen|preenb]]

(you are exceptionally good at preening)

you can [[watch]] the constant movement below

(your eyesight is remarkable)

you can [[listen]]

(when you cock your head to the side at a perfect angle

your hearing is unparalleled)

(function () {

version.extensions['timedreplaceMacro'] = {

major: 2,

minor: 3,

revision: 0

};

macros['timedcontinue'] = macros['timedinsert'] = macros['timedreplace'] = {

handler: function (g, e, f, b) {

function cssTimeUnit(s) {

if (typeof s == "string") {

if (s.slice(-2).toLowerCase() == "ms") {

return Number(s.slice(0, -2)) || 0;

}

else if (s.slice(-1).toLowerCase() == "s") {

return Number(s.slice(0, -1)) * 1000 || 0;

}

}

throwError(g, s + " isn't a CSS time unit");

return 0;

}



function tagcontents(starttag, endtag, k) {

var a = b.source.slice(k);

var l = 0;

var c = "";

for (var i = 0; i < a.length; i++) {

var w = endtag.length;

if (a.substr(i, w) == endtag) {

if (l == 0) {

b.nextMatch = k + i + w;

return c;

}

else {

l--;

c += a.charAt(i);

}

}

else {

if (a.substr(i, starttag.length) == starttag) {

l++;

}

c += a.charAt(i);

}

}

return "";

}

var tr = "<<" + e;

var rw = "<<replacewith>>";

var etr = "<<end" + e + ">>";

var k = b.source.indexOf('>>', b.matchStart) + 2;

var c, d;

\t if (e == "timedcontinue") {

\t d = b.source.slice(k);

\t\tb.nextMatch = k + d.length;

\t }

else if (e == "timedreplace") {

c = tagcontents(tr, rw, k);

d = tagcontents((c ? rw : tr), etr, c ? b.nextMatch : k);

}

else if (e == "timedinsert") {

d = tagcontents(tr, etr, k);

}

else if (e == "timedremove") {

c = tagcontents(tr, etr, k);

}

var tm;

tm = cssTimeUnit(f[0]);

var h;

if (c) {

if (d) {

g = insertElement(g, "span", null, "timedreplacements");

}

h = insertElement(g, "span", null, "timedreplacement timedremove");

new Wikifier(h, c);

if (d || e == "timedremove") {

setTimeout(function () {

h.classList.add("replacement-out");

setTimeout(function () {

h.parentNode.removeChild(h);

}, 1000);

}, tm);

}

}

if (d) {

var m = insertElement(g, "span", null, "timedreplacement timedinsert", d);

m.style.display = "none";

setTimeout(function () {

if (m) {

var t = m.firstChild ? m.firstChild.nodeValue : "";

removeChildren(m);

new Wikifier(m, t);

m.style.display = "inline";

m.classList.add("replacement-in");

setTimeout(function () {

m.classList.remove("replacement-in");

}, 1);

scrollWindowTo(m);

}

}, tm);

}

else if (!c && e != "timedremove") {

throwError(g, "can't find matching end" + e);

return;

}

}

}

macros['timedremove'] = macros['timedreplace'];

macros['replacewith'] = macros['endtimedinsert'] = macros['endtimedremove'] = macros['endtimedreplace'] = {

handler: function () {}

}

scrollWindowTo=function(E){var D=window.scrollY?window.scrollY:document.body.scrollTop;

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);

function H(){B+=0.1;window.scrollTo(0,D+I*(C*Math.easeInOut(B)));if(B>=1){window.clearInterval(F);

}}function J(N){var O=A(N);var P=O+N.offsetHeight;var K=window.scrollY?window.scrollY:document.body.scrollTop;

var L=window.innerHeight?window.innerHeight:document.body.clientHeight;var M=K+L;

if(O>=K){if(P>M){if(N.offsetHeight<L){return(O-(L-N.offsetHeight)+20);}else{return O;

}}}}function A(K){var L=0;while(K.offsetParent){L+=K.offsetTop;K=K.offsetParent;}return L;

}};

}());

and when in due course the eggs crack

their perfect shells disturbed at last



your [[hatchlings]] clamber out

(wet and clumsy

mouths agape, eyes shut)





<<set $musicality2 += 1>>you sing to yourself often

and you sound magnificent

but something about this is different



you are singing

//here i am//

you are singing for the future

//look at me//

you are singing for joy

//i am me

i am a blackbird

and the blackbirds are the best of the birds

and i am the best of the blackbirds//



[[trill]]

[[chirrup]]

you wake up early and sing



you summon the world

each note a new shaft of sunlight



you are so happy

unstoppable

bold

beloved

and you [[start to build|nest1]]

>>>//you spread your wings, lit from below

majestic



lofted into the air by admiration

by gasps and chirrups and upturned eyes//

>>>

eyes: you open your own

just for a moment

you witness the splash of a raindrop

then [[close them again]]

<<set $wellfed1 += 1>>\s

<<set $shininess1 += 1>>\s

you catch the caterpillar

by its reluctant head

flick your own back

swallow



it wriggles in your throat as you [[fly away|treefly]]

the twigs come faster

and leaves, wet with mud on this dry day

another twig

another song

another twig



you hear the city (louder and louder)

and feel the sun (warmer and warmer)

and then it gets dark

and the sounds settle

(just a rumble now in ruddy lamplight)



and you both huddle together

and sleep in your mess of twigs

and in the morning you [[build again|gather again]]

you have been singing so loud

for so long



your song aches in your chest



[[sing|singlouder4]]

and sometimes, while you wait and turn the eggs

your black-feathered companion lands

beak rammed with crumbs

or crammed with raisins

or dangling a creature with either no legs, or with many



these gifts are carried with such aplomb

and once his beak is empty he sings again



//here i am, here i am// he sings

//here you are, here you are// he sings

//this is food, this is food// he sings



and you [[alight|he is]] from your throne of eggs

(<<eggloop>>)



body { background-image: url("blackbird-background.jpg"); background-size: 1700px; }



<<set $glossiness2 += 1>>some of the other blackbirds glance your way



[[swoop to impress them]]

[[sing magnificently|matingsong]]



<<set $musicality1 += 3>>//here i am here i am here i am//

you sing

//look at me look at me look at me//



but nobody is looking at you

which can't be right



there are other noises

//whhhhhhhhrrrm, bwooooonk, BEEP. BEEP. BEEP. BEEP.//

perhaps they are blocking you out



[[keep singing|sing2]]

[[sing louder]]

[[fly]]

>>>//so fast, //so// fast

and so far



through clouds that split open in welcome



you plummet towards

<<cyclinglink $divebuddy "a mountain of berries" "clustered admirers waiting" "your nest and your glossy companion" "greybirds and bicycles fleeing your powerful beak">>//

>>>

eyes open again:

thudding rain and deep puddles

and you alone in your nest



(your hatchlings, adorable, call out in their hunger

but as yet they have little conversation)



[[keep sleeping]]

one of you

the brown one

sharp-eyed and brave

will stay here

[[knitting together]] the nest

twigs and leaves, grass and mud



the other one

the black one

sharp-beaked and proud

will [[fly and fetch]]



hunting the twigs

scooping the mud

bringing it home

<<set $musicality2 = 0>>\s

<<set $shininess2 = 0>>\s

<<set $wellfed2 = 0>>\s

<<set $love2 = 0>>

<<set $streetsmart2 = 0>>\s

<<set $bravura2 = 0>>you have wondered for days past

whether the time has come

to seek a companion



to find a mate who will follow you through the air

who will search for food with you

who will watch for danger

and warn you

and whom you will warn in turn



[[perhaps]] the time has come

this is a blackbird simulation game

by <html><a href="http://hollygramazio.net">holly gramazio</a></html>, made in <html><a href="http://twinery.org">twine</a></html>



sounds:

city: <html><a href="https://www.freesound.org/people/Cameron%20Johnson/sounds/72062/">Cameron Johnson</a></html>

storm: <html><a href="https://www.freesound.org/people/OroborosNZ/sounds/141251/">OroborosNZ</a></html>

birds: <html><a href="https://www.freesound.org/people/inchadney/sounds/102805/">inchadney</a></html>

tweet: <html><a href="https://www.freesound.org/people/acclivity/sounds/13531/">acclivity</a></html>



[[back|dupeStart]]

body { background-image: url("cranes.jpg"); background-size: 1500px; }

<<nobr>><<set $shininess1 += 2>>

<<set $bravura1 += 2>><<endnobr>>

your feathers are so bright in the sun

your tail is pert

your belly is stout

you bury your beak in your wings to comb out the knots

(one by one)

and your feathers grow brighter



[[keep preening|preen2]]

[[sing]]

[[fly]]

holly gramazio

you take your turn on the nest

to guard your hatchlings against the jealous world

and you [[sleep]]



<<fadeoutsound "birds.mp3" >>

you head to the treetops

where you have seen

other blackbirds gather



to take your place among them

and to woo



you have never wooed before

but you expect it will come naturally



[[arrange your tail at a rakish angle]]

[[sing|matingsong]]

and as you sing

someone is watching



(probably she has been watching all along

you are, after all, worth watching)



and when you have sung every note you know

she hops



(closer)

(closer)



and [[lands on your branch|another blackbird]]





<<set $shininess1 += 1>>\s

the birds are the most beautiful of the things

and the blackbirds are the most beautiful of the birds

and you are maybe

(you don't want to be vain but in the sunlight like this

your wings newly combed

your beak clean

your eyes keen)

you are maybe the most beautiful of the blackbirds



you give your feathers one quick flutter

you are ready for the big city



[[fly]]

he may be waiting

guarding bacon and berries

waiting for you to deduce the nature

of the situation



or perhaps he is just taking shelter from the rain



those are the only two possibilities

nothing has gone wrong



[[go and check]]

[[stay with the nest]]

you're very handsome



[[flick your wings]]

[[sing beautifully|matingsong]]

<<set $sleepiness = 0>>you are a small blackbird

in a big city



<<timedcontinue 2s>>[[play|chapters]]

<<timedcontinue 1s>>[[about]]



<<fadeinsound "traffic.mp3" >>

your admirers have gathered so much food for you



bacon rind

(all salt and fat, chopped finely for ease of digestion)

raisins

(soaked in warm water for your delectation)

sunflower seeds

(you don't know why they give you these

they are terrible

so terrible

so dry and bitter)



[[eat]]

>>>//trees grow as you watch

their slow lives hastened by sleep

<<cyclinglink $citystate "fresh green twigs that thicken into branches""a forest packed dense around buildings""bursting through pavements, trunks through shattered stone">>

and you perch



through every window a light begins to shine



each one so bright

a sun built just for you

to shine on you



casting a [[million dawns|million sunrises]] over the ground

but if it takes some time

to fill your beak



and so at home you find the open maws

one fewer than you thought

(<<mouthloop>>)



then no harm done



there is only so much love in a blackbird heart

and it wouldn't do to spread it out too thin



you [[rest|chapters]]

>>>//you can fly so high



each circle takes you higher

until you see the city entire, supplicant

beseeching your attention



its distant edges



you're dizzy with height

thin air beneath your wings



[[dive|dive2]]//

<<set $shininess += 1>>you are a beautiful blackbird

all who witness you are dazzled



but all the same

it can't hurt to look your best



you tilt your head to one side

at its most becoming angle

and fix your gaze upon your eager admirers



[[wait for tribute]]

<<set $love4 += 2>><<set $hatchlings -= 1>>you take off

(your nest will be fine)



and watch for familiar movements

for grace and elegance and effortless flight

you listen for the most beautiful song



there are [[so many reflections]]

and if you find your companion worm-beaked

matted by rain

(which you do)

then you do not feel afraid

and when he tilts his head

(that perfect angle)

you do not feel relief

nor at his familiar hop

(hop hop hop hop hop)



you simply pluck a worm of your own from the [[mud]]

<<fadeinsound "birds.mp3" >>

body { background-image: url("general-city.jpg"); background-size: 1500px; }

you open one eye again:

it's getting cold

>>>//you flew to the country once

flew and kept flying

<<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">>



at night the foxes were loud

(but foxes are always loud)



in the morning you could hear so many birds//

>>>

your nest is sturdy

and barely rocks in the wind



[[watch|watch3]]



<<fadeinsound "storm.mp3" >>

<<$love3 += 1>>\s

<<set $nest = "tree">>it's late

and time to sleep

but you stay here in the tree

both of you



high branches shift in the wind

you can see in every direction



[[in the morning]] you will nest



<<set $bravura1 += 1>>the food bearers who tend the balcony know you

and do not challenge you

but it cannot do to be overconfident

and it cannot hurt to remind them of your status



you puff out your chest and fluff your wings

look at you!

you are enormous!

you are so brave!

you could take them both



not that you will, but you could



[[wait for their gifts|wait for tribute]]

<<set $musicality1 += 1>>from here you can make out long notes

a constant rumble



a repeating bellow

a honk, a blare, a clatter



the burr of awkward greybirds calling each other

(so predictable)



[[hop]]

to be fair

it's quite loud

and some of the subtleties of your song may be lost



but you will not compromise your artistic integrity



you sing

//here i am//

you sing

//and here i will stay//

you sing

//until it grows dark

and the city quiets

and the lights grow dim

and then you will hear me at last//



[[sing|singbetter3]]

the sun is gone

and you sing on



it gets darker

and darker

and then no darker

sky clouded with light from the ground below



and you fly from branch to branch

singing



it is long past dusk



[[sing|singbetter5]]

you have waited in the nest for so long

building and laying and turning the eggs



but now you and he take turns



one of you admires your hatchlings

their fluffing protofeathers

their growing wingstubs



while the other hunts



[[it is your turn to hunt]]

<<set $danger to either (1,2,3);>>\s

<<set $streetsmart = $streetsmart1 + $streetsmart2>>\s

<<if $danger gte $streetsmart>>\s

<<set $shininess -= 1>>\s

you land on shady dirt

a square as wide as your outspread wings

surrounded by stone



chirrup

and dodge the whirr of thin wheels passing by



this is a noisy place

this is the wrong place for you

this is a place for tough blackbirds, hard blackbirds

deadly blackbirds honed in the arena of the street



you are too sophisticated for this square of dirt

you leave with your feathers in slight disarray



you have more important matters to consider

after all, it's time to [[fall in love|win a mate]]

<<else>><<set $wellfed2 += 1>>the city's rumble is loudest here



you land on shady dirt

a square as wide as your outspread wings

surrounded by stone



an insect tries to run

but you snatch it up

and swallow it whole



for another bird it might be dangerous to perch here

but you are so quick

and so brave



[[you will be so good at seeking your mate|it's time to seek a mate]]<<endif>>

and then, on a branch beside you,

[[another blackbird]]

and if it breaks

(and it does)

then it's no matter really



you can tend to your remaining eggs more closely now

<<eggloop>>



while you [[wait|eggwait]] until the time comes

to turn them again

and it's not that you were worried

nor that the shaking of your nest made you fear

greater losses



it is not that you did not trust your companion

to navigate puddle-deep streets



but all the same when he lands of a sudden beside you

a solitary worm in his beak



you find you do not regret his poor haul

nor do you fly out yourself straight away

taking your turn



but rather you shift on your nest

to [[give him room|make room]]



<<fadeinsound "birds.mp3" >>

you are back in the air at last

above the trees



grassy expanses and stony paths and tables

all clustered below

waiting for you to pick



the [[grassy expanses]] are filled with insect homes

the [[stony paths]] are scattered with long-lost food

the [[tables]] heave with piles of food so vast

that even your hatchlings with their constant hunger

would be sated

<<set $hunt = "grass">><<set $hatchlings -= 1>><<set $shininess3 -=1>>you land and peck

and swallow the first worm whole



you need to work quite hard, on this pristine grass,

to find the food and ferry it here to home

slowed by the need to dodge sharp claws and orange fur

but there is food, and you will eat



and if at home you find the open mouths

one fewer than you thought (<<mouthloop>>)

then no harm done

there is only so much love in a blackbird heart

and it wouldn't do to spread it out too thin



[[rest|chapters]]

<<set $shininess1 += 1>>you settle back

tuck in your wings

flick your tail



you are angled to your best advantage

(the rooftops behind a complementary echo

of your elegant lines)



you have never looked better



[[hop]]

<<set $wellfed1 += 1>>\s

[[eat more]]

you push into air



treetops and rooftops

chimneys and hoardings

pylons

windows reflecting the sky



[[keep flying]]



grey sky and thunder



perhaps you should go and check

that everything is as it ought to be



perhaps your companion has found so much food

that he cannot carry it back to the nest by himself



that is by far the [[most likely circumstance]]

you keep one eye open

and one eye closed

>>>//in your sleep, the thunder

is the chorus of a thousand birds//

>>>

and you <<continue "wait">>wait

and wait and sleep

>>>//fluff your feathers, grow vast//

>>>

and <<continue "wait">>wait

[[and sleep]]



you fly past the wide expanse of grass

where sharp claws and orange fur threaten



you fly past huddled greybirds



you land on dirt and look around

then take off



you land on a table, plates deep in water

soggy crumbs afloat



and you [[fly higher]]

you nestle together and look at your pretty hatchlings

and your wonderful nest

and your wonderful city

(or maybe it's not so wonderful)



[[good night blackbirds|results]]



CONGRATULATIONS, YOU HAVE SUCCESSFULLY COMPLETED

HOW TO BE A BLACKBIRD





and once again you fly



so swiftly when you take off

into the trees

a steady beat of your wings

brushing past leaves



you do not need to eat today

you have [[other matters|chapters]] to deal with



<<set $wellfed1 += 2>>\s

the chip is whole and unsullied



you grasp it

tilt back your head

and try to swallow



it's big

but you can do it



[[of course you can]]

<<set $bravura3 += 1>>and grasping the twig in your beak

you fly

so fast

as fast as you can

bursting with song

each note dammed up by the twig



and when you drop it at the nest

your beak free at last

you sing

just quickly



and then you fly away

to [[gather again]]

.timedcontinue {

\ttransition: 0s;

\t-webkit-transition: 0s;

}

and yet you find food, somehow, and ferry it home



and if it takes some time

and if therefore you find

the open mouths

one fewer than you thought

(<<mouthloop>>)



then no harm done

there is only so much love in a blackbird heart

and it wouldn't do to spread it out too thin



you [[rest|chapters]]



your nest is perfect



you are both perfect within it



who knew any other bird

could fly as bravely as you?



who knew any nest could be so warm?



[[strut]]

[[eat|eat5]]

and you huddle

erratically sheltered

buffetted from below by your numerous hatchlings



watching <<print $cloudcolour>> lights

flare in the clouds



and you wait for the storm to [[end|results]]



<<fadeoutsound "traffic.mp3" >>

<<fadeoutsound "storm.mp3">>

and if you hear a sound behind you

a yowl and a bell

and you [[take off|treefly]], chip heavy in your stomach



then that's not cowardice or alarm

not a flight from fear



you've just eaten



nobody wants to fight on a full stomach

and together you admire the eggs

so warm, so elegant



not as beautiful as you, of course

and not as beautiful as him

but at least as beautiful as anything else in the world



you are very very good at laying [[eggs]]

<<set $eggdies to either ("dead","dead","alive")>>\s

<<set $bravura3 += 1>>you leave the eggs and hop around the nest

hop hop hop hop hop

stretching your legs and your wings

spreading your beak as wide as it goes



and when you return to the nest

the eggs remain

(<<eggloop>>)

<<if $eggdies eq "dead">><<set $hatchlings -= 1>>

well, perhaps one egg is a little cold

but it was always the least symmetrical

the egg you cossetted least fondly under your feathers



it will be good to be able to concentrate more fully

on your preferred eggs

(<<eggloop>>)<<endif>>

and so you [[wait|eggwait]]



(function () {

version.extensions['replaceMacro'] = {

major: 1,

minor: 3,

revision: 0

};

macros['continue'] = macros['insert'] = macros['replace'] = {

handler: function (g, e, f, b) {

var h = insertElement(null, "span", null, "replacement");

var k = b.source.indexOf('>>', b.matchStart) + 2;

var a = b.source.slice(k);

var d = -1;

var c = '';

var l = 0;

var el = e.length

\t\t\tif (e=="continue") {

\t\t\t d=k+a.length;

\t\t\t c=a;

} else for(var i = 0; i < a.length; i++) {

if(a.substr(i, 7 + el) == '<<end' + e + '>>') {

if(l == 0) {

d = k + i + 7 + el;

break;

}

else {

l--;

c += a.charAt(i);

}

}

else {

if(a.substr(i, 2 + el) == '<<' + e) {

l++;

}

c += a.charAt(i);

}

}

if(d != -1) {

var m = Wikifier.createInternalLink(g, null);

m.className = "internalLink replaceLink";

insertText(m, f[0]);

insertText(h, c);

g.appendChild(h);

h.style.display = "none";

m.onclick = function () {

var n = this.nextSibling;

if(n) {

var t = n.firstChild ? n.firstChild.nodeValue : "";

removeChildren(n);

new Wikifier(n, t);

n.style.display = "inline";

n.classList.add("replacement-in");

setTimeout(function () {

n.classList.remove("replacement-in");

}, 1);

scrollWindowTo(n);

}

if(e == "insert") {

var p = document.createElement("span");

p.innerHTML = this.innerHTML;

p.className = this.className + " disabled";

this.parentNode.insertBefore(p, this.nextSibling);

}

this.parentNode.removeChild(this);

}

b.nextMatch = d;

}

else {

throwError(g, "can't find matching end" + e);

return;

}

}

}

macros['endinsert'] = macros['endreplace'] = {

handler: function () {}

}

scrollWindowTo=function(E){var D=window.scrollY?window.scrollY:document.body.scrollTop;

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);

function H(){B+=0.1;window.scrollTo(0,D+I*(C*Math.easeInOut(B)));if(B>=1){window.clearInterval(F);

}}function J(N){var O=A(N);var P=O+N.offsetHeight;var K=window.scrollY?window.scrollY:document.body.scrollTop;

var L=window.innerHeight?window.innerHeight:document.body.clientHeight;var M=K+L;

if(O>=K){if(P>M){if(N.offsetHeight<L){return(O-(L-N.offsetHeight)+20);}else{return O;

}}}}function A(K){var L=0;while(K.offsetParent){L+=K.offsetTop;K=K.offsetParent;}return L;

}};

}());

you are at first uncertain



you are tired by your song

you are tired by the late hour



but you see movement

there on the next tree over

disturbed leaves falling back into place



[[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;

break;}}var div=$("storeArea").firstChild.nextSibling;while(div){if(r){k(new RegExp(r,"mg"),4);

}var b=String.fromCharCode(92);var u=b+"s*['"+'"]?([^"'+"']+(jpe?g|a?png|gif|bmp))['"+'"]?'+b+"s*";

k(new RegExp("url"+b+"("+u+b+")","mig"),1);k(new RegExp("src"+b+"s*="+u,"mig"),1);

div=div.nextSibling;}function k(c,e){do{d=c.exec(div.innerHTML);if(d){var i=new Image();

i.src=d[e];}}while(d);}}());

you repeat your notes

but with finesse

up and down

fast and slow

//admire my sharp eye

covet my swift beak//



it's strange that it's taking so long

for you to be noticed



[[sing|singbetter2]]

[[you could try|it's time to seek a mate]]

you could try to discover

a blackbird worthy of you

your glossy plumage

your eloquent song



or you could [[perch]]



just for a little while

perch and sit and think

gather yourself

(not that you're nervous

but it wouldn't do to rush)

<<set $wellfed1 += 1>>you didn't realise you were this hungry

though lately crumbs have been so thinly strewn

and the worms have been so scarce on stony ground



<<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

and food seems to fall before you

effortless



crumbs and caterpillars

beetles and blueberries

beneath every leaf there is something just for you

a gift in acknowledgement of your gifts to the world



and when you return to your nest

it strikes you



that it's almost perfect

but perhaps a little empty

[[lay]]

<<set $wellfed1 += 1>>\s

you eat more raisins, you gorge on bacon rind



<<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")>>



@import url(http://fonts.googleapis.com/css?family=Arvo:400,400italic);





.passage { font-family: "Arvo", "Georgia", sans-serif; }

.passage { font-size: large; }



body { color:white; background-color: #333333; }

h1 { color:#F2F2F2; }



.passage .title { display: none }

.passage .body .disabled { color:white; font-style:normal }



#sidebar { display: none; }



#passages { border-left: 0px; padding-left: 0px; margin-left:30%; }



a.externalLink { color:#CCCCCC; }

a.externalLink:hover { color:#AAAAAA; }

a.internalLink { color:#FFDD00; }

a.internalLink:hover { color:#DDBB00; }

a.replaceLink { color:#FFDD00; }

a.replaceLink:hover {color:#DDBB00; }

a.cyclingLink:hover {color:#99AAFF; }

a.cyclinglink { color:#99AAFF; }



.replacement.replacement-in {

\topacity: 0;

}

.replacement {

\ttransition: 1s;

\t-webkit-transition: 1s;

}

.timedreplacement.replacement-in {

\topacity: 0;

}

.timedreplacement {

\ttransition: 0.4s;

\t-webkit-transition: 0s;

}

.timedreplacement.replacement-out {

\topacity: 0;

}

hop



<<timedcontinue 0.5s>>hop <<timedcontinue 0.1s>>hop <<timedcontinue 0.1s>>hop



<<timedcontinue 0.7s>>hop <<timedcontinue 0.1s>>hop <<timedcontinue 0.1s>>hop <<timedcontinue 0.1s>>[[hop|hopagain]]







dunno

<<set $shininess3 += 1>>and grasping the twig in your beak

you fly

so fast

as fast as you can

bursting with song

each note dammed up by the twig



and when you drop it at the nest

your beak free at last

you sing

just quickly



and then you fly away

to [[gather again]]

you have eaten enough for today

you have [[other matters|chapters]] to deal with

<<nobr>>

<<if $i lt $hatchlings>>

egg <<set $i += 1>><<eggloop>>

<<else>>

<<set $i = 0>>

<<endif>>

<<endnobr>>

below you on the ground

green leaves, brown dirt



perhaps there will be something there to eat

(you have a delicate palate

and would not normally eat anywhere so busy

but you are a little peckish

just a little

and it doesn't always do to be too fussy)



[[investigate]]

[[fly away|treefly]]

you almost graze the ground

with the tips of your wings

your tapered claws



but you once again pull up

and return to the branch



you [[land|singbetter5]]

as if it were nothing

so casual

feathers immaculate

<<set $wellfed1 += 1>>the seeds are bitter

but you've eaten worse



and your duty to the world is to feed

to keep yourself plump

to [[thrive|flynofood]]

<<set $bravura1 += 1>>someone comes onto the balcony

//shoo// they say

but not to you, never to you

you are too beautiful to be shooed



the greybird lumbers, clumsy in the air

(the worst bird, barely a bird at all)

and the squirrel departs

leaving the ledge unoccupied



it was always rightfully yours

you like a good ledge



[[tilt your head to one side becomingly]]

[[fluff your chest as a warning]]

[[chirp in acknowledgement]]

but as you move

a greybird

(so big, so awkward)

lands with ungainly wings upon your gifts



//that's mine, that's mine// you sing

//go away, go away// you sing



but the greybird is big

gobbling to make itself bigger

it will grow so big that it occludes the sun

it will grow so big that trees buckle beneath it



this situation is altogether outrageous

[[fly away in a huff]]

[[call out in anger]]



<<nobr>>

<<if $i lt $hatchlings>>

hatchling <<set $i += 1>><<mouthloop>>

<<else>>

<<set $i = 0>>

<<endif>>

<<endnobr>>

<<nobr>><<set $hatchlings = 3>><<set $wellfed = $wellfed1 + $wellfed2 + $wellfed3>>

<<if $wellfed gt 2>><<set $hatchlings +=1>><<endif>>

<<if $wellfed gt 3>><<set $hatchlings +=1>><<endif>>

<<if $wellfed gt 4>><<set $hatchlings +=1>><<endif>>

<<if $wellfed gt 5>><<set $hatchlings +=1>><<endif>>

<<if $wellfed gt 6>><<set $hatchlings +=1>><<endif>><<endnobr>>

you fill your perfect nest with eggs

<<if $hatchlings lt 4>>not so many eggs, perhaps, but enough<<else>>so many eggs<<endif>>

<<if $hatchlings gte 7>>an unprecedented number of eggs<<endif>>

<<eggloop>>



[[tend your eggs|tend the eggs]]

<<set $hatchlings_start = $hatchlings>>

<<set $glossiness3 += 1>>\s

<<set $bravura3 += 1>>outside your nest

you bounce

and hop

chest out, tail up



it's a good nest

but it's missing something



perhaps it's a little too empty



[[lay]]

you must turn the eggs

every egg

turn them and turn them

<<eggturnloop>>

and turn them

turn them again

<<eggturnloop>>



you turn them so often

more often, perhaps, than they need

they're strong and hardy

perhaps you could [[leave them alone]]



or perhaps you should just [[turn them again]]



body { background-image: url("rooftops.jpg"); background-size: 1500px; }

<<set $musicality1 += 1>>\s

there is clatter beneath

but you are above it all

(both literally and metaphorically)



you keep singing

//here i am here i am here i am//

//way up here//

//here i am//



you have a beautiful voice

such subtleties of expression and emotion

the most beautiful voice, perhaps?



you are not vain but perhaps

perhaps your voice is the most beautiful voice



[[fly]]

<<nobr>><<set $musicality3 = 0>>

<<set $shininess3 = 0>>

<<set $love3 = 0>>

<<set $wellfed3 = 0>>

<<set $streetsmart3 = 0>>

<<set $bravura3 = 0>><<endnobr>>there are two of you now

at last

two perfect blackbirds



and together it's time (at last)

to build a home



you could live anywhere

and you would be happy for ever

anywhere



[[this tree here, this tree where you met]]

[[the thick hedge below]]

[[tucked away at the back of this high stone ledge]]

(function () {

"use strict";

version.extensions['soundMacros'] = {

major: 1,

minor: 1,

revision: 2

};

var p = macros['playsound'] = {

soundtracks: {},

handler: function (a, b, c, d) {

var loop = function (m) {

if (m.loop == undefined) {

m.loopfn = function () {

this.play();

};

m.addEventListener('ended', m.loopfn, 0);

} else m.loop = true;

m.play();

};

var s = eval(d.fullArgs());

if (s) {

s = s.toString();

var m = this.soundtracks[s.slice(0, s.lastIndexOf("."))];

if (m) {

if (b == "playsound") {

m.play();

} else if (b == "loopsound") {

loop(m);

} else if (b == "pausesound") {

m.pause();

} else if (b == "unloopsound") {

if (m.loop != undefined) {

m.loop = false;

} else if (m.loopfn) {

m.removeEventListener('ended', m.loopfn);

delete m.loopfn;

}

} else if (b == "stopsound") {

m.pause();

m.currentTime = 0;

} else if (b == "fadeoutsound" || b == "fadeinsound") {

if (m.interval) clearInterval(m.interval);

if (b == "fadeinsound") {

if (m.currentTime>0) return;

m.volume = 0;

loop(m);

} else {

if (!m.currentTime) return;

m.play();

}

var v = m.volume;

m.interval = setInterval(function () {

v = Math.min(1, Math.max(0, v + 0.005 * (b == "fadeinsound" ? 1 : -1)));

m.volume = Math.easeInOut(v);

if (v == 0 || v == 1) clearInterval(m.interval);

if (v == 0) {

m.pause();

m.currentTime = 0;

m.volume = 1;

}

}, 10);

}

}

}

}

}

macros['fadeinsound'] = p;

macros['fadeoutsound'] = p;

macros['unloopsound'] = p;

macros['loopsound'] = p;

macros['pausesound'] = p;

macros['stopsound'] = p;

macros['stopallsound'] = {

handler: function () {

var s = macros.playsound.soundtracks;

for (var j in s) {

\t\tif (s.hasOwnProperty(j)) {

s[j].pause();

if (s[j].currentTime) {

\t\t s[j].currentTime = 0;

\t\t }

\t\t}

}

}

}

var div = document.getElementById("storeArea").firstChild;

var fe = ["ogg", "mp3", "wav", "webm"];

while (div) {

var b = String.fromCharCode(92);

var q = '"';

var re = "['" + q + "]([^" + q + "']*?)" + b + ".(ogg|mp3|wav|webm)['" + q + "]";

k(new RegExp(re, "gi"));

div = div.nextSibling;

}



function k(c, e) {

do {

var d = c.exec(div.innerHTML);

if (d) {

var a = new Audio();

if (a.canPlayType) {

for (var i = -1; i < fe.length; i += 1) {

if (i >= 0) d[2] = fe[i];

if (a.canPlayType("audio/" + d[2])) break;

}

if (i < fe.length) {

a.setAttribute("src", d[1] + "." + d[2]);

a.interval = null;

macros.playsound.soundtracks[d[1]] = a;

} else console.log("Browser can't play '" + d[1] + "'");

}

}

} while (d);

}

}());

and because you were not worried

your chest does not thump with fear

when you perch in the highest tree that you can find

and see dark feathers huddled below



and if you fly down fast

(which you do)

then that is because [[you like to fly fast]]



<<fadeoutsound "traffic.mp3" >>

the tallest building is very tall

you leave the treetops behind

and the other buildings

and the other birds



the noise of the city diminishes



the sunlight is orange now

and low in the sky



[[it's time to fall in love|win a mate]]

you fly into the morning

(cold and bright)

and look for the perfect twig



you both deserve this

the very best home

for the very best birds



you heft three twigs

one [[sturdy and bold]]

one [[greenshot and lithe]]

one [[smooth and slender]]

watch, watch everything move

as vaster birds eye your hatchlings with hunger



watch patches of sunlight grow cold

as clouds swell above

>>>//but watch, as well,

the clouds grow <<cyclinglink $cloudcolour "silver" "golden" "red" "purple">>

watch leaves unfurl

and fall to thickly mat the ground below



home to a thousand worms

a million caterpillars

the sodden dirt heaves with delight//

>>>

[[watch|watch2]]

<<set $wellfed1 += 1>>more raisins

and still more



and if that is a greybird now

landing behind you (and it is)



with a thump

a huge thump

(so clumsy)



and if it rushes at you (and it does)

and you [[fly away]]

(and you do, you fly)



then it's not that you are fleeing in disarray

and certainly not that you are worried or startled

but rather that you have eaten so much already