Какой игровой движок выбрать?
Всём привет! Меня зовут Дядиченко Григорий, и я CTO Foxsys. В разработке я порядка 8 лет, а занимаюсь игровой или AR/VR разработкой последние лет 6. Сразу скажу, что в данной статье нет простого ответа “этот игровой движок лучше”, и она не претендует на объективность. Я лишь расскажу мнение с точки зрения технического директора и человека за плечами которого порядка 40 коммерческих проектов. Если вам интересно — добро пожаловать под кат.
Как выбираются технологии для проекта?
Любой специалист высокого уровня знает, что не существует “лучшего языка программирования”, “лучшего фреймворка” и так далее. Но есть технологии, которые лучше всего под конкретику проекта. Вообще для каждого конкретного проекта в плане выбора технологий я бы порекомендовал дать это сделать экспертам, то есть техническим директорам. Потому что выбор технологии под конкретный проект требует очень широкой экспертизы и знание огромного количества контекста. В целом ошибка в выборе технологической базы чаще всего не смертельна и ведёт просто к дополнительным издержкам на реализацию проекта, но тем не менее.
В целом в выборе технологий со своей точки зрения я руководствуюсь двумя основными подходами: технологический и бизнесовый.
Под технологическим я подразумеваю какая технология лучше всего подходит под проект. Допустим на ней есть необходимые библиотеки, большая часть необходимого функционала готова из коробки, что технологически реализуемо и так далее.
Бизнес-часть принятия решения составляет из себя ответы на вопросы: “Насколько просто найти специалистов на рынке на данной технологии?”, “Какую технологию дороже поддерживать?”, “Какой экспертизой на данный момент обладает команда?” + возможности партнёрства и прочие бизнес-причины.
Продумав все вопросы выбор обычно сводится к достаточно небольшому списку технологий, подходов к разработке и фреймворков. То есть не существует ответа на вопрос “Какой игровой движок лучше?”, так как всё зависит от задачи и множества сопутствующих факторов.
Какой движок лучше выбрать новичку?
Конечно, с моим бекграундом в 6 лет Unity разработке можно было бы предположить, что выбор уже решён и что тут дальше читать то. Но мой ответ вас, возможно, удивит. На данный момент я считаю, что, если вы совсем новичок, ещё не погрузились ни в один движок и только начинаете свой путь лучшим выбором будет Unreal Engine. И пока сообщество не начало обвинять меня в предательстве я объясню свою точку зрения.
Я считаю, что эти движки в большинстве задач связанных с 3д графикой по сути идентичны. Чуть ниже я подробнее распишу почему. Мой выбор на данный момент связан не столько с технологическими причинами, сколько с работой компаний со своими комьюнити. И на данный момент я вижу в разы больше интересных программ, активностей, образовательных мероприятий и прочего со стороны Epic Games. На Unity, конечно, сидит почти весь мобильный геймдев, в 3 раза больше вакансий чем на UE и так далее. Но думаю, это со временем изменится. Да и 134 (на момент написания статьи) открытых позиций это немало. Современная разработка устроена так, что в целом вы можете учить что угодно, что вам больше нравится, и вы всегда найдёте себе работу. Поэтому это мнение на тему новичков, так как если вы выбрали для себя Unity — это отличный выбор. 6 лет работаю на Unity и горя не знаю. А вот для совсем новичков я вижу просто больше образовательных возможностей и интересного со стороны эпиков. Но всё может измениться.
С точки же зрения опытного разработчика в определённый момент конкретные технологии, фреймворки и языки — это вопрос вашего удобства. Перескочить на другую технологию для сеньора можно где-то за полгода, если он глубоко знает фундаментальные основы Computer Science. И смысла перепрофилироваться я тоже не вижу, потому что потребность в Unity специалистах большая, и движок отлично справляется со своими задачами.
На Unreal Engine лучше графика?
Небольшая оговорка. Всё что будет ниже не относится к новой технологии рендера, хотя пока по отзывам от знакомых UE разработчиков она работает не так красиво и хорошо, как хотелось бы.
Это чистой воды миф совершенно непонятно откуда взявшийся. В 3д графика движка настолько хороша, насколько хорош его свет и Post Processing. И с точки зрения что не особо напрягаясь и где можно накрутить, они для меня практически идентичны. Вот собственно наилучшее сравнение, которое я находил.
Что же лучше для проекта?
Всё всегда зависит от специалистов и бюджетов. И если мы берём среднебюджетный проект (коих сейчас большинство), то я вообще не вижу разницы между движками. Если мы берём аутсорс которым я занимаюсь, то вообще без разницы. В те бюджеты, которыми обладает средний проект у вас не будет даже возможности добраться до багов движков, до проблем с невозможностью что-то сделать, да и вы не будете этим заниматься. Любой эксперт при имеющемся бюджете знает, как сделать проект на технологии Х в этот бюджет качественно.
Единственное, хотя я немного не в контексте движка UE, но я бы его не стал бы брать для 2D проектов в принципе. Так как последние время Unity выпускает много крутых инструментов для 2D разработки. Поэтому мне кажется, что пока в этой области UE рассматривать нет особого смысла. Есть конечно менее популярные движки для этой задачи типа Defold или же Game Maker, но их я бы не стал брать по бизнес-причинам. Потому что я не уверен, что не столкнусь с проблемой того, что мне неоткуда будет расширять команду, так как специалистов на них днём с огнём не сыщешь.
И оба движка я бы в целом не рассматривал бы для web проектов. Если в UE я просто не знаю, что с поддержкой веба (может её там и нет) То с Unity прикол в двух основных проблемах. Первая, что там до сих пор нет поддержки мобильных браузеров. Да, на топовых телефонах оно даже как-то работает, но это очень рискованная затея брать технологию, которая официально не поддерживается для продакшен решения. А второе и самое главное — это время загрузки. Основной прикол веба в быстрой доставке контента до пользователей (помимо того, что там нет ограничений и правил сторов). Поэтому время загрузки Unity убивает эту фишку напрочь. Для веб проектов я чаще всего беру pixi.js, three.js, playcanvas и react. Что в этом списке забыл реакт? Это длинная история для другой статьи, если кому-то это интересно.
Собственно, по этим же причинам я для себя пока не вижу смысла переходить с Unity. За 40 коммерческих проектов разного масштаба я ни разу не упирался в стену, чтобы что-то было нереально сделать на Unity и реально на Unreal Engine. Плюс для меня, как для бывшего С++ разработчика (невысокого уровня) основным минусом UE является С++. C# как язык в разы приятнее. Кто знает undefined behavior и сложные утечки памяти, тот поймёт.
Опять-таки, если вы разбираетесь в компиляции, исполняемых средах и прочем, вы знаете, что на самом деле к любому движку можно прикрутить почти любой язык (а точнее его подмножество) Но это странно брать движок и писать для него библиотеки на языке не поддерживаемом этим движком. И тут мы переходим к последнему и самому спорному.
Открытые исходники — это хорошо?
Нет, нет и ещё раз нет. И в этом я довольно категоричен. Даже беря в работу Unreal Engine, я рассматриваю его как чёрный ящик. Потому что фреймворк берётся в работу не для того, чтобы поддерживать свою версию этого фреймворка. Наличие такой возможности для компаний, которые могут заниматься подобной деятельностью есть и в Unity, но вы никогда не хотите этим заниматься. И причин этого целая масса. Начиная от ада с конфликтами версий в случае необходимости переезда на новую версию. Движок берётся не для того, чтобы исправлять его баги. Безусловно важной является не открытость исходников, а возможность надстройки своей системы поверх движка. И этой возможностью обладают и юнити, и анреал. Открытость к расширению и закрытость к модификации так сказать. Потому что в этом случае обновляться можно спокойнее, хотя обновление — это всегда важный шаг в отношениях с любой технологией, и делать это надо крайне осторожно.
Подводя некий итог
Двигатель вашего инди проекта. Краткий обзор доступных игровых движков
Как известно создание игр не самое простоё занятие. Чем больше мы узнаем об этом процессе, тем более невозможным кажется то, что это работает.
«Самый полезный найденный мною способ — подумать об игре как о психически больном пациенте. Она полностью потеряла разум, поэтому каждая написанная вами инструкция будет исполнена, как какая-то нелепая чушь.» Том Фрэнсис, создатель Gunpoint.
1. GameMaker Studio 2.
Марк Эссен, создатель Nidhogg 1 и 2, сказал, что GameMaker отлично подходит начинающим, потому что имеет открытые сценарии и огромное количество документации, что позволяет новичкам быстро освоиться. Алекс Престон, создатель Hyper Light Drifter, сказал, что большое сообщество GameMaker — это огромное преимущество. Молодые разработчики должны искать лучшее места, где можно получить помощь сообщества, и использовать лучшие приемы для достижения целей.
GameMaker очень прост в своем коде, поэтому вы можете быстро запутаться в проекте. На начальных этапах можно очень быстро выполнять итерации и сосредоточиться на дизайне игры, но, если не придерживаться каких-то личных организационных стандартов, вы увидите плохую сторону создания игр в GameMaker. Дункан Драммонд, создатель по истине превосходного проекта Risk of Rain, отметил, что простота платформы может обернуться проблемами для разработчиков. Вы с легкостью можете разработать игру, но если делаете это неправильно, то очень быстро потеряете производительность.
GameMaker не лучший выбор, если вы хотите в будущем перейти на другой движок, такой как Unity.
Лучший способ учиться — удалять свою работу и начинать все сначала. Так вы сможете прокачать свои дизайнерские навыки. Чтобы научиться разрабатывать игры, нужно просто начать. Работайте, даже если получается плохо, старайтесь получить как можно больше помощи. Помните, чем больше ошибок вы совершаете, тем большему учитесь.
2. Unity
В магазине Unity есть множество дополнений, которые сделают разработку 2D игр на этом движке еще удобнее. Вы можете использовать такие инструменты, как Corgi Engine и Rex Engine, предлагающие готовые физики и управления.
Даже если вы привыкли делать иры старомодным способом, Unity сможет заинтересовать вас. С его помощью можно быстро создать концепцию и прототип игры. В индустрии разработки игр используется много как простых, так и сложных движков. Unity, безусловно, является одним из лучших движков и позволяет достигнуть высокой производительности разработки. Его можно использовать как для создания маленьких игр, так и в ААА проекте.
Даже этот движок имеет свои минусы. Если вы сталкиваетесь с каким-то багом, то полностью зависите от разработчика движка. Ведь вам придется ждать, пока разработчик исправит проблему, ведь проект имеет закрытый исходный код. Редактор и отладчик далеко не всегда стабильны, хотя разработчики публично заявляли, что исправление таких ошибок — первая строчка в их приоритетах.
Не всегда все зависит лишь от умения делать что-то. Важно поставить правильную цель и найти способ ее достигнуть. Даже если у вас не хватает знаний, чтобы сейчас создать игру на Unity, просто поставьте себе цель.
3. Ren’Py
Ren’Py — это кроссплатформенный движок, который открывает большие возможности для разработчиков. Он удобен для новичков, но требует некоторых навыков редактирования файлов сценариев. Да, вы не сможете просто перетаскивать мышью нужные вам вещи, но писать код — это не страшно. Этот движок позволяет решить главную проблему начинающего разработчика — страх начать. Быстрая и удобная разработка поможет вам создать вашу первую игру. Даже если в будущем вы хотите написать что-то отличное от романа, Ren’Py даст вам полезный опыт. Когда в игру, созданную вами, играют другие люди, меняется отношение к себе и своим способностям.
Движок несколько ограничен в поддержке графических и механических функций. Очень проблематично создать игру с 3D или Live2D, вы столкнетесь с огромным количеством проблем, поэтому если именно это ваше цель, выберите другую платформу.
4. Ink
Написать подробный сценарий и систему разветвленных диалогов очень сложно. Ink помогает не запутаться и серьезно упрощает жизнь разработчику. Ink будет интересен тем, кто больше интересуется написанием историй для игр, чем чистым программированием.
Использовать ink как самостоятельный полноценный движок очень сложно, поэтому большинство разработчиков расценивают его, как дополнение к своему проекту.
Unity — самый популярный игровой движок? Обзор движков, на которых делают игры для Steam
Какие движки наиболее популярны в 2021 году — да и вообще в последнее десятилетие? Очевидно, по всем параметрам лидирует Unity. Unreal, в свою очередь, — пожалуй, наиболее очевидный выбор для AAA. О таких выводах догадаться несложно, даже не имея на руках никаких численных данных. Но что, если все-таки попытаться их собрать?
Сайт gamedatacrunch.com максимально приблизился к реализации этой задачи, и его основатель Ларс Дусе на днях выкатил анализ движков paid-игр в Steam, выпущенных с 2010 года. В этой статье по нему мы тоже пройдемся, но и вспомним о том, какие еще движки сейчас в обиходе (и не только в Steam).
Итак, самый популярный движок не только в мобильной игровой разработке (где он занимает более 50% рынка), но и на Steam для ПК — Unity. Здесь никакой интриги нет, это видно и из диаграммы ниже, на которой показана популярность игровых движков в Steam по годам, начиная с 2010. Как мы видим, Unity действительно является доминирующим движком, начиная с 2016 года. Статистика эта все еще не безукоризненно точная (Unknown — игры, движки которых не удалось идентифицировать), но в определенной степени на нее можно полагаться.
Почти то же самое, но в виде круговой диаграммы:
Какие движки мы вообще здесь видим?
Из минусов? Да, движок довольно прост в освоении, но если вы хотите создавать что-то сложнее примитивных платформеров, то вам понадобится хорошее знание C# для написания скриптов и объектов и последующего внедрения их в игру. Также нужно понимать, что Unity — уже довольно старый движок, поэтому в нем есть свои особенности и артефакты, а вместе с тем — порядочная медлительность и необходимость допиливать некоторые инструменты своими силами. Например, игры, использующие uNet для работы в сети, вскоре должны будут поддерживать инфраструктуру самостоятельно, поскольку поддержка этого инструмента постепенно прекращается.
Fall Guys: Ultimate Knockout
Escape from Tarkov
Ori and the Blind Forest
Unreal Engine (Epic Games). Названный в честь игры 1998 года, в которой он и был впервые использован, Unreal Engine с годами все больше снижал лицензионные сборы и требования к revenue, так что теперь доступен практически для каждого, кто хочет создавать на нем игры. Тем не менее, чаще он используется все-таки для AAA-проектов.
В нем заложен практически тот же инструментарий, что и в Unity: работа с физикой, 3D-графикой и не только, — но существуют и некоторые другие решения, способные склонить разработчиков в его пользу. Впрочем, для всего этого уже требуется определенный уровень скиллов. Это мощный движок для создания высокореалистичных игр «из коробки», поддерживающий быстрое прототипирование и визуализированный кодинг, а также имеющий обширную кастомизацию. Его широко используют не только в ПК, консольной и мобильной игровой разработке, но и вне геймдева: например, в кино (один из наиболее ярких и свежих тому примеров — сериал «Мандалорец»), архитектуре и автомобильной промышленности.
Final Fantasy VII Remake
Star Wars Jedi: Fallen Order
GameMaker Studio (YoYo Games). Выпущенный в 1999 году, GameMaker ориентирован на начинающих разработчиков и обладает интуитивно понятным Drag & Drop: для его использования нет необходимости написания каких-либо скриптов и тонн кода, как и вообще знания языков программирования. Готовую игру можно сразу экспортировать в Steam.
В нем нет таких возможностей для работы с 3D, как в Unity и Unreal: вместо этого он фокусируется на 2D-играх. Другой недостаток — высокая цена при работе с несколькими платформами. Но если вы готовы заплатить за покупку нескольких лицензий, то GameMaker Studio 2 может оказаться неплохим решением для кроссплатформенной игровой разработки.
Hyper Light Drifter
Ren’Py (Tom «PyTom» Rothamel). Запущенный в 2004 году под лицензией Массачусетского технологического института (MIT), Ren’Py (от англ. Ren’ai (恋愛) — «романтическая любовь» по-японски, и Python, на котором он построен) — это кроссплатформенный бесплатный движок с открытым исходным кодом для создания визуальных новелл с более чем 450 играми в Steam и более 4800 в целом. Как конструктор типичного представителя жанра, движок интуитивно понятен для любого пользователя, но для создания более сложных игр требует уже знания Python.
Ladykiller in a Bind
Long Live the Queen
Analogue: A Hate Story
RPGMaker. Самый старый из этого списка, разработанный аж в 1992 году, RPG Maker представляет собой скорее серию связанных движков, ориентированных на создание JRPG (японских ролевых игр). У него было несколько издателей на протяжении многих лет в разных странах, включая неавторизованные локализации. Прост в освоении даже новичками, не требует знания языков программирования и в целом представляет собой скорее конструктор для создания игр определенного жанра, благодаря чему и пользуется особой популярностью.
Adobe AIR (раньше Adobe, с 2020 года — Harman International). Adobe Integrated Runtime (AIR) вышел в 2008 году и позволил разработчикам Flash/ActionScript перенести на ПК написанные на различных языках программирования web-приложения, не требуя их запуска через браузер, так что многие из самых популярных игр Steam являются адаптациями браузерных игр на Flash. Это кроссплатформенная среда, позволяющая небольшими усилиями создавать билды для Windows, OS X, Linux, QNX и Android.
The Henry Stickmin Collection
OGRE. Объектно-ориентированный графический движок с открытым исходным кодом, на котором базировался Roblox вплоть до 2014 года. Имеет неплохие возможности, такие как поддержка OpenGL и Direct3D, совместимость с платформами Windows, Linux, Mac OS X и iOS, программирование GPU и шейдеров на ассемблере и языках высокого уровня, и многое другое. Это не игровой движок как таковой — это графический движок для рендеринга трехмерной графики. В нем нет встроенной поддержки сети, звука и многих других функций, но есть портированные под движок библиотеки, расширяющие его функционал: PhysX SDK, OpenGUI и другие.
Rebel Galaxy Outlaw
MonoGame. Не столько игровой движок, сколько реализация все того же фреймворка Microsoft XNA c открытым кодом, который широко используется инди-разработчиками для кросс-платформенной разработки. Включает в себя редактор среды, графический пользовательский интерфейс, систему частиц, физику и многое другое. Отличается большой гибкостью, так что часто выступает в качестве основы для других игровых движков.
KiriKiri (w.dee). Еще один «классический» японский движок-конструктор для создания визуальных новелл, JS-ориентированный и с встроенным Drag & Drop. С 2013 года реинкарнировал в KiriKiri Z.
И другие
CryEngine (Crytek). На самом деле, согласно другим данным по Steam, CryEngine тоже занимает на этой платформе далеко не последнее место. Как и Unreal Engine, CryEngine тоже нацелен на AAA-сегмент, но, в отличие от него, имеет меньше обучающих материалов, в целом сложнее для изучения, да и комьюнити не такое дружественное, как у соперников. Это кроссплатформенный движок, заточенный больше всего на создание фотореалистичных шутеров от первого лица: в комплекте с базовой версией движка даже идет GameSDK — полноценный шутер, который можно адаптировать под ваши нужды. Впрочем, мобильные платформы и портативные консоли в его кроссплатформенность не входят.
Впоследствии лег в основу Amazon Lumberyard. С выпуском в 2016 году CryEngine V перешел на модель распространения «плати сколько хочешь».
Kingdom Come: Deliverance
Sniper Ghost Warrior
Amazon Lumberyard (Amazon). Бесплатный кросс-платформенный движок класса AAA, разрабатываемый Amazon с 2016 года. В его основу легла архитектура CryEngine. Хороший выбор не только для AAA-сегмента, но и для старт-апов и инди-студий. Как минимум, о многом говорит то, что Star Citizen перешла именно на него.
Тем не менее, страдает движок от тех же недостатков, что и CryEngine: небольшое комьюнити, мало материалов, меньший уровень надежности, чем у более популярных конкурентов.
Godot (MIT). Довольно новое решение в экосистеме игровых движков, но имеющее ряд интересных особенностей. И пусть пока Godot не может похвастаться какими-то особыми игровыми хитами, он обладает всеми возможностями передовых движков — при этом он полностью бесплатный, с открытым исходным кодом и довольно легок в освоении. Тем более, вокруг него уже собралось крепкое комьюнити и существует довольно много полезных инструментов.
Godot поддерживает несколько языков программирования: C#, C++, GDScript, основанный на Python, и язык визуального программирования. Все игровые ресурсы хранятся в папке проекта в виде обычных файлов, что во многом упрощает работу с системой управления версиями для разработчиков. Из минусов: пожалуй, можно отметить, что он даже слишком заточен на новичков.
Carol Reed Mysteries
1000 Days To Escape
Здесь мы сосредоточились на игровых движках, наиболее популярных в Steam, но список существующих движков непрерывно растет. Многие крупные игроки на рынке геймдева пользуются собственными движками: Electronic Arts — Frostbite, CD Projekt RED — REDengine, Remedy Entertainment — Northlight. Одни движки уходят, на смену им набирают популярность другие, разрабатываемые как компаниями, так и независимыми разработчиками на коленке, на основе старых и с нуля.
Выбор движка для первой игры
Разбор технологий и платформ — первая статья из цикла о разработке.
Автор: Антон Григорьев. Первую игру написал самостоятельно ещё в школе, а на 4-м курсе устроился на позицию джуниор-разработчика. В Pixonic работает заместителем технического директора и руководит отделом клиентской разработки. Отвечает за запуск новых проектов, обучение и внедрение новых технологий. Говорит на пяти языках, а программирует на десяти.
Когда вместе с vc.ru мы запускали проект «Пора создать свою первую игру», то не ожидали увидеть так много крутых работ в первом конкурсе. После цикла «Геймдизайн» нас завалили концептами с продуманными идеями, геймплеем, метой. С таким уровнем можно смело переходить к прототипированию на движке и тестированию конкретных механик.
За несколько недель мы:
Эта статья — первая из нового цикла «Разработка», где мы будем учиться делать цифровые прототипы, выбирать движок, заполнять пробелы в кодинге с помощью обучающих материалов и не только. В конце снова разыграем крутые призы, а главным станет вышедший недавно бандл PS4 Pro Spider-Man Limited Edition. Поехали.
Разработка игр для смартфонов, ПК и консолей значительно отличается. Хотя бы потому, что у них разные технические характеристики, устройства ввода/вывода и способы распространения продукта. Сразу сделать одну игру на несколько платформ не получится, но об этом мы еще поговорим. А пока рассмотрим особенности каждой из платформ и перейдем к движкам.
Если в планах кроссплатформенная игра, то нужно учитывать все особенности. Но быстро переделать интерфейс или способ ввода на новую платформу в большинстве случаев не получится.
Совет для начинающих:
Сначала поговорим про «взрослые» движки. Они позволяют разрабатывать под несколько платформ сразу, кроме того, у них есть очень много полезных инструментов. Пугаться и начинать с более простых не стоит — список составлен с учетом доступности для новичков, количества обучающих материалов в открытом доступе, наличия хороших вышедших игр на движке и цены.
Один из самых популярных движков на сегодня.
Платформы: мобильные устройства, ПК, Mac, Linux, консоли, Facebook, WebGl, VR и другие.
Unity идеально подходит для разработки под мобильные устройства (но не только). На нём сделаны Angry Birds 2, Hitman Go, Heartstone, Monument Valley, Fallout Shelter, Ori and the Blind Forest, Pillars of Eternity, Firewatch, Inside, Pokémon Go, Super Mario Run, Cuphead, Escape from Tarkov, Life Is Strange: Before the Storm и множество других популярных игр.
В Unity можно спокойно разрабатывать как 2D, так и 3D-проекты. В Asset Store есть много готовых платных и бесплатных решений: модели, текстуры, анимации и полноценные проекты. Например, шутер про зомби. Очень много обучающих материалов как от самих Unity, так и от энтузиастов на YouTube (подробнее расскажем в следующем материале цикла). Плюс множество плагинов для рекламы и внутриигровых покупок.
Язык программирования: C #, по сравнению c С++ у него меньше возможностей выстрелить себе в колено, в частности, это касается работы с памятью. Также поддерживается JavaScript, который на самом деле UnityScript. Если писать код совсем лень или нет навыков, есть плагины, которые позволяют делать игры без написания кода, например, Playmaker. Правда, за него придется выложить 45 долларов.
Кто-то ругает Unity за графику, но на самом деле графику можно сделать красивой на любом движке, просто в Unity она по умолчанию средняя. В последней версии движка появился новый Rendering Pipeline, и с ним вполне можно делать графику на уровне топовых AAA-проектов.
Очень продвинутый движок, сообщество которого в последнее время быстро растет, чему способствует компания-разработчик Epic Games. По Unreal Engine проводятся митапы, стримы, а в этом году прошла первая конференция, посвященная разработке на Unreal.
Платформы: движок в первую очередь для тех, кто хочет делать проекты с крутой графикой на ПК и консолях. Для мобильных устройств тоже подходит, но пока популярных мобильных игр на Unreal Engine немного: Fortnite и PUBG. Ещё на нём сделаны серия Infinity Blade, Batman: Arkham Knight и Life is Strange.
Язык разработки: C++. Кого-то это может отпугнуть, но есть решение — блюпринты. С их помощью теоретически можно разработать игру, не написав ни строчки кода. На практике — это очень полезно для быстрой разработки прототипов. Также есть магазин ассетов Unreal Engine Marketplace, где можно скачать готовые модели, звуки и полноценные проекты.
Злые языки говорят, что Unreal Engine превосходит Unity по графике. На самом деле это просто разные движки. Хотя частицы и пост-эффекты в Unreal Engine по умолчанию всё же красивее.
Стал известным после выхода Crysis — прорывной для своего времени игры. На нём вышло очень много крутых больших игр: первый Far Cry, MechWarrior Online, Sniper: Ghost Warrior 3, Armored Warfare, Homefront: The Revolution, Prey 2017-го года.
Платформы: ПК, консоли и VR. Официальной поддержки мобильных устройств нет, но по слухам разрабатывать можно.
Код движка можно модифицировать, что приносит как радость, так и боль. Я сам работал с CryEngine 2 — много модифицировали движок, исправляли баги, а когда попытались перейти на CryEngine 3 — потратили месяц и в итоге вернулись на предыдущую версию, так и не справившись с некоторыми проблемами.
Язык разработки: C++. Совсем недавно появился Marketplace с ассетами.
Молодой и бесплатный движок с открытым исходным кодом от Amazon на основе CryEngine для разработки игр AAA-класса. Главная особенность — встроенная поддержка сервисов от Amazon, например, AWS и Twitch.
Платформы: Windows, PlayStation 4, Xbox One, iOS, Android, VR (Oculus Rift, HTC Vive).
Серьезных проектов на Lumberyard в разработке пока можно пересчитать по пальцам, а выпущенных проектов нет вообще.
Стоимость движка: бесплатный, но за поддержку сервисов Amazon придётся заплатить.
В последнее время среди разработчиков игр для Web набирают популярность HTML5-движки. В их основе лежит WebGL, WebAudio и JavaScript. Самые популярные движки: Phaser и Turbulenz.
Отлично поддерживается создателями. Полезных фич много: спрайтовая графика, анимации, система частиц, 2D-физика, загрузка ресурсов одной строчкой кода, поддержка нескольких камер. Плюс поддержка мобильных браузеров и система плагинов для расширения функциий движка.
Лучше всего подходит для простеньких браузерных 2D-игр (match-3, hidden object, гонки).
Платформы: ПК, iOS, Android.
Этот движок уже поддерживает 3D-графику с динамическим освещением, физику, обрабатываемую в реальном времени и мультиплеер с присоединением к игре в один клик по ссылке и интеграции с соцсетями. Но игр на Turbulenz пока немного.
Платформы: Web, ПК и PlayStation 4.
Есть и нишевые движки для визуальных новелл, головоломок, RPG старой школы и других 2D-игр. Например, Corona SDK, GameSalad, Cocos2d, Game Maker. В Википедии есть большой список игровых движков, но перечисленных выше должно быть достаточно.
Мы в компании считаем, что для новичков лучше всего подходит Unity. По нему очень много подробных обучающих материалов, простейшую игру можно сделать за день (умелец запилит Flappy Bird за пару часов), легко деплоить на девайсы. Мы сами используем Unity для разработки игр и прототипов, поэтому в следующих материалах цикла «Разработка» будем больше акцентировать внимание именно на этом движке.
В следующей статье рассмотрим источники обучающих материалов для разработки 2D-игр.




