Разработчик игр на Unreal Engine

Описание

О курсе

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

Разработчик игр на Unreal Engine — это специалист, который реализует игровые механики, исправляет ошибки и оптимизирует игру, а также развивает движок и контролирует соблюдение технических стандартов в проекте. Главная задача разработчика на Unreal Engine — предоставить необходимые инструменты другим членам команды для работы над игровым проектом.

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

Для кого

  • Хотите работать над современными играми с передовыми технологиями на Unreal Engine 5.
  • Работаете в смежной области, например, тестировщиком или дизайнером уровней, и хотите сменить работу на более интересную для вас.

Чему вы научитесь

  • Программировать на языке C++. Освоите язык на базовом уровне, чтобы использовать его для работы с Unreal Engine. А ещё поймёте, как работает система контроля версий (Git).
  • Реализовывать механики шутеров в Unreal Engine на языке программирования C++. Узнаете, как работает стрельба, перемещение, сетевая репликация или реакция персонажа на урон.
  • Разрабатывать игровой интерфейс. Например, меню, виджеты игрока, полосы здоровья, колесо выбора, прицел, инвентарь и интерактивные объекты.
  • Создавать игровой движок для двухмерных (2D) игр. Для этого вы разберетесь с основами линейной алгебры и принципами создания игровых движков.
  • Создавать неигровых персонажей (NPC) и ИИ (AI).
  • Добавлять в игру персонажей, настраивать их дерево поведения и карту перемещений.
  • Проводить ревью кода. Находить и устранять ошибки в геймплее, оптимизировать код и работать с системой контроля версий игры (Git).

Программа

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

  • 20 домашних заданий
  • Индивидуальная проверка домашних заданий
  • Дипломный проект
  • Навыки работы с системой контролей версий (Git)
  • 4 проекта в портфолио
  • Проведение ревью кода
  • Навык реализации основных механик шутеров на Unreal Engine и языке C++
  • Знание языка программирования C++

Разработка игр на языке программирования C++

В этом блоке вы научитесь программировать на языке C++, разбираться в основах линейной алгебры и в структурах данных. Также узнаете, как работать с системой контроля версий (Git) и поймете, какие есть паттерны при разработке игр.

  • Введение в программирование
  • Алгоритм. Переменные, ветвления и циклы в языке C++
  • Составление алгоритмов, схемы программы/алгоритма (flowchart-диаграмма). Делаем игру
  • Функции. Структура программ на языке C++. Процесс сборки
  • Типы языка C++. Встроенные и пользовательские типы, структуры, перечисления (enum), массивы, указатели и ссылки
  • Основы теории алгоритмов: определение алгоритма, асимптотический анализ (о-нотация), поиск, сортировки. Оптимизация
  • Классические структуры данных и алгоритмы с ними: массив, список, стек, очередь, словарь
  • Шаблоны, строки, особенности ввода-вывода
  • Введение в Объектно-ориентированное программирование. Классы в языке C++
  • Полиморфизм и наследование в языке C++
  • Введение в проектирование, основные принципы. Интерфейсы, абстрактные классы в языке C++
  • Основные паттерны проектирования
  • Системы контроля версий (Git)
  • Введение в разработку игровых движков
  • Тестирование и отладка программ
  • Основы командной и проектной разработки
  • Заключение. Подготовка к аттестационной работе

Геймплей программирование

Научитесь разрабатывать игровые интерфейсы, например, меню, виджеты игрока и полосы здоровья. А также реализовывать механики движения или стрельбы, создавать неигровых персонажей (NPC) и ИИ (AI) и проводить ревью кода.

  • Интерфейс Unreal Engine 4
  • Интерфейс Unreal Engine 5
  • Знакомство со средой разработки (Rider)
  • Основные объекты в Unreal Engine
  • Язык программирования C++ в Unreal Engine
  • Исходный код Unreal Engine
  • Знакомство с концепцией персонажей, камер и контроллеров
  • Скелет и скелетная анимация. Анимационные ассеты в Unreal Engine
  • Класс (Character) и базовое перемещение. Классы (ACharacter и UCharacterMovementComponent)
  • Продвинутое перемещение персонажа: плавание, перелазание, лестницы
  • Персонаж от первого лица
  • Концепция урона в Unreal Engine. Здоровье и другие атрибуты персонажа. Смерть персонажа и физика тряпичной куклы (Ragdoll)
  • Пистолет, автомат, амуниция, переключение оружия, регистрация попаданий, интерфейс
  • Дробовик, взрывы, граната, снайперская винтовка, нож. Регистрация попаданий
  • ИИ: создание персонажа, система восприятия, передвижение
  • Дерево поведений. Узлы дерева поведения: Selections, Sequences и Tasks
  • Репликация: сетевые роли в Unreal Engine, механики персонажа, подключение онлайн-системы Steam
  • Создание игрового меню. Создание, поиск и присоединение к онлайн сессии
  • Интерактивные объекты, компонент инвентаря, визуальное представление инвентаря и экипировки
  • Радиальное меню — колесо выбора оружия
  • Система сохранения, загрузка и стриминг уровней
  • Оптимизация в Unreal Engine
  • Система игровых способностей (Gameplay Ability System)

Дипломный проект: механика стрельбы из лука или полёты на дроне с активацией и отдельным режимом управления полётом и атакой.

Что вы получите

  • Доступ к материалам курса после подтверждения оплаты
  • Лекции, презентации, конспекты и памятки на учебной платформе
  • Персональная обратная связь на домашние задания
  • Закрытый учебный чат
  • Сертификат об обучении

Кто ведёт курс

Технический директор студии разработки игр

Практикующий разработчик, ведёт блок по архитектуре игрового проекта.

Геймплей-программист

Практикующий программист игровой логики.

Программист на Unreal Engine, 7+ лет в разработке игр

Руководитель команды разработки.