Ролебазированная демиургия
رفتن به کانال در Telegram
348
مشترکین
+124 ساعت
+47 روز
+2630 روز
آرشیو پست ها
+2
Работа над листом персонажа переходит к состоянию "общий каркас готов". Я докручу загрузку полного листа из lss и буду публиковать для тестирования. Надеюсь на уважаемых первопроходцев, отсмотреть в одиночку всё необходимое в разумный срок затруднительно.
С появлением полноценного листа персонажа в формализованном виде наконец открываются полноценные возможности для:
1) появлением полноценных компендиумов с заклинаниями, действиями, предметами и NPC,
2) внесения в платформу авторских систем и модификаций,
3) создания автоматизаций боевого режима.
Я не большой фанат детальных игромеханик в НРИ. Мне кажется вся эта бухгалтерия и юриспруденция должна содействовать драматичности историй, а не создавать препятствия и коридоры для развития событий. А если хочется поиграть в цифры, то для этого есть варгеймы и CRPG. Но уважаемая аудитория привыкла к детальным листам персонажей и видит в этом ценность, так что выполняем запрос пользователей.
"Сейчас, пара вечеров и сделаем нормальный лист персонажа, обобщим, будет всё красиво и универсально" - говоришь ты себе. Спустя неделю у тебя вместо чарника на руках букетик связанных eDSL:
Schema DSL - для описания структуры данных системы (полей character sheet, item, action). Аналог: Foundry defineSchema().
Formula DSL - для derived fields и выражений в roll/save/dc. Pure expression language. Аналог: spreadsheet formulas.
Predicate DSL - для branch.when. Подмножество Formula DSL, возвращающее Bool. Аналог: rule engines (Drools).
Action DSL - discriminated union step-ов с typed effects. Декларативный язык эффектов. Аналог: BPMN, workflow engines (Temporal).
Effect/Modifier DSL - для ActiveEffect-like модификаций. Аналог: Foundry ActiveEffect.
Presentation/UI-cue DSLs - для описания вида интерфейсов, меток и визуализаций
И ещё неявно manifest/package DSL - как объявлять системы, какие схемы регистрировать, какие возможности у схем.
Каждый из DSL это мини-язык со своей грамматикой, типизацией, семантикой. И они компонуются: Formula встроена в Action steps, Schema референсится из Formula, Predicate использует Formula.
"кажется я влип"
Довольно забавно пытаться за неделю воспроизвести 15 лет развития языковых и алгоритмических средств в относительно новой для себя сфере. Хотя САПР, геймдев и logiceditor меня неплохо подготовили. Другой вопрос, что без этого сделать гибкую настраиваемую работу с авторскими системами невозможно. У нас, с одной стороны, уже в очереди с дюжину мастеров с запросом "дайте инструменты, мы сами сделаем". А с другой серьёзный просчёт на этом этапе будет стоить много боли в будущем. Так что потеем, но делаем.
Пока идёт битва с абстракциями для листа персонажей красивых картинок не получается. Но есть пара фиксов. Починил стабильность меток на токене при изменении размеров токена - а то они норовили куда-то уехать и упрыгать когда токен переходил из одного размера сетки на другой. И отвязал размеры текстовых меток от кегля шрифта и привязал к размеру токена. Иначе нередко возникала ситуация, что на мелких сетках самый мелкий шрифт уже не позволял подписи быть нужного размера.
Некоторые из тестеров обнаружили полу-скрытую механику генерации предметов и декораций с помощью ИИ и развлекаются. Мы это одобряем. Пока бесплатно!
Мастера мало-помалу начинают анонсировать игры на главной странице. Возникают замечания уже по этому процессу. При публикации запланированной игры есть проблема связи между игроками и мастером. Пока ролебазный внутренний мессенджер с эмодзи и нотификациями ещё не готов (и не факт, что он является приоритетом), мы придумали простой фикс. При записи на игру теперь игроку предлагают оставить какой-то способ связаться с ним, а мастер может принять или отклонить заявку.
+2
Немного привёл к единообразию панель декораций. Исправлял замеченное нашими первопроходцами, например не интерпретировались производные переменные листа персонажа в подписях.
Основная работа всё ещё шла в направлении компендиума: теперь туда можно заносить декорации и карты со стола, не только токены. Для персонажей мало-помалу вырисовывается структура, которая будет поддерживать лист персонажа без сокращений. И при этом будет достаточно универсальной, чтобы работать с сильно различающимися системами. Но путь туда ещё довольно долгий.
Часть работы заняла несколько дольше запланированного, так что апдейт только сейчас. Но
Сделана возможность подключать несколько компендиумов в одну комнату одновременно и искать или фильтровать в них объекты по типам. Музыку теперь можно дропать прямо в панель компендиума из файловой системы если у вас есть права, в свой персональный можно всегда. Панель музыки подхватит и трек можно сразу запускать, без необходимости лезть во внешний интерфейс компендиума.
Кроме этого теперь можно сохранить в компендиуме настроенный токен и он будет полностью сохранён, включая его изображения, лист персонажа, заметки, подписи и инвентарь. Его можно будет в исходном виде вытащить из компендиума в другой комнате ровно как он был. Заодно поработал над сериализацией рекурсивных объектов и думаю над возможностью, например, сохранять в компенд как единый объект настроенный набор "карту + границу камеры с сеткой + туман войны + токены", чтобы какие-то готовые локации легко таскать между комнатами.
+2
Пока чиним баги и чистим архитектуру хочется поделиться приятным. Несколько человек за последние дни написали добрые слова о платформе. Особенно меня порадовало, что кто-то оценил механику контроля за вьюпортом игроков Юджи (@yujifilm)!
Рекомендуем к просмотру, пишем комментарии и радуемся такому чудесному событию!
https://youtu.be/M7dsKPGaiMA?si=NGQ7dgcDTzHMtVyE
Небольшой апдейт, сразу несколько человек попросило в связи с добавлением инвентаря. Права владельца токена над предметами теперь регулируются мастером. Можно разрешить:
1) только просмотр
2) перенос, сброс и трата или
3) полный контроль, удаление, изменение количества и создание новых записей.
update v0.2.42 — Инвентарь, метки и публикация столов
Инвентарь у токенов У токена появился список предметов с механикой инвентаря. Перетаскивание предмета на холст превращает его в декорацию; ПКМ или drag-back декорации над токеном возвращает её в инвентарь. У каждого предмета — имя, цветная иконка, количество, описание с поддержкой markdown. Формулы кубиков прямо внутри описания (1d6+STR) кликабельны — бросок из карточки. Shift+клик отделяет один предмет из стопки. Игрок видит инвентарь на своём токене.
Метки и подписи токенов — обобщение Все элементы поверх токена (метки, HP-бары, статусы, счётчики, заметки, порталы) теперь живут в одном разделе «HUD: подписи и метки» в инспекторе. Левый клик по элементу на холсте — мини-редактор метки. Один пункт «Добавить метку» с выбором всех вариантов. У HP-бара появилось отображение бонусного HP. Новый тип «характеристика» — модификатор, привязанный к стату листа: меняешь стат — модификатор пересчитывается, новые токены подхватывают такие модификаторы автоматически.
Обогащение синтаксиса бросков и шпаргалка по броскам Добавлен справочник по нотации кубиков с примерами. Открывается из иконки Info в шапке чата, при создании действий или командой /help в чате. Снизу — переменные активной системы (STR, DEX, PB для D&D 5e и т.д.) с описаниями при наведении. Карточки бросков в чате и плашка над токеном теперь показывают подробный разбор: какие кубики оставлены, какие отброшены, общее число успехов в pool-системах, выделенные крит-успехи и провалы. Под капотом дайс-математика переехала на новую библиотеку rpg-dice-roller — поддерживает более сложные формулы.
Опубликованные столы Мастер может «опубликовать как стол» — сделать готовую сессию шаблоном, который другие мастера могут забрать и использовать.
Заявки на игру Заявка игрока на запланированную игру теперь проходит через мастера: pending → approved → paid → confirmed. У мастера панель заявок с одобрением и отклонением, у игрока виден текущий статус. Готовится P2P-сценарий для платных игр.
Прочие фиксы и улучшения Панель рисования у мастера переработана — отдельная плавающая панель, которую можно таскать по экрану; палитра, рамки, выбор слоя и z-order стрелками. Заметка открывается сразу в режиме markdown, превью при наведении показывает форматированное содержимое; заметка, привязанная к токену, наследует его видимость. В контекстном меню токена появилось «Дублировать». Зона камеры с полями создаётся автоматически при любом способе размещения карты. HP, характеристики, ресурсы и числовые поля модификаторов теперь работают одинаково: колесо мыши, стрелки вверх/вниз, ввод математики (15+3 сразу становится 18). Полноэкранный просмотр медиа в записях компендиума.
Предметы можно перекладывать из списка на стол, передавать между токенами. Мастер может сложить любую декорацию в инвентарь любого токена. По shift-click можно разделять стеки в инвентаре. При наведении мышки - всплывающая подсказка с описанием.
Игрок может разделять стеки в своём инвентаре, бросать предметы на стол, передавать другим токенам. Не может создавать и удалять предметы. Не может редактировать. Возможно это должно быть настраиваемо?
+1
Продолжаем подбираться к расширению листа персонажа и добавлению боевых статусов. Пока приводим в порядок уже существующие системы.
Добавился упорядоченный исчерпывающий список всех подписей и меток в окне токена. Есть возможность добавить подпись, произвольный градусник, счётчик, вынести из значение листа персонажа (например КД), заметку или портал. Для всего настраивается положение, видимость и размер. Для HP-bar добавлено отображение и редактирование бонусных очков здоровья.
Предметы теперь это простые записи с иконкой, описанием и rollable формулами в тексте описания. Дальше будет возможность добавлять им картинку, дропать на стол как декорацию и передавать между персонажами.
По очередным запросам от тестеров (спасибо всем, кто оставляет свои пожелания!) добавил возможность редактировать действия на токене. И подсказку по формулам прямо в поле ввода формулы броска. Плюс добавил к ним поле описания и подсказку при наведении, которая показывает, что это за действие.
Расширение действий закладывает фундамент для более полноценного листа персонажей, предметов и боёвки.
Для стат-модификаторов (типа КД) добавил возможность редактирования по клику для мастера, чтобы можно было быстро выставлять нужные значения.
Заметки теперь можно читать по наведению без клика, что делает их использование чуть более осмысленным. Например на карте можно ставить маркеры, уже несколько раз видел примеры таких скринов, как чего-то нужного и важного.
Добавил каноничную библиотеку работы с нотацией бросков rpg-dice-roller. Там порядочно всяких опций, пришлось делать отдельный cheat sheet с подсказками. Кому вся эта сложность не нужна - ничего не поменяется. Но для всяких экзотических систем и бросков сразу получается достаточно исчерпывающий движок для описания резолва. (Foundry и LSS, насколько я понял, использует именно эту же нотацию).
Просили добавить модификатор "Класса Доспехов" на токены, для удобства боёвки. Теперь можно добавить любой параметр системы из листа персонажа или формулу, вид настроек и возможности кастомных модификаторов не финальные, будут ещё доделываться. Готовимся к статусам, способностям и предметам.
Пока вожусь с модификаторами и статусами для токенов расскажу про вчерашнюю презентацию. Я попробовал в процессе рассказа создать небольшую историю-новеллу по классической сказке "Колобок". С введением, генерацией персонажа, несколькими стартовыми выборами и четырьмя эскалирующимися по силе столкновениями с противниками - зайцем, волком, медведем и финальным боссом - лисой. После которых колобок обретает новую жизнь или гибнет в процессе, следуя канве исходной истории. В процессе конфронтаций с антагонистами происходит формирование характера колобка, а игроки должны отыгрывать разные аспекты его личности (до этого к сожалению дело не дошло, мы только собрали несколько сцен).
В общем, попытка замутить психореалистический oneshot про колобка с закосом под Disco Elysium с тремя базовыми характеристиками на 3 человек. Я — интеллект колобка. Я — эмоциональность колобка. Я —разбитое сердце Джека. Я — физическое тело колобка. Игроки при этом одновременно союзники в деле прохождения истории до конца и оппоненты по получению большей доли влияния в личности колобка.
Пока готовил презентацию стола сегодня, вспомнил одну просьбу, которую давно озвучивали некоторые из наших самых активных тестеров. Потому что сам почувствовал остроту проблемы. Недостаток нормального контроля за простыми текстовыми метками на столе для мастера.
Теперь можно будет выбрать размер шрифта, начертание и цвет. При этом размер всегда будет пропорционален зуму на столе и больше не возникает ситуации, когда ты начинаешь писать текст, а он настолько мелкий, что его просто невозможно заметить.
update v0.2.35 — Голосовая связь, фоновая музыка и публичный компендиум
В этом обновлении — голосовая связь между мастером и игроками прямо в комнате, фоновая музыка с библиотекой треков в компендиуме, переезд на новый сервер и публичный доступ к страницам компендиума.
Голосовая связь В комнате появился общий голосовой канал. Чтобы начать говорить, нужно нажать на иконку микрофона и дать разрешение. Мастер модерирует голос: long-press по микрофону игрока открывает меню — заглушить, дать слово. Очередь поднятых рук — первый поднявший подсвечен. Каждый слушатель сам регулирует громкость каждого собеседника.
Фоновая музыка Мастер может ставить музыку прямо в комнате — отдельной панелью с каналами. Первый режим — single-loop (один трек в петле); плейлисты придут следующим обновлением. Музыка хранится в компендиуме в виде записей типа «Sound» — с прослушиванием прямо в редакторе. У мастера в шапке появились пауза и общая громкость, у игрока в настройках — личная громкость и мьют.
Компендиум — публичный доступ Публичные компендиумы теперь открыты для гостей: ссылка работает без логина и регистрации. При расшаривании в Telegram или VK генерируется OG-карточка с обложкой, описанием и привязанной системой. Внутри компендиума появилось дерево записей и режим просмотра статьи; слайд-шоу фильтруется по публичным записям. Если у компендиума указана система, при перетаскивании записи на стол токен автоматически получит её данные.
Новый сервер Тестовое окружение переехало на новый сервер — с более надёжным и стабильным доступом из РФ.
Прочие фиксы и улучшения Мастер теперь может задать максимальное число игроков в комнате прямо из панели игроков. У игрока в панели кубиков преимущество, помеха и модификатор теперь влияют на все броски — включая броски с листа персонажа, как у мастера. Виджет отчётов больше не показывает «непрочитанное», если оно прочитано. Перетаскивание панелей и папок больше не меняет порядок списков. Перетаскивание правой кнопкой мыши по границам камеры больше не приводит к артефактам движения.
Сегодня апдейтов нет, отмечал сорокалетие событий на Чернобыльской АЭС решал внезапные инфраструктурные проблемы с рабочими инструментами. Завтра мы снова в строю и продолжаем.
+1
Перетащил, наконец, наш бета-сервер на территорию родной страны из Казахстана. Надеюсь у тестеров пропадут проблемы с загрузкой картинок, уже давно и многие жаловались, но я всё никак не мог собраться с силами.
Параллельно, пока проходил перенос, обновление DNS и отладка конфигурации, наколхозил себе, наконец, микро-панель мониторинга. Будем потихоньку пускать ещё пользователей, а может даже найдём момент понагружать и посмотреть где упадёт. Если кто-то ещё хочет присоединиться к тестерам - добро пожаловать в комментарии. Завтра всех добавлю.
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
