Unreal Engine 4 — один из самых популярных движков. Почему?

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Unreal Engine 4 используют как крупные компании, так и небольшие инди-студии. На UE4 созданы Final Fantasy VII Remake, Returnal, Gears 5, Borderlands 3, Fortnite, Abzû, Observer и многие другие игры.

Узнали у геймэнтузиаста Владимира Семыкина и преподавателя курса «Геймдизайнер» Антона Токарева, в чём же причины такой популярности Unreal Engine, и что лучше для начинающего разработчика игр — Blueprints или C++.

Gears 5 — шутер канадской компании The Coalition, — использует движок UE4
Gears 5 — шутер канадской компании The Coalition, — использует движок UE4

Есть несколько причин большой популярности UE4. 

Во-первых, UE4 поддерживает большое количество функций, благодаря чему в нём можно создать практически любую игру. 

Во-вторых, в Unreal Engine 4 есть встроенная система визуального скриптинга, которая позволяет без особых препятствий выстраивать игровую логику даже новичкам. 

В-третьих, движком можно пользоваться бесплатно: в лицензионном соглашении Unreal Engine указано, что пока ваша игра не принесёт более $1 000 000 — после этого придётся платить 5% от дохода. 

Также в Unreal Engine 4 есть возможность сделать игру, которая запустится на всех популярных платформах: PlayStation, Xbox, Switch, ПК, iOS, Android. 

А ещё у движка огромное сообщество пользователей, которые создают обучающие материалы, делятся друг с другом опытом и помогают решать проблемы. Дополнительный плюс большого сообщества — множество игровых ассетов, доступных для свободного использования в своём проекте.

Epic Games постоянно устраивает бесплатные раздачи ассетов, которые могут пригодиться при разработке игры
Epic Games постоянно устраивает бесплатные раздачи ассетов, которые могут пригодиться при разработке игры

Большое преимущество Unreal Engine 4 в универсальности и доступности — его могут использовать как опытные разработчики, так и новички, которые впервые берутся за создание игры. Всё дело в том, что UE4 по умолчанию поддерживает сразу два языка программирования: текстовый C++, в котором нужно писать строчки кода, и визуальный язык Blueprints, в котором игровая логика выстраивается при помощи связанных между собой блоков. Такой подход помогает сделать программирование более наглядным и понятным для тех, у кого нет опыта.

«Blueprints разработала компания Epic Games, чтобы дать инструменты программирования людям, которые далеки от этого. Поэтому научиться работать с Blueprints очень легко. Конечно, необходимо получить минимальную теоретическую базу, например, разобраться, что такое переменные и как работает функциональное и объектно-ориентированное программирование. 

Но и эту теоретическую базу можно изучать, применяя Blueprints. И даже без неё можно сделать что-то интерактивное, например, кнопку, которая открывает дверь. Язык Blueprints крайне прост в освоении, и в нём есть много решений, которые делают его применение удобнее. Например, цветовая индикация различных типов переменных», — Антон Токарев, преподаватель Нетологии, геймдизайнер в Dreamside Interactive.

Пример логики для шарика, который отскакивает от препятствий и теряет скорость после каждого столкновения
Пример логики для шарика, который отскакивает от препятствий и теряет скорость после каждого столкновения

Большое преимущество Blueprints в том, что с его помощью можно быстро собрать базовый геймплей для игры.

Несмотря на то, что Blueprints проще для понимания, такой скриптинг почти не уступает C++ по функциям — есть лишь несколько редких исключений, в которых Blueprints немного ограничен.

«Таких ограничений мало. Они упираются либо в невозможность изменить исходный код движка UE4 (для этого нужен C++) и базовых классов проекта, либо в производительность сложных математических расчётов, например, обработки таблиц данных сотен игроков в MMO.

Практически всё можно реализовать на Blueprints. Все принципы и подходы программирования, которые используют в текстовых языках (вроде C++), также можно применять и в Blueprints», — Антон Токарев, преподаватель Нетологии, геймдизайнер в Dreamside Interactive.

Так выглядит программирование на C++, который представляет собой более традиционный текстовый язык — нужно писать строчки кода, а не соединять ноды
Так выглядит программирование на C++, который представляет собой более традиционный текстовый язык — нужно писать строчки кода, а не соединять ноды

«Самое лучшее — совмещать работу в C++ и Blueprints. Например, структуры, которые состоят из групп переменных, и энумераторы (нумерованные списки) гораздо более стабильны, если созданы в C++. А вот их Blueprint-аналоги могут не пережить сложных изменений, к примеру, переименования или удаления нескольких элементов. И хоть это происходит редко, лучше избегать подобного и создавать их в C++. 

Также любые сложные вычисления на C++ работают гораздо быстрее. Всё дело в том, что при запуске игры автоматически включается специальная виртуальная машина, которая исполняет все функции, созданные с помощью Blueprints. Отсюда и большее время обработки вычислений», — Антон Токарев, преподаватель Нетологии, геймдизайнер в Dreamside Interactive.

Returnal — шутер финской студии Housemarque, вышедший на PlayStation 5 в апреле 2021 года, также использует движок Unreal Engine 4
Returnal — шутер финской студии Housemarque, вышедший на PlayStation 5 в апреле 2021 года, также использует движок Unreal Engine 4

Blueprints и C++ можно воспринимать как два последовательных этапа в процессе овладения Unreal Engine 4. Blueprints проще для восприятия и позволяет познакомиться с базовыми принципами программирования. А благодаря изучению C++ вы сможете разобраться, как всё это устроено изнутри.

