Myth-o-Matic, или нарративная математика

Приложение для игрового вычисления сюжетов и историй.

Myth-o-Matic, или нарративная математика

В настольно-ролевых играх часто используются генераторы, дающие некие исходы и варианты лута/предметов/ситуаций из различных списков. В компьютерной сфере встречаются более сложные системы-генераторы, обрабатывающие описания и реплики от пользователя и высылающие ему в ответ сгенерированные описания реакций и событий.

Что насчёт некого обратного, или гибридного способа - пользователь, наоборот, конструирует запрос в пару кликов, вместо того чтобы вводить литературное описание ситуации, и получает ответ в виде набора направляющих ассоциаций, а не законченного конкретного текста. Благодаря этим направляющим пользователь волен уже сам описать, сколь угодно подробно, что произошло.

То есть вместо

"персонажи устало брели по скользкой дороге и внезапно увидели... бросим кубик... 5... 5 - по таблице это банда из d4 + 2 разбойников... ну, значит вы сражаетесь с бандой"

или "Задумавшись, Алиса открыла старую деревянную коробку в которой было... компьютер генерирует ответ... в которой оказалось несколько бутылочек со странными зельями и записка",

получаем "персонажи (N) взаимодействуют с дорогой (M)... вычисляем ассоциации (для N*M)... результат: угроза, много... придумываем подходящую интерпретацию... когда путники миновали очередной изгиб пути, то из придорожных кустов на них вылетела разъярённая стая огромных крыс"

или "Алиса и коробка... вычисляем ассоциации... результат: загадка, свет... придумываем ответ... на дне пыльной коробки Алиса обнаружила вязь таинственных светящихся символов, по всей видимости это были магические руны. Возможно, тем самым она пробудила спящее внутри заклинание, но пока Алиса не ощущала, что что-то вокруг поменялось."

Я написал пару сюжетно-ролевых калькуляторов, практикующих подобный подход, в которых частично автоматизировал варианты своей сюжетостроительной игромеханики, основанной на взаимодействии идентификаторов объектов. Пользуясь этим инструментом можно помочь себе сочинить историю, и вести базу данных созданных ситуаций, локаций, предметов и персонажей. Опять же, результаты генерируются в самом общем виде, а интерпретацию уже пишете вы сами, если нужно.

Можно запускать приложение Myth-o-Matic в браузере или скачать билд. В десктопной версии можно открыть путь к файлу сохранения и редактировать его вручную (в браузере сохранение тоже работает).

Как пользоваться

В приложении мы видим набор из нескольких стартовых объектов/субъектов с трёхзначными идентификаторами. Их можно удалять кнопкой внизу, а в поле справа заводятся новые (можно писать на русском, просто сам интерфейс английский), которым будет присваиваться случайное трёхзначное число.

Myth-o-Matic, или нарративная математика

Далее пользователь может выделять два любых объекта и вычислять для них результат взаимодействия (нажав появившуюся кнопку "="):

идентификаторы объектов перемножаются и выводится результат - набор из нескольких слов ассоциаций, абстрактно описывающих, к чему же собственно привело взаимодействие объектов.

Слова-ассоциации зависят от текущей установленной Парадигмы (это некие ключевые особенности мира, его жанровые моменты, важные элементы сеттинга и так далее). По умолчанию это Сказка (Fairytale), плюс предложены ещё два дефолтных варианта - Хоррор и Киберпанк. В каждом набор из 9 концепций, в качестве результата выводятся две-три в порядке важности влияния, кроме того генерируется простая абстрактная картинка и комбинация звуков.

Например. Дело происходит в Сказке. Вампир (542) нашёл Костяной ключ (976). Результат умножения - 52****, что в сказочных концепциях соответствует понятиям 5 - Тайна и 2 - Чудо.

Пользователь может решить, что ситуация просто произошла, не привнеся ничего нового. Допустим, вампир нашёл ключ, вещица явно не простая, но пока неизвестно, что именно ключ этот делает. Запись об этом взаимодействии "вампир Х ключ" в любом случае просто сохранится в логе.

Пользователь может придумать и выписать себе интерпретацию события где-то отдельно, если параллельно ведёт нечто вроде хронологии событий. Допустим, "На ощупь костяной ключ был очень холодным, даже для вампира. Интересно, что никаких видимых царапин на нём не было - возможно, его ещё ни разу не использовали, либо дело было в другом. Какая-то особая магия?"

