Vytvoření interaktivního příběhu v Twine 2 vs Ink vs Yarn

Rychlé a špinavé srovnání pomocí příkladů

(Aktualizace: Nyní jsem do tohoto srovnání zahrnul přízi.)

(Poznámka: Pokračování tohoto příspěvku, srovnání, jak integraci Unity zprovoznit a spustit pro vlákna 2, inkoust a příze, naleznete zde.)

Pro klientský projekt jsem nedávno začal zkoumat interaktivní narativní autorské systémy, které nabízejí integraci Unity. Konkrétně jsem se zabýval tím, jak jsou pomocí jednotlivých systémů vytvořeny některé běžné vzorce. Nenalezl jsem žádné systematické srovnání těchto dvou systémů online, takže zde velmi stručně dokumentuji své vlastní úsilí.

Zajímavosti:

  • Jsem nováčkem Twine, Ink a Yarn, takže vítám jakékoli opravy nebo návrhy.
  • Projekt, na kterém pracuji, má poměrně specifická omezení a požadavky, včetně skutečnosti, že do procesu psaní je třeba zapojit netechnické lidi. Mým cílem je zde si představit, jaké by mohly být zkušenosti s tvorbou a pracovním tokem těchto systémů, spíše než dělat jakýkoli úsudek o tom, který z nich je „lepší“.
  • Mým záměrem zde není jít hlouběji ani nikoho učit, jak používat motouzy, inkoust nebo příze a níže uvedené příklady nejsou doprovázeny vysvětlením. Jděte sem pro Twine 2, zde pro inkoust a zde (a pro pokročilé věci zde) pro dokumentaci příze.
  • K tomuto dokumentu mohu přidat později.

Pro vytvoření níže uvedených příkladů jsem použil:

  • Editor inkoustových skriptů Inky
  • Editor šňůry 2, skriptování ve formátu Harlowe (výchozí).
  • Poznámkový blok ++ k vytváření souborů příze. (Zjistil jsem, že mám problémy s ukládáním a načítáním v Editoru příze, což je škoda, protože se mi líbí grafické rozhraní ve stylu motouzy, které nabízí.)

Možnosti

Hráč dostane výběr (např. Výběr z dialogu).

Inkoust

Motouz

Příze

Větve

Na základě výběru hráče nebo jiného spouštěče se příběh rozdělí do samostatných dílčích příběhů.

Inkoust

Motouz

Příze

Sledování stavu

Ukládání a úprava proměnných dat.

Inkoust

Motouz

Příze

Podmíněná logika

Příklad 1: Dostupnost volby závisí na stavu hry.

Inkoust

Všimněte si, že kromě mé vlastní proměnné (sense_of_mortality) mi Ink umožňuje také zkontrolovat, zda část obsahu viděla (v tomto případě At_the_pony_store).

Motouz

Příze

Příklad 2: Obsah se přizpůsobí na základě stavu hry.

Inkoust

Motouz

Příze

Náboje / smyčky

Hráč se může opakovaně vracet k bodu (jako je „rozbočovač“ ve hře), ze kterého si může vybrat další možnosti.

Inkoust

Motouz

Ve výchozím nastavení si Ink pamatuje, jaké volby hráč již provedl, a skryje je před přehrávačem.

Chcete-li získat stejné chování ve Twine 2, udělali byste to ručně pomocí skriptování (tj. Sledování stavu + podmíněná logika), např .:

Příze

Volání externích funkcí

Zde jsem právě zkopíroval / parafrázoval informace, které jsem našel v dokumentaci pro inkoust a kolébku:

Inkoust s integrací inkoustových jednotek

  • Pomocí „proměnných pozorovatelů“ informujte hru o změnách stavu
  • Pomocí značek přidejte neviditelná metadata do řádku inkoustem.
  • Pomocí samotného textu můžete do hry napsat pokyny a poté nechat analyzátor textu pro konkrétní hru rozhodnout, co s tím dělat.

Motouzy s pluginem Cradle Unity

Cradle to umožňuje prostřednictvím svých API „podnětů“ a „běhových maker“.

Příze se zásuvným modulem Unity Spinner Unity

Příze Spinner to umožňuje s atributem YarnCommand.

Integrace jednoty

Také jsem provedl srovnání základní integrace inkoustu proti Twine 2 a zjistil, který systém by mohl vyhovovat potřebám našeho projektu. Krátce jsem to zdokumentoval. (Brzy k tomu přidám integraci Yarn Unity.)