Сегодня пятница, а значит, пришло время предаваться нашим веселым и странным увлечениям.
Надеюсь, что здесь есть аудитория, которая, услышав словосочетание «ролевые игры», представляет себе что-то иное, чем девушку с кнутом в латексе.
Если вы об этом, то вы, скорее всего, выиграли Интересно читать дальше.
Собственно, об этом мы и говорим.
Кадр из фильма восхитительного сериала «Игроки».
Вы читаете дальше? Большой! Наверняка вы уже несколько лет играете в 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. Если вы хотите использовать их для чего-то другого, я полностью за — но скажите мне, мне любопытно!
Ссылки
- Система
- То же самое в форме Android-приложения ;
- Автор дизайна который я использовал;
- Смертельное обаяние — свежий реворк;
- Красивый заклинатель вампиров , без Node.JS.
-
Электромагнитные Поля На Рабочем Месте
19 Oct, 24 -
Покажи Мне Свой Код И Я Скажу, Кто Ты...
19 Oct, 24 -
Opengl — Это Просто!
19 Oct, 24 -
Союз Благотворительных Организаций России
19 Oct, 24 -
Кукушки Негодуют.
19 Oct, 24