Вышел первый релиз osu!cpp — неофициального клиента osu!, написанного на C++23 с использованием модулей и библиотеки Skia для рендеринга.



Проект распространяется под лицензией AGPLv3. Собрать клиент можно для Linux — обычным способом, а также через Flatpak, Nix и Guix, для Android, для Ubuntu Touch и для браузера посредством WebAssembly. Веб-версию достаточно открыть, установка не требуется.
Из функциональности на старте доступен режим osu!standard. Очки производительности (pp) подсчитываются в реальном времени прямо во время игры. Реплеи можно записывать и проигрывать, а также экспортировать в видеоформат MP4. Карты подтягиваются через зеркала osu.direct и catboy.best, поддерживается импорт архивов .osz. Отрисовка работает через OpenGL, Vulkan либо программно. В меню реализована частичная локализованная отрисовка, а при отсутствии изменений на экране рендеринг полностью останавливается.
Вместе с самим клиентом на условиях AGPLv3 развиваются библиотеки для построения интерфейсов — skiff и skiff-widgets.
Отдельного упоминания заслуживает подход к проверке сборок. Релиз собирается дважды, причём второй раз — без кеша компилятора, после чего результаты сверяются. У версии 0.1.0 все сборки оказались полностью идентичными. Для Android применяется сборка минимального Android NDK на базе minimal-android-ndk.cpp (AGPLv3), поскольку официальные бинарники Android NDK поставляются под проприетарной лицензией. Весь код идёт под AGPLv3, однако при первом запуске опционально подгружается несвободный скин под лицензией CC-BY-NC-4.0 — приложение способно работать и без него.
