Услуга

Разработка игр на 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 игроков

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

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

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

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

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

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

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

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

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

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