Система Работы С Персонажами Для Ролевых Игр

Сегодня пятница, а значит, пришло время предаваться нашим веселым и странным увлечениям.

Надеюсь, что здесь есть аудитория, которая, услышав словосочетание «ролевые игры», представляет себе что-то иное, чем девушку с кнутом в латексе.

Если вы об этом, то вы, скорее всего, выиграли Интересно читать дальше.

Собственно, об этом мы и говорим.



Система работы с персонажами для ролевых игр

Кадр из фильма восхитительного сериала «Игроки».

Вы читаете дальше? Большой! Наверняка вы уже несколько лет играете в DnD, WoD, Warhammer или в какую-нибудь другую хорошую игру.

Я уже много лет играю в разных сеттингах Мира Тьмы - однако пост будет про универсальных чародеев, а не какую-то конкретную систему.



Постановка задачи

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

Я тоже.

Сразу приходит на ум мысль об электронном чайнике.

Конечно, в Интернете их немало, но ничего из предложенного меня не удовлетворило.

Почему? Давайте посмотрим на требования.

  • Его необходимо редактировать онлайн.

    Потому что, черт возьми, почему бы быть иначе?

  • Должна быть возможность разделить оберегателя на мастера других заинтересованных лиц.

  • Он должен быть красивым.

    Например, листы персонажей Мистера Гона, используемые всеми в Мире Тьмы, выглядят так: так (будьте осторожны, ссылка представляет собой тяжелый PDF-файл).

    Электронный должен быть не хуже.

  • Он должен печатать адекватно.

    Электронная версия хороша, но ничто не заменит теплое ламповое полотно на столе.

  • Он должен иметь понятие ревизий.

    Редакции должны иметь комментарии, возможность сравнения и восстановления.

  • Возможность оставлять комментарии желательна.

  • Желателен вспомогательный алгоритм генерации нового символа.

    В системах генерации черт обычно ногу ломает, и проверять по 10 раз, правильно ли вы распределили баллы, очень грустно.

  • Любой может сделать чашку по индивидуальному заказу.

    Ну или изначально должен быть полный набор необходимых заклинателей.

К сожалению, ничто не удовлетворяет полному набору этих требований (даже без учета «желательных»).

Поэтому два года назад я решил, что побыстрее сделаю свою систему работы с чаровниками.

Хм, быстро.

Я так ошибался.



Решение

В общем, длинно или коротко, я сделал такую систему.

Два года назад это было на PHP + MySQL; Я использовал JQuery + Bootstrap для отображения всяких умных вещей.

Сразу прошу не кидаться тухлыми помидорами — я бэкендер, а не фронтендёр, поэтому делал всё, что попадалось под руку.

Но у сделанного был большой плюс — работает и выполняет все мои пожелания:

  • Возможность добавления любых красивых прелестей.

    Чарники сами по себе являются автономными объектами, написанными исключительно на HTML+CSS+JS.

  • Чарники можно напечатать, хотя для этого в некоторых местах требовалось сильное искажение;
  • Есть авторизация через Google и возможность дать доступ к чарникам;
  • Есть ревизии с возможностью отката и просмотреть изменения ;
  • Есть возможность комментировать;
  • Отлично смотрится с планшета или даже телефона;
Как пример - здесь так выглядит волшебник смертного , и здесь итак - заклинатель вампиров со стилизацией вампирского реквиема.

Это оказалось невероятно удобно, но на создание красивой чашки чая уходит колоссальное количество времени.

Поэтому я закинул в пару сообществ удочку на возможность доделать это вместе.

Но энтузиастов не нашлось.

Поэтому я остановился на этих двух чайниках.

Так почему же я пишу этот пост два года спустя? Я все еще надеюсь на помощь игрового сообщества, и появилась веская причина.

На днях решил исправить небольшой баг в чакре для смертных.

И опомнился только тогда, когда собрал чарник с помощью Node.JS, gulp, Babel и Browserify. Увы, полностью вырезать JQuery пока не в моих силах, так как я не знаю всяких хороших вещей типа Angular, React, Vue и так далее — а поиск и добавление новых компонентов займёт довольно много времени для нового стека.

Однако начало положено — можно писать на ES6, JQuery Deferreds заменены на bluebird Promises, HTTP-запросы вместо JQuery реализованы с помощью request-promise, некоторые зависимости теперь подтягиваются из npm и так далее.

Никакого рефакторинга кода я почти не делал — задача была просто создать версию двухлетней давности — так что определенная доля ужаса там есть.

Но повторюсь – у этого кода есть большой плюс – он работает!

Планы

Теоретически планов довольно много:
  • Сделайте макет HTTP-запросов из книги, чтобы можно было полностью протестировать книгу без взаимодействия с сервисом;
  • Добираемся до какого-нибудь адекватного внешнего стека;
  • Сделайте больше прекрасных добрых прелестниц;
  • Перепишите серверную часть самого сервиса на Node.JS.
На практике времени безумно мало, и в гордом одиночестве я буду доделывать только полезные мне дела с одинаковой периодичностью – раз в два года.

Хотела написать, что за пожертвования можно делать всякие хорошие дела - но увы, это долго и очень дорого.

Так что надеюсь только на энтузиазм разработчиков.

Если вам интересно, буду очень рад поучаствовать.

Сами чарники находятся на github с открытым исходным кодом и лицензированы MIT. Если вы хотите использовать их для чего-то другого, я полностью за — но скажите мне, мне любопытно!

Ссылки

  1. Система
  2. То же самое в форме Android-приложения ;
  3. Автор дизайна который я использовал;
  4. Смертельное обаяние — свежий реворк;
  5. Красивый заклинатель вампиров , без Node.JS.
Теги: #Игры и игровые консоли #node.js #настольные игры #ролевые игры #инструменты игрока
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.