Срез RoVitals. У каждой игры: что это, ужатый корлуп, 10 перекрутов. «Не наш тип» — не копируем сим, а сжимаем в раунд (яйцо → steal как brainrot).
Наш тип и не наш
Это не «движок не умеет». Хост в матче и есть авторитет. Вопрос: это короткая партия 2–10 или сим, который должен жить, когда все вышли.
Что уже умеем
2–10 игроков, веб, без фермы. Уже есть: сеть, полоса препятствий, футбол, краска, толчок. Новый режим цепляется к этому, не пишем движок заново.
Сейчас
Собирается из того, что есть. MM, побег по полосе, Evade, швыряние, удар по блоку без кейсов.
Позже / мини
Тот же класс игры, но после MM или как 60–90 сек внутри другой. Volleyball после футбола. Timebomb — мини, не игра 3.
Не наш тип как сим
Хост-стар тянет почти любой раунд 2–10. Отдельный сервер нужен, если мир живёт без партии (база/пет/сад), или это город на сотни, или рейтинг со стрельбой против читов. Каталог фруктов и пушек — годы контента, не сеть. Сим не копируем, зрелище в 60–180 сек — да.
Две архитектуры
Матч всегда хост-стар. Сигналинг не выбирает хоста и не считает физику. Хост ушёл — партия не умирает: certified checkpoint уходит преемнику. B нужна, когда мир должен жить после пустой комнаты (двор, сад, пет). Логин/SQL ещё не пишем.
A. Хост-стар + передача хоста как сейчас
Один браузер — авторитет матча. Остальные шлют intents, хост валидирует и публикует state.
Сигналинг: roster, ICE, reconnect token. Не выбирает gameplay-хоста.
Хост передаётся, не «мир умер»:
voluntary (beforeunload → freeze → checkpoint → standby ACK + drain),
planned (лучше качество, residency/cooldown, безопасная фаза),
emergency (пропал heartbeat / выпал из roster → преемник по joinOrder, затем peerId).
Короткий hide не отдаёт хост. Вернувшийся бывший хост не публикует epoch-0.
Пустая комната: same-token может вернуться в incarnation. Чужой peer начинает новую.
B. Хост-стар + сайт как БД логин / сейв
Матч тот же, с той же передачей хоста. Сайт хранит остаток между сессиями.
Грузим блоб в хост на старте раунда. Пишем на выход / конец раунда / редкий лут. Килобайты JSON, не тики.
Sqlite на сайте. Redis — когда несколько воркеров читают один профиль, не чтобы ускорить физику.
Нужно, когда двор/сад/пет должны жить после того, как комната опустела. Не вместо handoff.
Защиты в A (уже в движке)
Intents, не client authority
Клиент шлёт движение/aim. Хост режет sequence, rate 30/s, бюджет скорости, статическую коллизию. Публикует только принятое.
Certified migration
Proposal/vote/commit на rosterDigest + incarnation + revision. Преемник restore exact checkpoint. Без checkpoint публикация закрыта (кроме узкого epoch 0→1).
canPublishAuthority
Пока install не прошёл — state/checkpoint не уходят в эфир. Сигналинг membership сам по себе не доказательство, что peer может стать хостом.
Одна identity
Same-token takeover: новый сокет вытесняет старую вкладку. Occupancy считает и reservation. Лимит 10 не обходится reconnect.
Receipt на стартовые роли
Сервер подписывает epoch-zero receipt. Migrated host его не получает. Хост всё ещё может соврать про исход. Рейтинг / ценный лут — отдельный авторитетный сервис, это B или dedicated.
Когда всё-таки умерло
Не «хост закрыл вкладку». Умерло, если никого не осталось и reservation истекла. Тогда A не хранит двор до завтра — для этого B.
Подхватились
Живой срез RoVitals: вирусы за сутки, новинки в топ-100 и кто сильно поднялся по рангу. Клик — карточка, если игра уже в нашей сотне.
вирус +100% за сутки
Резкий взлёт CCU. Смотрим петлю, не только цифру.
новинка свежие в топе
Появились в наших снимках недавно и уже держат онлайн.
подхватились рост ранга
За сегодня сильно поднялись или горят +40–99%.
CCU
наведи курсор на точку, кликни — срез часа
Как выбрать хит под NeoEngine
Host-peer 2–10, веб, без огромного бэкенда. Меняешь один глагол, партия 60–180 сек. Кликеры и city RP не копируем как сим — крадём зрелище в раунд.
Плотность
Каждые несколько секунд кто-то делает что-то другому.
Общее внимание
Все смотрят на одну вещь: бомбу, убийцу, яйцо, шар.
Асимметрия знания
Кто-то знает роль или таймер. Остальные гадают.
Весело мёртвым
После смерти ты зал, не «выйти в лобби».
Клип
Падение, флинг, ошибка выстрела.
Первый раунд
Понятен без скина. Объясняется за 5 секунд.
Что реально проще сделать сейчас
Уже есть host-peer, obby, football, MECCHA. Новый gameMode, не форк хамелеона. MM в работе — это игра 2.
1. Murder Mystery
Роли, нож, пушка. Потом 10 слоёв в карточке #4.
средне · сейчас
2. Tower of Hell / Keyboard Escape
Obby уже есть. Саботаж секций.
легко
3. Evade / Tag
Одна сущность гоняет лобби.
средне
4. Fling Things
F-shove уже в движке.
легко-средне
5. Kick a Lucky Block без кейсов
Эффект из физики, не из гачи.
легко
6. Volleyball — после футбола
Не третья игра.
средне
Сто игр
Метка «сейв» — завтра заходишь, и твоё ещё там (спид, стейдж, база, сад). «Только раунд» — партия/лобби; скины и дерево скиллов не делают из ToH сад. Keyboard / Monkey / Long Arm, Kick a Lucky Block, Cars VS Tape, Fling-дом, Spiral/step carefully — сейв. ToH, MM, BedWars, поезд/рейс — раунд.
#
Игра
Что это
CCU
график
24ч
★
Лучший перекрут
Сейв
Тип
10 вариантов на каждую игру
И у «не наш тип» тоже: сначала ужимаем корлуп в короткую партию, потом ещё девять глаголов. Паттерн как hide → краска. 60–180 сек, 2–10 человек.