Unreal Engine — что это и при чем тут C++

Fortnite, BioShock, Hellblade, многое из серии Mortal Kombat — все эти и многие другие проекты объединяет движок Unreal Engine. Разбираемся, как с его помощью создавать игры и что за навыки для этого требуются.

Unreal Engine — что это и при чем тут C++ Unreal Engine, Игры, Видео, YouTube, Длиннопост, Блоги компаний

Unreal Engine — что это и зачем нужен

В целом игровой движок — это программный комплекс, который заставляет игру работать: от заставки с логотипом студии до меню и, собственно, геймплея. А еще автоматизирует эти и многие другие процессы, облегчая жизнь разработчикам. От движка также зависят характеристики игры: например, детализация моделей, физика, освещение и эффекты.

Unreal Engine — универсальный, простой и очень популярный открытый движок, доступный всем. Он написан на языке программирования C++ (к нему мы еще вернемся). Изначально его создавали для шутеров, но сейчас на нем можно разрабатывать 2D-, 3D- и даже мобильные игры практически любого жанра и сложности.

В Unreal Engine много готовых систем и подсистем, которые упрощают создание игр:

  • рендеринг для работы с графикой и визуальными эффектами;

  • редактор анимаций и поддержка их импорта из других редакторов;

  • технологии, которые позволяют моделировать реальные физические эффекты: например, силу тяжести, систему освещения;

  • инструменты для управления звуковыми эффектами.

Краткая история Unreal Engine

В 1998 году компания Epic Mega Games выпустила Unreal — шутер с прорывной для того времени графикой, физикой и искусственным интеллектом. Все эти преимущества игры обеспечивал ее движок — его тоже назвали Unreal.

Unreal Engine — что это и при чем тут C++ Unreal Engine, Игры, Видео, YouTube, Длиннопост, Блоги компаний

UE 1 могли использовать для разработки своих игр и другие студии. Доступ к движку давали по ежемесячной платной подписке.

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

Год за годом возможности Unreal Engine росли. В 2002 году разработали UE 2 — его мы помним по Unreal Tournament 2003. В нем появились водяные искажения, улучшилась физика тел, добавился транспорт. Потом вышли и другие версии, которые подтянули рендеринг и оптимизацию.

В 2004 году увидел свет UE 3 с HDR, динамическим освещением, PhysX и прочими техническими фишками того времени. Игры на нем выходили аж до 2019-го, в том числе культовые: от Gears of War и Mass Effect до Mortal Kombat 11.

Unreal Engine — что это и при чем тут C++ Unreal Engine, Игры, Видео, YouTube, Длиннопост, Блоги компаний

В 2014 году вышел Unreal Engine 4. Daylight, Street Fighter V, Hellblade: Senua’s Sacrifice — все эти проекты разработали на нем. А в 2022 появилась первая игра на ультрареалистичном Unreal Engine 5 — Fortnite.

В будущем на UE 5 выпустят продолжения Silent Hill, Tomb Raider, нового «Ведьмака» и множество других громких проектов. А пока фотореалистичность движка можно в полной мере оценить в технодемо.

Возможности Unreal Engine

На нем разрабатывают:

  • 2D- и 3D-игры, десктопные и мобильные;

  • софт, работающий со сложной графикой: архитектурные проекты реконструкции зданий, разработка новых моделей автомобилей или VR-тренажеры для обучения профессиям пилота или даже хирурга;

  • спецэффекты для кино, телевидения и маркетинга. Графику на UE мы видели в «Мандалорце» и «Мире Дикого Запада», на концертах поп-звезд, в рекламе;

  • большие кроссплатформенные проекты, которые можно оптимизировать без потери производительности.

Unreal Engine — что это и при чем тут C++ Unreal Engine, Игры, Видео, YouTube, Длиннопост, Блоги компаний

Как работает Unreal Engine

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

Через Blueprints

Это визуальный язык, в котором логика игры создается при помощи нодов — узлов данных с событиями и функциями. Программировать в этом случае ничего не нужно, уровень собирается и наполняется объектами по принципу конструктора.

Unreal Engine — что это и при чем тут C++ Unreal Engine, Игры, Видео, YouTube, Длиннопост, Блоги компаний

Blueprints кодят поведение объектов и логику взаимодействия с ними. Со стороны это похоже на работу со сложными многоуровневыми блок-схемами. Чтобы освоить их, нужно понимать принципы алгоритмов, логику программирования и, конечно, английский.

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

С помощью C++

Это один из самых популярных языков программирования для видеоигр за счет его производительности. На C++ написано много игровых движков, включая UE. И он же используется в качестве «тонкого» режима работы через компилятор Visual Studio.

Unreal Engine — что это и при чем тут C++ Unreal Engine, Игры, Видео, YouTube, Длиннопост, Блоги компаний
Unreal Engine — что это и при чем тут C++ Unreal Engine, Игры, Видео, YouTube, Длиннопост, Блоги компаний

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

На «плюсах» получится запрограммировать сложную логику и все, что требует масштабных вычислений. С++ помогает поддерживать стабильность кода, снижает вероятность появления багов и конфликтов между отдельными элементами игры.

Над кодом на C++ могут трудиться сразу несколько разработчиков, а результаты легко сливаются в один проект. С Blueprints гораздо сложнее соединять все решения.

Обязательно ли знать C++, чтобы создавать игры на Unreal Engine

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

Если у вас на уме необычный проект с оригинальным геймплеем, кинематографическими роликами и топовой графикой — учите C++, освоить его с нуля реально меньше чем за год. Или ищите разработчиков в команду.

Сейчас вокруг Unreal Engine сложилась целая экосистема. В приложении Epic Games есть доступ к документации и обучающим материалам, а представители сообщества активно обсуждают проблемы и новые решения.

Чаще всего студии совмещают оба способа работы в Unreal Engine, когда создают новую игру. Разные специалисты пользуются инструментами, которые подходят именно им. От разработчиков ждут хардкорного кода на «плюсах».

Unreal Engine — что это и при чем тут C++ Unreal Engine, Игры, Видео, YouTube, Длиннопост, Блоги компаний

Стоит ли вообще идти в геймдев

Аудитория в нашей стране есть, в играх проводят время порядка 60% россиян — это около 88 миллионов человек.

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

Все говорит о том, что отрасль будет развиваться. Для независимых разработчиков это означает поддержку, а для специалистов — спрос на рынке. Поэтому сейчас самое время заняться получением качественного образования.

Где выучить C++ для разработки игр

Это не самый простой язык программирования. Но в игровой индустрии он востребован наравне с его прямым конкурентом C# и «мобильным» Java.

В Яндекс Практикуме онлайн-курс разработки на C++ с нуля занимает девять месяцев. Со знаниями, которые вы получите, вы сможете работать в геймдеве и других проектах. Вас ждет теория и практика, собственные проекты и обратная связь. Поддержка во время изучения такой сложной вещи, как программирование, особенно важна — для этого у нас есть опытные наставники.

Стартовать в IT — ответственный шаг. Чтобы убедиться в своем выборе, пройдите наши бесплатные курсы и узнайте все о цифровых профессиях, зарплатах и карьерных перспективах.

Реклама ООО «Яндекс», ИНН: 7736207543

Пожалуйста, соблюдайте правила общения в блогах компаний