Špecifikácia jazyka Rea — Časť 3: Naratív a interakcia (Sekcie 16–21)
Stav implementácie: Voľby a vetvenie (16) vrátane vnorených, podmienených, lepivých a záložných volieb sú plne implementované. Dialógová atribúcia (cez
@hovoriaci:) funguje. Obsah prvej návštevy ({once}/{then}/{end once}) je implementovaný. Naratívne utility v Sekcii 16 ({cycle}/{replace}), Karty (17), Hlas a Audio (18), Vstup a Interakcia (19), Kooperatívne čítanie (20) a Interakcie s reálnym svetom (21) sú špecifikované, ale zatiaľ neimplementované. Pozrite REA-CHEATSHEET.md pre podrobný stav.
16. Voľby a vetvenie
Voľby sú srdcom interaktívnych príbehov. Rea podporuje jednoduché aj komplexné vetvenie.
Jednoduché voľby
Použite * pre jednorazové voľby a + pre opakovateľné (lepivé) voľby:
Cesta sa pred tebou rozdeľuje.
* [Vydať sa ľavou cestou]
Ľavá cesta vedie hlbšie do lesa.
-> tmavy_les
* [Vydať sa pravou cestou]
Pravá cesta sleduje rieku.
-> breh_rieky
+ [Rozhliadnuť sa]
Starostlivo si prezeráš okolie.
-> krizovatkaPravidlá textu voľby:
* PRED [POPIS] PO
╰─┬──╯ ╰─┬─╯ ╰─┬─╯
│ │ └── zobrazené iba po výbere (narácia)
│ └── zobrazené ako klikateľný text voľby
└── zobrazené v OBOCH voľbe AJ naráciiVnorené voľby
* [Otvorte dvere]
Vstúpite do miestnosti. Je tmavá.
** [Zapáliť fakľu]
Miestnosť sa osvieti. Vidíte poklad!
** [Pokračovať v tme]
Narazíte do niečoho...Podmienené voľby
* {if player.key} [Odomknúť dvere]
Kľúč pasuje. Dvere sa otvárajú.
* [Kopnúť do dverí]
To nepomohlo.Záložné voľby
Keď nie sú dostupné žiadne voľby (všetky podmienky zlyhali):
* {if false} [Nemožná voľba]
Toto sa nikdy neobjaví.
- Automaticky pokračuješ po jedinom dostupnom smere.Zhromažďovacie body (Gathers)
Znak - na začiatku riadku slúži ako bod, kde sa vetvy opäť zbiehajú:
* [Doľava]
Ideš doľava.
* [Doprava]
Ideš doprava.
- Obidve cesty ťa nakoniec dovedú k mostu.Odklony (Diverts)
Použite -> na presmerovanie toku príbehu:
-> nazov_kotvyTunely
Tunely (->->) fungujú ako volania podprogramov — vrátia sa tam, odkiaľ boli zavolané:
->-> popis_miestnosti17. Karty
Karty sú štruktúrované dátové bloky pre postavy, predmety a akcie:
{card character "Aria"}
health: 100
strength: 15
class: "bojovníčka"
{end card}18. Hlas a audio
Príkazy pre hlasovú naráciu a zvukové efekty:
{voice narrator begin}
Temný les skrýval mnoho tajomstiev.
{end voice}
{sound "kroky.ogg" volume=0.8}
{music "tema.ogg" loop}19. Vstup a interakcia
Príkazy pre zber vstupu od čitateľa:
{input type="text" target=player.name}
Ako sa voláš, cestovateľ?
{end input}
{input type="number" target=player.age min=1 max=150}
Koľko máš rokov?
{end input}20. Kooperatívne čítanie
Podpora pre viacerých čitateľov zažívajúcich príbeh spoločne:
{broadcast}
Všetci vidia túto správu.
{end broadcast}
{whisper target="rola_1"}
Iba hráč s rolou 1 vidí toto.
{end whisper}
{vote timeout=30}
* [Ísť do jaskyne]
* [Obísť horu]
{end vote}
{wait for="all_ready"}21. Interakcie s reálnym svetom
Príkazy pre GPS, NFC a ďalšie hardvérové interakcie:
{waypoint lat=48.1486 lon=17.1077 radius=50}
Dosiahli ste Bratislavský hrad!
{end waypoint}
{nfc tag="quest_item_1"}
Naskenovali ste tajomný artefakt.
{end nfc}