Unreal Engine — что это и при чем тут C++
Fortnite, BioShock, Hellblade, многое из серии Mortal Kombat — все эти и многие другие проекты объединяет движок Unreal Engine. Разбираемся, как с его помощью создавать игры и что за навыки для этого требуются.
Unreal Engine — что это и зачем нужен
В целом игровой движок — это программный комплекс, который заставляет игру работать: от заставки с логотипом студии до меню и, собственно, геймплея. А еще автоматизирует эти и многие другие процессы, облегчая жизнь разработчикам. От движка также зависят характеристики игры: например, детализация моделей, физика, освещение и эффекты.
Unreal Engine — универсальный, простой и очень популярный открытый движок, доступный всем. Он написан на языке программирования C++ (к нему мы еще вернемся). Изначально его создавали для шутеров, но сейчас на нем можно разрабатывать 2D-, 3D- и даже мобильные игры практически любого жанра и сложности.
В Unreal Engine много готовых систем и подсистем, которые упрощают создание игр:
рендеринг для работы с графикой и визуальными эффектами;
редактор анимаций и поддержка их импорта из других редакторов;
технологии, которые позволяют моделировать реальные физические эффекты: например, силу тяжести, систему освещения;
инструменты для управления звуковыми эффектами.
Краткая история Unreal Engine
В 1998 году компания Epic Mega Games выпустила Unreal — шутер с прорывной для того времени графикой, физикой и искусственным интеллектом. Все эти преимущества игры обеспечивал ее движок — его тоже назвали Unreal.
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.
В 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
Одна из причин популярности движка — его доступность как для профессиональных программистов, так и для тех, кто мало разбирается в коде. В Unreal Engine можно работать в двух режимах.
Через Blueprints
Это визуальный язык, в котором логика игры создается при помощи нодов — узлов данных с событиями и функциями. Программировать в этом случае ничего не нужно, уровень собирается и наполняется объектами по принципу конструктора.
Blueprints кодят поведение объектов и логику взаимодействия с ними. Со стороны это похоже на работу со сложными многоуровневыми блок-схемами. Чтобы освоить их, нужно понимать принципы алгоритмов, логику программирования и, конечно, английский.
Этим способом могут пользоваться геймдизайнеры, художники, начинающие разработчики — даже те, кто не знаком с основным языком движка. Используя только Blueprints, сделать игру с нуля реально, но для по-настоящему сложных проектов нужно намного больше.
С помощью C++
Это один из самых популярных языков программирования для видеоигр за счет его производительности. На C++ написано много игровых движков, включая UE. И он же используется в качестве «тонкого» режима работы через компилятор Visual Studio.
Главное преимущество работы с движком через C++ — оптимизация. С помощью кода можно подобрать нестандартные решения, которые увеличат производительность игры. Blueprints этого не позволяет, за удобство приходится расплачиваться.
На «плюсах» получится запрограммировать сложную логику и все, что требует масштабных вычислений. С++ помогает поддерживать стабильность кода, снижает вероятность появления багов и конфликтов между отдельными элементами игры.
Над кодом на C++ могут трудиться сразу несколько разработчиков, а результаты легко сливаются в один проект. С Blueprints гораздо сложнее соединять все решения.
Обязательно ли знать C++, чтобы создавать игры на Unreal Engine
Зависит от того, какую игру вы хотите создать, сколько человек в вашей команде и какой объем времени вы можете посвятить разработке. Несложные казуальные проекты со стандартной механикой вроде тех же гонок вполне реализуемы только на Blueprints.
Если у вас на уме необычный проект с оригинальным геймплеем, кинематографическими роликами и топовой графикой — учите C++, освоить его с нуля реально меньше чем за год. Или ищите разработчиков в команду.
Сейчас вокруг Unreal Engine сложилась целая экосистема. В приложении Epic Games есть доступ к документации и обучающим материалам, а представители сообщества активно обсуждают проблемы и новые решения.
Чаще всего студии совмещают оба способа работы в Unreal Engine, когда создают новую игру. Разные специалисты пользуются инструментами, которые подходят именно им. От разработчиков ждут хардкорного кода на «плюсах».
Стоит ли вообще идти в геймдев
Аудитория в нашей стране есть, в играх проводят время порядка 60% россиян — это около 88 миллионов человек.
Прямо сейчас российская игровая индустрия переживает второе рождение. Появляются новые проекты и студии, платформы, власти рассматривают налоговые льготы и другие меры поддержки геймдев-компаний. А в ближайшие годы в стране создадут даже собственные игровые консоли.
Все говорит о том, что отрасль будет развиваться. Для независимых разработчиков это означает поддержку, а для специалистов — спрос на рынке. Поэтому сейчас самое время заняться получением качественного образования.
Где выучить C++ для разработки игр
Это не самый простой язык программирования. Но в игровой индустрии он востребован наравне с его прямым конкурентом C# и «мобильным» Java.
В Яндекс Практикуме онлайн-курс разработки на C++ с нуля занимает девять месяцев. Со знаниями, которые вы получите, вы сможете работать в геймдеве и других проектах. Вас ждет теория и практика, собственные проекты и обратная связь. Поддержка во время изучения такой сложной вещи, как программирование, особенно важна — для этого у нас есть опытные наставники.
Стартовать в IT — ответственный шаг. Чтобы убедиться в своем выборе, пройдите наши бесплатные курсы и узнайте все о цифровых профессиях, зарплатах и карьерных перспективах.
Реклама ООО «Яндекс», ИНН: 7736207543