Эта запись также доступна на:

Эта статья — краткий обзор и первое впечатление от нового движка Unreal Engine 4. Я опишу основные возможности, а также достоинства и недостатки нового игрового движка.

Вчера на GDC 2014 был представлен новый движок компании Epic Games — Unreal Engine 4 . Движок можно получить по подписке за 19€ в месяц для европейского региона и за 19$ для остального мира. Кроме того, вы получаете доступ к полным исходным кодам движка. Стоит отметить, что, если вы оплатите только первый месяц подписки, вы лишаетесь только возможности получать обновления, а уже установленным ранее версией можно пользоваться сколько угодно (так сказано в лицензии).

Доступна сборка под Windows, Mac, iOS и Android. Заявлена поддержка HTML5, Linux и Steam Mashine в будущих версиях.

Движок совсем не похож на UDK или Unreal Engine 3. Unreal Engine 4 визуально выглядит другим, имеет множество новых возможностей и избавился от некоторых недостатков предыдущих движков. Перед нами действительно новый движок, который стал более удобным и дружественным к пользователю.

Новые возможности и основные отличия от Unreal Engine 3:

Для сборки под Windows нужны Visual Studio 2013 и June 2010 DirectX runtime

Далее генерим проект используя GenerateProjectFiles.bat файл в корне. Затем открываем проект студией, выбираем конфигурацию Development Editor и целевую платформу Win64. Правой клавишей на UE4 и билд выбранного проекта.

Билд занимает примерно 20 минут. После успешной сборки можно запустить файл RegisterShellCommands.bat с правами администратора чтобы связать файлы проекта с редактором.

Заключение

Unreal Engine 4 выглядит многообещающе. Фактически за 19$ мы получаем движок с большим функционалом чем Unity и с открытыми исходными кодами. Кроме того для него была создана новая экосистема с большим числом обучающего материала, магазином контента, форумом и сообществом разработчиков. Возможность писать как на нативном коде, так и на визуальном редакторе.

Теперь про минусы и недостатки. Движок все таки более профессиональный и от этого более сложен в освоении, чем Unity. Магазин контента увы пока очень примитивный. Также нет редактора под Linux и платформ для сборки пока всего четыре. Scaleform не входит в Unreal Engine 4.

(UE4)», я решил написать небольшую статью, в которой в двух словах опишу преимущества и недостатки каждого из движков, а также поделюсь тем, какие аргументы повлияли на наш конечный выбор.

В то время, как многие студии-разработчики игр используют собственные игровые движки, есть еще огромный рынок инди-разработчиков и даже крупных студий, нуждающихся в игровом движке, который поможет создать свою игру за краткие сроки. Unity3d и Unreal Engine 4 — это одни из самых популярных игровых движков, доступных на сегодняшний день. Хотя оба — отличные игровые движки, в зависимости от того, что вы собираетесь сделать, каждый может стать для вас оптимальным вариантом. Возможно, вы предпочитаете простой удобный интерфейс, или, может быть, язык программирования для вас более приоритетен — независимо от тех или иных обстоятельств, давайте посмотрим на различия, а также на сильные и слабые стороны каждого движка. Тогда вы и сможете решить, какой из них будет соответствовать вашим потребностям.

Какой тип игр вы собираетесь создавать?

Первый вопрос, который вы должны задать себе — как вы собираетесь использовать движок и какие вы хотите создать? Вы хотите создать 2d платформер или 3d шутер от первого лица? Может, гибрид 2d и 3d? Возможно, вы хотите начать с первой небольшой игры и разработать простой пазл с базовой физикой, или предпочитаете запустить игру в веб-браузере, или ? А может, игровые консоли? Кстати, как вы собираетесь деньги на своей игре? Внутренние покупки, реклама или просто сделать игру платной?

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

Если вы хотите делать — Unity будет идеальным решением. Это подтверждается доминированием Unity среди разработчиков мобильных игр, а также большим количеством плагинов для использования нативных возможностей мобильных платформ: реклама, внутренние покупки, аналитика, игровые центры и т. д. — все это интегрируется в игру за считанные минуты. Если вы нацелены на разработку 2d игры, Unity тоже будет прекрасным выбором, потому что именно у него есть прекрасные возможности для создания 2d игр. Хотя Unreal Engine 4 в последнее время пытается заманить разработчиков мобильных приложений, обещая не меньшие, а даже большие возможности для 2d игр.

