Twine tutorial 4, læservalg

I denne tutorial arbejder vi videre på variabler og if-statements ud fra den valgmulighed, som vi lavede i tutorial 1. Vi vil sørge for, at Kapitel 2 slutter på en bestemt måde ud fra det valg, som læseren tog i kapitel 1.

Koden kan også bruges til at lave interaktive bøger med forskellige slutninger.

Vi lægger ud med at åbne vores projekt fra sidste gang. Du kan bruge din egen version eller hente min her.

Mit udgangspunkt ser sådan ud:

TutorialD_1

Lad og lægge ud med at åbne passagen side to. Lige nu står der dette i bunden:

”Side 2”

[[Vælg at stritte imod->Side 3]]

[[Vælg at gøre, som den siger->Side 3 B]]

For at huske læserens valg laver vi en variabel. Du kan kalde dem præcis, hvad du vil, så længe du sætter et ’$’ foran. Jeg kalder den $mistro. Jeg vælger, at mistro er et tal, der kan stige. Derfor vil mistro være 1, når læseren vælger at stritte imod, og 0, når læseren vælger at gøre, som der bliver sagt.

Koden ser sådan ud:

(set: $mistro to 1)

(set: $mistro to 0)

Men den fastgøres til et link på denne måde:

”Side 2”

(link: “Vælg at stritte imod”)[(set: $mistro to 1)(goto: “Side 3”)]

(link: “Vælg at gøre, som den siger”)[(set: $mistro to 0)(goto: “Side 3 B”)]

Hvor teksten i gåseøjnene efter ordet ’link’ er linkets navn, det som læseren ser. Set: $mistro er måden at ændre vores variabel. Goto sender os til næste passage og denne tekst kan læseren ikke se.

I projektet ser koden sådan ud:

TutorialD_2

For at teste koden, nu hvor der er en variabel, klikker vi på symbolet af et insekt nederst i bunden af Twine. Som vist her:

TutorialD_3

Og under testen kan du holde øje med variablerne nede i højre hjørne. Som vist her:

TutorialD_4

Hvis vi herefter klikker på kapitel 1 og skifter side, indtil vi kommer til valget, vil du se, at der stadig ikke er dukket en variabel op:

TutorialD_5

Den dukker først op, efter vi har taget valget. Som vist her:

TutorialD_6

Nu er variablen $mistro på 1.

Så langt så godt. Lad os vende tilbage til Twine og bruge en if-sætning til at lave to forskellige slutninger på kapitel 2. Slutningen vil blive afgjort af læserens valg.

Lad os åbne side 7 og indsætte teksten til side 7:

Kaosset kommer til mig som lyde: lydene af skosåler, der hviner mod gulve, stemmer, skramlende stole, der bliver flyttet.

Nej …

Nej, nej, nej, nej.

Det her er slet ikke godt.

Hvad er det, der sker?

Jeg mærker stødet i brystet, da mit hjerte begynder at slå. Det river i mine ribben og får min krop til at dirre.

Jeg gisper og bider tænderne sammen.

”Side 7”

Herefter skal linket til ’Side 8’ kodes, så kapitlet får to forskellige slutninger. Vi kalder de to forskellige slutninger for ’Side 8 A’ og ’Side 8 B’. Vi bruger koden:

[[Side 8->Side 8 A]] [[Side 8->Side 8 B]]

Vi vælger, at ‘Side 8 A’ er koblet til højere mistroniveau, altså at læseren valgte at stritte imod. Derfor skal ’Side 8 A’ sætte sammen med if-sætningen (if: $mistro is 1). Det gøres sådan:

(if: $mistro is 1)[[Side 8->Side 8 A]](if: $mistro is 0)[[Side 8->Side 8 B]]

Som set her:

TutorialD_7

Herefter skal de to forskellige slutninger på kapitel 2 skrives. Vi åbner ’Side 8 A’. Jeg sætter følgende tekst ind, som er teksten fra den originale Inkarnation:

