Авторски интерактивен разказ в канап 2 срещу мастило срещу прежда

Бързо и мръсно сравнение, използвайки примери

(Актуализация: сега включих Прежда в това сравнение.)

(Забележка: Проследяването на тази публикация може да се намери сравнение на интегрирането на Unity интеграция за Twine 2, Ink и Прежда.)

За клиентски проект наскоро започнах да разглеждам интерактивни системи за авторско разказване, които предлагат интегриране на Unity. По-конкретно, гледах как са създадени някои общи модели, използващи всяка система. Не намерих никакви систематични сравнения на двете системи онлайн, затова много кратко документирам собствените си усилия тук.

Неща, които трябва да се отбележи:

  • Аз съм нов за канап, мастило и прежда, така че приветствам всякакви корекции или предложения.
  • Проектът, върху който работя, има доста специфични ограничения и изисквания, включително факта, че нетехническите хора трябва да участват в процеса на писане. Целта ми тук е да си представя какъв може да бъде опитът на създаване и работа на тези системи, а не да правя някаква преценка за това коя е „по-добра“.
  • Моето намерение тук не е да задълбочавам или да уча никого как да използва канап, мастило или прежда и примерите по-долу не са придружени с обяснения. Отидете тук за канап 2, тук за мастило и тук (и, за разширени неща, тук) за документация за прежди.
  • Мога да добавя към този документ по-късно.

За да създам примерите по-долу използвах:

  • Редактор на скриптове за мастило Inky
  • Редактор на канап 2, скриптове в историята на Harlowe (по подразбиране).
  • Бележник ++ към авторски файлове с прежди. (Установих, че имам проблеми със запазването / зареждането с редактора на преждата, което е жалко, тъй като харесвам графичния интерфейс в стил Twine, който предлага.)

Изборът

Играчът получава избор (например избор на диалог).

мастило

Въже

прежда

Клонове

Въз основа на избора на играча или на някакъв друг тригер, историята се разделя на отделни под-разкази.

мастило

Въже

прежда

Проследяване на държавата

Съхранение и промяна на променливи данни.

мастило

Въже

прежда

Условна логика

Пример 1: Наличието на избор зависи от състоянието на играта.

мастило

Обърнете внимание, че в допълнение към собствената ми променлива (sense_of_mortality), Ink ми позволява да проверя дали част от съдържанието е видяла (в случая At_the_pony_store).

Въже

прежда

Пример 2: Съдържанието се адаптира въз основа на състоянието на играта.

мастило

Въже

прежда

Хъбове / контури

Играчът има право да се връща многократно до точка (като „хъб“ в игра), от която може да направи допълнителен избор.

мастило

Въже

По подразбиране Ink запомня кои решения е направил играчът и ги скрива от плейъра.

За да получите същото поведение в Twine 2, ще го направите ръчно с помощта на скриптове (т.е. проследяване на състоянието + условна логика), например:

прежда

Външни функции за повиквания

Тук току-що копирах / перифразирах информацията, която намерих в документацията за мастило и люлка:

Мастило с интегриране на мастило единство

  • Използвайте „променливи наблюдатели“, за да уведомявате играта за промени в състоянието
  • Използвайте маркери, за да добавите невидими метаданни към ред с мастило.
  • Използвайте самия текст, за да напишете инструкции към играта, след което трябва да определите специфичен за играта текстов анализатор, да решите какво да правите с него.

Шнур с приставката Cradle Unity

Cradle позволява това чрез техните API за „макети“ и „макроси за изпълнение“.

Прежда с плъгин Yinn Spinner Unity

Прежда Spinner позволява това с атрибут YarnCommand.

Единство интеграция

Освен това направих сравнение на основната интеграция Ink срещу Twine 2, за да видя коя система може да отговаря на нуждите на нашия проект. Накратко документирах това тук. (Скоро ще добавя интеграция на Yarn Unity.)