Как сделать 2д игру на unreal engine 4

Добавил пользователь Владимир З.
Обновлено: 19.09.2024

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

Видеоурок

Особенности Unreal Engine 4

Unreal Engine является одним из мощнейших игровых движков. Он предназначен для построения хорошо визуализированных игр под ПК и различного рода приставок. Также на нём можно создавать приложения под мобильные устройства и VR. Что касается написания скриптов, то в движке используется язык программирования C++ .

Игровой движок Unreal Engine является профессиональным инструментом для разработки полноценных 2D и 3D проектов. При разработке игр на Unreal Engine вы сходу получаете набор отличной графики и настроек дизайна, а также хорошо оптимизированный код чтобы игры запускались без торможения.

Ниже приведено несколько крупных игр, которые были созданы при помощи движка:

Это лишь небольшая часть всех тех игр, которые были созданы на движке Unreal. Полный список игр вы можете посмотреть на этом сайте .

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

При разработке на Unreal не нужно задумываться над созданием красивой воды или над эффектом колыхались деревьев. Всё это уже будет предусмотрено в самом движке и вам останется лишь использовать готовые эффекты.

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

План курса

За курс мы разработаем игру на основе движка Unreal Engine. За время разработки мы изучим интерфейс программы, изучим построение различных эффектов в игре, а также познакомимся с различными базовыми шаблонными проектами.

После курса вам стоит приступить к прохождению более углубленного курса, что доступен на нашем сайте по этой ссылке .

Создаём платформер на Unreal Engine 4 за 3 дня

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

Кому подойдёт интенсив

Тем, кто мечтает разрабатывать игры

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

Начинающим специалистам из геймдева

Познакомитесь с возможностями движка Unreal Engine 4. Научитесь программировать свойства объектов в UE 4 и самостоятельно собирать рабочие прототипы игр.

Unreal Engine 4 — популярный игровой движок от Epic Games. На нём разрабатывают шутеры от первого лица, стелс-игры, файтинги и MMORPG.

Dishonored

Batman: Arkham Asylum

Bioshock 2

Mortal Kombat X

Разработчики на Unreal Engine 4 востребованы на рынке. 150 компаний ищут специалистов разных уровней.

  • от 70 000 ₽ без опыта
  • до 120 000 ₽ 1–3 года опыта
  • от 200 000 ₽ 3–6 лет опыта

Вы научитесь

Работать Unreal Engine 4

Разрабатывать прототип проекта

Программировать элементы игры

Программа

Платформер на UE4: среда разработки

  • Unreal Engine 4 — как это крутится.
  • Настраиваем графику.
  • Планируем уровень.
  • Главный персонаж.
  • Ответы на вопросы.

Платформер на UE4: настраиваем механики

  • Механика препятствий.
  • Условие проигрыша/выигрыша.
  • Добавление звука.
  • Система очков.
  • Интерфейс.
  • Ответы на вопросы.

Платформер на UE4: полишинг и итоги

  • Что мы не успели.
  • Полишинг.
  • Проверка домашних работ.
  • Вручение призов.
  • Ответы на вопросы.

Инструменты, которые вам понадобятся

Чтобы интенсив прошёл наиболее эффективно, установите Unreal Engine 4. Ссылку на скачивание и подробную инструкцию мы пришлём в письме после регистрации на интенсив.

Работы участников

Автор: Дмитрий Водяков

Автор: Кристина Черкасова

Автор: Дмитрий Водяков

Автор: Алексей Абдулин

Подарки и призы

Сертификат на обучение на платформе Skillbox

Сертификат на обучение на платформе Skillbox

Каждый, кто выполнит практическую работу, получит сертификат на 10 000 рублей на любой курс.

Чек-лист для начинающих разработчиков

Чек-лист для начинающих разработчиков

Каждый, кто оставит заявку на участие в интенсиве, получит подборку полезных материалов по UE4.

Преподаватель

Фото преподавателя

Евгений Чичилов

  • Более 5 лет опыта программирования на С++/Blueprint в игровой индустрии.

Работы преподавателя


Концепт транспорта для игры Decimated


Концепт транспорта для игры Decimated


Локация и модель героя для игры Decimated


Киберпанковая локация для игры Decimated


Окружение из игры Decimated

Что вас ждёт

Мощная программа

Три дня вебинаров по 1,5 часа для полного погружения в тему — такого вы ещё не видели.

Реальные задачи

Которые помогут закрепить знания и понять, в каком направлении двигаться дальше.