Также пользователь может зафиксировать случившееся, как новую сюжетную вещь, локацию, персонажа. Для этого в поле Интерпретации нужно указать, что же из этой ситуации получилось и написанное сохранится в перечне объектов со своим идентификатором, уже не случайном, а основанном на числе результата.

Допустим, мы могли так и написать - "Особая магия". И у нас появился бы новый сюжетный объект - Особая магия (5289). Теперь, следующим действием, тот же вампир может углубиться в попытки понять данную магию, то есть взаимодействовать уже не с самим ключом, а с этим отдельным обнаруженным понятием.

Давайте начнём новую историю в некоем сказочном мире, удалим предложенный расклад и заведём несколько своих ключевых стартовых сущностей:

стартовый расклад

Начнём писать историю событий, совершая различные взаимодействия:

первые события

Принцесса смотрится в Волшебное зеркало, увидев там Тьму-Тьму (и даже ещё раз Тьму, одним словом темноту в кубе). Интерпретируем это как то, что она увидела в отражении какую-то весьма пугающую сцену со своим участием, происходящую в некотором отдалённом будущем. Зафиксируем этот момент как Тёмное пророчество

Далее у нас Кот гуляет по Замку что выливается в Чудо-Жизнь. В целом вроде ничего особенного не придумывается. Разве что, кот, вероятно, попал в замок впервые или это ещё совсем котёнок, недавно родившийся. В данном случае наш кот был заведён как абстрактное действующее лицо, без бэкграунда и происходящие ситуации как раз могут добавить конкретики в его образ.

Кстати о Замке. А пусть на него нападёт Дракон. Получается Трансформация-Чудо. Что бы это могло быть?

Пусть кто-то или что-то обратило агрессивного дракона в камень. Так и запишем:

дракон обращён в камень

Получилась Каменная статуя дракона. В принципе самого Дракона теперь можно удалить, если хочется. Либо можно пользоваться им, подразумевая получение информации о драконе, или понимая эту сущность как уже нового дракона.

Зайдём теперь в Парадигмы и подправим либо переведём концепции текущей установленной сказочной парадигмы:

правим концепции

Возвращаемся к нашей истории. Принцесса, естественно, захотела посмотреть на Статую дракона, недавно атаковавшего замок:

принцесса проявляет любопытство

... и тёмные тайны открываются ей. Как с этим жить дальше, что произошло и к чему это приведёт? Решать вам.

Битва парадигм или Штамм 33

Другое приложение представляет собой более игроподобную версию сюжетостроительства, где присутствует конечная цель игры - сбор специальных ачивментов и выяснение измерения-победителя, которое захватило реальный мир, заразив его своими носителями и представителями.

Приложение Штамм 33 имеет схожий интерфейс, но при этом имеются некоторые отличия в правилах. Вот его страничка:

Во-первых, здесь подразумевается некий конкретный базовый сюжетный расклад - глобальные силы трёх различных измерений проникают в реальный мир, инфицируя своим влиянием различные его объекты, места, существ и так далее.

Такие объекты становятся носителями концепций иномировых парадигм и продолжают заражать ими реальность, всячески мутируя при этом.

Заражённая сказочными энергиями книга меняет облик комнаты, где хранится на полке. Незнакомка, излучающая измерение ужаса, гуляет в городском парке, привнося туда области увядания и разложения. Цифровые копии пользователя вырываются из его личного компьютера, распространяя киберпанковое излучение в мир.

Стартовые объекты/субъекты здесь создаются с двухзначными идентификаторами, и окрашены в цвет реального мира, то есть либо не заражены либо заражение иными мирами проявлено слабо. Объекты, получающиеся в результате взаимодействий уже имеют цвет влияющего на них измерения - то есть окрашены в цвет парадигмы, носителем которой являются.

<i>Например, Писатель и Кровавый след являются носителями измерения Хоррора, в то время как Червь и Золотой мост - излучают Сказку. </i><br />
Например, Писатель и Кровавый след являются носителями измерения Хоррора, в то время как Червь и Золотой мост - излучают Сказку.

Во-вторых, здесь пользователь уже выбирает из двух разных вариантов взаимодействия (умножение или деление):

Умножение выбирается, если объекты каким-либо образом сюжетно "сближаются", "притягиваются".

Деление используется, если объекты сюжетно "отдаляются", "конфликтуют".

