Геймплей-программирование от XYZ School
Программа курса
Ознакомьтесь с программой курса «Геймплей-программирование» от XYZ School
Часть 1:Введение
1. Обзор курса:
-
Что такое программирование игровой логики
-
Чему научат на курсе
-
Какие технологии будут использоваться и требования на курсе
2. Установка и настройка окружения:
-
Устанавливаем UE4
-
Устанавливаем Visual Studio C++ community edition
3. Создание нового проекта:
-
Используем шаблон UE4 blank project
-
Обзор редактора
-
Базовые инструменты создания уровней
-
Асtor'ы и статические меши (static meshes)
-
BSP кисти и работа с ними
-
Простой Grid-материал
4. С++ в Unreal Engine:
-
Для тех кто в С++ впервые: почему 2 файла (.h и .cpp)
-
Объектная модель. Классы UObject, AActor, UActorComponent
-
Система рефлексии в UE4: UPROPERTY(), UFUNCTION() и т.д.
-
Еще один момент для тех кто в С++ впервые: что такое указатели и как их используют.
5. Сборка игры:
-
Visual studio solution: проекты engine (UE4) и самой игры.
-
Конфигурации билдов (DebugGame Editor, Development editor, DebugGame, Development, Shipping)
-
Внесение изменений в код и их подгрузка редактором (full rebuild vs. hot reload vs. live coding)
-
Сборка и упаковка (packaging) игры.
6. Настройка оставшегося окружения: трекер задач и система контроля версий:
-
Perforce как предпочтительная система контроля версий. Обзор других вариантов - git, SVN, Plastic SCM
-
Трекеры задач Jira и Trello
Часть 2:Создание персонажа с нуля на С++. Обработка ввода, перемещение персонажа и анимационная система в Unreal Engine.
1. Классы ACharacter и UCameraComponent:
-
Классы AActor и Pawn в UE4
-
Компонент Camera component
2. Обработка ввода и простое перемещение. Movement Component:
-
Таблицы ввода, input actions и input axis
-
Компонент Movement component и режимы перемещения
-
UInputComponent и Обработка ввода
3. Анимации персонажа. Класс Anim Instance и Animation blueprint:
-
Скелетные меши (skeletal mesh)
-
Animation sequence и animation montage
4. Реализация прыжка, приседания и бега:
-
Обрабатываем ввод (нажатие "пробела", "ctrl", "sprint")
-
Вызываем соответствующий метод у персонажа
-
Поддержка анимации
Часть 3:Оружие
1. Оружие ближнего боя:
-
Импорт модели оружия
-
Создание классов BaseWeapon и MeleeWeapon
-
Экипировка оружия персонажем. Прикрепление к слотам.
-
Атака оружием ближнего боя. Обработка ввода и анимация.
-
Хит капсула и тесты на попадание
-
Применение удара к объектам
-
Дополнительные анимации
2. Основы оружия дальнего боя: хит скан (hit scan):
-
Импорт модели оружия дальнего боя: оружие + магазин
-
Реализация механики стрельбы
-
Регистрация попадания через hit scan.
-
Добавление визуальных эффектов
3. Оружие дальнего боя: амуниция, скорострельность, прицеливание (ADS):
-
Амуниция
-
Автоматический огонь
-
Прицеливание (Adding aiming down - ADS)
4. Оружие дальнего боя: дробовики:
-
Регистрация попадания дробовика - конус поражения, множественные хит-сканы)
-
Перезарядка дробовика
5. Регистрация попадания через снаряды ("проджектайлы" - projectiles):
-
Сложная баллистика (гравитация и рикошет)
-
Projectile movement component
6. Взрывы:
-
Создаем взрывающийся Actor - бочку
-
Зона взрыва. Регистрация урона от взрыва
-
Нанесение урона и добавление импульса
7. Гранаты:
-
Создаем гранату
-
Бросаем гранату (анимации персонажа)
-
Траектория гранаты - обработка отскоков
-
Таймер гранаты
Часть 4:Искусственный интеллект NPC. AI персонажи. AI контроллеры, Blackboards, навигация и дерево поведения
1. Создание "стационарного" NPC - башни:
-
Создание классов AICharacter и AIAnimationInstance
-
AIcontroller и TeamID
-
Blackboard. Установка врага в blackboard. (по попаданию в радиус)
-
Обработка значений blackboard в AIController'е
2. Чувства и система восприятия:
-
Perception system. Система восприятия Perception System. Чувство зрения AI_SenseSight
-
Добавление зрения к "башне"
3. Навигация. Создаем перемещающегося персонажа:
-
Создание движущегося персонажа (например, "зомби")
-
Навигационная сетка (Navigation mesh)
-
Добавляем перемещение
4. Дерево поведений:
-
Новый AI Character c оружием дальнего боя. Имеет 2 варианта поведения: патрулирование и бой с игроком.
-
Что такое дерево поведений (Behavior tree)?
-
Узлы дерева поведения
-
Вэйпоинты. Реализация состояния патрулирования
-
Переключение между режимами боя и патрулирования
Часть 5:UI, Система инвентаря, Интерактивные объекты и триггеры
1. Система UMG и виджеты:
-
Виджеты игрока
-
Полосы здоровья у врагов
-
Создаем меню
2. Экипировка. Колесо выбора:
-
Компонент EquipmentСomponent для сохранения оружия игрока
-
Колесо выбора (weapon wheel)
3. Подбираемые (pickable) и потребляемые (consumables) предметы:
-
Компонент PickableItem и блупринт поднимаемого предмета
-
Потребляемые предметы
4. Инвентарь:
-
Компонент InventoryComponent для сохранения подобранных предметов
-
Виджет инвентаря
-
Экипировка оружия из интвентаря.
-
Использования предметов из инвентаря
5. Интерактивные объекты:
-
Компонент InteractiveСomponent
-
Пример интерактивного объекта: Двери
-
Пример интерактивного объекта: Лифты }
6. Триггеры:
- Использование триггеров для вызова врагов
Часть 6:Сеть и репликация
1. Обзор Game flow в Unreal engine. Game mode и game state:
-
UE4 game flow, класс game instance
-
Классы Game mode и game state
2. Репликационная модель в Unreal engine:
-
Клиент-серверная модель в UE
-
Режим сети и типы серверов
-
Типы репликаций
-
Сетевые роли
3. Репликация игровых механик:
-
Репликация экторов и перемещения
-
Тестирование репликации в UE4
-
Репликация здоровья игрока
-
Репликация регистрации попаданий
-
Репликация искусственного интеллекта
4. Создание многопользовательской сессии и присоединение к ней:
-
Создание сессии
-
Поиск и присоединение к сессии
Часть 7:Система сохранения в Unreal, Стриминг уровней.
1. Сохранение игры:
-
Класс USaveGame
-
Типы сохранения и загрузки (asynchronous, synchronous, binary)
-
Сохранение свойств игрока
-
Сохранение интерактивных объектов
2. Загрузка уровней:
-
Функция Open level
-
Использование open level в сетевой игре. Перемещение из лобби в другие карты
-
Сохранение текущего уровня в одиночной игре с помощью USaveGame
3. Стриминг уровней:
-
Создание persistent level
-
Использование streaming volumes для стриминга
-
Загрузка и выгрузка подуровней через C++
4. Сохранение вместе со стримингом:
-
Сохранение интерактивных объектов в выгруженном уровне
-
Загрузка состояния интерактивных объектов в загруженном уровне
Часть 8:Профилирование и оптимизация в UE4
1. Инструменты профилирования: STAT команды, Session frontend и Unreal Insights
2. Significance manager и Animation sharing:
-
Настройки производительности обновления SkeletalMesh
-
Стоимость обновления AI controller и задач поиска путей
-
Использование significance manager для оптимизации обновления персонажей
-
Использование significance manager для оптимизации анимаций персонажей
- Город
- Онлайн
- Формат обучения
- Онлайн
- Сертификат
- Есть
- Инструменты на курсе
-
JIRA
Качественная обратная связь. Любые возникающие вопросы оперативно решаются.
Хорошая учебная программа. Все курсы структурированы, а обещанный результат выполнен.
Преподаватели-эксперты. Все педагоги обладают колоссальным опытом и навыками, которыми делятся с учениками.
Полезный материал. На курсах достаточно много нового и полезного, что поможет вам в развитии вашей карьеры в будущем!
Обучение на первом месте. Иногда приходится прилагать очень много сил и времени на освоение материала.
Самодисциплина. Без собственного желания и самомотивации вам будет сложно проходить обучение.
Взгляните, что студенты и выпускники говорят про XYZ School
Отзыв в первую очередь посвящен всем сомневающимся, ведь именно такой была и я, когда думала о приобретении данного курса. Сейчас же я благодарна всем случайностям этого мира, которые подтолкнули меня к решению «надо брать, но это точно последний». С уверенностью говорю, что тепе...
Курс оказался невероятно полезен, дал отличный рывок вперед. Пройдя два бесплатных курса, купил курс Styl, который просто сокровище среди курсов. Невероятно крутые учителя. Особенно Николай Цыс!