«Изучая Blueprints, вы познакомитесь с основными классами и функциями самого движка, а углубляясь в C++ вы узнаете как они работают изнутри. Но пользуясь только Blueprints, у вас всё равно будет полный доступ ко всему, что вам может понадобиться для создания собственной инди-игры или интерактивного проекта», — Антон Токарев, преподаватель Нетологии, геймдизайнер в Dreamside Interactive.

Abzû — приключенческая игра от студии Giant Squid, вышедшая в 2016 году. В качестве игрового движка используется Unreal Engine 4 — он помог разработчикам воссоздать движение косяков рыб, анимацию растительности и подводное освещение
Abzû — приключенческая игра от студии Giant Squid, вышедшая в 2016 году. В качестве игрового движка используется Unreal Engine 4 — он помог разработчикам воссоздать движение косяков рыб, анимацию растительности и подводное освещение

Конечно, в студиях, состоящих из нескольких человек, владение UE4 требуется далеко не всем.

«Чаще всего непосредственно с редактором UE4 работают два вида геймдизайнеров: левел-дизайнеры и технические геймдизайнеры. Первые — собирают уровни, поэтому им необходимо знать инструментарий движка в контексте работы со сценой и объектами в ней. А также знать основы работы с Blueprints, чтобы заниматься скриптингом уровней — добавлять логику взаимосвязанных элементов уровня: вроде выключателей, дверей и так далее. 

Вторые же прототипируют механики, создают инструменты для всех дизайнеров на проекте и выступают в роли мостика между командой дизайнеров и командой программистов. Они должны глубоко знать Blueprints, сам движок и понимать, как работает C++ и как он связан с Blueprints», — Антон Токарев, преподаватель Нетологии, геймдизайнер в Dreamside Interactive.

Observer — психологический хоррор от польской студии Bloober Team. Разработка также велась на базе игрового движка Unreal Engine 4
Observer — психологический хоррор от польской студии Bloober Team. Разработка также велась на базе игрового движка Unreal Engine 4

Знание Blueprints может оказаться полезным для геймдизайнеров — это позволит быстро прототипировать и пробовать собственные идеи на практике. А C++ необходим для инженеров-программистов, для которых язык программирования — это основной инструмент в работе. 

UE4 можно использовать и при соло-разработке. Часто инди-разработчики применяют чужие ассеты — это позволяет быстрее закончить игру, так как реализация отдельных механик может занять много времени. К счастью, в магазине представлены ассеты, сделанные как на Blueprints, так и на C++.

«Есть и Blueprints-ассеты, есть и C++ ассеты, а есть и плагины, которые написаны на C++. Есть ассеты на любой вкус! Например, ассеты на Blueprints очень полезно рассматривать изнутри — изучать, как они сделаны, и на их примере обучаться. Не все они созданы идеально, но поучиться всегда есть чему. Как минимум — как делать не надо, если вдруг там всё плохо. 

Не рекомендуется использовать сторонние Blueprints-ассеты как базовые фичи своего проекта, потому что их сделали не вы. А это значит, что вы не можете быть уверены в том, что они работают как вам нужно. И зачастую их неудобно менять — особенно если автор продолжает выпускать обновления для них», — Антон Токарев, преподаватель Нетологии, геймдизайнер в Dreamside Interactive.

*****

В итоге, Unreal Engine 4 — один из самых популярных движков из-за нескольких важных преимуществ:

  • универсальность. UE4 можно использовать и для PlayStation, и для Switch, и для ПК, — буквально для чего угодно — это даёт нужную гибкость при разработке игры;

  • большая библиотекой ассетов;

  • простота входа из-за Blueprints. Правда, для профессиональной работы всё равно понадобится изучить C++;

  • хорошая задокументированность и поддерживаемость, активное сообщество с кучей opensource-инструментов;

  • возможность бесплатного использования для небольших проектов. 

Владение Unreal Engine 4 открывает перед специалистом большие возможности. Он может сделать игру в одиночку, а может присоединиться к команде. При этом предыдущий опыт имеет не такое уж большое значение — начинающий разработчик без особых проблем сможете обучиться Blueprints, чтобы создать собственный проект. Это станет отличной базой для дальнейшего изучения C++, знание которого позволит ещё больше углубиться в создание внутренней архитектуры игры.

Источник: https://habr.com/ru/company/netologyru/blog/561006/


Интересные статьи

Интересные статьи

В Челябинской области есть много городов, которые добывают в недрах земли руду и перерабатывают её в металл. Один из них – Магнитогорск, один из крупнейших центров чёрной...
Согласно аналитическим исследованиям, в марте 2020 года лидирующие позиции в рунете среди CMS заняли WordPress, 1С-Битрикс, Joomla!, OpenCart и Drupal. Разберемся, какие особеннос...
Получить трафик для интернет-магазина сегодня не проблема. Есть много каналов его привлечения: органическая выдача, контекстная реклама, контент-маркетинг, RTB-сети и т. д. Вопрос в том, как вы распор...
Совсем недавно, в начале лета, появились массовые призывы к обновлению Exim до версии 4.92 из-за уязвимости CVE-2019-10149 (Срочно обновляйте exim до 4.92 — идёт активное заражение / Хабр). А н...
Увидев заголовок статьи «One inch tesla coil», я поначалу подумал, что речь идёт о трансформаторе Теслы высотой в один дюйм. Оказалось, что он несколько больше, но выполнен на плате площадью ...