Эволюция нашего листа персонажа

Сегодня расскажу, как развивался наш лист для D&D: из чего вырос, что умеет прямо сейчас, и куда движется.

Эволюция нашего листа персонажа

Для начала, ссылка: онлайн лист персонажа для D&D 5e.

Прошлое

Нам в Long Story Short довольно быстро понадобился нормальный заполняемый лист, чтобы выкладывать собственных готовых персонажей. Попробовав несколько pdf-ных вариантов, мы поняли, что нужно пилить собственный, чтобы он соответствовал нашему представлению о хорошем качестве. Мне кажется, что главная проблема всех подобных листов — сам формат pdf, ограничения которого не позволяют сделать редактирование нормально (допускаю, что мне просто могли не попасться хорошие листы, но я пересмотрел довольно много).

Случайный лист с просторов интернета aka «Ад перфекциониста». В глаза сразу бросается смешение семейств шрифтов (цифры и буквы), дурацкие отступы, которые надо делать вручную с помощью пробелов (и всё равно будет криво) и отсутствие контроля над размерами.
Случайный лист с просторов интернета aka «Ад перфекциониста». В глаза сразу бросается смешение семейств шрифтов (цифры и буквы), дурацкие отступы, которые надо делать вручную с помощью пробелов (и всё равно будет криво) и отсутствие контроля над размерами.

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

Впрочем, тут возникает проблема с поддержкой браузеров. Чтобы размеры листа не менялись при печати на разных принтерах, необходимо верстать страницу используя пункты (pt), а не привычные пиксели (px). Но так как разные браузеры по-разному относятся к пунктам, мы решили ограничиться хромом, чтобы пока не тратить время на поддержку разного поведения браузеров.

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

Настоящее

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

Каждому герою присваивается уникальное имя, которое выводится, если у него нет своего. Удобно, когда у тебя куча безымянных прегенов. Вот так выглядит список всех наших готовых персонажей, созданных на данный момент.<br />
Каждому герою присваивается уникальное имя, которое выводится, если у него нет своего. Удобно, когда у тебя куча безымянных прегенов. Вот так выглядит список всех наших готовых персонажей, созданных на данный момент.

Во-вторых, довольно много пользователей сразу увидели в листе не просто аналог pdf, но и инструмент, которым можно пользоваться онлайн. Одними из самых частых запросов были интерактивные спасброски от смерти и вдохновение. Это было несложной доработкой, поэтому довольно быстро лист получил такие возможности. Тогда же стало ясно, что можно понемногу двигаться в сторону онлайна.

Казалось бы, в чём смысл? Когда есть условный roll20, зачем городить собственное решение? Наверное, основной ответ — сложность. В этом плане мы пытаемся ориентироваться на очень крутой owlbear.rodeo, где можно начать играть через несколько кликов без регистрации и смс. В нём как раз и нет возможности заполнить лист, и наш отлично вписался в игры. Тем более, что мы как раз начали кампанию по Приключениям в Средиземье, для которых и сделали соответствующий шаблон. Кстати, мы уже рассказывали об этом.

Наконец, самым большим обновлением листа стали броски костей. Из приятных мелочей: возможность трансляции результатов в дискорд, броски с преимуществом/помехой при зажатом shift и подсветка критов.

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

А ещё совсем недавно мы сделали переключение русских переводов. Теперь не важно, хотите ли вы пройти проверку дрессировки или обращения с животным, всё это можно сделать в рамках одного листа. One sheet to rule them all, так сказать.

Эволюция нашего листа персонажа

Будущее

Изначально мобильная версия листа не планировалась. Это и понятно, ведь мы думали о листе, как о замене pdf — мало кто печатает листы прямо с телефона. Но сейчас, когда взят курс на онлайн, наличие мобильной версии — необходимость. Кроме того, и десктопный лист не лишён проблем, если пользоваться им прямо из браузера, например, неудобство доставляют мелкие шрифты и вертикальная раскладка.

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

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

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

Кстати, мы не только создаём инструменты для D&D, но и переводим различные полезные тексты, многие из которых не имеют привязки к конкретной НРИ.

Например, есть пара текстов об игроках. Первый рассказывает о том, как поступать с «проблемными игроками», а во второй отвечает на вопрос «что делать, когда кто-то из игроков в очередной раз не смог прийти?».

Наконец, если вы, как и мы, любите пятое издание, вот пара текстов по нему: первый затрагивает основы тактики в D&D, а второй разбирает механику напарников, описанную в книге «Котёл Таши со всякой всячиной».

8585
32 комментария

Огромное спасибо! Используем ваши чарники при игре через дискорд в паре с owlbear.rodeo

По поводу онлайн-обмена данными вместо перекидывания файлов - очень не хватает, причём желательно в варианте, чтобы можно было ГМу шарить несколько чарников, а у игроков был открыт у каждого свой.
Хранение данных - вы не думали шарить через какой-нибудь GUID сессии, чтобы данные передавались между машинами, минуя сетевые хранилища типа гугл.драйва? Ну т.е. хранить по прежнему в куках у каждого.

2
Ответить

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

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

Если вдруг есть идеи, как это еще можно реализовать, не молчите)

2
Ответить

Комментарий недоступен

1
Ответить

Спасибо!

2
Ответить

О, это же он!
Использовали ваши листки для создания персонажа когда знакомили людей с ДНД.
Бросок костей в дискорд?Звучит конечно интересно, но как это сделано? нужен какое то бот на канал или как?Мануал я бы почитал

1
Ответить

Это работает через веб-хуки дискорда, что-то вроде бота, да. Инструкция есть в самом листе. Включайте броски, заходите в настройки, внутри ставьте галку "отправлять в дискорд" и там будет знак вопроса, по клику на который вылезет инструкция. Постарались максимально подробно ее написать, но если что-то не получится, пишите, помогу.

2
Ответить

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

1
Ответить