Комьюнити

Вас ждёт общение с другими участниками и ведущим интенсива в закрытом чате в Telegram.

Кейс в портфолио

На интенсиве вы создадите проект, который наверняка оценят потенциальные работодатели.

Получить доступ к записи бесплатного интенсива

Ваша заявка успешно отправлена

Получайте расписание новых интенсивов каждую неделю

Раз в неделю мы будем присылать вам расписание грядущих интенсивов на почту. Подпишитесь, чтобы не пропустить вебинары по своим темам.

Данные успешно отправлены.

Прежде чем вы уйдёте… Загляните на распродажу

Профессии с трудоустройством и топовые курсы. Для вас — со скидками до 50%.

До конца распродажи:

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

Unreal Engine 4 – это последняя версия движка, которую создала компания Epic Games. Хотя данный набор инструментов изначально был предназначен преимущественно для разработки игр в жанре shooter, сейчас на этом движке можно создавать самые разнообразные типы игр.

Устанавливаем и настраиваем первый проект

Создание игры на Unreal Engine 4

Установив и открыв программу запуска Epic Games Launcher, вы увидите следующее окно:

Введите адрес электронной почты и пароль

Путь установки

Starter Content. Это список бесплатных ассетов (моделей, материалов и т.п.), которые вы можете свободно использовать в разработке своих проектов. Их можно применять в качестве временных ресурсов или использовать в уже готовой игре.

Engine Source: Unreal. В этом движке – открытый исходный код. Это означает, туда можно свободно вносить изменения. Например, если необходимо добавить дополнительные кнопки в редактор.

Templates and Feature Packs. Шаблоны этого компонента (Templates) предлагают основные возможности для жанра игры, который вы выбрали. Например, выбрав шаблон Side Scroller, вы создадите проект, в котором будут персонаж, элементарные движения и камера на фиксированной плоскости.

Выбор компонентов в Unreal Engine 4

Также вам нужно будет выбрать из списка целевую платформу: Linux, IOS, Android, HTML5 и другие. Отметим, что при выборе Android вам также необходимо будет скачать и установить набор инструментов NIVIDA CodeWorks. В случае, если игра не создаётся под определённую платформу, просто снимите все галочки.

Целевые платформы

Библиотека Epic Games Launcher

Создаём первый проект

Запустите редактор Unreal. Откройте экран создания нового проекта, кликнув на вкладку New Project.

Новый проект

Ниже вы увидите две вкладки: Blueprint и C++. Это типы заготовок. C++ представляет собой язык программирования высокого уровня, который отлично подойдёт опытным программистам. Blueprint – более популярный способ создания игры в Unreal Engine 4. Это визуальный скриптовый язык, которым пользуются и новички. Отметим, что в ходе создания игры эти две заготовки можно совмещать. Каждая из них предусматривает определённую логику, на основе которой вы будете писать проект. Для нашего примера используем вкладку Blueprint.

Кликнув на вкладку, вы увидите перечень шаблонов. Для создания чистого проекта без определённой логики выбираем шаблон Blank.

Далее знакомимся с различными пресетами и выбираем необходимые параметры на трёх иконках:

Пресеты

Разберёмся, что означает каждая из них:

Target Hardware. Если вы выбираете Mobile/Tablet, определённые эффекты постобработки будут отключены, а мышка будет использоваться для сенсорного ввода. Также для ввода можно применять мышку. Выбор этой целевой платформы целесообразен в случае создания приложения на Андроид. Для нашего примера выбираем второй вариант – Desktop/Console.

Graphical Target. Для разработки приложения, лучше выбрать Scalable 3D or 2D. Отметим, что в данном случае, также, как и в первом пункте, определённые эффекты постобработки отключаются. При создании игры для компьютера или консоли, нажимаем Maximum Quality.

Starter Content. Этот параметр нужен для добавления базового контента. Чтобы упростить себе работу, лучше выбрать No Starter Content.

Не забывайте дать проекту название и указать путь к нему. Когда все вышеперечисленные операции будут проделаны, жмите на кнопку Create Project. Новый проект будет создан на основе указанных вами параметров.

Настраиваем новый проект

Перед тем, как приступить к работе по сборке и запуску проекта, разберёмся, из чего состоит редактор Unreal Engine 4, который откроется после нажатия кнопки Create Project. Сейчас перед нами – шесть основных панелей:

Content Browser. На этой панели мы видим все файлы нашего проекта. С её помощью мы упорядочиваем файлы и создаём папки. Найти нужный компонент проекта можно, воспользовавшись фильтрами или строкой поиска.