Если вы хотите создавать 3d игры, Unity также очень мощный инструмент для разработки 3d игр. Хотя графически он далеко не на том уровне, что Unreal Engine 4. При необходимости использовать next-gen графику лучшим решением будет Unreal Engine 4.

Наша команда специализируется на разработке 2d мобильных игр, поэтому наш голос уходит к Unity.

Программирование

В Unreal Engine 4 используется язык программирования C++ . В Unity3d в основном C# или JavaScript. Сразу скажу, нас больше привлекал C#, так как до этого мы разрабатывали игры на движке LibGDX, в котором используется Java. Согласитесь, переход с Java на C# не такой болезненный, чем на C++ . Какая программа лучше с точки зрения языков программирования — действительно сводится к личным предпочтениям. Некоторые люди думают, что C++ является архаичным, а другие молятся на него. Если вы предпочитаете какой-либо из этих языков, то выбор движка для вас может быть довольно очевидным.

Но Unreal Engine 4 имеет решение для людей, которые боятся высокого порога вхождения в C++ . Это Blueprint — редактор визуального скриптинга. Технически вам не нужно писать ни одной строки кода. Это очень удобно для создания быстрых прототипов, и вы даже можете создавать целые игры с помощью Blueprint . Если вы не , Unreal Engine 4 будет для вас отличным вариантом. К слову, в Unity есть похожее решение. В Unity Asset Store можно приобрести расширение для редактора под названием Playmaker, которое так же позволяет разрабатывать прототипы игр без написания кода.

Asset Store

Оба движка Unreal Engine 4 и Unity3d имеют свой магазин ассетов: из них можно загрузить готовые 3d модели персонажей и окружения, текстуры и даже такие вещи, как звуки и системы частиц. Тем не менее, Unity3d однозначно выходит на первое место с точки зрения количества ассетов в магазине. В нем имеется все — от анимаций и генераторов GUI до расширений редактора для управления ИИ. Там есть все, что нужно для создания игры. Только плати деньги:)

Цена

Unreal Engine 4 и Unity3d являются условно бесплатными. Полная версия Unreal Engine 4 будет бесплатной для вас, пока доход от игры составляет меньше $ 3 000 в квартал, если же больше - вам придется делиться 5% от своих доходов.

С Unity3d все сложнее. Если доходы вашей компании составляют меньше $ 100 000 в год, вы можете использовать бесплатную версию, но она не полная. Хоть и бесплатной версии вполне достаточно для написания полноценной игры, в ней отсутствуют некоторые важные возможности: такие, как замена стандартного splash screen или создание Asset Bundle. На профессиональную версию Unity3d нужно потратить один раз $1 500 или купить подписку за $75 в месяц. Если вы разрабатываете мобильные игры, тогда на этом ваши затраты не заканчиваются. Придется расстаться с $1 500 ($75 в месяц) за iOS лицензию и столько же за Android. В этом моменте Unity3d нас немного расстроил.

Unreal Engine - один из самых популярных и старых игровых движков, ставший известным благодаря возможности создания на нем сцен, схожих по качеству с кинематографическими. Он работает на большинстве современных игровых платформ - это консоли последнего поколения, ПК, устройства на iOS и Android, а так же macOS, Linux и html5. К тому же заявлена поддержка и недавно вышедшей новой портативной консоли - Nintendo Switch. Такая кроссплатформенность возможна благодаря поддержке всех современных стандартов как рендеринга (API DirectX, OpenGL, а так же на устройствах iOS - PowerVR), так и воспроизведения звука (OpenAl, EAX, DirectSound3D). Как и другие движки, UE комплектуется собственным редактором - UnrealEd, однако по удобству тот заметно проигрывает Unity3D и заточен скорее под создание профессиональных, а не любительских игр и анимаций.

Unreal Engine 1

