Сравнение игровых движков. Какой выбрать?

Каждый год игровая индустрия развивается с невероятной скоростью. Совсем недавно люди удивлялись 8-битной игрушке, а сейчас уже одевают VR системы и радуются полному погружению в игру. У многих начинающих разработчиков возникает вопрос: “А какой игровой движок лучше?” На данный момент существует огромное количество игровых движков, от GameMaker, Marmelade до Unity и Unreal Engine, а связано это с тем, что компаниям легче было написать свой движок, который будет удовлетворять всем требованиям, нежели использовать чуждый им игровой движок, изучать его интерфейс, его язык программирования и т.д. Но сейчас игровые движки эволюционировали, и многие инди-разработчики выбирают тот или иной движок, дабы сохранить кучу времени и денег. В нашей статье мы попытаемся дать развернутый ответ на данный вопрос. 

Итак, чтобы изучать какой-либо игровой движок, нужно понять, а чем вообще ваша команда будет заниматься? Развлекаться и создавать игры для друзей, пилить инди-игры для мобильных устройств или создать огромнейшие ААА-проекты? Если вы выбрали первый вариант, то тут вы спокойно можете брать абсолютно любой игровой движок, например: Unity, Marmelade, GameMaker. GameMaker, кстати, больше всего подходит для таких целей. А если вы выбрали второй или третий вариант, тогда нужно хорошенько разобраться в каждой игровой движке.

Сразу стоит отметить, что все документации по игровым движкам на английском языке. Даже тот же Unity и Unreal Engine перевели только основы к своим движкам, все остальное на английском. И да, официальной документации будет не хватать, когда вы столкнетесь со своей первой проблемой. Нужно будет обращаться за помощью на форумы, где коммьюнити совсем не русскоговорящее, или читать книжки, но только на английском. Итак, приступим к описанию игровых движков.

Unity3D

Unity - игровой движок для разработки двухмерных и трехмерных приложений и игр под различные платформы, такие как: Windows, OS X, Windows Phone, Android, Apple iOS, Linux, Wii, PlayStation 3, PlayStation 4, Xbox 360, Xbox One. Также можно попытаться сделать игру под Web Player, но его уже редко используют, так что из списка вычеркиваем. Xbox 360, как и PlayStation 3, тоже можно вполне вычеркнуть, так как эти старушки уже не потянут мощные проекты, а на инди игрушки на Xbox 360 и PS3 спрос невелик. Unity очень тесно сотрудничают с Oculus, Apple и рядом других компаний, поэтому быть Unity Developer очень престижно. 

К интерфейсу Unity привыкаешь за неделю. Полностью осваиваешь движок примерно за 0,5-1 год. Единственное, что мешает в Unity, так это очень странное приближение к объекту.  Скроллинг мышью позволяет то сильно быстро отдаляться от объекта, то слишком медленно приближаться, что не очень хорошо. Это, конечно, не проблема, если клацать 2 раза по нужному объекту в Hierarchy, но если нужна точность фокусировки, то, уж извините, в Unity пока с этим проблемы. Вообще Unity разбит на несколько окошек: Hierarchy, где вы можете наблюдать названия объектов на сцене, группировать их, Scene, Inspector ( настройки выделенного объекта ), Project, где видны все материалы проекта, ToolBar, т.е. меню с инструментами.
Расчеты физики производит NVIDIA PhysX. Этот физический движок способен на многое. В видео представлена технология NVIDIA PhysX Flux.

Unity можно скачать абсолютно бесплатно. Эта версия не будет демо-версией или на определенное время, с ее помощью вы сможете создать свой собственный проект. Только выставить платным наше творение в маркет нельзя, придется ставить рекламу в приложение или игру. Если доходы будут больше 100.000$, то необходимо будет купить PRO версию за 3000$ или 75$/месяц. С одной стороны это грамотный шаг, чтобы разработчики получали нормальный доход, а с другой стороны - как-то странно. Epic Games, в отличие от Unity, заявили, что если вам что-то нравится, set it free, т.е. одним из мощнейших движков можно теперь пользоваться бесплатно! Единственное - делиться 5% от продажи копии игры. Это разумнее, чем столько заморочек с Unity, да Epic Games не останавливает удивлять, если вы нуждаетесь в средствах, то Epic Games предоставит вам 5000$ для выпуска вашего проекта в массы.
Unity 5 использует C# и JavaScript. С этими языками особых проблем в Unity не встечал. Раньше Unity 4 использовал Boo, но, как вы уже догадались, никто им не пользовался, поэтому команда разработчиков убрала этот язык из 5-ки.
На данный момент Unity имеет самое большое коммьюнити. В российском сегменте unity является самым популярным. По данным из интернета, Unity используют более 50% разработчиков. И всё больше разработчиков покидают старые игровые движки и переходят пилить игры в Unity.  Давайте будем честными, в Unity более 60% - это начинающие программисты, которые не выпустили ещё ни одной игры. 20% людей повелись на рекламу в сообществах ВК, 10% людей изучили интерфейс Unity и пошли делать очередной “урок” на YouTube, а вот остальные 10% - это те самые Unity Developers, которые по-настоящему верстают игры.