Da jeg åbner øjnene, ser jeg op i et gråt loft, hvor hvide lysstofrør blænder mig. Jeg glipper med øjnene. Min tunge klistrer til min gane. Mit svælg er så udtørret, at det gør ondt at synke. Hvorfor gør det ondt?

Hvor er jeg?

Hvad er der sket?

En ubehagelig varme breder sig i mig, i takt med at blodet fordeler sig ud i min krop.

En svag, forpint piben undslipper mine læber.

Mine muskler brænder.

Jeg krummer fingrene. Det får mine fingerspidser til at prikke.

Jeg er … levende.

Det er det, der er galt. Det er det, der er sket. Jeg er levende.

Bare tanken får mit hjerte til at banke.

Jeg har et bankende hjerte.

”Side 8” (Set: $kapitel3 to 1)

[[Kapitel 3->Kapitelmenu]]

Det ser sådan ud:

TutorialD_8

Bemærk, at vi i slutningen sender læseren til kapitel 3, men at vi også laver en ny variabel, som gør, at vi kan se, at læseren har læst kapitel 2 færdigt.

Vi lukker passagen ned og åbner ’Side 8 B’. Denne version er mere naiv. Derfor omskriver jeg den, så den bliver mere naiv uden samme mistro. Hvis det var bogens slutning, kunne du lave en version med en betydeligt større konsekvens. Eksempelvis, om en karakter dør eller overlever.

I tutorialens eksempel kommer teksten til ’Side 8 B’ til at lyde sådan her:

Da jeg åbner øjnene, ser jeg op i et gråt loft, hvor hvide lysstofrør blænder mig. Jeg glipper med øjnene. Min tunge klistrer til min gane. Mit svælg er så udtørret, at det gør ondt at synke. Hvorfor gør det ondt?

Hvor er jeg?

Hvad er der sket?

Det er ikke kun en ubehagelig varme, der breder sig i mig, i takt med at blodet fordeler sig ud i min krop. Det er også følelsen af afklaring.

Smerten er bare smerte.

Jeg krummer fingrene. Det får mine fingerspidser til at prikke.

Jeg er … levende.

Det er det, der er sket. Jeg er levende.

Bare tanken får mit hjerte til at banke.

Jeg har et bankende hjerte.

Skikkelsen i tågen har valgt at vække mig.

”Side 8”(Set: $kapitel3 to 1)

[[Kapitel 3->Kapitelmenu]]

Den ser sådan ud:

TutorialD_9

Og i oversigten ser det sådan ud:

TutorialD_10

Den røde ring markerer de to forskellige slutninger, som vi har lavet på kapitel 2.

Herefter skal vi oprette kapitel 3. Det gør vi ved at åbne passagen ’Kapitelmenu’ og tilføje en ny linje. Vi kalder den:

(if: $kapitel3 is 1)[[Kapitel 3]]

Som set her:

TutorialD_11

Hvis vi lukker passagen ned, vil oversigten over vores projekt nu se sådan ud:

TutorialD_12

Og vi har nu lavet et læservalg, som giver to forskellige slutninger på et kapitel 😊

Husk at gemme dit projekt ved at klikke på filnavnet nederst i venstre hjørne og vælge ”Udgiv som fil”. Efter filnavnet skal du huske at tilføje ”.html”, inden du trykker gem.

Du kan hente min fil ned her, hvis du vil teste den.

Næste tutorial handler om, hvordan man laver et læservalg, der igennem historien ændrer små elementer inden i selve teksten.

– Pernille

One Comment Tilføj dine

Skriv et svar

Udfyld dine oplysninger nedenfor eller klik på et ikon for at logge ind:

WordPress.com Logo

Du kommenterer med din WordPress.com konto. Log Out /  Skift )

Facebook photo

Du kommenterer med din Facebook konto. Log Out /  Skift )

Connecting to %s