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

Описание

О курсе

Научитесь создавать игры на движке Unreal Engine 5 и работать с языком C++, настраивать механики, инвентарь и окружение, а также создавать персонажей и оружие.

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

Разработчик может участвовать в творческом процессе и тесно сотрудничает со всей игровой командой, особенно с гейм-дизайнерами, которые придумывают механики и передают их разработчику для реализации. А ещё это профессия, в которой нужно постоянно прокачивать навыки (скиллы) и изучать новые технологии, которые позволяют создавать ещё более впечатляющие и достоверные виртуальные миры.

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

Для кого

  • Разработчик на языке программирования C++, устали от скучных коммерческих задач, хотите заниматься чем-то более интересным и повысить навыки, чтобы больше зарабатывать.
  • Хотите работать над современными играми с передовыми технологиями на Unreal Engine 5.

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

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

Программа

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

  • 370+ часов обучения
  • Индивидуальная проверка домашних заданий
  • 9 домашних заданий
  • Навык реализации основных механик шутеров на Unreal Engine и языке программирования C++
  • Прототип шутера от 3-го лица в портфолио
  • Проведение ревью кода

Блок 1. Введение в курс

  • Работа с системами контроля версий (GitLab, GitHub)
  • Интерфейс Unreal Engine 4
  • Интерфейс Unreal Engine 5
  • Знакомство со средой разработки (Rider)

Блок 2. Введение в Unreal Engine

  • Основные объекты в Unreal Engine
  • Язык программирования C++ в Unreal Engine
  • Структура Unreal Engine, сборка игры

Блок 3. Персонаж, контроллер, камеры и передвижение

  • Персонаж, камера и контроллер (концепция «3C» в Unreal Engine)
  • Скелет и скелетная анимация. Анимационные ассеты в Unreal Engine
  • Класс (Character) и базовое перемещение. Классы (ACharacter и UCharacterMovementComponent)
  • Продвинутое перемещение персонажа: плавание, перелазание, лестницы
  • Персонаж от первого лица (First Person Character)

Блок 4. Оружие

  • Концепция урона в Unreal Engine. Здоровье и другие атрибуты персонажа. Смерть персонажа и физика тряпичной куклы (Ragdoll)
  • Пистолет, автомат, амуниция, переключение оружия, регистрация попаданий, интерфейс
  • Дробовик, взрывы, граната, снайперская винтовка, нож. Регистрация попаданий
  • Промежуточный проект: создадите основу шутера от третьего лица с управлением, анимациями, оружием, характеристиками персонажа и интерактивными объектами.

Блок 5. Искусственный интеллект и неигровые персонажи (NPC)

  • Создание башни и персонажа под управлением ИИ, реализация обнаружения целей, патрулирование и навигации по игровому миру
  • Дерево поведений. Стреляющий враг: создание противника с деревом поведения, системой принятия решений и боевой логикой

Блок 6. Сеть и репликация

  • Сетевая архитектура Unreal Engine
  • Репликация персонажей, оружия и ИИ
  • Создание и подключение к онлайн-сессиям

Блок 7. Взаимодействие с объектами и инвентарь игрока

  • Система взаимодействия с объектами и игровыми событиями: поиск и активация интерактивных объектов, двери, события взаимодействия и отображение информации для игрока.
  • Инвентарь, экипировка и радиальное меню: отбор предметов, хранение и использование экипировки, интерфейс инвентаря и радиальное меню выбора оружия.

Блок 8. Система сохранения, загрузка и стриминг уровней

  • Сохранение прогресса игрока, состояний объектов и данных игрового мира
  • Динамическая загрузка частей игрового мира и управление большими игровыми локациями.

Блок 9. Оптимизация в Unreal Engine

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

Блок 10. Система игровых способностей (Gameplay Ability System)

  • Настройка Gameplay Ability System, создание и запуск способностей персонажа, реализация спринта и приседания
  • Атрибуты персонажа и игровые эффекты: система характеристик персонажа, расход и восстановление ресурсов, получение урона и расчёт защитных параметров.
  • Задачи способностей (Ability tasks) и игровая логика: создание сложной логики способностей, обработка состояний персонажа, нехватки ресурсов и смерти.
  • Репликация Gameplay Ability System: синхронизация способностей и атрибутов в сетевой игре, настройка репликации и исправление типовых ошибок.
  • Итоговый проект: доведете шутер от третьего лица до полноценного игрового прототипа: реализуете игровой цикл, ИИ противников, инвентарь, взаимодействие с объектами, смену оружия и несколько уровней с логикой прохождения.

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

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

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

Геймплей-программист, более 10 лет в разработке игр

Работал ведущим геймплей-программистом в известном многопользовательском проекте.

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

Практикующий разработчик игр, руководитель команды.