Буквально за последние несколько лет игровые движки топ-класса со значительным отрывом стали побеждать в смежных областях (3D-моделирование/анимация, видео, ТВ, кино, интерактивное ПО). Сегодня мы посмотрим на ситуацию в целом, а также уделим внимание одному из лидеров рынка - Epic Games Unreal Development Kit (UDK).
Базовый толчок произошел примерно в 2010-2011 гг., а если точнее, то отправной точкой можно считать ноябрь 2009-го, когда два гранда, Epic Games и Crytek, объявили о выпуске бесплатных версий своих топ-движков для некоммерческого использования. Так, 5 ноября Epic Games объявила о появлении UDK, который являет собой, фактически, полнофункциональную бесплатную версию Unreal Engine 3, а 18 числа того же месяца немцы из Crytek объявили о выходе в свет CryENGINE 3 Free SDK - изначально для образовательных учреждений. В первые месяцы для CryENGINE 3 Free SDK требовалась довольно серьезная регистрация с указанием образовательного учреждения и тому подобного, после чего заявка поступала на рассмотрение, и в случае собственного согласия со стороны представителей Crytek, вас регистрировали и давали бесплатный доступ к SDK. Со временем ситуация изменилась в сторону облегчения, и теперь немецкий движок доступен любому желающему.
Двойка лидеров-конкурентов
Нужно сказать, что политика обеих компаний оказалась по-своему уникальной, и довольно сильно ударила по рынку коммерческих игровых движков ААА-класса. В бесплатных версиях UDK и CryENGINE 3 Free SDK доступен полный функционал, использованы самые актуальные технологии. И, самое главное, всё это доступно каждому и не ограничено сроками использования. Ведь, если посмотреть на рынок конкурентов, то там или нет бесплатных/демо версий, или они предоставляются с большими ограничениями в урезанном виде и временем функционирования. Например, среди конкурентов UDK многие называют Unity Pro (Unity3D), которая в последней версии действительно очень неплоха, но free-версия с ограничением на 30 дней, и коммерческая лицензия за $1500 для инди-разработчика ($2000 для команды) выглядят гораздо хуже варианта "возьми бесплатно, а начнешь хорошо зарабатывать, поделишься", который предлагает Epic Games. Причем, забегая немного вперед, скажем, что до того, как разработчик заработает $50.000, он должен заплатить за коммерческое использование UDK всего $99.
Нужно отметить, что на самом деле, до этого на рынке геймдева, особенно в области игр ААА-класса, на которых и специализируются движки, выпускаемые Epic Games и Crytek, наблюдался серьезный кризис... идей. И до предложений этих компаний с бесплатными полнофункциональными версиями, Unity3D был ли чуть ли не самым выгодным предложением для тех, кто хотел заниматься разработкой серьезных проектов в условиях низкого бюджета, а иногда и вовсе его отсутствия. Теперь же вы можете, фактически ничего не потратив, попробовать реализовать свою идею на движке топ-класса. И если все хорошо сложится, начать зарабатывать на этом деньги.
Но в такой политике есть и свои минусы для рынка в целом, ведь в период 2010-2012 гг. довольно много перспективных 3D-движков было попросту закрыто. И, например, в сентябре 2012 года под лицензией MIT с открытым исходным кодом был выложен небезызвестный Torque3D от GarageGames. Другими словами, конкурировать с тем же UDK довольно сложно, учитывая общее количество предложений на рынке. Если честно, то довольно удивительна стойкость разработчиков движка Unity Pro, хотя всё объяснимо - у данного продукта большое сообщество, накопившееся за то время, когда он был самым недорогим из профессиональных движков.
Сравнение планов лицензирования UDK и CryENGINE 3
Особенно выгодно в этом сегменте выглядит предложение от Epic, поскольку для создания коммерческих продуктов достаточно заплатить $99, а когда та же игра, либо, например, архитектурная фирма, использующая UDK, начинает зарабатывать более $50.000, то разработчики должны отстёгивать авторам UDK 25% от прибыли сразу же с первого заработка после прохождения данного порога. При этом, в случае использования бесплатной версии, вам доступны только сообщества пользователей и форумы, которых, кстати, очень много, а приобретая коммерческую лицензию UDK, вы уже можете связываться с техническими специалистами Epic. При этом не стоит путать коммерческие лицензии на UDK и Unreal Engine 3, по существу это несколько разные продукты: в UE дается доступ к исходному коду на С++, она рассчитана не только для платформы РС и так далее. Также стоит отметить, что коммерческие лицензии на UDK могут выдаваться как юридическим, так и физическим лицам.
У cryENGINE лицензирование происходит несколько по-другому. Естественно, бесплатная версия может использоваться для некоммерческих и образовательных проектов, но дальше ситуация меняется. Причем изменения могут происходить и сейчас. В общем, если вы - команда инди-разработчиков, то при переходе на выпуск коммерческих продуктов вам нужно отстёгивать 20% от прибыли. Хотя... в общем и целом, вам в любом случае нужно будет связываться со специалистами Crytek, которые будут рассматривать ваш запрос, оценивать представленные вами данные, после чего сообщат вам ответ, положительный или отрицательный. В основном, разработчики, желающие получить лицензию, делают промо-пакет с трейлерами и тому подобным, при этом довольно важным является негласное условие, о котором написано на многих форумах и даже в лицензионном соглашении: в промо, а также в любых продуктах, созданных на базе CryENGINE 3 Free SDK нельзя использовать элементы (меши, текстуры) из самого Development Kit'а cryENGINE FREE. Судя по множеству отзывов на форумах, само понятие 20% носит больше декларативный характер, потому как к каждому отдельному проекту компанией Crytek выстраивается индивидуальный подход. Коммерческая лицензия доступна только для юридических лиц, причем лучше, если эти лица зарегистрированы в развитых странах. Вот такие интересные условия, учитывая тот момент, что само изучение движка занимает довольно много времени. Поэтому тут можно встретить два различных подхода, в одном - все усилия тратятся на изготовление грамотного промо, в другом советуют доводить игру до 70-80% готовности, чтобы заинтересовать Crytek.
В целом, если вы планируете заработать меньше $50.000 на своем продукте, то стоит присмотреться к UDK. С точки зрения минимизации рисков это вообще выгодно, потому как очень большое количество игр-стартапов так и не доходит до финального завершения. Если вы рассчитываете заработать больше указанной суммы, то единовременная выплата $1500, которую просят за лицензию на Unity Pro, выглядит более заманчиво.
Ну, а в ситуации с cryENGINE нужно разбираться отдельным образом, потому как очень многое зависит от желания/не желания, а может, даже и настроения Crytek одобрить ваш проект. Хотя в этом случае вы получите самый качественный и самый современный инструментарий. Интересно, стоит ли у них сейчас очередь?
Небольшое сравнение возможностей UDK и CryENGINE 3
UDK и CryENGINE 3 Free SDK - это мощные визуальные конструкторы с возможностями скриптования и наличием множества уникальных модулей и инструментов. Отличий довольно много, в том числе и с точки зрения концепции представления рабочего процесса. Внутреннее наполнение, алгоритмы и функции периодически меняются от версии к версии, что более присуще UDK. При этом есть расхожее мнение о том, что с точки зрения графики, а также набора возможностей CryEngine 3 современнее UDK. С этим можно как соглашаться, так и нет. Всё познается при близком рассмотрении, а во-вторых, сейчас и так качество видео в играх на высоком уровне, всё зависит от идеи.
С точки зрения возможностей визуализации, например, для ландшафтов, архитектурных объектов, интерьеров обе программные системы работают великолепно. Расчеты ведутся быстро, поэтому, например, те же профессиональные голливудские "киношники" предпочитают считать 3D-сцены в игровых движках, а не в 3D-пакетах.
Сегодня мы поговорим о UDK, который сейчас уже активно используется в геймдеве, кино, видео и прочем.
Что нужно знать, перед тем как работать с UDK?
У UDK довольно низкий порог вхождения. Можно сказать так. Базовые знания для работы не только с UDK, но и с другими движками, имеющими в своем арсенале мощные визуальные редакторы-конструкторы, обычно подразумевают опыт общения с 3D-моделированием, анимацией, текстурированием, расстановкой света, программированием.
С точки зрения всего, что связано с 3D, если говорить о UDK и CryENGINE 3, наилучшим будет являться опыт работы с Autodesk Maya и 3Ds max, и не только потому, что между этими программами и движками хорошо организован импорт/экспорт с поддержкой ключевых форматов первых. В UDK управление в рамках рабочей области очень напоминает Maya, так что освоение в этом случае пройдет довольно быстро.
Это, пожалуй, ключевой момент, хотя на современном этапе, в принципе, не важно, в каком из пакетов 3D-моделирования вы работаете или имели опыт работы, поскольку все форматы успешно конвертируются. То есть, если вы привыкли работать в XSI, LightWave, Blender, Cinema4D, ZBrush, Posix, вам просто придется приноровиться к новому варианту управления. К чему, в принципе, 3D-моделерам не привыкать.
С точки зрения программирования для работы с движками изначально необходим опыт общения с визуальными конструкторами для создания игр и мультимедийных презентаций.
В UDK используется два типа программирования - визуальное и скриптовое. Визуальное выстраивается в рамках ключевого модуля UnrealKismet. В нем вы работаете на уровне составления блок-схем, подключая элементы и формируя события для них. Самый простой пример, триггеры - персонаж подходит к триггеру -> двери открываются (создается анимация двери в модуле UnrealMatinee). В принципе, в данном случае можно и не вникать. Просто приведен пример.
Скриптовое программирование базируется на собственном С/С++-подобном языке UnrealScript. Нужно сказать, что это отдельная довольно обширная тема, и рассматривать её в рамках этой статьи мы не будем.
Что касается уроков и обучения - их очень много, особенно видео, есть и на русском. Единственное, что здесь нужно отметить отдельно, версии UDK довольно сильно меняются. Это касается не только возможностей, но и управления горячими клавишами, набором и внешним видом кнопок быстрого доступа. Поэтому, если вам в видеоуроке говорят, что статические объекты удаляются с просмотра после нажатия клавиши "W", в мартовской версии 2013 года это уже не так - теперь "Alt+W". Основная масса уроков и документаций на русском датируется примерно 2010-2011-м годом, когда на UDK у наших разработчиков пошел массовый спрос. С тех пор довольно много изменилось, но не всё.
UDK. Возможности. 3D-моделирование
Итак, начнём с того, что редактор UDK сам по себе является весьма неплохой программой для 3D-моделирования и текстурирования. В нем можно создавать полигональные объекты любого уровня сложности, создавая их из прототипов 3D-примитивов, которые в данном случае именуются Brushes: куба, конуса, цилиндра, сферы, прямой и винтовой лестниц, карт. Также можно создавать объекты свободной геометрической формы с использованием инструмента Pen. Для прототипов Brushes достаточно указать первоначальные настройки, после чего можно редактировать их вершины, полигоны и ребра. Из модификаторов при такой работе доступен, пожалуй, только Extrude (выдавливание). Но и его вполне достаточно.
На самом деле, Brush - это функциональный рабочий блок, и превращение его в визуальный 3D-объект является только одним из вариантов использования. Для этого нужно просто перейти к SVG-представлению.
Также есть готовый инструментарий для работы с ландшафтами (terrain), с которым вы без особых усилий можете создать горы, низины, устья рек и так далее.
Сердцем рабочего процесса в UDK является окно Content Browser, название которого говорит само за себя. В нем вы уже на первоначальном этапе найдете большую библиотеку мешей (готовых моделей) и текстурных материалов. Здесь вы также можете создавать новые материалы, а также импортировать модели и материалы извне.
В целом, редактор UDK можно назвать довольно удобным с точки зрения моделирования, конечно, такие вещи как скульптинг и NURBS-моделирование здесь не предусмотрены, но для игр они не особенно и нужны.
Тут я, кстати, хочу напомнить, что зачастую в играх вместо сложного скульптинга, предпочитают уделить большее время над созданием bump и displacement карт, которые отвечают за ощущение искривленной объемности объекта.
Также имеется довольно мощный инструментарий для работы с частицами, и такие стандартные элементы, как огонь, дым, различного рода эмиссии делаются довольно быстро.
В комплекте поставки UDK даются две вспомогательные программы - Speed Tree Modeler и Speed Tree Compiler, которые специально предназначены для создания деревьев. И, что самое интересное в данном случае, деревья выполняются со скелетной анимацией, то есть, в них предусмотрены bones. Также здесь можно предусмотреть различного рода физику.
UDK. Возможности. Создание сцен (уровней)
Здесь же, в рабочей области, где производится работа с созданием/редактированием/импортом и расстановкой объектов, делаются все остальные настройки для текущего игрового уровня. В отличие от профессиональных программ 3D-моделирования, в редакторе UDK окно проекции может работать в игровом режиме, то есть вы получаете возможность двигаться в рамках сцены в реальном времени, причем там уже будет полноценная визуализация, то есть, посчитан свет, тени и так далее с учетом LOD (уровень дальности объектов).
У каждого объекта имеется собственный набор регулируемых "игровых" свойств, причем путем конвертации вы можете преобразовать выбранный объект из одного типа в другой. Так, например, делается с источниками света (переключение типов: всенаправленный, локально направленный и т.п.), статическими мешами (присваиваем им физику). В общем и целом, настроек для каждого случая довольно много, и все они к месту, ничего лишнего.
Brushes могут не только превращаться в конкретные 3D-объекты, но и в ограниченные пространства (или объемы - volume). Это может быть, например, отдельная область, для которой рассчитывается освещение от внешнего источника, что сокращает время вычислений, либо область где делается постпроцессинг (размытие, изменение цветовой гаммы и так далее).
Довольно много времени при проработке уровня уделяется физике объектов и свойств, установке коллизий. Делается все довольно просто, причём есть практически всё, с чем мы сталкиваемся в реальных играх. Есть такие уникальные элементы, например, шарниры, на которые вешаются двери и так далее. В целом, инструментарий довольно богат.
Отдельно стоит отметить модуль разрушений. То есть, каждый объект можно разбить на множество мелких частей, на которые он будет разлетаться.
Что касается пользовательского интерфейса UI, то для его создания формируется новая сцена и вся работа производится через модуль UIscene Editor.
Небольшой итог
По состоянию на 2013 год UDK уже представляет собой хорошо отлаженный рабочий инструмент с минимальным количеством багов, хотя на первом этапе их находили довольно много. Система обладает так называемым низким порогом вхождения. То есть, пользователь, знающий базисные основы 3D-моделирования и любящий компьютерные игры, может без особого труда приступить к изучению UDK, сначала ориентируясь по урокам, документации и примерам. Затем ему предстоит переход на более сложный уровень, но в целом, как только начинаешь работать с UDK, приходит ощущение профессионального качества выдаваемого результата, что немаловажно.
Также огромным плюсом и UDK, и cryENGINE является то, что они очень легки в установке, не требуют, как это обычно бывает, наличия С++ компиляторов, либо установленной Visual Studio.
Что касается использования UDK для визуализации архитектуры, ландшафтного дизайна и интерьеров, то в рамках получения интерактивных приложений либо быстрых расчетов качественного видео, UDK подходит как нельзя лучше. Благодаря наличию физики, частиц, эффектов пост-обработки, возможностей создания прекрасных природных ландшафтов с водой и растительностью, модулей анимации, можно получать прекрасный видеоряд. Именно поэтому использование UDK можно увидеть при создании кино.
Отдельно отметим о довольно эффективных обновлениях и хорошем комьюнити вокруг продукта.
Кристофер,
www.igd.by
Комментарии
До чего дошел прогресс, однако. А мы тут примусы починяем :)))