Когда в декабре 2018 года вышел первый трейлер Hytale, большинство из нас смотрело на красивую картинку и не думало о том, что происходит под капотом. Но чем дольше тянулась разработка — чем больше появлялось блогов, интервью и технических дневников от Hypixel Studios — тем яснее становилось: внутри у игры всё очень нетривиально. Давайте разберём, на чём вообще работает Hytale, что там за технологии и почему это важно для игроков и моддеров.
Собственный движок — без Unity и Unreal
Первое, что нужно понять: Hytale не использует готовый движок. Никакого Unity, никакого Unreal Engine. Разработчики с самого начала заявили, что ни один из существующих движков на рынке не подходил под их задачи — поэтому написали свой, с нуля.
Это дорого, долго и сложно — но даёт полный контроль над каждым аспектом игры: от рендеринга до сетевого стека.
Клиент — C#, сервер — Java
Технически игра разделена на две независимые части:
Клиент на C# — это сравнительно редкий выбор для игр такого рода, но он оправдан: язык даёт хороший баланс между производительностью и удобством разработки. Microsoft активно развивает .NET-экосистему, и современный C# позволяет писать очень быстрый код.
Сервер на Java — решение намеренно дружественное к сообществу. Большинство опытных Minecraft-моддеров и владельцев серверов прекрасно знакомы с Java. Разработчики прямо сказали: важно, чтобы серверным операторам было как можно проще начать работу. К тому же команда бэкенда сама хорошо знает Java и умеет оптимизировать под него тяжёлый код.
Открытый исходный код сервера
Серверная часть будет распространяться в формате shared source — то есть любой желающий сможет читать код сервера. Клиент при этом остаётся закрытым: это нужно для того, чтобы обеспечить единую платформу для всех игроков, защититься от читов и дать моддерам стабильную основу.
Разработчики обещали выложить исходный код сервера в течение 1–2 месяцев после старта раннего доступа. Это очень хорошая новость для тех, кто хочет разобраться в устройстве игры или написать свой плагин.
ECS — архитектура, которая делает всё быстрее
Сердце серверной архитектуры Hytale — это Entity Component System (ECS). Если вы не знакомы с этим паттерном — сейчас объясним просто.
В классическом объектно-ориентированном подходе (ООП) игровые объекты — это классы с полями и методами. Всё наследуется друг от друга, образуя сложные иерархии. Чем больше объектов — тем тяжелее всё это работает.
ECS делает иначе:
Данные хранятся плотными блоками в памяти — это позволяет процессору эффективно использовать кэш и обрабатывать тысячи сущностей параллельно. В результате игра может легко держать 1000+ сущностей на чанк без просадок производительности.
Практический пример: «Игрок» в Hytale — это не один объект. Это набор компонентов: PlayerRef (идентификатор, UUID, язык, обработчик пакетов) и Player (физическое присутствие в мире, геймплейные данные). Такой подход позволяет гибко управлять состоянием и легко расширять игру через моды.
Рендеринг: чанки, шейдеры, производительность
Визуальная часть Hytale — отдельная история. Мир разбит на чанки, которые загружаются и выгружаются независимо друг от друга. Это та же концепция, что и в Minecraft, но реализованная значительно эффективнее:
Важный момент: сам рендер-движок закрыт для модификации. Никакого «Hytale Optifine» не будет — команда хочет, чтобы игра работала быстро «из коробки», без необходимости в сторонних оптимизациях. Для кастомной визуализации предусмотрен Shader Graph — узловой редактор шейдеров, похожий на аналогичный инструмент в Unity. Он позволяет создавать визуальные эффекты безопасно, без доступа к ядру рендерера.
Рендер-направление вёл Jelly Squid — известный по созданию Sodium и Lithium, знаменитых оптимизационных модов для Minecraft.
Сетевая архитектура: сервер — истина в последней инстанции
Hytale построен на server-authoritative модели — сервер является единственным источником правды о состоянии игры. Клиент не может самостоятельно изменить здоровье, позицию или инвентарь. Это принципиально важно для защиты от читов.
Для оптимизации сети используется целый арсенал техник:
Для подключения к другу не нужно настраивать проброс портов вручную: игра использует UPnP (Universal Plug and Play) и, если это невозможно, NAT punchthrough. Просто нажал «Присоединиться к другу» — и всё работает.
UI и клиентские скрипты — WebAssembly
Интерфейс игры и клиентские скрипты работают на WebAssembly (Wasm). Это позволяет коду исполняться с почти нативной скоростью, оставаясь при этом в безопасной «песочнице» на компьютере игрока. Решение нетривиальное для игровой индустрии — обычно WebAssembly ассоциируется с браузерными приложениями, но здесь он служит прослойкой безопасности и производительности одновременно.
Старая система UI уже считается устаревшей — её заменяет Noises GUI на основе XML.
Модинг: серверная сторона, никаких модпаков
Принципиальное архитектурное решение, которое меняет всё для игроков:
Весь модинг работает на стороне сервера. Когда вы подключаетесь к серверу, клиент автоматически скачивает всё необходимое — модели, анимации, звуки, скрипты. Никаких модпаков, никаких сайтов для скачивания, никаких проблем с совместимостью.
Инструменты для создателей:
Особая фишка — горячая перезагрузка ассетов: изменил JSON-файл и увидел результат прямо в игре, без перезапуска сервера.
Плюсы и минусы технологий Hytale
Плюсы
Минусы
История движка: от Legacy к C++ и обратно
Здесь стоит упомянуть один важный поворот в разработке. В 2022 году Hypixel Studios объявила, что переписывает движок с нуля на C++ — ради кроссплатформенности и масштабируемости. Это решение затянуло разработку ещё на несколько лет.
В 2025 году, когда Riot Games закрыла проект, а затем основатель Симон Коллинз-Лафламм выкупил права обратно — от C++-движка отказались и вернулись к оригинальному Legacy Engine (Java + C#). Не потому что он хуже, а потому что он реально работает и уже оптимизирован. Теоретически прекрасный C++ движок остался незаконченным.
Это честное инженерное решение: работающий и отлаженный фундамент ценнее, чем красивая теория.
Итог
Hytale — это технически амбициозный проект. Собственный движок, ECS-архитектура, server-authoritative дизайн, WebAssembly в UI — всё это говорит о том, что разработчики думали не только о том, как игра будет выглядеть, но и о том, как она будет работать через десять лет. Legacy Engine, на котором вышел ранний доступ — это не компромисс, а зрелое решение команды, которая за 10 лет поняла: нужно выпустить то, что работает.
Мы на HubTale продолжаем следить за техническими обновлениями игры и будем рассказывать о новых деталях движка по мере их появления. Если интересно узнать больше о серверах Hytale, плагинах и возможностях для моддеров — заглядывайте к нам.
Источники: Hytale Server Technology (2019) · ECS Technical Explainer (2024) · Summer 2022 Dev Update
——————————————————————
Первое, что нужно понять: Hytale не использует готовый движок. Никакого Unity, никакого Unreal Engine. Разработчики с самого начала заявили, что ни один из существующих движков на рынке не подходил под их задачи — поэтому написали свой, с нуля.
«Hytale работает на проприетарном, созданном с нуля движке. Мы не смогли найти ни одного готового решения, которое соответствовало бы нашему видению высококачественной блоковой игры.»
— Hypixel Studios
Это дорого, долго и сложно — но даёт полный контроль над каждым аспектом игры: от рендеринга до сетевого стека.
——————————————————————
Технически игра разделена на две независимые части:
| Компонент | Язык | Почему |
|---|---|---|
| Клиент (то, что видит игрок) | C# | Высокая производительность, удобная работа с графикой и рендерингом |
| Сервер (логика игры) | Java | Большая экосистема, знакомая комьюнити, высокая оптимизируемость |
Клиент на C# — это сравнительно редкий выбор для игр такого рода, но он оправдан: язык даёт хороший баланс между производительностью и удобством разработки. Microsoft активно развивает .NET-экосистему, и современный C# позволяет писать очень быстрый код.
Сервер на Java — решение намеренно дружественное к сообществу. Большинство опытных Minecraft-моддеров и владельцев серверов прекрасно знакомы с Java. Разработчики прямо сказали: важно, чтобы серверным операторам было как можно проще начать работу. К тому же команда бэкенда сама хорошо знает Java и умеет оптимизировать под него тяжёлый код.
Серверная часть будет распространяться в формате shared source — то есть любой желающий сможет читать код сервера. Клиент при этом остаётся закрытым: это нужно для того, чтобы обеспечить единую платформу для всех игроков, защититься от читов и дать моддерам стабильную основу.
Разработчики обещали выложить исходный код сервера в течение 1–2 месяцев после старта раннего доступа. Это очень хорошая новость для тех, кто хочет разобраться в устройстве игры или написать свой плагин.
——————————————————————
Сердце серверной архитектуры Hytale — это Entity Component System (ECS). Если вы не знакомы с этим паттерном — сейчас объясним просто.
В классическом объектно-ориентированном подходе (ООП) игровые объекты — это классы с полями и методами. Всё наследуется друг от друга, образуя сложные иерархии. Чем больше объектов — тем тяжелее всё это работает.
ECS делает иначе:
- Entity — просто уникальный идентификатор, не содержащий никаких данных
- Component — контейнер с данными (позиция, здоровье, инвентарь), без логики
- System — логика, которая обрабатывает сущности с нужным набором компонентов
Данные хранятся плотными блоками в памяти — это позволяет процессору эффективно использовать кэш и обрабатывать тысячи сущностей параллельно. В результате игра может легко держать 1000+ сущностей на чанк без просадок производительности.
Практический пример: «Игрок» в Hytale — это не один объект. Это набор компонентов: PlayerRef (идентификатор, UUID, язык, обработчик пакетов) и Player (физическое присутствие в мире, геймплейные данные). Такой подход позволяет гибко управлять состоянием и легко расширять игру через моды.
——————————————————————
Визуальная часть Hytale — отдельная история. Мир разбит на чанки, которые загружаются и выгружаются независимо друг от друга. Это та же концепция, что и в Minecraft, но реализованная значительно эффективнее:
- Predictive Loading — чанки в направлении движения игрока загружаются первыми
- Background Unloading — дальние чанки сжимаются и выгружаются на диск
- Memory Pools — заранее выделенная память для типовых объектов устраняет накладные расходы на аллокацию
- Texture Atlases — несколько текстур упаковываются в одно изображение, снижая количество draw calls
- Mipmap Streaming — сначала загружаются версии текстур низкого разрешения, затем уточняются
Важный момент: сам рендер-движок закрыт для модификации. Никакого «Hytale Optifine» не будет — команда хочет, чтобы игра работала быстро «из коробки», без необходимости в сторонних оптимизациях. Для кастомной визуализации предусмотрен Shader Graph — узловой редактор шейдеров, похожий на аналогичный инструмент в Unity. Он позволяет создавать визуальные эффекты безопасно, без доступа к ядру рендерера.
Рендер-направление вёл Jelly Squid — известный по созданию Sodium и Lithium, знаменитых оптимизационных модов для Minecraft.
——————————————————————
Hytale построен на server-authoritative модели — сервер является единственным источником правды о состоянии игры. Клиент не может самостоятельно изменить здоровье, позицию или инвентарь. Это принципиально важно для защиты от читов.
Для оптимизации сети используется целый арсенал техник:
| Техника | Что делает |
|---|---|
| Delta Compression | Передаёт только изменения, а не полное состояние |
| Interest Management | Синхронизирует только те сущности, которые релевантны конкретному игроку |
| Client Prediction | Локальный отклик без ожидания ответа сервера, с последующей коррекцией |
| Packet Batching | Несколько обновлений упаковываются в один пакет |
Для подключения к другу не нужно настраивать проброс портов вручную: игра использует UPnP (Universal Plug and Play) и, если это невозможно, NAT punchthrough. Просто нажал «Присоединиться к другу» — и всё работает.
——————————————————————
Интерфейс игры и клиентские скрипты работают на WebAssembly (Wasm). Это позволяет коду исполняться с почти нативной скоростью, оставаясь при этом в безопасной «песочнице» на компьютере игрока. Решение нетривиальное для игровой индустрии — обычно WebAssembly ассоциируется с браузерными приложениями, но здесь он служит прослойкой безопасности и производительности одновременно.
Старая система UI уже считается устаревшей — её заменяет Noises GUI на основе XML.
——————————————————————
Принципиальное архитектурное решение, которое меняет всё для игроков:
Весь модинг работает на стороне сервера. Когда вы подключаетесь к серверу, клиент автоматически скачивает всё необходимое — модели, анимации, звуки, скрипты. Никаких модпаков, никаких сайтов для скачивания, никаких проблем с совместимостью.
Инструменты для создателей:
- Java-плагины — самый мощный уровень, полный контроль над игровой логикой
- Data Assets (JSON) — конфигурация контента без программирования: блоки, предметы, NPC, генерация мира
- Asset Graph Editor — визуальный скриптинг в стиле Unreal Blueprints, для тех, кто не пишет код
- Blockbench плагин — знакомый инструмент для 3D-моделей
Особая фишка — горячая перезагрузка ассетов: изменил JSON-файл и увидел результат прямо в игре, без перезапуска сервера.
——————————————————————
- Собственный движок — полная свобода оптимизации под конкретные задачи блоковой игры
- ECS-архитектура — тысячи сущностей без деградации производительности
- Java-сервер — низкий порог входа для моддеров из Minecraft-комьюнити
- Открытый исходный код сервера — можно читать, учиться, делать плагины с полным пониманием
- Автоматическая доставка контента — никаких модпаков, всё качается при входе
- Server-authoritative модель — серьёзная защита от читов на архитектурном уровне
- WebAssembly UI — производительность и безопасность клиентских скриптов
- UPnP / NAT punchthrough — простое подключение к друзьям без возни с роутером
- Долгая разработка — собственный движок это годы работы. Итог мы видели: игра разрабатывалась с 2015 года, вышла в ранний доступ только в январе 2026-го
- Отказ от кроссплатформенности (пока) — переход обратно на Legacy Engine означает отказ от консолей на старте. Windows приоритет, Mac/Linux — «попробуем»
- Закрытый клиент — клиентские моды запрещены, рендер нельзя трогать. Для некоторых это ограничение
- C# + Java = два разных мира — поддерживать и развивать два стека технологий сложнее, чем один
- Инструменты ещё сырые — сами разработчики признают, что часть инструментов для моддеров «работает, но не отполирована»
——————————————————————
Здесь стоит упомянуть один важный поворот в разработке. В 2022 году Hypixel Studios объявила, что переписывает движок с нуля на C++ — ради кроссплатформенности и масштабируемости. Это решение затянуло разработку ещё на несколько лет.
В 2025 году, когда Riot Games закрыла проект, а затем основатель Симон Коллинз-Лафламм выкупил права обратно — от C++-движка отказались и вернулись к оригинальному Legacy Engine (Java + C#). Не потому что он хуже, а потому что он реально работает и уже оптимизирован. Теоретически прекрасный C++ движок остался незаконченным.
Это честное инженерное решение: работающий и отлаженный фундамент ценнее, чем красивая теория.
——————————————————————
Hytale — это технически амбициозный проект. Собственный движок, ECS-архитектура, server-authoritative дизайн, WebAssembly в UI — всё это говорит о том, что разработчики думали не только о том, как игра будет выглядеть, но и о том, как она будет работать через десять лет. Legacy Engine, на котором вышел ранний доступ — это не компромисс, а зрелое решение команды, которая за 10 лет поняла: нужно выпустить то, что работает.
Мы на HubTale продолжаем следить за техническими обновлениями игры и будем рассказывать о новых деталях движка по мере их появления. Если интересно узнать больше о серверах Hytale, плагинах и возможностях для моддеров — заглядывайте к нам.
——————————————————————
© HubTale.org — русскоязычное сообщество Hytale