Разработчик создал сезонный ивент Хэллоуин для браузерной игры с поддержкой 2000 игроков

Источник
Тыквенный король: хэллоуинский босс для браузерной драки — от календаря до 2000 игроков на улице

Разработчик проекта Brawl Town, браузерной уличной драки в духе Final Fight, создал сезонный ивент к Хэллоуину, чтобы вернуть в игру игроков после спада активности. Событие доступно с 24 октября по 3 ноября и включает в себя темную атмосферу, тыквы с конфетами, маски и нового босса — Тыквенного короля. Важной особенностью ивента стала автоматическая смена сезонов без необходимости перезапуска серверов или нажатия кнопок игроками, что обеспечивается календарем в API. Игра поддерживает одновременное присутствие клиентов разных версий, выдавая ботам и людям одинаковые хэллоуинские предметы, чтобы никто не мог получить преимущество. Также ивент доступен на приватных серверах игроков без дополнительных изменений в коде.

Для обеспечения совместимости с устаревшими клиентами разработчик внедрил протокол v6, который добавляет новые типы предметов и эффекты, не ломая старые версии. В частности, старые клиенты видят огненные тыквы как обычные бомбы, а причину смерти от короля как взрыв. Маски теперь хранятся в отдельном байте снапшота бойца, что позволяет передавать их без изменения общей структуры данных. Тестирование с участием 16 клиентов разных версий подтвердило, что старые клиенты не получают хэллоуинские байты, сохраняя стабильность игры для всех пользователей.

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

Тыквенный король появляется из люка и ходит по улице 20 секунд, бросая огненные тыквы и в конце атакуя игрока с наибольшим количеством конфет. Если у такого игрока на голове тыква, король кланяется и осыпает улицу конфетами, иначе он поднимает игрока и вытряхивает из него конфеты. Анимация короля была переработана с использованием нейросети и скриптов для создания спрайтов, что позволило реализовать плавную ходьбу без скольжения ног и телеграфирование атак. Также были исправлены мелкие ошибки в позиционировании фонарей и летучих мышей, а карта сумерек настроена так, чтобы стрелка над бойцом оставалась видимой.

Нагрузочные тесты показали, что сервер выдерживает до 2000 игроков на одной улице, потребляя около 320 МБ памяти и генерируя трафик около 96 МБ/с. Оптимизация кода сократила время обработки тика с 21,6 до 15,5 мкс за счет компактной структуры данных и упорядочивания записей. При этом производительность на клиенте осталась стабильной: с 1151 бойцом в кадре FPS составляет 91, а время на бойца — 8,9 мкс. Для слабых устройств реализовано адаптивное качество рендера, которое снижает детализацию при падении FPS ниже 40, обеспечивая плавную работу даже на телефонах.

Текст подготовлен нейросетью Loople по материалам источника.

Читайте также

Похожие новости

Поиск по Loople

Назад