Всё под контролем.
Отдельный ведущий, ручное управление фазами, дисциплина, пауза и настройка знания ролей.
Камеры включены.
Роли скрыты.
Всё решают люди.
MafiaDAL собирает игру, судейство и видеосвязь за одним цифровым столом.
Посмотреть, как это работает ↓Откройте любой экран — от первого входа до ночной договорки. В игровых сценах — видеозаписи настоящего интерфейса MafiaDAL с работающими демо-вебками. В увеличении — скриншоты интерфейса, сделанные через Playwright.
Платформа ведёт фазы и таймеры. Игрокам остаются аргументы, интуиция и право на ошибку.
Не только роли и кнопка «старт». Здесь собраны игровые механики, управление столом и повседневные инструменты платформы.
При договорке жестами игроки выбирают музыку из пяти проверенных вариантов. На голосование — 15 секунд. Побеждает большинство; при равенстве или отсутствии голосов выбор случаен.
Громкость по умолчанию — 20%. Случайный фрагмент, локальный кэш треков, новая случайная композиция каждую ночь и затухание при переходе.
Спортивный стол, партия с друзьями, турнир или разговор без игровых фаз.
Отдельный ведущий, ручное управление фазами, дисциплина, пауза и настройка знания ролей.
Автоматические фазы, готовность к продолжению и коллективная модерация. В поиске игры — закрытое голосование.
Привязка стола к турниру, номер игры и номер стола. Турнирные данные управляются через админку.
Выбор количества участников и срока комнаты: 1, 2 или 3 часа. Видео и голос без мафиозного сценария.
Три интеграции на собственном сервере. Видеодвижок выбирается при создании стола, а игровой сценарий остаётся общим.
Выбор движка не гарантирует отсутствие фризов. Качество зависит от потерь пакетов, маршрута, браузера и устройства. Janus и Jitsi обозначены в игре как тестовые. Снимки демонстрации не заменяют сетевые и нагрузочные испытания.
Технологический стек по текущему коду и конфигурации проекта. Игровые события и медиа — два отдельных контура.
Контроль доступа учитывает участника, его сессию, роль и фазу. Для приватных сцен используются разделённые медиакомнаты и серверные разрешения. Объявления судьи могут идти по отдельному аудиоканалу.
Состояние комнат сохраняется в SQLite. Есть восстановление комнаты по ссылке, контроль активной сессии и серверная синхронизация медиадоступа. Восстановление после сбоев требует отдельного тестирования, это не обещание нулевого простоя.
Демо-участники и средства тестирования помогают проверять сценарий. В проекте есть Playwright-проверки, медиатесты с настоящими браузерами и тестовые клиенты LiveKit. UI-симуляция и реальная SFU-нагрузка — разные виды проверки.
FPS-индикаторы, режим низкой нагрузки, управление качеством приёма, громкостью и устройствами помогают диагностике. Серверная статистика дополняет браузерную: потери, повторные передачи и состояние ICE.