Modes. Благодаря этой панели мы переключаемся с инструмента на инструмент, к примеру с Foliage Tool на Landscape Tool. Когда мы заходим в редактор, там по умолчанию стоит инструмент Place Tool. С его помощью можно размещать различные объекты на выбранном уровне (камеры, источники освещения и т.д.).

Панели редактора

World Outliner. На этой панели отображаются все объекты на уровне, с которым мы работаем на данный момент. Объект также можно отсортировать по папкам, таким образом упорядочив их. Нужный тип объекта можно найти через фильтры и поиск.

Details. Тут мы видим все свойства объекта, с которым работаем. Благодаря Details мы можем изменять параметры выбранного объекта (изменения будут внесены только в этом конкретном объекте). Если для сцены мы сделали две сферы, и хотим изменить размер одной из них, то трансформации подвергнется исключительно выбранная сфера.

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

Viewport. Эта панель обеспечивает обзор всего уровня. Мы можем осмотреться, если удержим правую клавишу мышки и будем её перемещать. Если же хотите переключиться на другой уровень, зажмите правую кнопку и используйте клавиши направления WASD.

Теперь, когда мы разобрались со структурой редактора, приступим к настройке проекта. Для начала зададим нужные параметры в меню Settings. Нажав на этот раздел в верхней части редактора, выбираем Project Settings. Для примера рассмотрим параметры при создании приложения на Андроид. Открыв настройки, нам нужно перейти в раздел Platforms - Android SDK. Тут необходимо задать пути для установленных компонентов. Затем нужно зайти в раздел Platforms - Android, где находится все основные данные о проекте. Нам нужно принять лицензионное соглашение, указать названия пакета и приложения. После того как вы указали все нужные параметры, раздел настройки можно закрывать.

Собираем и запускаем проект

Чтобы Unreal Engine начал сборку, зайдите в раздел File, перейдите из него в Package Project, и выберите свою целевую платформу. В случае работы с Андроидом, нам необходимо подключить устройство, на котором мы будем запускать проект. Затем найдите в меню пункт Launch и кликните на стрелку возле него. Выберите устройство, которое вы подключили.

Преимущества движка Unreal Engine 4

Среди главных преимуществ этого программного обеспечения – сочная графика, реалистичная физика и относительно высокая скорость разработки. По сравнению с его ближайшим аналогом – движком UNITY – Unreal Engine более эффективен и при создании сложных игровых сцен, что значительно экономит ресурсы разработчика.

Также рассматриваемый нами движок намного проще в использовании: в нём без проблем разбираются новички. Способствует этому и удобный интерфейс. Удобен Unreal Engine 4 и с финансовой точки зрения: движок является условно бесплатным. Разработчику придётся отдавать 5 процентов своего дохода с игры, только когда последний превысит 3 000 долларов в три месяца.

Последняя версия Unreal одинаково хорошо подходит для любых платформ. Особенно это движок рекомендуют использовать при работе с реалистичной next-gen графикой.

Где можно обучиться работать с Unreal Engine 4

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

Сколько может зарабатывать разработчик

Хотя заработок на продаже игр – дело не из простых, им также можно обеспечить себе неплохую прибыль. Работая в Unreal Engine вы можете бесплатно размещать свои детища на Маркетплейсе. Как мы уже говорили, администрация стягивает 5 процентов от вашего заработка, если он превысил 3 000 долларов за квартал. При этом автор обязан каждые три месяца отчитываться о сумме полученной прибыли. Чтобы сократить размер отчислений, советуем совершить предоплату за предоставление пользовательской лицензии.

Как показывает практика, в работе с Unreal Engine 4 заработок новичка стартует от 50 000 рублей, а опытный разработчик может получать до 250 000 рублей.

Чтобы среди огромного количества игр пользователи обратили внимание именно на вашу, советуем составить цепляющее описание и сделать привлекательные скриншоты. Снижать цену на своё творение в надежде, что её быстрее купят, не стоит.

Этапы создания игры

Создание любой игры начинается с технического задания, в которое должны быть включены все основные этапы и подпункты этого процесса. Одним из самых важных пунктов в разработке является визуальная составляющая проекта. Для этого в игре должен быть хорошо продуманный уникальный дизайн и грамотно разработанные модели. Также необходимо написать игровой код логики, который работает на движке, а также код сетевой части, если игра – сетевая. Немаловажным является и качественный звуковой контент. Последним этапом создания игры перед её выпуском, должно стать тестирование.

