Содержание статьи
Несмотря на кажущуюся стабильность, со времени предыдущего обзора ситуация на игровом рынке довольно ощутимо изменилась. Геймеры постоянно хотят чего-нибудь новенького, а инди-нишу, которая два-три года назад была настоящим трендом (вспомни хотя бы Minecraft и Super Meat Boy), сейчас активно поддавливают слоны вроде Electronic Arts, Ubisoft и Microsoft. И все-таки, хоть на отрасль и наступают гранды индустрии, а интерес пользователей к мобильным играм снижается (надеюсь, временно), на этом поприще все еще можно заработать. А чтобы заработать, нужно досконально знать доступный игровому кодеру инструментарий. О самых последних изменениях в популярных графических движках я и расскажу тебе в этой статье.
Куда податься indie-разработчику
Средний мобильный геймер становится все более ленивым, и все чаще он выбирает себе игрушку строго из списка «top платных/бесплатных программ» в соответствующем его платформе маркете. Скроллить дальше ему не очень хочется, поэтому выход у нас один — попасть в верхние строчки рейтингов. А для этого нужно использовать либо тайную магию и везение, либо то же самое плюс новые перспективные технологии. В частности, виртуальную и дополненную реальности, которые обещают самое бурное развитие — например, благодаря доступным смартфонам с высоким разрешением и очкам виртуальной реальности, куда эти смартфоны вставляются. В двух предыдущих статьях мы много говорили об этих технологиях, поэтому здесь повторяться не будем. Самое главное, что совсем недавно в передовые игровые движки была добавлена поддержка этой технологии. Настал черед игроделов. И игроделы не спят — в конце августа в магазине для шлема дополненной реальности Microsoft HoloLens появился первый проект Land of Dinosaurs. Примечательно, что разработан он небольшой российской студией Zengalt, зарегистрированной в США, поскольку HoloLens пока можно купить только в США и Канаде.
Меж тем на сцену возвращаются и «большие игры»: от синглплеерных шутеров и гонок до MMO-стратегий и ролевок. Но это должны быть игры с улучшенными компонентами: продвинутой графикой, клевым музоном, захватывающим геймплеем, сногсшибательными механиками — короче, ты меня понял: все должно быть круче, чем в первой волне. Наша индустрия развивается по спирали.
Unity 3D
Сайт: http://unity3d.com
Разработчик: Unity Technologies
Последняя версия на момент написания статьи: 5.4.0 (30 августа стала доступна версия 5.5 beta)
Порог вхождения: низкий
Цена: Personal — free, Plus — 35 долларов за рабочее место в месяц, Pro — 125 долларов за рабочее место в месяц, Enterprise — по договоренности
Исходный код: закрытый
Платформы для использования: Windows, macOS
Благодаря низкому порогу вхождения, удобству использования и правильной рекламе это, несомненно, самый популярный движок в индустрии. За последние три года он вырос в еще более мощную платформу для создания игр. Unity содержит в себе все мыслимые инструменты, помогающие в разработке игровых приложений.
Среди лицензиатов присутствуют как небольшие и еще пока никому не известные инди-команды, так и огромные разработчики — Microsoft, EA, Zynga, Frima и другие. Кроме того, Unity Technologies сотрудничает с Sony, Qualcomm, Nintendo, Oculus, Samsung и прочими.
С помощью Unity 3D можно создавать и трехмерные, и двумерные игры на Windows PC, Mac. В версии 5.4 движка наконец-то появилась поддержка DirectX 12, что открыло твоим играм двери в Windows 10 Store. Но в таком случае тебе понадобится соответствующая видюха. В Unity есть специальные редакторы анимации, звука, освещения и прочего. Из пятой версии движка за ненадобностью был исключен скриптовый язык Boo.
Одна из самых замечательных возможностей Unity 3D — это экспортирование игры для любой из 21 поддерживаемой платформы, среди них: iOS, Android, Windows 8 Store, Windows 10 Store, macOS, PS3, PS4, Xbox 360, Xbox One, Wii U, Oculus Rift, Gear VR, PlayStation VR, Samsung Smart TV. Из этого списка видно, что поддерживаются не только десктопы, мобильники, консоли и браузерки, но и умные телевизоры и шлемы виртуальной реальности.
Unity 3D одним из первых среди движков обзавелся поддержкой очков виртуальной реальности Oculus Rift. А в бета-версию 5.4 движка была добавлена и поддержка Microsoft HoloLens.
Все экспортеры бесплатны, но для каждой платформы понадобится свой SDK, а для консолей он покупается по договоренности у платформодержателя. Для мобильных платформ Unity проведет глубокую оптимизацию, куда входят удаление скрытых частей, балансировка теней, группировка ресурсов и сокращение размера сборки.
Плюс к этому сборку проекта можно выполнять в облаке. На сайте Unity имеется сервис Unity Cloud Build, к которому можно подключить репозиторий с материалами игры, и сервис будет автоматически компилировать, разворачивать и тестировать твою игру. Каждый участник разработки сможет получить самый свежий билд. Процесс разработки ускоряется. У Unity Cloud Build так же, как у движка, есть несколько видов лицензий, можно бесплатно использовать в ограниченном режиме, а можно оплатить лицензию и юзать облако на все сто.
Не только игры. Не только компьютерные
Помимо всего прочего, Unity используется для разработки азартных игр под игровые автоматы для казино и прочих увеселительных заведений. В этом направлении компания работает с 1991 года. Вдобавок возможности Unity применяются для визуализации в архитектурной, инженерной и строительной отраслях.
Unity отличает также огромное сообщество и колоссальный магазин компонентов для движка — Asset Store, продающий элементы для игр: модели, текстуры, скрипты, редакторы, инструменты, серверные подсистемы и другой стафф. Все это создают пользователи движка — участники сообщества.
Torque 2D
Сайт: http://garagegames.com
Разработчик: GarageGames
Последняя версия на момент написания статьи: Torque 2D 3.3
Порог вхождения: средний
Цена: free (лицензия MIT)
Исходный код: открытый
Платформы для использования: Windows, macOS, Linux
Движки марки Torque — мое любимое семейство игровых движков — все еще живее всех живых! Движки 2D и 3D — это два отдельных проекта, имеют каждый свой репозиторий и развиваются по отдельности. За прошедшие три года, находясь в открытых исходниках, они очень выросли. Все это время я в основном занимался разработкой мобильных игр, поэтому больше следил за развитием Torque 2D и использовал его в работе. В этом году я написал ему оду — подробную инструкцию по применению: «Волшебство момента вращения: искусство разработки игр на движке Torque 2D» (подробности на сайте).
T2D рендерит с помощью OpenGL, что способствует его кросс-платформенности, для воспроизведения звука используется OpenAL (изначально) или Vorbis (добавлен в версию 3.3). Физика просчитывается с помощью физического движка Box2D. В T2D всегда была анимация, основанная на спрайтовых таблицах; с третьей версии движок стал поддерживать скелетную анимацию вместе с редактором Spine. Наравне со своим старшим братом T2D имеет продвинутую сетевую подсистему. Из дополнительных контроллеров T2D поддерживает геймпад от Xbox 360 и сенсор бесконтактного взаимодействия Leap Motion. Для описания игровой логики T2D включает скриптовый язык Torque Script, ровно такой же, как в T3D. Но в разных движках разные объекты, сущности и способы взаимодействия. Для описания графических ассетов (одиночные картинки, спрайтовые анимации, звуки, эффекты и другой арт) в T2D используется язык TAML.
В современной инкарнации движок поддерживает шесть платформ (сред выполнения): Windows, Linux, macOS, iOS, Android, Web, тем самым охватывает самые популярные каналы доставки контента.
За прошедшие три года до недавнего времени T2D не приобрел ни одного внутриигрового редактора. Тем не менее в конце августа давний поклонник движка Simon Love выкатил три редактора: Image Asset Editor — методом переноса добавляет спрайты в проект, позволяя настроить их во встроенном редакторе; Animation Builder — настраивает анимацию из последовательности картинок; Particle FX Editor — служит для создания эффектов частиц, включая все возможности движка. Это только первый шаг, но он сделан.
Для создания нового проекта каждый раз надо совершать скучные манипуляции с файлами, поэтому, чтобы автоматизировать этот процесс, я разработал менеджер проектов для T2D, его вместе с исходным кодом можно скачать с моего аккаунта GitHub. Благодаря ему сразу можно начинать кодить классные мобильные игры.
Torque 3D
Сайт: http://garagegames.com
Разработчик: GarageGames
Последняя версия на момент написания статьи: Torque 3D 3.9
Порог вхождения: средний
Цена: free (лицензия MIT)
Исходный код: открытый
Платформы для использования: Windows, macOS, Linux
Кроме того что теперь этот движок визуализирует с помощью DirectX 11 (вдобавок к DirectX 9), имеется возможность выводить графику посредством OpenGL. Из этого следует, что игры на Torque 3D, кроме Windows, могут выполняться в macOS и Linux, вместе с тем можно создать выделенный сервер (терминальный режим, без графического вывода). Как мы помним, Torque 3D представляет собой клиент и сервер в одной упаковке. Но для больших онлайн-проектов используется удаленный выделенный сервер.
Можно выделить пять продвинутых элементов движка: современный механизм визуализации, включающий попиксельное освещение, нормальная и параллактическая карты, генерация материалов, использование языков HLSL/GLSL для создания шейдеров. Torque 3D включает несколько редакторов, среди которых редакторы уровней и окружения (могут импортировать 3D-модели в DAE-формате), редактор местности, настройка формы объекта, редактор рек и дорог, редактор материалов, GUI-редактор для построения пользовательского интерфейса. Имеется высокопроизводительная сетевая подсистема, а физика, основанная на PhysX и Bullet, позволяет создать динамическую одежду, разрушаемые объекты, жидкости и многое другое. Torque 3D включает удобный, легкий в изучении C-подобный скриптовый язык Torque Script и полный исходный код на C++.
У Torque 3D есть собственный сайт, на котором расположена информация по движку, модули движка для скачивания (в том числе исходный код), туториалы, вики, комитет и комьюнити движка. Из репозитория на GitHub можно скачать те же самые исходники плюс дистрибутив и код менеджера проектов (Project Manager).
Кроме того, T3D поддерживает очки виртуальной реальности Oculus Rift. В настоящее время в сообществе работают над добавлением поддержки OpenVR.
На Torque 3D разрабатывается большое число игр. Из самых успешных стоит выделить MMORPG Life is Feudal. Она разработана отечественной инди-командой BitBox. Игра признана лучшей инди-MMO на выставке E3 2015.
Unreal Engine 4
Сайт: http://www.unrealengine.com
Разработчик: Epic Games
Последняя версия на момент написания статьи: 4.13
Порог вхождения: средний
Цена: free (+5% роялти от продажи проекта, приносящего более 3000 долларов за квартал)
Исходный код: открытый
Платформы для использования: Windows, macOS
Много воды утекло за прошедшие три года. В то время на арене царил UDK, и мы говорили про него. В настоящий момент представлена уже четвертая версия UE. Сразу после выхода движка в 2014 году цена на него составляла 30 долларов, но в марте 2015-го движок стал полностью бесплатным, включая все исходные коды. Тем пользователям, кто успел купить движок, Epic вернула 30 баксов на виртуальный счет клиента; эти деньги можно потратить на покупку ассетов в Marketplace.
С помощью UE4 можно разрабатывать как двумерные, так и трехмерные игры абсолютно любых жанров: шутеры, стратегии, квесты, RPG, симуляторы... Движок нашел применение не только в игровой индустрии, но и в кинематографе — для создания спецэффектов, в архитектуре, строительстве, используется он и в образовательных целях.
UE4 предоставляет много заготовок для игр разных жанров. Есть два пути создания проекта: на Blueprint или на C++. В первом случае используется графический скриптовый язык, где описания и последовательность действий заключаются подобно конечному автомату. То есть реализованные в движке операции связываются посредством графического интерфейса. Во втором случае описание геймплея осуществляется на языке C++.
Прямо из коробки с помощью темплейтов можно создать 13 проектов на C++ и 12 на Blueprint. Среди них игры различных жанров: двумерные скроллеры, шутеры от первого и третьего лица, авиа- и автосимуляторы. В тринадцатое обновление была добавлена заготовка для виртуальной реальности.
Движок поддерживает все огромное разнообразие современных технологий. Даже перечислять не имеет смысла — игры, разработанные на UE4, охватывают все платформы и игровые устройства (VR, Kinect, Leap Motion и так далее).
UE4 снабжен всеми необходимыми редакторами: это конструирование сцен, импортирование, настройка и анимация моделей, наложение материалов, создание физических эффектов, размещение аудиоисточников, настройка звука, специальный редактор для создания скриптов Blueprint и многое другое.
В самом начале сентября вышло тринадцатое обновление Unreal Engine 4. Такие частые обновления возможны благодаря тому, что код движка открытый и его репозиторий размещен на GitHub, где любой программист может внести свою лепту. Также с GitHub можно скачать исходные коды и материалы последней версии Unreal Tournament, разрабатываемой сообществом.
В это обновление было добавлено много интересных фич для удобства работы с графикой, анимацией. Многие улучшения были внесены в движок для увеличения производительности.
Среди ключевых обновлений:
- поддержка DirectX 12;
- поддержка формата Alembic для вертексной анимации;
- оптимизация динамических теней для мобильных проектов;
- изменения в редакторе VR (добавилась поддержка капсульных теней);
- изменения в редакторе для создания синематик-сцен Sequencer (добавился инструмент Live Recording, который позволяет преобразовывать геймплей, включая всю анимацию, аудио и эффекты, в отдельный ассет. После чего ассет можно редактировать с помощью Sequencer).
За восемнадцатилетнюю историю движка Unreal Engine на нем (на разных версиях) было создано огромное количество игр разных жанров для всех платформ (включая консоли от шестого поколения до текущего — восьмого), но большую часть однозначно занимают шутеры. Кроме того, UE4 прекрасно подходит для разработки мобильных игр.
Cryengine
Сайт: https://www.cryengine.com
Разработчик: Crytek
Последняя версия на момент написания статьи: 5.2.1
Порог вхождения: средний
Цена: free
Исходный код: открытый
Платформы для использования: Windows
С момента прошлого обзора Cryengine во многом повзрослел и сильно изменился. Уже пятая версия! В середине августа вышло второе обновление. Напомним, что оригинальная пятая версия была выпущена в марте. Что позволяет так быстро выпускать обновления? Open Source — двигатель прогресса, а исходные коды Cryengine размещены на GitHub.
Cryengine V поддерживает Windows, Linux, PlayStation 4, Xbox One. Он главным образом нацелен на MMO-игры с передовой графикой. Также в движке хорошо проработана сетевая подсистема, есть поддержка DirectX 12, PhysX и широченного ряда других технологий.
Хотя движок и материалы на сайте бесплатны, отсутствует даже роялти, можно стать официальным пользователем, которому доступны дополнительные обучающие материалы, видео, тренинги и другая поддержка Crytek. Для этого надо оплатить лицензию одного из двух видов: базовое членство — 50 долларов, премиум — 150 долларов. Дополнительно Crytek предоставляет лицензию уровня Enterprise для больших игроков рынка, таких как 2K, Bethesda, Sony Santa Monica и другие. Стоимость лицензии не разглашается. Перед скачиванием движка пользователь может сам определить сумму пожертвования для Crytek.
У Cryengine есть свой Marketplace, где любой пользователь может покупать и продавать игровые ассеты.
Лаунчер Cryengine V на вид и по функциональности похож на UE4. Он служит для скачивания движков и их обновлений, создания проектов, покупки ассетов, просмотра новостей и прочего. В пятой версии движка проекты можно создавать не только на C++, но и на C#, что определенно радует. В качестве скриптового языка, как и раньше, используется Lua. Таким образом, юзеру движка не обязательно лезть в его код, для изменения геймплея достаточно модифицировать скрипты.
Исходно разработчику предоставляются заготовки для шести проектов: пустая игра, шутеры от первого/третьего лица, с видом сверху, экшен с видом сбоку и roller ball. Движок дает кодеру ошеломляющее количество редакторов: редактор уровня, аудио, диалогов, анимаций, окружения, трасс, материалов, частиц, ландшафтов и многие другие. Добавлена поддержка FBX-формата для загрузки 3D-моделей. При этом можно отдельно работать с анимациями модели, кожей, скелетом и геометрией.
Без сомнения, радует программа поддержки инди-разработчиков. В ней могут принять участие любые инди-команды с абсолютно любыми проектами на движке Cryengine V. В первом раунде Crytek проверяет соответствие проекта определенным требованиям, после чего проекту подается кандидатский свет. Во втором раунде Crytek выбирает три проекта для финансирования и еще шесть получат техническую поддержку.
Lumberyard
Сайт: https://aws.amazon.com/ru/lumberyard/
Разработчик: Amazon
Последняя версия на момент написания статьи: 1.4
Порог вхождения: средний
Цена: free
Исходный код: открытый
Платформы для использования: Windows
Есть еще одно ответвление от оригинального Cryengine — это движок Lumberyard. Когда в прошлом году у Crytek начались проблемы с деньгами, Amazon помогла компании, купив у нее лицензию на Cryengine версии 3.8 за более чем 70 миллионов долларов.
Amazon допилила продукт, добавив в него поддержку своих облачных технологий — Amazon Web Services и Twitch. Таким образом, разработчик игр на Lumberyard может прозрачно хранить данные и работать с ними в облаке Amazon. Вместе с уклоном движка в сторону MMO это сочетание прекрасно подходит для массивных мультиплеерных игр. Разработчикам игр не надо задумываться о расширении инфраструктуры, программной оптимизации передачи и хранения данных, когда количество пользователей их игры увеличится, — все эти проблемы возьмет на себя Amazon Web Services. Также с помощью Lumberyard игродел может добавить поддержку стриминга игры на сайт twitch.tv.
Движок полностью бесплатный с открытым исходным кодом. Amazon собирается зарабатывать на нем, беря плату за использование облачных технологий. После регистрации на год выдается базовая бесплатная лицензия. За это время можно пользоваться многими инструментами и сервисами.
С помощью Lumberyard можно создавать игры для Windows, PlayStation 4, Xbox One. В экспериментальном режиме находится поддержка Linux, macOS, iOS, Android. Устройства виртуальной реальности также поддерживаются движком, среди них: Oculus Rift, HTC Vive, OpenVR.
Наиболее сильная отличительная черта Lumberyard от Cryengine — сетевая (облачная) система. Разработчики из Amazon Game Studios реализовали новый сетевой уровень GridMate, позволяющий создавать колоссальные игровые миры с огромным числом игроков. Технология Cloud Canvas позволяет быстро добавлять интерактивные сетевые возможности, такие как проведение сражений на стороне сервера, таблица рекордов и прочее. Масштабирование и работу многопользовательских сессионных игр обеспечивает система GameLift, которая интегрирована в Lumberyard.
В Lumberyard есть графический редактор кода (подобный UE4), с его помощью можно связывать сущности с компонентами. Новая система генерации кода позволяет модифицировать старый код C++ и создавать новый.
Итоги
В сегодняшней статье мы рассмотрели шесть самых популярных, мощных и востребованных игровых движков. С их помощью разрабатывается подавляющее большинство успешных игр разных жанров.
Интересный путь развития выбрали лидеры рынка игровых движков! Я бы даже сказал — загадочный и в некотором роде опасный. Разработчики предлагают свое творение забесплатно, уверенные в будущей отдаче. А ведь совсем недавно движки продавались единицами и по заоблачным ценам. Сейчас, получается, игровой рынок достаточно большой, чтобы основывать свою стратегию на таком подходе.
К настоящему моменту все описанные в статье движки обзавелись поддержкой устройств виртуальной реальности. За небольшое время на рынке появился широкий диапазон последних, а следом подтянулись и средства для создания контента VR. Теперь, как говорится, мяч на стороне программистов.
Обратная связь
Есть просьбы или дополнения? Считаешь, что надо рассмотреть менее популярные движки? Смело пиши в комменты :). Обещаю учесть любые пожелания, касающиеся разработки графических приложений.