Вячеслав Уточкин – Хочу в геймдев! Основы игровой разработки для начинающих (страница 14)
Для небольших компаний или инди-команд решение самостоятельно создавать движок не имеет экономических преимуществ, но может быть оправданно в случае необходимости каких-то необычных решений, которые невозможно получить, используя готовый вариант. Это могут быть вещи, связанные, например, с воксельной графикой, где важно передать разрушаемость предметов. Для игр типа
Еще один вариант – не делать движок с нуля, а взять наработки опенсорсных (от англ. open-source), то есть выложенных в открытый доступ, движков. Исходный код таких движков доступен всем, и его можно править под свои нужды. Естественно, вам понадобятся опытные программисты, чтобы справиться с такой задачей. Многие популярные современные движки имеют гибкие инструменты для расширения и кастомизации (разной степени сложности и удобства). «Прикрутить» уникальную механику к готовому движку намного легче, чем с нуля создавать свой полноценный движок с аналогичными возможностями.
Если же вы планируете создать игру с более или менее типовым геймплеем, готовые движки сильно упростят задачу. У них есть документация, где всегда можно прочитать, что он умеет или не умеет делать. Самый простой способ узнать, реализует ли выбранный движок ту или иную игровую механику, это изучить его описание или же просто задать вопрос в поисковиках.
Готовые игровые движки можно разделить по двум признакам. Во-первых, по игровой платформе: движки могут быть кросс-платформенными или же подходить только для создания игры под конкретную платформу (мобильные, ПК-игры и т. д.).
Во-вторых, важен жанр создаваемой игры. Существуют игровые движки, так скажем, широкого профиля, поддерживающие игры разных жанров, но есть и специализированные движки, дающие инструментарий для создания, например, визуальных новелл (Ren’Py). Движок, спроектированный для гонок, будет существенно отличаться от движка для MMORPG или стратегии в реальном времени. Но есть и общие вещи: например, трехмерные игры любого жанра требуют системы 3D-рендеринга, взаимодействия с геймпадом, клавиатурой и/или мышью, звукового сопровождения и так далее.
Еще один важный фактор при выборе движка – опыт участников проекта, в том числе языки программирования, которыми они владеют.
Самые популярные игровые движки – это Unreal Engine и Unity.
UNITY развивается с 2005 года. На Unity разработаны тысячи приложений и игр разных жанров на более чем 25 платформах. Его любят как крупные студии, так и инди-разработчики.
Изначально Unity создавался для компьютеров Mac, в следующих версиях добавлялись новые платформы: Windows, IPhone, Android, Xbox, Playstation и другие.
Для написания скриптов движок использует язык программирования C#, считающийся несложным в изучении и работе. В редакторе Unity простой интерфейс, что позволяет легко производить отладку игры. Главными преимуществами Unity считают кросс-платформенность и наличие визуальной среды разработки.
Если выбирать между Unreal Engine и Unity, можно отметить, что последний иногда удобнее для начинающих программистов, он предлагает множество готовых решений и для создания простых игр обычно выбирают именно его. Сообщество Unity считается самым большим (ведь он стал первым бесплатным движком для инди-разработчиков), поэтому, если возникнут какие-то вопросы, вы всегда сможете рассчитывать на консультацию. Однако, если с программированием отношения сложные, Unreal Engine может кому-то показаться более дружелюбным.
Работая с любым движком, сложно добиться ААА-графики в динамике, особенно для консольной игры. Планка качества графики и спецэффектов непрерывно растет, организация совместной работы над огромным количеством внутриигровых объектов усложняется. За последние годы разработчики Unity проделали большую работу для повышения уровня графики, так что сегодня создавать красивые и качественные игры можно на обоих движках.
Большие открытые миры – еще одна сложная задача. Поэтому многие известные игры (
Раньше у Unity были сложности с реализацией защиты от читов[46]. Считалось, что его игровой клиент легче вскрывается, а значит, для игр, где читерство могло стать проблемой, разработчики задумывались о другом решении. Сегодня при прочих равных взлом игры, разработанной на Unity, не будет проще; компания постоянно работает над укреплением надежности клиент-серверной архитектуры и шифрованием внутриигровых данных. Студии, занимающиеся мультиплеерными проектами, нередко прибегают к сторонним решениям для защиты от читов, например PunkBuster.
Плюсом Unity является модульная система, что позволяет подключать нужные модули физики, рендеринга, аналитики, монетизации и т. д., не выходя из движка.
Unity – один из самых универсальных движков, с его помощью можно создавать игры любого жанра. Он удобен для разработки, например, CRPG с видом три четверти или изометрическим видом (
UNREAL ENGINE выпустила в 1998 году компания Epic Games. Это один из первых универсальных движков, совмещающих физику, рендеринг, искусственный интеллект и готовую среду разработки. Изначально он создавался для работы над шутерами от первого лица, однако последующие версии применяются для игр самых разных жанров. Unreal Engine всегда уделял много внимания впечатляющей картинке, им пользуются и в кинематографе; сегодня он предоставляет продвинутый инструментарий для создания фотореалистичной 3D-графики в реальном времени. Компания Epic Games и сама делает игры на своем движке, в том числе одну из самых зарабатывающих игр в мире, реализованную на всех игровых платформах, –
Преимуществом Unreal Engine является мощная система блупринтов, с помощью которой легко и удобно прорабатывать игровую логику. Блупринты – это скриптовая система, которая представляет собой визуальный интерфейс для создания элементов геймплея. Она позволяет гейм-дизайнерам, вообще не знающим кода, использовать почти полный потенциал программирования. Если вы хотите создавать контент (интерфейс, геймплей, игровые уровни и т. д.) самостоятельно, удобно работать с Unreal Engine, хотя для некоторых вещей классический код остается в приоритете.
А вот если вы планируете использовать много готовых ассетов, это может быть плюсом к выбору Unity, имеющему огромный магазин. Разработчики Unity создали также собственный инструмент визуального скриптинга – Bolt, позволяющий реализовывать игровую логику без ручного ввода программного кода.
Unreal Engine имеет много готовых решений по графике. Он хорошо поддерживает технологии RTX[47], регулярно выпускает обновления, дающие новые возможности создания впечатляющей картинки. Удобный редактор позволяет прописать игровую логику без специальных навыков программирования, а реалистичная графика, игра света и тени, звуки создают необходимую атмосферу.
Вы всегда можете ознакомиться с актуальными условиями использования движков в открытых источниках и решить, какой из них выгоднее использовать для вашей игры.
Если к открытому миру без загрузок добавляется ААА-графика и большое количество взаимодействия с миром, можно рассмотреть движок CRYENGINE: он как раз стоит на стыке между специализированными и универсальными движками.
СПЕЦИАЛИЗИРОВАННЫХ ДВИЖКОВ тоже довольно много. Они реализуют какой-то конкретный нестандартный запрос лучше, чем универсальные движки. Обычно такой движок умеет только что-то одно, зато очень хорошо, в то время как многопрофильные движки умеют почти все, но на среднем уровне. К примеру, Buildbox прекрасно справляется с задачей создания игр на простых механиках без навыков программирования.