Unreal engine 4 – лучший выбор 2020

Учитывая большое количество преимуществ, разработка игр на unreal engine 4 – лучший выбор для разработчика в 2020 году. Обладая удобным интерфейсом и доступным функционалом, этот движок получил популярность как среди опытных профессионалов, так и среди новичков в игровой сфере. Unreal engine 4 может стать отличным стартом в успешной карьере и принести разработчику хорошую прибыль.

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


Меня зовут Игорь Титаренко , я работаю Unreal Engine разработчиком в компании SolidCore Games . Свежий пример, который я хочу с вами рассмотреть — прототип раннера. По этой ссылке вы можете скачать файлы проекта и потестить его.

В готовом прототипе будет:

Персонаж бегущий вперед, на кнопки “A”, “D” меняем локейшн по оси “ X ”.


Уровень, по которому мы передвигаемся — Tile Map. При перемещении персонажа, пройденный тайл перемещается вперед.


Монеты, которые мы будем собирать, и подсчет очков.


Простой UI (Game Over, Score, Restart) и к онец игры при столкновении с препятствием.


Ассеты я подготовил заранее и буду подгружать из готового проекта. Логику напишу с нуля.

Создание проекта и настройка персонажа

Создадим проект на основе Third Person, в котором у нас по умолчанию будет персонаж и уровень.


Я убираю из уровня лишнюю геометрию и настраиваю персонажу управление. Изначально, при нажатии на “W” вызывается событие MoveForward и персонаж передвигается вперед. Мы будем вызывать логику движения вперед не нажатием кнопки, а на Event Tick, то есть на каждый кадр в игре, чтобы персонаж все время бежал вперед.


Затем настраиваем перемещение персонажа на кнопки “A”, “D” — меняем локейшн по оси X .


Создаем массив float переменных, в котором будем хранить значения локации по оси X каждой из трех “дорожек”, по которым бежит персонаж.


Далее проверяем по какой полосе мы бежим — 0, 1 или 2, затем на нажатие кнопок “A”, “D” добавляем или отнимаем индекс полосы, если он не выходит за минимальное и максимальное значение.


После этого, в зависимости от индекса полосы дороги, задаем координаты по оси Х для нашего персонажа.


Tile Map

Начнем с подготовки ассетов для генерации уровня. Нам понадобится:

  1. Машинки, которые мы будем расставлять по уровню.
  2. Монетки, которые мы будем собирать.
  3. Tile — blueprint actor с наполнением уровня. Из тайлов мы будем генерировать “коридор” нашего уровня.


BP_Car

Теперь сделаем машинки, которые будут спауниться на уровне. Чтобы разнообразить игру, будем генерировать случайную машину из массива возможных вариантов. Создаем новый blueprint actor, добавляем ему компонент Static Mesh. Создаем массив с вариантами геометрии для наших машин. Далее пишем логику, которая при создании машинки будет генерировать рандомное (в пределах массива) число — индекс, и по нему задавать нашему эктору геометрию из массива.


BP_Coin

У каждого отдельного тайла на каждой полосе дороги в случайном месте по оси Y спаунится машинка, и на случайной полосе спаунится группа монет.


Чтобы геометрия монет и машинок не пересекалась, мы будем спаунить монеты выше, чтобы они падали на карту. При столкновении с машинкой или дорогой отключим им физику. Таким образом монеты будут на одинаковой высоте и над асфальтом и над машинками, в тех местах где они есть. Здесь они у меня на неравном расстоянии друг от друга, но на то он и прототип, чтобы быстро передать принцип без длительной проработки.


Создаем blueprint actor, добавляем ему компонент геометрии и коллизию, которая будет отвечать за отключение физики при столкновении с поверхностью.


По умолчанию сделаем наш actor физическим объектом, чтобы включить гравитацию. Для этого поставим галочку physics enabled. Далее добавим логику отключения физики, когда она нам больше не нужна.


Сделаем так, чтобы монетка все время вращалась.


BP_Tile

Создаем тайл, из которого будет генерироваться уровень, по которому будет бежать персонаж. Я создаю новый Blueprint actor, добавляю ему нужные нам компоненты:

  1. StaticMesh — геометрию зданий и окружение.
  2. Box Collision “SpawnPoint Box” коллизию которая будет отрабатывать событие, когда персонаж пробежит данный тайл. Это необходимо, чтобы мы могли вызвать логику уничтожения данного тайла и спауна нового впереди.
  3. Spawn point — точку координат, в которой мы будем спаунить новый тайл.

