XYZ School

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

  • Язык: Русский
  • Осталось мест: не ограничено
Записаться

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

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

Построй план своего карьерного развития

Программа обучения
  • Подготовительный блок. Игровой код для новичков
    Первое знакомство с основными инструментами игрового разработчика: Unreal Engine, Visual Studio и Perforce. Реализация одной из популярных игровых механик в Action играх. Установка и настройка:
    • Перечень программ, с которыми мы будем работать на этом курсе
    • Установка и обзор Epic Games Launcher: структура вкладок, секции Unreal Engine, Learn, Marketplace, Library. Установка Unreal Engine
    • Установка Microsoft Visual Studio Community Edition
    • Установка и настройка Perforce Helix Core и Helix Visual Client. Работа с Perforce, основные операции: checkout, submit, revert, resolve
    • Установка завершена
    • Создаем первый проект в Unreal Engine, разбираемся со структурой папки и добавляем в Perforce
    • Открываем solution проекта в Visual Studio. Обзор структуры решения: проект игры, проект UE4. Обзор основных инструментов и меню Visual Studio. Полезные расширения Visual Studio
    • Обзор редактора Unreal Engine 4
    Реализация механики бега по стенам:
    • Почему именно бег по стенам и цели разработки
    • Создаем новый проект, добавляем в перфорс. Определяем факт и сторону столкновения
    • Создаем специальный уровень для тестирования нашей механики
    • Добавляем проверку на условия для работы механики. Начинаем и оканчиваем бег по стене по таймеру
    • Проверяем наличие необходимой поверхности сбоку во время бега. Добавляем поддержку изогнутых стен и наклона камеры. Усовершенствуем прыжок
  • Блок 1. Введение в курс
    Основные сведения о курсе: как он построен и как сдавать домашки.
    • О курсе
    • Руководство по домашкам
    • Руководство по работе с Perforce и Swarm
  • Блок 2. Введение в Unreal Engine
    Основные объекты UE4, начало работы с Blueprint и С++, знакомство с Gameplay framework и архитектурой движка, системой сборки и упаковки игры.
    • Основные объекты в Unreal Engine
    • С++ в Unreal Engine 4. Создание новых C++ классов. Рефлексия в C++ в UE4. Система событий. Классы для хранения данных
    • Исходный код UE4. Unreal build tool, сборка игры и движка. Конфигурации сборки. Введение в Gameplay Framework. Полезные фишки редактора
  • Блок 3. Персонаж, контроллер, камеры и передвижение
    Знакомство c InputComponent и PlayerController. Создание персонажа: классы Pawn vs Character. Работа с MovementComponent и камерами. Что такое SkeletalMesh, скелетная анимация и анимационный блупринт. FirstPerson Chracater vs. ThirdPerson Character: сходства и различия.
    • Знакомство с концепцией персонажей, камер и контроллеров. Работа с вводом. Создание своих классов Pawn и PawnMovement. Работа с камерами. Логирование
    • Скелет и скелетная анимация. Анимационные ассеты в UE4. Анимационный блупринт и стейт машина. Инверсная кинематика и анимационные нотификации
    • Класс Character и базовое перемещение. Классы ACharacter и UCharacterMovementComponent. Реализация механик перемещения, прыжка, приседания и спринта для гуманоидного персонажа
    • Продвинутое перемещение персонажа: плавание
    • Продвинутое перемещение персонажа: перелазание
    • Продвинутое перемещение персонажа: лестницы
    • First Person Character. Персонаж от первого лица. Особенности управления, камеры и скелетной геометрии. Механики перемещения для первого лица
  • Блок 4. Оружие
    Холодное и огнестрельное оружие. Регистрация попаданий: HitScan и Projectile. Анимации оружия и персонажа. Чем пистолет отличается от автомата и дробовика. Гранаты и взрывы.
    • Концепция урона в Unreal Engine. Здоровье и другие атрибуты персонажа. Смерть персонажа и Ragdoll
    • Пистолет. Регистрация попаданий через HitScan. AimSpace и AimOffset. Эффекты дульных вспышек и следов от пуль
    • Автомат. Автоматическое ведение огня. FABRIK. Декали. Разброс пуль. Прицеливание
    • Амуниция, переключение оружия, интерфейс. Реализуем свап между пистолетом и автоматом, виджет патронов, перезарядку и ее анимацию
    • Дробовик. Множественная регистрация попаданий. Перезарядка по одному патрону. скорострельность дробовика. Импульс при попадании
    • Взрывы и граната. Взрывы, radial damage и explosion component. Снаряды (projectiles) и бросаемые предметы
    • Снайперская винтовка. Использование снарядов (projectiles) для регистрации попаданий. Прицеливание для снайперской винтовки
    • Нож. Оружие ближнего боя и его регистрация попаданий
  • Блок 5. Искусственный интеллект и NPC
    Создашь «стационарного» NPC — башни. Настроишь чувства, систему восприятия, навигацию и дерево поведений. Система Sense-Think-Act. AIController и Blackboard. Система восприятия: AIPerception и AIPerceptionStimuliSource. Система навигации: Nav Mesh, Nav Link, Nav Modifier и Recast NavMesh.
    • Система восприятия искусственного интеллекта. Создание первого персонажа ИИ — автоматической башни. Идентификаторы команд
    • Система навигации искусственного интеллекта и его передвижения
    • Дерево поведений. Узлы дерева поведения: Selections, Sequences и Tasks. Декораторы и сервисы. Реализация стреляющего и движущегося AI
  • Блок 6. Сеть и репликация
    Клиент-серверная модель в UE4. Что такое репликация? Репликация экторов, свойств и вызов удаленных процедур. Репликация персонажей, регистрации попаданий и прочих игровых механик. Создание, поиск и присоединение к многопользовательской сети.
    • Введение в репликацию. Что такое репликация? Сетевые роли в Unreal Engine. Репликация свойств и вызов удаленных процедур
    • Репликация механик персонажа: перемещение, стрельба, нанесение урона. Репликация ИИ
    • Подключение онлайн подсистемы Steam. Создание игрового меню. Создание, поиск и присоединение к онлайн сессии
  • Блок 7. Взаимодействие с объектами и инвентарь игрока
    Взаимодействие с окружением: кнопки, двери, триггеры. Подбираемые объекты и система инвентаря и чем она отличается от экипировки. Spawn таблицы для предметов в инвентаре.
    • Интерактивные объекты. Взаимодействие с объектами по линии взгляда игрока. Интерфейс интерактивных объектов
    • Компонент инвентаря. Визуальное представление (view) инвентаря. Подбирание объектов в инвентарь. Потребление объектов из инвентаря
    • Перемещение оружия из инвентаря в экипировку. View экипировки
    • Радиальное меню — колесо выбора оружия
  • Блок 8. Система сохранения, загрузка и стриминг уровней
    Класс USaveGame и слоты для сохранения. Типы сохранения и загрузки игры (asynchronous, synchronous, binary). Открытие и стриминг уровней. Сохранения состояния выгруженного уровня при стриминге.
    • Разберём и реализуем систему сохранения в Unreal Engine
    • Стриминг уровней: разберёмся как динамически подгружать и выгружать уровни.
  • Блок 9. Оптимизация в UE4
    Инструменты отладки и профилирования в UE4: консоль и STAT команды, Session Frontend и Unreal Insights. Логические LOD'ы, Significance manager.
    • Инструменты профилирования и логические лоды: разберём различные механизмы для тестирования и оптимизации в Unreal Engine
  • Блок 10. Gameplay Ability System
    Знакомство с Gameplay Ability System, с атрибутами и эффектами, ability tasks, а также познакомимся с репликацией по сети в ней.
    • Знакомство с Gameplay Ability System или сокращённо GAS
    • Атрибуты и эффекты ч.1
    • Атрибуты и эффекты ч.2
    • Ability tasks: знакомство и работа
    • Репликация: познакомимся и настроим некоторые механики для работы по сети
    Дипломная работа: ты реализуешь одну из геймплейных систем на выбор — летающий дрон или лук.
  • Бонусный блок с дополнительными стримами по курсу
    Гостевые и совместные стримы:
    • Стрим с Александром Пироговым. Профессия Tool программист
    • Александр Пирогов о Rider for Unreal Engine 2020.3: новые фичи и возможности
    • Rider для Unreal Engine с инженером-программистом из JetBrains
    • Леонид Горбачев. Использование UE4 для создания экономической стратегии
    • Геймдизайнер и нарративный дизайнер о квест-системе
    • Стрим с менеджером игровых проектов про управление технической командой
    • Взаимодействие геймдизайнера и программиста
    • Файт-система и хит реакции
    • Как разработчики работают с художниками игрового окружения
    Стримы про Unreal Engine:
    • Документация кода
    • Ещё раз об отладке. Методы и различные полезные фишки
    • GAS — gameplay ability system
    • Blueprint components и их использование
    • Работа с sequencer и анимациями
    • Отдача оружия
    • Перевод эффектов из Cascade в Niagara
    • Hit реакции
    • Анимации поворота
    • Impact FX
    • Хит Маркеры и их индикаторы
    • Debug Курсового проекта
    Control Rig:
    • Знакомство с Control Rig Pt_1
    • Знакомство с Control Rig Pt_2
    • Знакомство с Control Rig Pt_3
    AirCraft:
    • Реализация летательного аппарата
    • Летательный аппарат: репликация
    • Летательный аппарат: Часть 2
    Плагины:
    • Плагины в UE4 Pt_1
    • Плагины в UE4 Pt_2
    А также:
    • Стрим про модуль загрузочного экрана
    • Пайплайны и особенности работы геймплей программиста на ААА проекте
    • Пайплайны и особенности работы геймплей программиста на ААА проекте 2.0
    • Вопросы на собеседовании: C++
    • Вопросы на собеседовании: Математика
    • Вопросы на собеседовании: Архитектура машин