Тактическая карта с сеткой, токенами и инструментами рисования. Работает на десктопе и телефоне с полной поддержкой жестов. Реалтайм-синхронизация между мастером и игроками.
Начало боя
Переключитесь в Режим мастера и включите Режим сессии
Откройте Поле битвы из бокового меню
Добавьте участников кнопками группы «Бой» (у каждой — точка цвета стороны):
«Враг» — имя, тип (Обычный/Босс), цвет. Счётчик «Количество» (1–10) позволяет добавить сразу нескольких одинаковых врагов — они автоматически пронумеруются («Гоблин 1», «Гоблин 2», «Гоблин 3») и разместятся на разных клетках
«Игрок» — имя, класс, цвет
«Спутник» — имя и цвет (пунктирная рамка)
«Партия» — одной кнопкой все запиненные персонажи
Токены расставляются компактно: враги слева, игроки справа — оба видны на экране телефона.
Экран мастера
У каждой кнопки есть подпись — или она стоит в подписанном меню «Ещё». Включённый инструмент подсвечен лиловым и подчёркнут полоской снизу.
«Справка» — «Справка», «Ходы мастера», «Во весь экран».
«Опасное» — «Очистить поле», отдельно от остального.
«Поле» — колонка у карты: «Карта», «Туман», «Вход», «Зоны», «Рисовать». Над картой на телефоне, в правом верхнем углу карты на ПК. Точка на «Тумане» значит, что туман включён, точка на «Входе» — что зона входа отмечена.
Полоса над картой — «Ждут места» (герои на скамейке), подсказка про зону входа и, пока поле целиком под туманом, кнопки «Открыть всё» и «Убрать туман».
На телефоне «Ходы мастера», «Во весь экран» и «Очистить поле» — в меню «Ещё».
Токены
Обычные токены — 40px
Боссы — 56px с пульсирующей анимацией
При совпадении позиций фигуры автоматически смещаются
Размер сетки настраивается от 4 до 30 клеток
Зум: 0.5x — 2.5x
Рисование
В группе «Поле» нажмите «Рисовать» — откроется полоса рисования, рисуйте поверх сетки:
6 цветов и 3 толщины с названиями, на выбранном — галочка; «Ластик»
Курсор меняется на карандаш/ластик
Рисунки сохраняются в localStorage и видны игрокам
«Стереть рисунок» стирает рисунок полностью
«Готово» или Esc — закрыть полосу
Туман войны
Скрывайте карту туманом, чтобы игроки исследовали её постепенно.
Туман по умолчанию
Новая битва и «Очистить поле» начинаются под туманом, а «Новый бой» закрывает поле заново, если туман был включён: всё поле закрыто, разведанного нет. Так спрятанные враги не видны ни одному вошедшему игроку, пока мастер сам не раскроет карту.
Сохранённые раньше бои без тумана остаются без тумана — задним числом он не включается.
«Новый бой» закрывает поле заново, только если туман был включён. Выключили туман — он останется выключенным.
Бой «в чистом поле»: пока карта целиком под туманом, над ней есть кнопки «Открыть всё» и «Убрать туман» — одно касание, и на телефоне тоже.
Пока туман включён, новые игроки без зоны входа ждут на скамейке, а журнал у игроков урезан (см. ниже). Чтобы игроки вставали сами и видели весь журнал, выключите туман.
Для мастера
В группе «Поле» у карты нажмите «Туман» — откроется полоса тумана (на телефоне над картой, на ПК рядом с колонкой «Поле»)
Если туман выключен — «Включить туман»: всё поле покроется полупрозрачным туманом
«Кисть: скрыть» / «Кисть: открыть» — рисуйте по клеткам, чтобы закрывать или открывать области
«Скрыть всё» и «Открыть всё» — сразу на всю карту; «Сбросить разведку» — снова закрыть места, где уже побывали жетоны
«Убрать туман» — выключить туман полностью; «Готово» или Esc — закрыть полосу. Esc закрывает её, где бы ни был фокус — кистью ведь рисуют по карте
Как работает кисть:
Что делает кисть, выбирают кнопкой: «Кисть: скрыть» закрывает клетки, «Кисть: открыть» — открывает
Просто нажмите и ведите мышью (или пальцем на тач-экране) — все клетки под курсором обработаются
Кисть работает корректно при любом уровне зума
Взаимодействие с другими инструментами:
Туман, «Вход» и рисование — взаимоисключающие инструменты (выбор одного закрывает другой)
«Убрать туман» выключает и режим кисти
Панорамирование и зум заблокированы в режиме редактирования тумана, чтобы не двигать карту случайно
Зоны дальности отображаются поверх тумана — боевые дистанции всегда видны
Состояние тумана синхронизируется с игроками в реальном времени через Supabase
Для игрока
Закрытые клетки — непрозрачный чёрный фон
Круг радиусом 3 клетки вокруг каждого живого героя и спутника на поле открывается автоматически — это «поле зрения» персонажа. Зрение общее на весь отряд; герой на скамейке зрения не даёт
Видимость двигается вместе с токеном: когда мастер перемещает фигуру, зона зрения следует за ней
Токены в тумане не рисуются на экране игрока
Пока туман включён, в журнале боя у игрока только строки, которые никого не называют: начало боя, победа, поражение, лимит раундов, натиск врагов. Ходы, перемещения, «при смерти» и прочие строки с именами скрыты — в них может быть враг, которого отряд не видел
Панель участников и заголовок «Текущий ход» не показывают имена скрытых токенов
Авто-фит камеры работает только по видимым токенам — камера не улетит к скрытому врагу
Победа / поражение срабатывают только когда все враги (включая скрытых) действительно мертвы — ложных побед не бывает
Зона входа и скамейка
Куда встаёт игрок, вошедший в сессию:
Ситуация
Куда встаёт новый игрок
Зона входа отмечена
В свободную клетку зоны, спутник — в клетку зоны рядом с героем. Места нет — на скамейку
Зоны нет, туман включён
На скамейку
Зоны нет, туман выключен
Как раньше: справа от центра
Зона входа
«Поле» → «Вход»: проведите по клеткам прямоугольник (на телефоне — касание отмечает одну клетку). Пунктирная рамка с подписью «Вход» видна только мастеру.
Ставьте вход дальше 3 клеток от спрятанного: герои видят на 3 клетки вокруг себя.
«Убрать зону» в полосе «Вход» — одно касание.
Игроков и спутников, добавленных вручную, тоже ставит в зону, если в ней есть место.
Над картой — «Ждут места: Анон, Сокол». Коснитесь героя, потом свободной клетки — герой встаёт (прокрутка и зум при этом работают, Esc или повторное касание — отмена). Затем сам выбирается его спутник — ещё одно касание.
Герой на скамейке не в порядке хода и не даёт зрения. Встав на поле, он идёт последним в очереди.
У игрока на скамейке вверху поля: «Мастер скоро поставит вашего героя на поле».
«На скамейку» в меню «Действия» у игрока сессии: убрать с поля, но оставить в сессии. Герой уходит вместе со спутником, спутник — один.
«Очистить поле» при активной сессии отправляет игроков сессии на скамейку. Когда сессия заканчивается, скамейка пустеет.
Тур поля боя показывает шаг «Отметьте вход» сразу после «Добавьте участников».
Участники
Строка участника устроена в три уровня:
Всегда видно: ручка порядка хода, цвет стороны, имя, сторона («Враг» / «Игрок» / «Спутник») и метка «Ходит». Нажатие на имя передаёт ему ход.
В строке: стиль боя (ближний / дальний), «При смерти» / «Воскресить», у павшего — счётчик спасбросков.
«Действия» — меню участника: «Выше» / «Ниже», стиль боя, «При смерти» и ровно одно удаление.
Удаление разное для разных участников:
«Удалить с поля» — у врагов, спутников и игроков, добавленных вручную.
«Исключить из сессии…» — у игрока сессии. Удалить его жетон отдельно нельзя: при следующем изменении состава сессия вернула бы его на поле.
«На скамейку» — у игрока сессии и его спутника, перед удалением: убрать с поля, оставив в сессии.
Меню «Действия» одно и то же в строке, у жетона на карте (кнопка при наведении на ПК, правый клик) и по двойному касанию на телефоне.
Очерёдность
Тяните участника за ручку слева — сразу, без долгого нажатия; долгое нажатие на имени тоже тянет строку. С клавиатуры — стрелки вверх и вниз на ручке. Или «Действия» → «Выше» / «Ниже».
Счётчик раундов
Счётчик всегда показывает, что считает: «Раунд 3» в D&D 5e, «Отсчёт 3» в Dungeon World, и «Лимит: 6 · осталось 3». Поле «Своё название (необязательно)» добавляет атмосферную подпись рядом — например, «Предзнаменование». «Сбросить раунды и лимит» обнуляет оба.
Подтверждения
«Очистить поле», «Новый бой» и «Исключить из сессии» спрашивают подтверждение и перечисляют, что удалится и что останется, с числами: туман, который снова закроет поле, зону входа, тех, кто ждёт на скамейке. Исключение честно говорит, может ли игрок вернуться: по приглашению, пока набор открыт; зрителем — если зрители разрешены и есть места.
Клавиатура
Пробел / Enter передают ход. Если до кнопки дошли клавишей Tab, Enter нажимает её, а не передаёт ход; в открытом меню или диалоге клавиши тоже остаются у них. После клика мышью пробел и Enter передают ход, как раньше.
Esc закрывает меню, диалог или полосу инструмента.
Колонка «Поле» и полосы инструментов — одна остановка Tab, внутри стрелки, Home и End.
Жесты на телефоне
Жест
Действие
Быстрый свайп по полю
Прокрутка страницы
Удержание 0.4с + свайп
Перемещение камеры (вибрация при активации)
Щипок двумя пальцами
Зум карты
Тап по токену
Выделение (подсветка + увеличение)
Двойной тап по токену
То же меню «Действия»
Удержание токена 0.35с
Меню «Действия»: стиль, при смерти, удаление
Перетаскивание токена
Перемещение по сетке
Тап по клетке
При выбранном герое со скамейки — поставить
Десктоп
Зажать мышь на пустом месте + тянуть — перемещение камеры
Правый клик, Shift+клик или кнопка «Действия» при наведении на жетон — его меню: стиль и дальность боя, скорость, телепорт и действия участника
Ползунок слева — ручной зум
Тулбар и список участников зафиксированы — двигается только карта
Реалтайм
При включённой сессии все изменения на поле (перемещение токенов, рисунки, добавление/удаление участников) синхронизируются с игроками через Supabase Edge Functions.
Метка «хочу сюда»
Игрок, вошедший в бой через сессию, в свой ход касается (или щёлкает) клетки на своём экране — у мастера эта клетка три раза мигает цветом его жетона с подписью «Имя → сюда». Жетон не двигается: переносить его или нет, решает мастер.
В свой ход игрок видит вверху поля подсказку; после тапа клетка у него коротко вспыхивает. Прокрутка, щипок и зум меткой не считаются.
Новая метка заменяет старую, через ~3 с она гаснет, передача хода гасит её сразу.
Если клетка за пределами экрана мастера — у края поля появляется стрелка с именем; клик по ней — камера едет к клетке.
Зрители и те, кто открыл бой просто по ссылке, метки не ставят. Отметить можно только жетон, пришедший из сессии.