Horizon — Minecraft на Rust
Смотрите, что получилось: Java тоже можно обогнать
Смотрите, что получилось: Java тоже можно обогнать
Недавно в TikTok разлетелась тема: Minecraft Java Edition переписали на языке Rust. Проект называется Horizon. Собрал всё в одном месте, давайте обсудим.
Что это
Horizon — неофициальная нативная реализация клиента и игровой логики Minecraft: Java Edition 26.3, написанная на Rust. Она читает те же миры, следует тем же правилам и генерирует тот же ландшафт. Соответствие оригиналу проверяют автоматические тесты: одни и те же входные данные прогоняются через Horizon и через ванильную игру, а результаты сравниваются (на сайте проекта таких проверок 281). Исходный код открыт, лицензия MIT.
Кто это сделал
Автор проекта — Людовик Мари (Ludovic Marie). Он использовал ИИ-агента Claude, и этого никто не скрывает: в документации прямо написано, что большая часть кода создана ИИ-агентами, а надёжность обеспечивают автоматические сверки с оригинальной игрой.
Почему это интересно
Microsoft с её многомиллиардными бюджетами выбрала C++ для Bedrock Edition, и оптимизация была одной из причин. Но, на мой взгляд, принципиальной разницы игроки так и не увидели. Официальной нативной версии Java Edition тоже нет.
А теперь независимый автор из сообщества берёт Java-версию, переписывает её на Rust и получает заметный прирост по ключевым показателям. До этой идеи дошла не студия с огромным штатом, а один энтузиаст.
Что с оптимизацией
Цифры из собственных замеров проекта: одна и та же машина, один и тот же мир, один и тот же маршрут камеры. Horizon против Java 26.3.
Mac mini (Apple M4 Pro), дальность прорисовки 32
- 1% low FPS: 109 против 8 (в 14 раз выше)
- время кадра, 95-й перцентиль: 7,7 мс против 88 мс (в 11 раз быстрее)
- запуск до входа в мир: 16 с против 66 с (в 4 раза быстрее)
- память: 1,8 ГБ против 2,9 ГБ
ПК (RTX 4080, i7-13700KF)
- загрузка чанков после телепорта: 1,8 с против 11 с при дальности 12 (в 6 раз) и 4,7 с против 32 с при дальности 32 (в 6,8 раза)
- запуск до входа в мир при дальности 32: 9 с против 59 с (в 6,5 раза)
- память: 1,2 ГБ против 2,8 ГБ (в 2,4 раза меньше)
Ноутбук 2016 года (i7-7500U, Intel HD 620)
- средний FPS: 209 против 126 (в 1,7 раза выше)
- память: 797 МБ против 2,0 ГБ (в 2,6 раза меньше)
Полные таблицы и методика — на
Авторизуйтесь для просмотра ссылок.
. Авторы сами отмечают там режимы, где Java пока впереди, так что картину стоит смотреть целиком.Видео
-
Авторизуйтесь для просмотра ссылок.,
-
Авторизуйтесь для просмотра ссылок.,
-
Авторизуйтесь для просмотра ссылок.
Как попробовать
Для запуска лаунчера нужна лицензионная копия Minecraft: Java Edition 26.3. Horizon не содержит файлов игры и не скачивает их: ресурсы он собирает из вашей установленной копии.
- Установите лицензионный Minecraft: Java Edition 26.3 и запустите его хотя бы один раз.
- Установите Java 25 (нужна для первоначальной подготовки файлов).
- Скачайте
Авторизуйтесь для просмотра ссылок.для Windows x64, Linux x86-64 или macOS на Apple Silicon.
- Запустите лаунчер: он подготовит ресурсы и установит нужную сборку.
Ссылки
-
Авторизуйтесь для просмотра ссылок.
-
Авторизуйтесь для просмотра ссылок.
-
Авторизуйтесь для просмотра ссылок.
Horizon — независимый проект. Он не является официальным продуктом Minecraft и не связан с Mojang и Microsoft.
А что думаете вы? Может ли такой подход действительно изменить будущее Java-версии, или это пока красивый эксперимент?