Например. Кот (46) бежит по Мосту (39) = 46 х 39 = ситуация 1794. Если же Кот падает с Моста или, наоборот, Мост падает на Кота, то нужно разделить объекты друг на друга для получения результата взаимодействия.

Первая парадигма (на старте "Сказка") интерпретирует результаты, чья первая ненулевая цифра 1,2 или 3. Вторая ("Хоррор") - начинающиеся с 4,5,6. Третья - оставшиеся.

Вышеописанная ситуация 1794 будет разрешена в концепциях первой, сказочной парадигмы, где 1 - Жизнь, 7 - Трансформация, 9 - Предмет.

Допустим, так: кот нашёл на мосту некий полезный предмет из сказочного измерения, Оберег. Тогда в списке объектов появится новый доступный для взаимодействий объект - Оберег (1794).

Некоторые объекты не могут взаимодействовать определённым способом, по причине того, что установлены некоторые ограничения (результаты, меньшие определённого числа, блокируются) - совершенно любые идентификаторы было бы сложно обрабатывать математически корректно. Невозможность взаимодействия объектов в определённых конфигурациях может быть расценена с точки зрения сюжета как слишком малый эффект от ситуации.

В-третьих, имеются условия для "прохождения" сюжетного сценария. Это система достижений, всего их 9 и когда все собраны, то история считается законченной. Вернее можно поставить точку, продолжить текущую, либо начать новую. Достижения вычисляются автоматически - это пары одинаковых цифр ("11", "44", "77" и так далее), встречающиеся в образующихся числах.

Особая пара "33" имеет деструктивное действие и может возникать неограниченное количество раз, в отличие от обычных достижений. Это своеобразный иммунный ответ реальности на особо опасную разновидность иномирового заражения, уничтожающий взаимодействующих носителей.

Ситуация привела к уничтожению Червя и Духа Червя, при их разделении (возникла пара "33")<br />
Ситуация привела к уничтожению Червя и Духа Червя, при их разделении (возникла пара "33")

В финале выводится список всех ключевых взаимодействий, которые привели к открытию достижений.

Какой мир одержит победу в вашем раскладе?

Штамм 33 также существует в виде книги правил для ролевой игры (чтобы играть одному, записывая всё на бумаге, или разыграть сражение измерений для партии игроков по интернету), где вместо специализированного приложения используется обычный калькулятор:

2424 показа
781781 открытие
11 репост
7 комментариев

Выглядит достаточно интересно. Насколько далеко у тебя заходила история?
С удовольствием прочитал бы лонг/статью про отдельную сессию с началом и концом.

Ответить

Да бесконечно можно вести. Это заодно инструмент для тренировки импровизации. Лично я ограничивался не слишком большими историями. Так то я обычно не пишу сюжеты, а в тех же партийных ролёвках, например, предпочитаю получать сюжет из хоаса и подготовленного сырья, уже в процессе самих игр.
Конкретно Штамм 33 использовался для партийных игр, но там есть условие окончания, то есть он в целом не подразумевает продолжительного сюжета. Опять же, можно получить начальную историю здесь, а продолжать её не обязательно в рамках того же инструмента - можно так сеттинг для другой игры придумать, её персонажей и ситуации. Или перенести в базу ключевые объекты какого-то существующего сеттинга, чтобы здесь с ними "поиграть", получив какие-то новые повороты.

Ответить

Есть вот такой вот ранний лонг, про то как данная механика вобще придумалась. Там же и пример некоторых получившихся историй: https://dtf.ru/flood/53025-vychislyaemyy-syuzhet-ili-nastolno-rolevaya-zaraza

Ответить

Давно хотел что-то такое для "процедурной генерации" сюжета. Спасибо, поизучаю!

Ответить

На здоровье :)

Ответить

И Остап Бендер протянул Ухудшанскому лист, на котором было написано: ТОРЖЕСТВЕННЫЙ КОМПЛЕКТ. НЕЗАМЕНИМОЕ ПОСОБИЕ ДЛЯ СОЧИНЕНИЯ ЮБИЛЕЙНЫХ СТАТЕЙ, ТАБЕЛЬНЫХ ФЕЛЬЕТОНОВ, А ТАКЖЕ ПАРАДНЫХ СТИХОТВОРЕНИЙ, ОД И ТРОПАРЕЙ. («Золотой теленок», Ильф и Петров). 1928 г.

Ответить

Убиться... И зачем для этой штуки в браузере - аж "WebGL" ?

Ответить