Услуга

Разработка игр на Unreal Engine

MetaByte разрабатывает игры на Unreal Engine — прежде всего для ПК и Steam: сетевой мультиплеер, оптимизация кадра, сборка релизных билдов и публикация.

Проект
SANDSTRIKE — top-down шутер на Unreal
Сильная сторона
сетевой мультиплеер и картинка
Платформы
PC · Steam

Когда выбирать Unreal, а когда Unity?

Unreal выигрывает там, где нужны высокое качество картинки и сетевой мультиплеер из коробки, а Unity — там, где нужны мобильные платформы, лёгкая сборка и быстрая итерация.

Разница не в том, что один движок мощнее. У Unreal сильнее рендер и встроенная модель репликации: авторитетный сервер, репликация переменных и удалённые вызовы — часть каркаса, а не библиотека, которую надо выбирать. Для сетевого шутера это экономит месяцы.

Плата за это — вес сборки, время компиляции и порог входа в C++. На мобильных, где важны размер приложения и работа на недорогих устройствах, Unity почти всегда практичнее.

Мы не выбираем движок из симпатии. На разборе задачи мы называем движок и объясняем причину — и если выбор очевиден в сторону Unity, скажем это, хотя эта страница про Unreal.

Blueprints или C++?

На практике верна смесь: логика геймплея и прототипы быстрее живут в Blueprints, а всё, что выполняется часто или обязано быть детерминированным, переносится в C++.

Крайности одинаково дороги. Проект целиком на Blueprints упирается в производительность и становится нечитаемым при слиянии веток — визуальные графы плохо переживают одновременную работу нескольких человек. Проект целиком на C++ теряет главное преимущество Unreal: скорость, с которой дизайнер сам проверяет идею.

Мы держим границу явной: C++ — каркас, системы и всё сетевое; Blueprints — настройка поведения поверх этого каркаса.

Как делается честный сетевой бой?

Честный сетевой бой строится на авторитетном сервере с предсказанием на клиенте и компенсацией задержки: сервер восстанавливает положение целей на момент выстрела и решает, было ли попадание.

Без компенсации задержки игрок при пинге 100 мс стреляет туда, где противник был десятую долю секунды назад, и промахивается по видимой цели. С ней — попадает, но появляется вторая проблема: «меня убили за укрытием», потому что сервер отмотал время назад. Этот компромисс не устраняется, а настраивается: предел отматывания ограничивается, а метка времени клиента проверяется на правдоподобие, иначе она становится инструментом читера.

Именно этот узел мы решали в SANDSTRIKE, где вид сверху и десятки одновременных целей делают любую нечестность заметной сразу.

Что вы получаете

Работы, которые это подтверждают

Три игры из пяти открываются по ссылке прямо сейчас — это и есть проверка.

В разработке

ZAVTRA

PC

Пост-советский выживач: рейдеры, узкоколейка, пыльные бури

В разработке · страница в Steam открыта

SANDSTRIKE

Steam · PC

Top-down мультиплеерный шутер в постчеловеческой пустыне

Выпущена

Steel & Fire

Google Play · Android

Наполеоновская стратегия реального времени

Играется прямо сейчас

Monopoly Lux

Web

Браузерная мультиплеерная монополия на 2–6 игроков

Играется прямо сейчас

Mystery Life RP

Roblox · ПК, мобильные, консоли

Ролевой мир на Roblox: дома, машины, школа, магазины

Частые вопросы

На какой версии Unreal Engine вы работаете?

MetaByte работает на актуальной версии Unreal Engine 5 и при необходимости продолжает проект на той версии, на которой он начат.

Перевод живого проекта на новую версию движка — отдельная работа с собственными рисками, и делать её посреди производства без причины не стоит.

Можете ли вы подключиться к нашему проекту на Unreal?

Да, ко-разработка на Unreal — рабочий формат: мы берём участок внутри вашего репозитория и вашего процесса.

Делаете ли вы порт на консоли?

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

Расскажите о проекте

Разберём концепт или существующий проект и вернёмся с составом работ, сроком и оценкой. Отвечаем в течение рабочего дня, работаем по московскому времени.