Первая версия движка вышла почти 20 лет назад - в 1998 году, и уже тогда оказалась универсальнее топового движка того времени - id Tech 3: она включала в себя графический движок, физический движок, искусственный интеллект, управление файловой и сетевой системами и готовую среду разработки игр - UnrealEd. Движок работал на macOS, Windows, PlayStation 2 и Xbox, причем сетевая составляющая была кроссплатформенной - игроки с Windows могли играть на одних серверах с игроками на macOS.

Главной особенностью Unreal Engine было то, что это был первый векторный движок: то есть движок, работающий с графами сцены. Граф сцены представляет собой структуру (набор узлов в виде дерева или графа), которая содержит логическое и, зачастую, пространственное представление графической сцены. Например, в игре может быть определена логическая связь между объектами «человек» и «машина». Последняя, в свою очередь, может быть связана с объектом «гараж», и так далее - таким образом выстраивается сеть взаимосвязанных объектов, что сильно упрощает как написание игры, так и взаимодействие объектов в самой игре.

Остальные особенности:

    Технология варпинга (warp) - возможность при прорисовке заменять изображение одной поверхности проекцией изображения на другую, ей параллельную поверхность. Несмотря на то, что ряд объектов мог беспрепятственно переходить через варп-зоны (например, пущенная игроком ракета), присутствовало большое число ограничений на работу таких зон. Данная технология выглядела в игре как порталы (через которые можно было стрелять и проходить, но они не пропускали звуки).

    Скайбокс (Skybox) - проецирование на поверхности отрисовки с другой точки (которая обычно помещалась в небольшую «коробку» с наложенной текстурой неба, отсюда и название Skybox). Таким образом, отображение не лицевой грани полигонов, а обратной, с заранее наложенной текстурой «неба» на объект. В движке широко использовался приём масштабирования текстур таким способом, что приводило к реалистичным видам окружающей среды - к примеру, неба в игре Unreal. Так же движок позволял использовать мультитекстурирование, позволявшее (при правильной расстановке источников света и ориентации относительно пререндеренных текстур) добиться эффекта трёхмерности поверхностей, хотя до появления движков с поддержкой истинной тесселяции еще оставалось почти 10 лет (первый движок с ее поддержкой, CryEngine 2, вышел в 2007 году).

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

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

В 1999 году вышло крупное обновление - Unreal Engine 1.5. Движок обзавелся лицевой анимации для персонажей, максимальное разрешение текстур было увеличено до 1024x1024, введена расширяемая система частиц и технология S3TC (S3 Texture Compression - метод сжатия текстур DirectX с потерями). Также была интегрирована вторая версия редактора UnrealEd. Пожалуй, самой красивой игрой на Unreal Engine 1.5 была игр-демонстрация возможностей движка - Unreal Tournament:


Первая версия движка больше не доступна для лицензирования, однако исходный код, необходимый для сборки собственных исполняемых файлов, существует в свободном доступе, но не для коммерческого использования - они распространяются по лицензии «Unreal Retail» - то есть только для персонального использования. Всего на UE 1 вышло больше двух десятков игр, среди них - всем известные Unreal Tournament, Deus Ex и Duke Nukem Forever.

Unreal Engine 2

Вторая версия Unreal Engine увидела свет в 2002 году с появлением Unreal Tournament 2003. В ней были практически полностью переписаны ядро и механизм рендеринга, а также интегрирована третья версия редактора UnrealEd. Физический движок теперь от сторонних издателей - Karma. Он поддерживает физику тряпичной куклы: обработку действия на тело не как на один объект, а как на скелет с привязкой к нему частей тела. У каждого сустава персонажа появились ограничители вращения, эти ограничители бывают двух видов: шарнирные и линейные. Линейные могут вращаться только вокруг одной оси, а шарнирные по всем трём.

Основные особенности движка:

  • Жидкая поверхность (fluid surface) - плоский объект, состоящий из большого числа полигонов, имитирующий поверхность жидкости. Такой объект можно поместить на границу с объёмом воды и он будет искажаться под действием проходящих через него объектов (например, ныряющего игрока).
  • Поддержка VoIP - возможность переговоров через микрофон с другими игроками во время игры.

    Транспортные средства - неподвижные (стационарные оборонительные установки), составленные из нескольких объектов (Karma vehicle), с использованием скелетной структуры и транспортные средства, прикрепляемые к другим транспортным средствам (например, пулемёт на башне танка). Некоторые транспортные средства могут действовать без «пилота», управляемые собственным искусственным интеллектом.

  • EAX 3.0 - движок трёхмерного звука, разработанный Creative Labs.
  • Отказ от варп-зон из-за перехода на движок Karma и 32-битной графики.

