Легче, чем кажется :) Скрипт можно делить на отдельные файлы и подключать через include, и много ещё что.
В конце концов, как-то справились же разработчики игр Vampire: The Masquerade - Coteries of New York, Sable, Haven, Where The Water Tastes Like Wine, Sea of Thieves, NightHawks, 80 Days, Heaven's Vault... А в некоторых из них куда больше чем 25 концовок :)
Не знаю, мне это сложным не показалось...
Ветки можно включать и выключать в зависимости от условий, можно менять тексты в диалоге в зависимости от чего угодно. См. разделы "Conditional Choices" и "Variables and Logic" по ссылке выше.
P.S. Мне даже интересно увидеть требования к диалоговой системе, которые Ink был бы не в состоянии удовлетворить :) Ну разве что наличие графического редактора - но те сложные штуки, которые Ink умеет делать, в редакторе графов отобразить просто невозможно.
А если посмотреть на Ink?
https://github.com/inkle/ink/blob/master/Documentation/WritingWithInk.md
Писать на нём диалоги - одно удовольствие, и ничего кроме текстового редактора для этого не требуется.
Круто же они доработали игру с геймджема! Изначально был просто паззл, нужно было камеры расставлять, чтобы выяснить, куда белка орехи таскает.
https://joonturbo.itch.io/nuts
Twine?
Пока что этот жанр называют "information games": https://egmnow.com/the-rise-of-the-information-game/
Не совсем точно отражает суть, но всё же термин звучит лучше, чем "симулятор ходьбы" :)
Мне кажется, докладчик вот что имел в виду. Игровые диалоги, которые он приводит в качестве "плохих" - это не диалоги, это экспозиция "расскажи мне про X". Игрок не играет активной роли, он просто пассивный получатель информации от NPC, который выполняет роль справочного автомата.
И те подходы, которые он показывает дальше, позволяют превратить игрока из зрителя в участника - когда игрок может повести диалог разными путями, и во всех случаях сцена будет выглядеть так, как задумывал автор.
Очень советую самостоятельно "прокликать" интерактивные версии диалогов (ссылка есть в конце статьи) - статичный текст статьи не даёт полного впечатления.
Про "последовательность выборов, которые приводят к значимому" Джон Ингольд тоже рассказывал. Они этот подход применяли при работе над серией игр Sorcery. Вот пересказ его выступления 2013 года:
https://ifhub.club/2015/03/06/mir-iz-slov-interaktivnye-tekstovye-priklyucheniya.html
Надо будет предложить Джону эту идею для его следующего выступления :)
Писал когда-то простенького бота для Телеграм, который позволяет играть в игры, написанные на Ink: https://github.com/technix/ink-telegram
Ink, в свою очередь, является довольно мощным скриптовым языком для описания историй. https://www.inklestudios.com/ink/
Так что задача проще, чем кажется :)
Ink хорош скорее для случаев, когда тебе нужен вариативный текст:
{met_blofeld: "Я знаю его, недавно познакомились. {met_blofeld.learned_his_name: Франц - вот|Но мне неизвестно} его настоящее имя." | "Не знаю такого. А должен?" }
и сложное ветвление.
Хотя простые игры для веба на нем тоже можно делать:
https://ifhub.club/2018/08/18/pishem-tekstovuyu-igru-dlya-veba-na-ink.html
На ifwiki.ru есть вот такая подборка полезных статей:
https://ifwiki.ru/%D0%91%D0%BE%D0%BB%D1%8C%D1%88%D0%BE%D0%B9_%D1%81%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D1%81%D1%82%D0%B0%D1%82%D0%B5%D0%B9_%D0%B4%D0%BB%D1%8F_%D0%B0%D0%B2%D1%82%D0%BE%D1%80%D0%BE%D0%B2_%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BE%D0%B2%D1%8B%D1%85_%D0%B8%D0%B3%D1%80
Не узнаю себя :)
Так вот откуда столько переходов на страницу "Н.И.И. Альфа"! Спасибо за упоминание :)
Дополню статью парой ссылок на рецензии на "Вагон-Вагон", он же "Railways of Love":
https://mctreviews.video.blog/2018/10/28/railways-of-love/
http://www.ricordius.com/intfic/ifcomp18/railways.htm
https://ifcomprehensive.com/2018/10/24/railways-of-love-by-provodnik-games/
Перевод не видел, но вот тут он есть в тексте: https://n42c.com/2014/03/02/thedragonspeech/
Sorcery!
80 Days
Fallen London