Статья опубликована в рамках: Научного журнала «Студенческий» № 5(25)
Рубрика журнала: Информационные технологии
Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2
ОБЗОР ТЕХНОЛОГИЙ РАЗРАБОТКИ ИГР НА HTML5
В данной статье рассмотрены технологии создания игр на HTML5, выделены их преимущества и недостатки, представлена сравнительная характеристика трех наиболее распространенных игровых движков: Unity, Unreal Engine и CryEngine.
Современные технологии HTML5 позволяют реализовывать различные графические приложения. Для этого используется элемент «Canvas» и язык JavaScript (JS). 2D графика создается с помощью контекста canvas.getContext ("2d"), а 3D графические приложения создаются на основе технологии WebGl и различных JS библиотек. Важным аспектом использования «Canvas» является отсутствие необходимости использования дополнительных плагинов для отображения 3D графики, а встроенная низкоуровневая поддержка графики браузерами, позволяет получить высокую производительность разрабатываемых приложений [1, с. 153].
Большинство движков служат для сокращения временных затрат на разработку полноценной игры. Однако многие разработчики предпочитают создавать свой проект полностью с нуля, чтобы лучше представлять его устройство. Существует немного JavaScript-HTML5 движков, которые действительно чего-то стоят, однако и у них может быть один большой недостаток: они более не поддерживаются или близки к прекращению поддержки. Поэтому, выбирая движок, остановите свой выбор на тех продуктах, поддержка которых будет длиться достаточно продолжительное время.
Словосочетание «игровой движок» подразумевает целый комплекс прикладных программ, включающий движок рендеринга («визуализатор») для 2D или 3D графики, физический движок, звук, скриптинг, анимацию, искусственный интеллект, сетевой код, управление памятью и графические сцены. Эти общие функции стали выделяться в отдельные библиотеки, но это еще нельзя было назвать полноценными «игровыми движками».
Термин «игровой движок» появился в середине 1990-х в контексте компьютерных игр жанра шутер от первого лица, похожих на популярную в то время Doom. Архитектура программного обеспечения Doom была построена таким образом, что представляла собой разумное и хорошо выполненное разделение центральных компонент игры (например, подсистемы трёхмерной графики, расчёта столкновений объектов, звуковой и других) и графических ресурсов, игровых миров, формирующие опыт игрока игровые правила и другое [2, с. 1].
Игровой движок представляет своеобразную узкоспециализированную операционную систему, поскольку включает все модули последней. В него входят: система управления памятью, графическая подсистема, система ввода, аудио подсистема, искусственный интеллект, физическая подсистема, сетевая подсистема, редактор игровых уровней и другое.
С развитием игровой индустрии возникает все больше возможностей для создания игр, в том числе для тех людей, которые собираются делать их в одиночку. В связи с этим стали популярны «инди-игры» – игры, сделанные одним человеком или небольшой командой без финансовой поддержки со стороны. Это доказывает, что в настоящее время рынок различных технологий и движков постоянно развивается, тем самым упрощая работу разработчикам [3, с. 56].
Для разработки каждого типа игр есть определенный набор движков, потому что с технической стороны между всеми типами игр имеются большие различия. На рынке сейчас представлены десятки движков на любой вкус: кроссплатформенные и специализированные, требующие активной работы с исходным кодом движка и доступные без знаний программирования вообще, с разными производительностью, качеством документации и ценой.
Среди широкого рынка игровых движков можно выделить три основных: Unity, Unreal Engine и CryEngine.
Unity 5 поддерживает экспорт в HTML5 WebGL; его основное преимущество – кроссплатформенность. Игры можно быстро и легко портировать на Android, iOS, Windows Phone 8 и BlackBerry, поэтому Unity отлично подходит для разработки мобильных игр. Он также пригоден для консолей. Но разработчикам новичкам обычно трудно получить доступ к консольным SDK.
На данный момент Unity имеет самое большое сообщество. В российском сегменте Unity является самым популярным – его используют более 50% разработчиков, и всё больше разработчиков покидают старые игровые движки и переходят делать игры в Unity. Это самый популярный движок для начинающих и инди-разработчиков - порог входа и время обучения очень низкие.
Из преимуществ движка можно выделить постоянные обновления и исправления ошибок; получение бессрочной лицензии; возможность создания проектов без необходимости вникать в технические особенности; совместимость с любой платформой; активное сообщество; возможность использовать движок на большинстве распространенных в настоящее платформ; крупный Asset Store (внутренний магазин). Из недостатков - закрытый исходный код и ограниченный набор инструментов.
Unreal Engine 4 представляет собой набор интегрированных инструментов для разработчиков игр для разработки и создания игр. Он также, как и Unity, поддерживает экспорт в HTML5 WebGL.
Unreal Engine 4 является еще одним из самых продвинутых движков для разработки игр, использует язык C++. В Unreal в движок встроено практически всё, что может понадобиться, включая 3D-моделирование и работу с ландшафтом. Из-за столь богатого наполнения освоить Unreal Engine 4 сложнее, чем другие инструменты разработки. Unreal Engine 4 – относительно новый движок, но на нём уже вышли такие игры, как Daylight и Tekken 7. Для скриптинга в движке используется собственный язык — UnrealScript. Список поддерживаемых платформ не настолько широк, как у Unity: Windows PC, Windows Store, OS X, iOS, Android и консоли предпоследнего поколения.
Плюсы в использовании: невысокая стоимость лицензии; профессиональное сообщество, в котором состоят опытные пользователи; совместимость с основными платформами Windows, iOS, Mac и Android; возможность ознакомиться с особенностями движка по видео-пособиям; большое количество простых для понимания инструментов; возможности редактора; полный доступ к исходному коду; отзывчивая и грамотная служба технической поддержки; добавление новых инструментов почти в каждом обновлении. Минусами являются высокий порог входа; слабый Asset Store (внутренний магазин) и малая распространённость.
CryEngine 3 – это чрезвычайно мощный игровой движок, созданный компанией-разработчиком Crytek, впервые представленный в игре Far Cry. Он предназначен для разработки под PC и консоли, включая PlayStation 4 и Xbox One. Его графические возможности превосходят Unity и UDK, и время от времени стоят на шаг впереди Unreal Engine 4: новейшее освещение, реалистичная физика, продвинутые системы анимации и многое другое. Последней игрой на CryEngine была Ryse: Son of Rome. По аналогии с Unreal Engine 4 в CryEngine встроены мощные и интуитивные функции, касающиеся работы с дизайном уровней.
В CryEngine есть возможность быстро освоить и применять UI даже при низком уровне подготовки пользователя; упрощена работа с графикой благодаря встроенной функции Flowgraph; упрощен процесс работы с искусственным интеллектом; возможность расширенной работы со звуковым сопровождением посредством набора инструментов Fmod. Но помимо этого он обладает высоким порогом входа и отсутствием хорошего сообщества.
В то время как Unity больше подходит для мобильных 2D и 3D-игр, Unreal Engine, обладая уникальным скриптовым языком программирования, идеально подходит для создания FPS-шутеров, а CryEngine, адаптированный под платформы следующего поколения, имеет потрясающие графические возможности.
По сравнению с UDK, Unity3D в бесплатной (Indie) комплектации обладает куда более скромным набором инструментов. Ни встроенной лицевой анимации, ни удобного создания интерфейса, ни инструментов для визуальной работы с анимацией здесь нет (в следующей версии, правда, последние два пункта собираются исправить). Но C# и JS - куда проще для понимания, нежели uScript, а своих классов, которые вам придется использовать в обязательном порядке, здесь всего ничего. Кроме того, имеющийся в наличии визуальный редактор весьма прост для понимания — на изучение его основ, необходимых для более-менее комфортного использования продукта, вряд ли уйдет больше одной рабочей недели. Потому по скорости создания небольших проектов Unity3D практически нет равных [4, с. 120].
Для самых инди-игр существует совсем бесплатное решение или с небольшими вложениями. Это движки, доступные каждому, они ставят своей целью упростить создание миров для начинающих создателей виртуальной реальности. Среди всех рассмотренных игровых движков наибольшей популярностью и низким порогом вхождения обладает движок Unity.
Список литературы:
- Кочергина А.М., Меженин А.В. Анализ производительности графических приложений на основе технологий HTML5 и WebGL [Текст] // ООО "Консалтинговая компания Юком" (Тамбов). – 2016. – С. 152–154
- Игровой движок [Электронный ресурс]. – Режим доступа: http://ru.wikipedia.org/wiki/Игровой_движок (дата обращения 01.03.2018)
- Думиньш А.А., Зайцева Л.В. Компьютерные игры в обучении и технологии их разработки [Текст] // Казанский национальный исследовательский технологический университет (Казань). – 2012. – №15(3). – С. 534–544
- Коркин А.В., Трофимов И.Е. О выборе программного обеспечения для разработки игровых инди-проектов [Текст] // Кузбасский государственный технический университет им. Т.Ф. Горбачева (Кемерово). – 2012. – С. 119–120
Оставить комментарий