Unreal Engine 2.5

Как и версия 1.5, 2.5 нацелена в основном на оптимизацию движка под новые API - появилась поддержка DirectX 9, OpenGL 2 и Pixomatic (специальная версия рендера, умеющая рендерить изображения в основном силами процессора, то есть она подходила для компьютеров с мощным процессором и слабой видеокартой). Так же добавлена поддержка 64-битных операционных систем Windows (NT 4 и в дальнейшем XP) и Linux. Наибольшее возможное разрешение текстур поднято до 4096x4096 пикселов, добавлена полноценная поддержка юникода (16-бит), что позволило создавать полностью локализованные игры на азиатских языках (до этого часть фраз приходилось оставлять на английском).

Самой красивой игрой на UE 2.5 можно назвать Killing Floor - игра вышла в 2009 году, уже после выхода UE 3:


Unreal Engine 2X и Runtime

Это специальные версии движка - в первом случае для Xbox: были введены новые визуальные эффекты, такие как depth of field (глубина зрения), динамическая гамма-коррекция, bloom и различные вариации blur. Формат текстур был изменён для более реалистичного отображения теней в высоком разрешении, добавлена поддержка голосового чата, сервиса Xbox Live, а также функция разделения экрана. Был использован только в Unreal Championship 2. Во втором случае - урезанная бесплатная для некоммерческого использования версия движка, имевшая лишь базовый набор моделей и текстур. Полная же версия была платной - за лицензию на одну игру Epic Games просили от 350000 долларов.

Unreal Engine 3

Новая версия была сделана с упором на многоядерные процессоры - как в ПК, так и в новых (в то время) консолях PlayStation 3 и Xbox 360: теперь движок использует два параллельных потока данных - основной поток (отвечающий преимущественно за игровой процесс) и поток рендеринга. Кроме двух главных потоков могут быть вызваны второстепенные, которые выполняют разовые задачи. Так же движок обзавелся поддержкой API DirectX 10 и OpenGL 3 (от Pixomatic отказались как из-за его старости, так и из-за того, что даже самые мощные процессоры перестали справляться с графическими задачами). Появилась поддержка множества других платформ - начиная с Wii, iOS и Android и заканчивая такой экзотикой, как Windows RT.

Основные особенности нового движка:

  • Поддержка HDR, попиксельного освещения, динамических теней, Pixel Shader 4.0, геометрических шейдеров. Сам графический конвейер был переведён под управление шейдеров.
  • Физический движок сменился на PhysX, что позволило сделать эффекты тккани и улучшить эффекты жидкости. Однако аппаратное ускорение поддерживается только на Windows, поэтому эффекты на других платформах были урезаны.
  • За анимацию лиц персонажей отвечает интегрированный анимационный движок FaceFX, позволивший улучшить детальность прорисовки и реалистичность мимики.
  • Добавлена поддержка технологии SpeedTree, позволившая значительно снизить нагрузку на систему при отрисовке растительности (деревьев и травы).

Unreal Engine 3.5

Как и в предыдущих версиях х.5, тут была произведена, в основном, оптимизация - движок научился работать с DirectX 11, а так же был добавлен фильтр пост-обработки Ambient occlusion, улучшающий тени и освещения. Было увеличено число обрабатываемых персонажей в кадре. Переработана на новом уровне технология динамической водной поверхности, физика мягких тел и разрушаемое окружение также значительно улучшены.

На движке вышло больше 100 проектов, среди которых линейки Bioshock, Borderlands, Mass Effect, X-com, Mortal Combat, Battlefront и многие другие. Среди мобильных игр стоит отдельно выделить линейку Infinity Blade, до сих пор являющуюся эталоном графики под мобильные платформы:



Самой красивой игрой под ПК на UE 3 стоит назвать, пожалуй, Outlast 2 (хотя она еще в разработке):


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

Unreal Engine 4

