osu!lazer: клиент ритм-игры osu!¶
osu!lazer (также известный как osu!next) — клиентское приложение с открытым исходным кодом для игры в ритм-игру osu!, разрабатываемое как преемник оригинального клиента osu!stable. Проект написан на языке C# с использованием фреймворка .NET и игрового движка MonoGame, что обеспечивает кроссплатформенность. Разработка ведётся под руководством автора оригинальной игры, австралийского программиста Дина Герберта (известного как peppy), и сообщества разработчиков.
¶История
Анонс разработки нового клиента состоялся в 2014 году. Изначально проект носил кодовое название osu!next и позиционировался как полная переработка пользовательского интерфейса и архитектуры игры. Первые публичные превью появились в 2015–2016 годах. Основной причиной создания lazer стало техническое устаревание оригинального клиента, написанного на C# и работающего исключительно на Windows. Старая кодовая база не позволяла эффективно внедрять новые функции, такие как поддержка сенсорных экранов, интеграция с рейтинговой системой и современный рендеринг графики.
Долгое время osu!lazer распространялся в статусе бета-версии, доступной для тестирования. Вплоть до 2021 года клиент не поддерживал официальные рейтинговые таблицы, что ограничивало его использование соревновательным сообществом. 26 октября 2021 года состоялся официальный релиз стабильной версии, после чего начался постепенный процесс миграции игроков с устаревшего клиента. Однако полный переход был отложен на неопределённый срок из-за необходимости доработки ряда функций и обратной совместимости с картами.
¶Технические особенности
¶Кроссплатформенность
В отличие от osu!stable, работающего только в среде Windows, osu!lazer поддерживает операционные системы Windows, macOS и Linux. Для запуска на Linux используется как нативная сборка, так и версия через Steam Play (Proton). Также существуют сборки для архитектуры ARM, что позволяет запускать игру на устройствах с процессорами Apple Silicon.
¶Графический движок
Рендеринг в osu!lazer осуществляется через MonoGame — открытую реализацию фреймворка XNA. Клиент использует аппаратное ускорение через Direct3D, Vulkan или OpenGL в зависимости от платформы. Это позволяет добиться плавной картинки при высоких частотах обновления экрана (до 240 Гц и выше), что критически важно для ритм-игр.
¶Пользовательский интерфейс
Ключевым визуальным отличием lazer является полностью переработанный интерфейс, выполненный в стиле Material Design. Навигация построена на «каруселях» и плавающих панелях. Интерфейс поддерживает кастомизацию через скины, однако структура элементов управления в скинах отличается от классической.
¶Игровые режимы
Как и оригинальный клиент, osu!lazer поддерживает четыре основных игровых режима:
- osu! — классический режим, где игрок нажимает на появляющиеся круги, удерживает слайдеры и вращает спиннеры.
- osu!taiko — симуляция игры на японском барабане, где требуется попадать по нотам в такт.
- osu!catch — режим, в котором персонаж ловит падающие фрукты.
- osu!mania — режим, схожий с игрой на синтезаторе, с 4–9 клавишами.
Все режимы в osu!lazer используют единую систему ввода, что упрощает обработку действий игрока.
¶Нововведения и отличия от osu!stable
¶Модификаторы сложности
В osu!lazer внедрена система модификаторов (модов), которая отличается от классической. Некоторые моды, такие как Double Time (ускорение) и Hard Rock (усложнение), были перебалансированы. Появилась функция предварительного просмотра влияния мода на сложность карты. Также добавлены новые моды, например, «Classic», который имитирует механику старого клиента.
¶Система точности
Вместо устаревшей системы, где оценка зависела от попаданий «300», «100» и «50», в lazer используется более гранулярная шкала точности от 0 до 100%. Это сделано для повышения честности соревновательного процесса. Для режима osu! введено понятие «судья» (judgement), основанное на времени отклонения от идеального момента нажатия.
¶Аккаунт и мультиплеер
Клиент полностью интегрирован с официальным сайтом osu.ppy.sh. Вход в игру осуществляется через учётную запись osu!. Мультиплеер получил обновлённый интерфейс, поддержку турнирных матчей и улучшенную синхронизацию. В 2023 году добавлена функция проведения рейтинговых матчей непосредственно в lazer.
¶Редактор карт
Встроенный редактор уровней (beatmap editor) был полностью переписан. Он получил поддержку таймлайн-анимации, улучшенные инструменты для расстановки нот и предпросмотр в реальном времени. Однако на момент начала миграции редактор lazer не обладал полной функциональностью старого редактора, что вызывало критику со стороны мапперов (создателей карт).
¶Влияние и критика
Сообщество игроков разделилось в отношении нового клиента. Сторонники отмечают современный интерфейс, высокую производительность на слабых устройствах и кроссплатформенность. Критики указывают на длительный период нестабильности, изменение привычной механики модов и проблемы с производительностью на некоторых видеокартах.
Разработчики придерживаются политики постепенного перехода: игроки, использующие osu!stable, не теряют доступа к рейтинговой системе, однако новые функции и турниры всё чаще ориентируются на lazer. По состоянию на 2024 год osu!lazer считается основным клиентом, рекомендуемым для новых игроков, в то время как osu!stable переведён в режим поддержки без добавления новых функций.
¶Распространение
osu!lazer распространяется бесплатно. Исходный код опубликован на платформе GitHub под лицензией MIT, что позволяет энтузиастам создавать собственные сборки и модификации. Официальные сборки доступны для скачивания с сайта osu.ppy.sh, а также через цифровой магазин Steam.
¶Перспективы
Согласно дорожной карте разработчиков, основной целью является полное замещение osu!stable. Для этого необходимо завершить работу над совместимостью всех старых скинов, добиться паритета в производительности и перенести все рейтинговые функции. После выполнения этих условий планируется прекращение поддержки устаревшего клиента.
