3 способа управления листами персонажей ролевых игр с открытым исходным кодом
Узнайте о двух командах терминала и настольном приложении.
Это снова время года для геймеров всего мира.
Завтра День бесплатных ролевых игр, день, когда издатели в индустрии настольных ролевых игр выпускают игры как для новых, так и для опытных игроков, и все они совершенно бесплатны. Хотя День бесплатных ролевых игр был отменен в 2020 году, в этом году он вернулся в виде живого мероприятия с некоторой виртуальной поддержкой в виде бесплатной загрузки сэмплеров ролевых игр с Dungeon Crawl Classics и Paizo. А если виртуальных предложений мероприятия недостаточно, вы можете просмотреть мой список настольных ролевых игр с открытым исходным кодом.
Последние два года, как и большинство людей, я играл в настольные игры онлайн. Я использую видеоконференции с открытым исходным кодом и некоторые общие картографические программы. Не поймите меня неправильно: мне нравится ручка и бумага для аналоговых игр. По сей день я редко выхожу из дома без тетради 2E5, так что я могу на ходу набрасывать карты подземелий. Но я обнаружил, что мой компьютерный стол довольно загроможден справочниками по ролевым играм, книгами по играм, таблицами случайных чисел, башней для игральных костей, игральными кубиками и листами персонажей. Чтобы освободить немного места, я недавно принял цифровую систему для своих листов персонажей, как для моих игровых персонажей, так и для неигровых персонажей, когда я пишу DM.
Таблицы цифровых символов
Обычно лист персонажа заполняется карандашом на старомодной физической бумаге. Это проверенная временем традиция, которую я придерживаюсь с конца 80-х, а с конца 70-х — даже более опытные игроки. Переход на цифровые технологии может стать большим шагом в сторону от того, что может показаться неотъемлемой частью игры. Я сочувствую этому мнению и не отношусь к своим цифровым таблицам персонажей легкомысленно.
Когда я решаю сохранить персонажа с помощью компьютера, я настаиваю на существенной выгоде от моего отклонения. Я попробовал два разных варианта цифровых листов персонажей, и один из моих игроков изобрел третий. Все они имеют открытый исходный код, и я считаю, что каждый из них обладает уникальными преимуществами, поэтому их стоит попробовать.
ПК
Команда pc
считывает символьные данные в виде INI-файла, а затем позволяет запрашивать их по категории или атрибуту. Формат относительно гибок, что делает его подходящим для большинства систем ролевых игр, независимо от того, играете ли вы в D&D, Swords & Wizardry, Pathfinder, Starfinder, Stardrifter или что-то еще.
Синтаксис файла INI настолько прост, что почти интуитивно понятен. Каждый заголовок заключен в скобки, а каждая статистика представляет собой пару ключ-значение.
Вот небольшой образец:
[Character]
Name=Skullerix
Level=5
Class=Fighter
Ancestry=Human
[Health]
AC=14
HP=43
Max=66
Ограничением этого формата является невозможность использования атрибутов с одним значением. Это означает, что если вы хотите перечислить атрибуты, которые дают бонус мастерства в D&D 5-м издании, вы не можете просто перечислить атрибуты:
[Save]
DEX
INT
Вместо этого вы должны заставить их стать парой.
В D&D 5e легко определить значение. Эти спасброски выделены только потому, что к ним применим ваш бонус мастерства, поэтому я просто отмечаю текущий бонус персонажа:
[Save]
DEX=3
INT=3
В других системах могут существовать атрибуты, которые просто не имеют значения и на самом деле предназначены только для перечисления. В этом случае вы можете либо установить значение само по себе, либо установить значение True
:
[Save]
DEX=DEX
INT=True
После того как вы ввели данные вашего персонажа в формат INI, вы можете запросить их с помощью команды pc
. Для этой команды требуется параметр --character
или -c
вместе с файлом таблицы символов, который вы хотите запросить. Без дополнительных аргументов вы получите список всего листа персонажа.
Добавьте название заголовка, чтобы просмотреть всю статистику в одной категории:
$ pc -c skullerix.ini Character
Character:
Name: Skullerix
Level: 5
Class: Fighter
Ancestry: Human
Укажите имя заголовка и имя ключа, чтобы просмотреть значение определенного показателя:
$ pc -c skullerix.ini Character Level
Level: 5
Если вы похожи на меня и играете во многие игры, вы можете оставить всех своих персонажей в расположении по умолчанию ~/.local/share/pc,
, а затем запрашивать их без указания пути или расширения файла.
Например, предположим, что у вас есть froese.ini, kitaro.ini
и wendy.ini<
в ~/.local/share/pc
:
$ pc -c kitaro Character Class
Class: Wizard
$ pc -c wendy Health AC
23
$ pc -c froese Save INT
3
Чтобы просмотреть символы в папке по умолчанию, используйте опцию --list
или -l
:
$ pc --list
froese.ini
kitaro.ini
wendy.ini
Проект для ПК написан на Lua и доступен в репозитории Gitlab.
PCGen
PCGen — это приложение, созданное для того, чтобы помочь вам создавать и поддерживать персонажей. Он даже знает правила системы, с которой вам помогает. PCGen — это не просто генератор файлов конфигурации, это база данных правил с открытым исходным кодом и того, как они связаны друг с другом на протяжении жизни персонажа.
PCGen может создавать персонажей для D&D 5e, Pathfinder 1e, Starfinder и Fantasy Craft. При первом запуске PCGen вы можете загрузить определения правил для каждой игры. Файлы небольшие, но в зависимости от того, что вы хотите установить, файлов для загрузки может быть много.
Однако вам нужно сделать это только один раз, и PCGen занимается всем остальным, кроме нажатия кнопки, чтобы начать загрузку для каждой системы.
После того, как вы все загрузите, вы можете приступить к созданию персонажей, выбрав Новый в меню Файл.
PCGen отслеживает незавершенные задачи на панели с надписью Что нужно сделать и помогает вам пройти процесс удовлетворения каждого требования, пока вы не получите законченного персонажа.
(Сет Кенлон, CC BY-SA 4.0)
PCGen делает все расчеты за вас, поэтому вам не нужно выяснять ваши ранги навыков, как бонус мастерства влияет на ваши броски и другие вычисления. Более того, вам не нужно рассчитывать, как меняются ваши результаты по мере повышения уровня или даже какие преимущества вы получаете с каждым новым уровнем. На каждом уровне у вас будет выбор, но вам не придется листать книгу правил в надежде, что вы не упустите ничего существенного.
Одна из моих любимых особенностей PCGen — это способность отображать лист вашего персонажа после завершения.
На бумаге ваши глаза, вероятно, точно знают, где искать бонус мастерства, ранги навыков или другие характеристики персонажа. В некоторых форматах вы теряете это, когда переходите на цифровой формат. PCGen имеет встроенный рендерер и может показать вам вашего персонажа в стандартных макетах листов персонажей, которые опытному игроку, вероятно, покажутся знакомыми.
(Сет Кенлон, CC BY-SA 4.0)
PCGen является лауреатом премии ENnie, и это вполне заслужено. Поддерживать персонажа легко с PCGen, и это приложение я открываю ленивыми днями просто ради удовольствия от создания чего-то нового.
- В Linux загрузите универсальный установщик PCGen с сайта pcgen.org. У вас должна быть установлена Java.) Запустите
pcgen.sh
, чтобы запустить приложение. - В macOS загрузите универсальный установщик PCGen с сайта pcgen.org. У вас должна быть установлена Java.) Запустите
pcgen.sh
, чтобы запустить приложение. - В Windows загрузите установщик PCGen для Windows с сайта pcgen.org. Вам также необходимо установить Java.
XML персонажа игрока
Одним из преимуществ использования команды терминала для запроса листов символов является то, что вы получаете независимость от макета.
Игра в несколько игровых систем может оказаться утомительной, поскольку почти каждая система имеет свою собственную схему. Однако с помощью команды терминала вместо того, чтобы просматривать листы бумаги в поисках данных, вы быстро ищете ту же информацию, позволяя компьютеру выполнить сканирование.
Одним из проектов по отслеживанию символов, который мне в последнее время понравился, является проект d, который использует XML для выражения статистики символов и команду xmllint
для ее запроса. В проекте d есть несколько утилит:
- Команда
d
бросает кубики (включая кубик FUDGE). - Команда
v
запрашивает таблицы символов. - Команда
e
инициализирует ваш домашний каталог, помещая файлы в предсказуемые места.
Поскольку XML очень гибок, этот формат позволяет вам разработать собственную схему в зависимости от того, что лучше всего подходит для вашей системы.
Например, система, основанная на классах, такая как D&D или Pathfinder, может извлечь выгоду из раздела для специальных функций класса, в то время как система, основанная на навыках, может иметь простую схему без категорий.
Вот простой пример:
<char>
<name>Robin Hood</name>
<health>20</health>
<acrobat>5</acrobat>
<archery>8</archery>
<disguise>3</disguise>
</char>
Сначала экспортируйте расположение листа персонажа:
$ export CHAR_SHEET=~/.config/char/robin.xml
Альтернативно вы можете инициализировать свой домашний каталог с помощью команды e
, которая создает каталог ~/.config/char
и определяет переменную CHAR_SHEET
в ваш файл .bashrc
:
$ e init
После того, как вы настроили свою среду, вы можете запросить свой лист персонажа:
$ ./v char.name
<name>Robin Hood</name>
$ ./v char.archery
<archery>7</archery>
Функционально v
аналогичен сценарию pc
, но поскольку он использует XML, существует множество возможностей его просмотра. С помощью XSL вы можете стилизовать свою таблицу символов на основе XML и предоставить ей макет для пользователей, которым неудобно работать с терминалом, но при этом сохранить исходный код XML для тех, кому это удобно.
Открытый исходный код за открытым столом
Ищете ли вы сложное приложение, такое как PCGen, которое поможет вам создать персонажа, или простые утилиты, такие как pc или d, для быстрого запроса статистики персонажа, у открытого исходного кода есть множество вариантов для вас.
И выбор инструментов — это именно то, что делает работу в аналоговой игре в цифровой удаленной обстановке таким удовольствием.