Это самая новая и постоянно развивающаяся версия движка. Она поддерживает консоли текущего поколения (PlayStation 4 и Xbox One), API DirectX 12, а так же с недавних пор - и Nintendo Switch. Добавили достаточно много нового:

  • Поддержка очков виртуальной реальности SteamVR, HTC Vive и PlayStation 4 Morpheus (для последнего есть поддержка 120 Гц).
  • Новая система рендеринга травы и других объектов на земле вокруг игрока, которые создаются путём получения многочисленных копий одного или нескольких объектов - это сильно снижает нагрузку на видеокарту, при этом практически не портя картину (мало кто заметит, что два камня в нескольких метрах друг от друга одинаковы).
  • Иерархическая система LOD"ов (уровней детализации), которая позволяет рендерить объект на большом расстоянии с худшим качеством и меньшим числом запросов к рендереру.
  • Процедурный генератор растительности, который позволяет генерировать как огромные, так и маленькие области заполненные деревьями, кустами и травой так, как будто бы они здесь реально росли.
  • Возможность воспроизведения и перемотки последних нескольких минут геймплея в сетевых играх. .
  • Новый, фотореалистичный Depth of Field (глубина резкости), который теперь похож на боке, получаемый при съемке на камеру.
  • Отражения для полупрозрачных поверхностей (в том числе и отражения эффектов типа взрывов).
  • Автоматическое создание Convex Collision Meshes (выпуклая геометрия, на основе которой просчитываются физические столкновения).
  • Инструменты для локализации игр (в том числе - перевод фраз на текстурах).
  • Paper2D - встроенный движок для создания спрайтов.
Движок является абсолютно бесплатным для некоммерческого использования, однако если вы хотите создавать на нем игры, то вам придется платить 19 долларов в месяц за лицензию, а так же отчислять 5% от заработка создателям движка - Epic Games. Из-за таких более чем приемлемых условий инди-проектов на UE 4 много, да и крупные студии не отстают - в разработке сейчас находится больше 30 проектов, в том числе Borderlands 3, Tekken 7 и Dead Island 2. Самой красивой из вышедших игр можно назвать Gears of War 4:

Будущее движка

Об UE 5 неизвестно ничего, да и это понятно - 4ая версия вышла всего пару лет назад и активно разрабатывается, поэтому ждать крупного релиза ближайшие пару лет не стоит.


Думаете, что процесс создания игр высокого уровня очень сложный? Вы правы, но лишь отчасти, так как у вас есть возможно скачать движок Unreal Engine 4 и на его базе создать первоклассную игру. Конечно, вы не сможете за сутки собрать аналог GTA, или сделать новый бестселлер, но вы сможете получить отличный инструмент, с помощью которого вы сможете воплотить в жизни самые смелые идеи. На базе этого ПО создавались именитые проекты, в крупных студиях, с десятками разработчиков. Одному также все под силу, но потребуется время, чтобы раскрыть функционал.

Как создать игру с помощью Unreal Engine 4

Четвертая версия ушла далеко вперед. Она стала с одной стороны проще, но с другой стороны она стала функциональней. Чтобы создать свой продукт, вам потребуется несколько вещей:
  • Анриал Енджин;
  • Плагины;
  • Платформа для разработки;
Если хоть один из терминов для вас не известен, то вам однозначно потребуются еще и руководства с инструкциями. Благо, что они есть на русском, а вот самого инструмента на родном языке вам не найти. Либо же придется использовать переводы от сторонних разработчиков. Как вариант, вы можете обратиться за серией уроков на YouTube, и начать лучше всего с изучения интерфейса, в этом вам поможет следующий ролик:


Для работы вам также потребуется знать языки программирования. Вы можете работать как на Blueprint, так и на C++. Можно работать сразу на нескольких, но Блюпринт считается основным. Минус этого решения в том, что движок очень привередливый к вычислительным мощностям ПК, на котором вы создаете свои решения. Идеально, если у вас будет специальная платформа на Windows с мощным процессором, большим объемом оперативной памяти, а также несколькими видеокартами.

От средства разработки зависит и то, что вы в итоге получите, поэтому нельзя ошибиться с источником, и мы рекомендуем скачивать с официального сайта. Это бесплатно и безопасно. Этот же совет справедлив и для большинства другого софта, например, для