Unity имеет очень мощный магазин Unity Asset Store ( только из-за этого магазина можно спокойно выбирать Unity ) Здесь есть абсолютно все: от текстур и 3D моделей до готовых проектов. Такой огромный ассортимент ни у одного конкурента не найти. Магазин Asset Store выдвигает Unity в лидеры. Теперь о билдах: 
Unity очень быстро билдит сцены. Если вам нужно будет быстро протестить тот или иной момент в игре, а в окне Scene это не всегда удобно, то смело билдим, и через 1-2 минуты у нас готовая папка с exe’шником внутри. Что же касается оптимизации, то в Unity не лучшая оптимизация под PC и Mac. ААА-проекты, вроде Mortal Kombat X, Tom Clansy: The Division лучше не пробовать создавать на Unity. Все-таки данный движок создан для инди-проектов, а не для жестоких стрелялок. Тот же самый Rust, The Forest, если бы они были сделаны на Unreal Engine, то они были бы более детализированней с той же производительностью. Создавать фильмы или кат-сцены лучше в другом редакторе, Unity потребует очень мощный ПК.
В Unity3d есть ряд проблем. Во-первых, в Unity 5 странный мультиплеер. Например, в The Forest до сих пор не допиленный мультиплеер, а связано это с тем, что настраивается он очень не просто. Есть и хороший пример - это HeartStone. Во-вторых, бесплатная версия не позволяет выложить проект под все платформы, нужно будет брать Full Version за 75$/Month или 3000$. В-третьих, ограниченный набор инструментов. Вам придется создавать некоторые дополнения к движку. Или докупать в Asset Store.

CryEngine 3

CryEngine 3 - игровой движок, разработанный компанией Crytek. CryEngine, в отличие от других игровых движков, нацелен на создание игр для PC и консолей. Crytek сделали очень мощный движок, который выдает лучшую графику из всех движков, которые есть в нашем списке. Здесь есть и динамический свет, и затенение и затуманивание в реальном времени, и управление уровнем детализации ландшафта. Если вам нужна внешняя составляющая вашей игры, то CryEngine сделает это лучше всех. Лица и персонажи в CryEngine получаются по-настоящему захватывающими. А вот несколько примеров игр, сделанных на CryEngine: Crysis, Far Cry, Warface, Star Citizen, Ryse: Son of Rome, Homefront: The Revolution, Evolve, Проект Армата, Kingdom Come: Deliverance.

Unreal Engine 4

Unreal Engine 4 - игровой движок, созданный Epic Games. Unreal Engine 4 - самый популярный игровой движок для создания фильмов и ААА-проектов. Данный движок обладает высокими графическими возможностями. С Unreal Engine 4 можно разрабатывать игры под PC, Mac, консоли, IOS, Android, Windows Phone. В отличие от Unity, UE4 имеет мощный инструмент для дизайна игровых уровней прямо в движке, невероятно удобную систему Blueprint, не имеющую аналогов, красивый дизайн самого движка, интуитивность в использовании и много других вкусняшек. Из всех игровых движков, Unreal Engine 4 является самым инновационным. Он сочетает в себе высокую производительность при билде, лучшую графику, простой язык программирования ( не C#, но все-таки) и удобность в использовании. Есть очень мощное коммьюнити, помогающее решить все проблемы. Epic Games раздает UE4 абсолютно бесплатно, весь исходный код открыт, а все, чем мы должны отблагодарить Epic Games, так это 5% с продажи одной копии. Если вы собрались делать фильм, то платить и вовсе не нужно. Команда Epic тесно сотрудничает с разработчиками VR технологий, а значит, что уже сейчас можно создавать игры под PlayStation VR, Oculus и т.д.

На сайте Unreal Engine есть тонны документации. Также есть раздел для тех, кто перешел с Unity3d. В российском сегменте есть множество форумов и ВК-групп, в которых вам с радостью готовы помочь. На YouTube есть куева туча различных видео, где молодые геймдеверы расскажут вам об интерфейсе, азах скриптинга, правильном билде и т.д. Магазин в Unreal Engine, честно говоря, отстает от конкурентов. Если вам нужны 3D модели или готовые сцены, то лучше поискать их в интернете, нежели покупать ассет в их маркете. Во-первых, здесь слишком мало контента, во-вторых, цены здесь баснословные, кусающиеся. Как я говорил ранее, Unity Asset Store пока лидирует, и Epic Games есть к чему стремиться.

На Unreal Engine 4 было сделано огромное количество ААА-проектов, таких как: Mortal Kombat X, Dead Island 2, Smite, Paragon, Infinity Blade.

Cocos2D

Cocos2d - фреймворк для создания приложений и игр под IOS, Android, Windows Phone. Движок полностью бесплатный, есть множество ответвлений: Cocos2d-ObjC, Cocos2d-x, Cocos2d-html5 и Cocos2d-XNA. Чаще всего гейм девелоперы используют Cocos2d для создания игр под IOS. Движок имеет высокую адаптивность, прекрасно приспособлен для начинающих разработчиков. Если вы собираетесь создавать 2D игру, то лучше, чем Cocos2d не найдете. По производительности он обыгрывает Unity, но дизайн самого Cocos2d хуже конкурента. 

Cocos2D может похвастаться такими проектами: Badland, Antutu Benchmark, Clash of Kings и т.д.

Rage Engine

Последнее, что мы хотели сегодня рассмотреть, так это Rage Engine. Rage - игровой движок, разработанный Rockstar. Кстати, Rage - Rockstar Advanced Game Engine. Rage Engine предоставляет широкий спектр возможностей, включая в себя графический, физический, звуковой и анимационный движки, ИИ, работу с сетью и т.д. Многие годы Rockstar добивался, чтобы машина в игре вела себя также, как и наяву. Сейчас система учитывает вес машины, силу  сцепления шин с поверхностью и прочие характеристики. Также они уделили внимание бесшовному открытому миру, рендер местности происходит очень быстро: некоторые объекты удаляются со сцены, некоторые добавляются, а происходит это все за доли секунды. Физика человека и ИИ в Rage Engine считаются очень продвинутыми. Rockstar купила Euphoria - программный компонент, который создает анимации “на лету”. В той же самой Grand Theft Auto 5 использовался этот элемент и именно из-за него Майкл, Тревор, Франклин получились такими живыми.

Следующий пост