Сравнительный анализ инструментов разработки компьютерных игр
Автор: Коптенок Елизавета Викторовна, Подвесовская Марина Александровна, Сухарев Евгений Александрович, Трунников Максим Владиславович
Статья в выпуске: 1 (13), 2019 года.
Бесплатный доступ
В статье рассмотрены наиболее известные программные средства, применяемые для создания компьютерных игр. Произведен их сравнительный анализ. Выявлены их достоинства и недостатки, а также спектр задач, для решения которых они удобны в применении.
Разработка компьютерных игр, компьютерная игра, программирование
Короткий адрес: https://sciup.org/140249582
IDR: 140249582
Текст научной статьи Сравнительный анализ инструментов разработки компьютерных игр
Keyword . Computer games development, Unity 3D 3D 3D, Unreal Engine, CryEngine, computer game, programming.
Видеоигра – это компьютерная программа, организующая игровой процесс игрока с компьютером либо нескольких игроков друг с другом.
Существует множество типов видеоигр (от шутеров до стратегий в режиме реального времени). Как правило, их классификация идет по характеристикам, основным целям и типу игрового процесса.
Создание крупного проекта в области разработки компьютерных игр может занимать годы упорной работы большой группы людей. В связи с этим, проблема упрощения процесса создания игры стоит не на последнем месте. Наиболее удачно эту проблему решают игровые движки (англ. game engines).
Игровой движок – это основное программное обеспечение при разработке видеоигры или иного графического приложения. Используется как механическая основа игры. Он значительно упрощает разработку, зачастую способствует мультиплатформенности, а главное, обеспечивает разработчика необходимыми для создания проекта технологиями.
Успешность игрового движка во многом зависит не только от его функционала, но и от политики распространения, которая устанавливается владельцами этого ПО.
На данный момент разработано множество игровых движков. И, само собой, проекты, написанные на разных движках, в корне различаются. Проанализируем несколько популярных движков, выявим их особенности и попытаемся сравнить их.
Рассматриваемые игровые движки:
-
1. Unity 3D;
-
2. Unreal Engine;
-
3. CryEngine.
Общие сведения. Unity 3D был разработан в 2005 году и изначально предназначался для создания приложений и игр под систему IOS. Разработчики сразу поставили курс на развитие мультиплатформенности, и сегодня Unity 3D поддерживает 20 различных платформ.
Unreal Engine – игровой движок, представленный компанией Epic Games в 1998 году. Первоначально Unreal Engine был разработан для создания шутеров от первого лица, и различных RPG игр, поэтому движок хорошо проработан для создания 3D объектов и взаимодействия с ними.
CryEngine – игровой движок от компании Crytek. Разработан в 2002 году для игры Far Cry. А с 2006 года все права на CryEngine принадлежат компании Ubisoft (а вместе с ним и все права на Far Cry).
Имитация физических законов. Встроенные в Unity 3D физические движки обеспечивают разработчика компонентами для корректной симуляции физики и обработки физических взаимодействий. А чтобы это было реалистично, необходимо правильно задействовать столкновения, ускорения тел, гравитацию и другие силы.
Стоит отметить, что в Unity 3D два физических движка: для 2D и для 3D.
В целом, физика Unity 3D 3 находится на высоком уровне, из-за чего его часто используют для проектирования, создания фильмов. Популярности прибавляет относительная простота работы с объектами.
Unreal Engine использует физический движок PhysX3.3, который выполняет динамические расчеты различных физ. взаимодействий. PhysX состоит из трех основных компонентов: обработка твердых тел (rigid body), обработка тканей (cloth), обработка жидкостей (fluid). Вкупе с технологией voxel cone tracking это реализует автодобавление и отображение света, теней и второстепенных структур в реальном времени, автоматическую дорисовки объектов на игровой плоскости.
CryEngine поддерживает инверсную кинематику объектов (т. е. гибких объектов, например, кинематической цепи, коей является человеческое тело). Также доступна работа с имитацией мягкого тела и тканей (притяжение, трение, взаимодействие с другими объектами), жидкостями, физикой Ragdoll (вид процедурной анимации при котором происходит симуляция физики в режиме реального времени. Определяет, на какие углы может отклоняться составляющая часть тела относительно других частей, чтобы тело оставалось реалистичным; используется, например, при смерти персонажей).
Последняя версия CryEngine включает модель симуляции освещения, основанный на физических просчетах между светом и материалами при помощи физики реального мира. Освещение, основанное на изображении, приносит целостность освещения и рендеринга на все материалы. Специальная модель затенения, использующая новые технологии и нормализацию, позволяет визуализировать даже самые сложные сцены.
Любой проект делится на сцены, т. е. игровые уровни, каждый из которых представляет собой файл с отдельным игровым миром, своим набором текстур, скриптов, сценариев.
Модульность движка позволяет дополнять его сторонними компонентами.
В состав Unity 3D 3D входит Unity 3D 3D Asset Server – система контроля версий, а также удобный инструментарий для совместной разработки проектов.
Unity 3D 3D создан давно и является очень популярным движком, поэтому существуют большие объемы документации как от многочисленных пользователей, так и от самих разработчиков.
Главной особенностью Unreal Engine является система визуального скриптинга Blueprints, позволяющая разработать логику проекта без единой строчки кода.
Также присутствует магазин ассетов Unreal Engine Marketplace с множеством готовых решений, а на официальном сайте присутствует развернутая документация.
CryEngine предлагает CryEngine Sandbox – редактор игры в реальном времени, позволяющий тестировать проекты прямо во время разработки.
Присутствует визуальная система скриптинга Flow graph.
Движок абсолютно модульный, имеется объемная документация с комментариями, множеством DLL-файлов. Магазина ассетов, к сожалению, нет.
Движок разработан в 2002 году, поэтому при необходимости нетрудно найти документацию как на сайте разработчиков, так и на различных форумах.
Программирование. Скриптинг в Unity 3D 3D осуществляется на C#, JavaScript и разновидности Python’s Boo.
Unreal Engine предлагает разработку на C++, но для начинающих разработчиков присутствует система Blueprints.
Разработка проектов в среде CryEngine ведется на языке C++, а также в визуальной системе Flow graph. В версии CryEngine V добавилась возможность писать скрипты на C#.
Мультиплатформенность. Как было сказано выше, в Unity 3D 3D сделан большой упор на мультиплатформен-ность. Движок поддерживает 24 платформы (от IOS до Vuforia). Также Unity 3D 3D очень удобен для создания мобильных приложений: больше половины всех мобильных игр написаны на Unity 3D 3D.
Похуже с мультиплатформенностью обстоят дела у Unreal Engine и CryEngine. Так, UE поддерживает Xbox, Android, IBM-PC-совместимый компьютер, PS3/4, Nintendo, Wii и некоторые другие. CryEngine в свою очередь ориентирован на Windows, Linux, Oculus Rift, PS3/4, Xbox.
Области применения. Как уже было сказано, Unity 3D 3D очень удобен для разработки мобильного приложения. Также благодаря совокупности достоинств это излюбленный движок инди-разработчиков. Плюс к этому, Unity 3D 3D активно используется для моделирования, проектиро-