Далее пишем функции генерации машин. Логика здесь такая — получаем локейшн тайла и в случайном месте из заданного диапазона по оси Y спауним BP_Car.


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


На событие начала игры вызываем функции спауна машин, по одной для каждой полосы движения, и на случайной полосе спауним монеты.


Теперь в GameMode напишем логику генерации уровня. Класс GameMode отвечает за настройку правил игры. Правила могут включать в себя любое поведение, связанное с игрой. Например, условия выигрыша или, как в нашем случае, генерацию тайл мапа. Функция спауна тайлов будет выглядеть так:


Спауним первый тайл в нулевых координатах, которые записаны в переменную NextSpawnPoint. После этого вытаскиваем локейшн у его Spawn Point. Получаем координаты этой точки и записываем их в переменную NextSpawnPoint — эти координаты будут использованы для следующего тайла. Вызываем функцию еще раз, чтобы заспаунить следующий тайл. В Game Mode на Event Begin Play создадим цикл, который будет вызывать спаун тайлов нужное нам количество раз.


Начало игры запускает цикл. Он проходит от нуля до пяти. То есть функция Spawn Tile вызывается шесть раз. Соответственно, в начале игры спаунится шесть тайлов.

Если сейчас запустить игру, сгенерируется наш tile map, но мы можем пробежать его от начала до конца. Напишем логику для real time генерации тайлов при перемещении по уровню. В BP_Tile добавляем к SpawnPoint Box событие On Component Begin Overlap. Оно будет срабатывать, когда бокс компонент пересечется с другим объектом игрового мира, у которого есть коллизия. Событие проверяет, что столкнулось с SpawnPointBox. Если это character, которым мы управляем, то вызываем из Game Mode функцию спауна нового тайла и после задержки удаляем пройденный тайл.


UI, Подсчет очков

Создадим Widget Blueprint и назовем его WBP_Point.


Добавим в наш виджет следующие текстовые виджеты:

  • Score
  • GameOver
  • Your Score
  • Total Score

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


Visibility всех элементов виджета кроме Score устанавливаем Hiden и д обавляем кнопку Restart, на нажатие которой заново будет открываться наш уровень.



В целом наш виджет должен выглядеть примерно так:


Перейдем в Graph и создадим переменную “Score” типа integer — целое число. Для текстов Score и Total Score привяжем созданную интовую переменную в качестве значения. Теперь из переменной зададим значение в текст, а переменную, в свою очередь, будем менять в персонаже.



Теперь добавим наш виджет во вьюпорт. Для этого в ThirdPersonCharacter на Event Begin Play создадим виджет WBP_Points, добавим его во вьюпорт и сохраним ссылку на него в переменную “Widget Score”.


Теперь у нас есть практически все для того, чтобы собирать монетки. Создадим в ThirdPersonCharacter событие PickupPoints. При вызове события получаем значение переменной Score из ссылки на виджет Widget Score, добавляем к нему 5 очков и обратно записываем в переменную Score.


PickupPoints будем вызывать из BP_Coin. Добавим событие On Component Begin Overlap для static mesh, в котором проверим с чем пересекается монетка. Если это ThirdPersonCharacter, вызываем у него PickupPoints и уничтожаем монетку.


Теперь, когда персонаж пересечется с монеткой, количество очков увеличится на 5, что сразу отобразится в виджете, а монетка исчезнет/подберется.

Далее создадим логику конца игры, которая будет вызываться на столкновение персонажа с машиной. Для этого создаем в WBP_Points функцию Game Over, в которой будем менять visibility текстовых виджетов Game Over, Total Score, Restart button.


Добавим отдельный Box Collision component в ThirdPersonCharacter.


Привяжем событие на столкновение с этим боксом, в котором мы проверим: если ThirdPersonCharacter сталкивается с BP_Car, то вызываем функцию Game Over из WBP_Points, которая отрисует нужный нам интерфейс. Далее отключаем движения персонажу и включаем отображение курсора мыши, чтобы иметь возможность нажать Restart.


Теперь, если врезаться в машинку, мы получим такой результат:


Unreal Engine 4

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

0

0

Все эти движущиеся задники-передники просто разрыв мозга

1

0

Я знаю, как это называется. Просто для background'ов и foreground'ов обычно применяют расфокус.

1

1

Можно хотя бы было сделать их менее выразительными, а то все сливается в одну кучу.

Читайте также: