Рубрики
Без рубрики

Сопоставление скрипта, с помощью инструментов Pychronia

Автор оригинала: Pakal de Bonchamp.

Пусть программное сообщение проверьте согласованность ваших сценариев ролевых игр для вас!

(Французская версия этой статьи доступна здесь на Electro-Gn )

Проблема

Каждый писатель подтвердит его вам: нелегко остаться последовательным, когда вы работаете, в течение нескольких месяцев, в длинной истории. Это даже меньше, поэтому, когда рассматриваемая история живет десятки персонажей, каждая со своим собственным частичным видением правды. И Live Action RomePlay игры (LARPS) особенно подвержены этой проблеме.

Опасность не лежит в первом проекте письма: если у него все свои идеи хорошо на месте, автор не так много рискует, кроме нескольких опечаток и взаимосвязей имен. Он во время последующих модификаций (изменений в хронологии фактов, дополнениях поворотов и т. Д.), что информация, распространенная и дублированная в документах различных участников – будет постепенно устареть и несовместимо. В конце концов, даже листы персонажей общего «убийства и тайной партии» в конечном итоге полны пространственных, временных, лексических и структурных невероятных возможностей, если они не строго проверены и сравниваются после каждой эволюции сценария.

Что мы можем сделать, чтобы предотвратить это, не тратя на всю жизнь, делая сравнительную корректуру? Во-первых, несомненно, Дедупливые тексты, общие для нескольких игроков , который приводит к утомительной копии и пасты (умножая ошибки и искусственно надув массу текста). Тогда Позвольте автору просмотреть взаимозависимые наборы изменений Он последовательно применяется к своему сценарию. Наконец, дай ему Резюме ключевой информации , проще просмотреть, чем многолетние литературные тексты. И все это в Как можно максимально автоматизировать способ Поскольку количество управляемых документов может сделать самую маленькую операцию очень много времени (и подвергаться риску небрежности).

Преимущества инструментов Pychronia Tools

Чтобы воспользоваться этими драгоценными сопосталами во время создания Chrysalis: Mindstorm Mystery Party (только французский), я создал определенный процесс написания, включающий простые текстовые файлы (которые содержат сценарий), различные существующие программные инструменты, а также модуль «инструменты Pychronia», разработанные по случаю.

Как только этот механизм на месте, все, что вам нужно сделать, это запускать его и – Magic – сто PDF-файлы появляются один за другим в папке вывода: Руководство игры Game Master, полные и суммированные листы символов для игроков, документы для печати Красивые свитки, чтобы служить подсказками в игре, сводные листы для дополнительных …

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

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

Извлечь из автоматического резюме «фактов» сценария:

Имена персонажей в курсе, когда у них есть вопрос о том, когда у них есть вопрос о том, что они имеют вопрос только в их полном листе символов, а не на их сводном уровне.

В результате игры Game Master может спокойно полагаться на свои собственные (самостоятельные) документы для настройки и мониторинга игры: подробный сценарий, вечернее планирование, контрольный список материалов и сочинений, которые должны быть размещены в помещении, автоматическое резюме миссий и Специальные навыки каждого игрока …

Кроме того, эта машина также может отправлять свои игровые документы по электронной почте каждому игроку (например, карта персонажей и документы, первоначально владеющими). Это позволяет избежать драмы, которая ждет каждого организатора: Poailing участник, отправив ему неправильные документы.

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

Как настроить такой процесс?

Шаг 1: Уходите вдали от богатых офисных файлов (DOCX, ODT, PDF …) в формат простого текста, легко манипулируемый, где форматирование явно указывается специальными символами. Документы в игре С высокими графическими и типографическими потребностями (плакаты, свитки, газеты …) могут быть оставлены в стороне, в более обычных файлах автоматизации офиса: Word, LibreOffice, Indesign …

Пример простого текста (формат реструктурета):

Manuel du Maître de Jeu
############################

.. contents:: Table des Matières
    :depth: 2

Concept de la soirée mystère
================================

**Chrysalis:Mindstorm** est un huis clos entre `enquête 
`_ criminelle et conflit
géopolitique, où des agents secrets et des civils de divers pays se 
retrouvent face à un *redoutable* inspecteur de police, qui va les 
pousser dans leurs derniers retranchements.

Рендеринг этого текста один раз преобразован в PDF:

Шаг 2: Используйте диспетчер версий для файлов сценариев. Это позволяет вернуться во времени в любое время, чтобы избежать ужасающих случайных модификаций файлов, и проверять согласованность каждого из внесенных изменений (переименование места, добавляя информацию для группы игроков …).

Просмотр изменений, сделанных в правилах игры:

Шаг 3: Добавьте небольшой обработку двигателя, чтобы обогатить текст простыми и практичными функциями: позвольте одному файлу включить другой, определить многоразовые текстовые блоки, вставьте переменные (например, дату решающего события, отличающиеся для каждого сеанса вечер Тайна), отображают Различная информация в соответствии с командой, на которую принадлежит целевой плеер ….

Шаг 4: Автоматизация проверки согласованности. Для этого я создал определенные теги в обработке двигателя, который я затем вставил, как я писал: – Тег {% Fact%} используется для объявления о факте (е. G. »SO-IS-SO-TO, так пытался Роб Лойда Георги”), и указать, является ли игрок автором или только свидетелем. – тег {% HINT%} позволяет запросить существование физического подсказки (буква, объект …), чтобы дать игроку. – тег {% Symbol%} гарантирует, что значение уникально во всех файлах сценариев (e. G. Точное время преступления), избегая использования «переменных», которые неясно.

Пример использования специальных тегов для обогащения сценариев текста:

Как видно, у каждого есть свой собственный синтаксис, и может использовать другие функции обработки двигателя, такие как переменные (из которых у нас есть пример с {agent_gamma_fake_name}} ).

Шаг 5: Свяжите все это со скриптами, которые будут автоматизировать различные шаги создания игрных документов: сбора полезных данных (включая фотографии игроков), распределение сценариев для каждого участника (глобальный контекст, личный контекст, правила игры …), преобразовав их в формат PDF И генерируя сводные листы для игрового мастера.

Некоторые из документов PDF, созданные рядом с их простыми текстовыми источниками:

Будущее

Все это хорошо и хорошо, но как насчет остальной части ролевого сообщества? Может ли это пользоваться, в целом, из функциональных возможностей, предлагаемых этой системой поддержки сценаринга?

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

Поэтому я слушаю авторам, искушенным опытом, чтобы увидеть с ними, как они работают, какие форматы и инструменты они могут использовать, и как эта система может быть обобщена в соответствии с их использованием. Затем я мог видеть, чтобы извлечь этот код (который в настоящее время сильно связан со структурой игровых файлов Chrysalis), чтобы сделать его более автономным и легким развертыванием.

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

Заинтересованы в этой системе поддержки сценаринга? Не стесняйтесь связаться со мной, используя информацию о Сайт Chrysalis Отказ

Приложение: Детали для компьютерных грамотных людей

Мое машиностроение основано на языке Python и его экосистемой Manipulation/создания документов.

Что касается формата «простого текста» сценария, для этой цели можно использовать многие «языки на разметки»: реструктурированный текст, разметки, текстиль, латекс или даже HTML … я выбрал реструктурированный текст Для своей ясности, универсальности и его расширенной интеграции с языком Python. Для редактирования этих текстовых файлов, конечно, Pycharm, Notepad ++, Geany или простой ноутбук может сделать трюк.

Для версии Manager (или «VCS») я выбрал Git и его превосходный графический интерфейс Tortoisegit (доступный под Windows только к сожалению). Mercurial, Bazaar, Darcs или другие имеют право настолько актуальными. Как минимум, мы можем использовать версительную резервную копию файла, предложенный Dropbox et al., Даже если он предлагает лишь несколько функций для визуализации различий между несколькими ступенями письма …

Визуализация, через git, наборов модификаций, сделанных в сценарий:

Что касается механизма шаблона, используемого для обработки текстовых файлов (и для конкретных тегов), наконец, я встроил мощный Jinja2 , Что позволяет создавать переменные и макросы непосредственно в шаблонах. Данные, обработанные этим двигателем, приходит в моем случае, от структуры дерева файлов YAML, но многие другие источники (файл Python, CSV, XML …) очень легко интегрированы.