Таблица 1. Применение игровых движков
Проект |
Unity |
Unreal Engine |
CryEngine |
Мобильное приложение |
Отлично |
Нормально |
Плохо |
RTS или пошаговая стратегия |
Отлично |
Отлично |
Плохо |
Аркада |
Отлично |
Отлично |
Нормально |
Логическая игра |
Отлично |
Отлично |
Плохо |
Спортивный симулятор |
Нормально |
Отлично |
Нормально |
Шутер |
Нормально |
Отлично |
Отлично |
Студенческий проект |
Отлично |
Нормально |
Плохо |
Инди-проект |
Отлично |
Отлично |
Отлично |
Создание симулятора |
Отлично |
Отлично |
Нормально |
Обучение созданию компьютерных игр |
Отлично |
Нормально |
Плохо |
вания, создания фильмов (например, Adam). Но в целом, движок может быть использован почти для всех жанров видеоигр.
Unreal Engine активно используется для разработки большинства жанров игр: шутеров (PUBG, Fortnite), фай-тингов (Mortal Combat X, XI), стратегий (XCOM) и многих других. Также в последнее время мобильные разработчики всё чаще стали использовать именно этот движок (Infinite Arms, Relic of Gods, Midnight Star: Renegade и др).
CryEngine в свою очередь специализируется на шутерах под Windows, PS и Xbox (например, серии Crysis, Far Cry).
Удобство применения описанных программных продуктов к различным видам проектов представлено в табл.1.
Недостатки. К недостаткам Unity 3D 3D можно отнести закрытость исходного кода и отсутствие доступа к магазину ассетов в бесплатной версии.
Из-за того, что в среду разработки Unreal Engine внедрено огромное число различных технологий, освоение и работа на первых порах в данной IDE могут вызывать немалые затруднения.
Минусы CryEngine: отсутствие полноценного магазина ассетов, а также недостаточно развитая мультиплатформенность.
Список литературы Сравнительный анализ инструментов разработки компьютерных игр
- Конгер, Д. Физика для разработчиков компьютерных игр ( CD-ROM) / Д. Конгер. - М.: Бином. Лаборатория знаний, 2018. - 520 c
- Официальный сайт Unity [Электронный ресурс] - Режим доступа: https://unity3d.com - Unity for all - (Дата обращения: 15.04.2019)
- Официальный сайт Unreal Engine [Электронный ресурс] - Режим доступа: www.unrealengine.com/ - (Дата обращения: 16.04.2019)
- Официальный сайт CryEngine [Электронный ресурс] - Режим доступа: https://www.cryengine.com - (Дата обращения: 18.04.2019)