Gamecode (Russian, Eng sub)
Release date:2022
Duration:23 h 59 m
Author:XYZ School
Skill level:Beginner
Language:Russian
Exercise files:Yes
A gameplay programmer implements the player’s experience, such as controlled transportation or grappling hooks as seen in Uncharted 4. If you enjoy tasks like these, this course is for you. Here, you will learn how to implement any mechanics in practice and do so systematically, as it is done in AAA studios. After completing the course, you will be able to create not only shooters, but games of any other genre – 2D platformer, RTS, flight simulator, fighting, or RPG.
Learn how to write code that will allow the character to move, move, shoot, and actively interact with the outside world. You will learn C++, work with Unreal Engine, set up inventory and environment, create images and weapons. Work as a game programmer in 5 months.
This course covers various aspects of Unreal Engine 4, including:
- Introduction to Unreal Engine
- Main objects in UE
- C++ in UE
- UE4 structure, game assembly
- Character controller, camera, and movement
- Skeleton and animation
- Character class and basic movement
- Advanced movement (swimming, climbing, stairs)
- First person character
- Weapons (damage, health, pistol, machine gun, ammunition, weapon switching, shotgun, explosions, grenades, sniper rifle, knife)
- Artificial Intelligence (automatic tower, perception system, navigation, moving character, behavior tree, shooting enemy)
- Networking and replication
- Interactive objects and player inventory
- Equipment of weapons from inventory, wheel of choice
- Save system and level streaming
- UE4 optimization (profiling tools, logical loads)
Part 1: Introduction
1. Course overview:
What is game logic programming
What will be taught on the course
What technologies will be used and requirements on the course
2. Installing and configuring the environment:
Installing UE4
Install Visual Studio C++ community edition
3. Create a new project:
Using the UE4 blank project template
Editor Overview
Basic Level Creation Tools
Astors and static meshes
BSP brushes and working with them
Simple Grid Material
4. C++ in Unreal Engine:
For those who are new to C++: why 2 files (.h and .cpp)
object model. Classes UObject, AActor, UActorComponent
Reflection system in UE4: UPROPERTY(), UFUNCTION() etc.
One more point for those who are new to C++: what are pointers and how they are used.
5. Assembling the game:
Visual studio solution: engine (UE4) and game projects.
Build configurations (DebugGame Editor, Development editor, DebugGame, Development, Shipping)
Making changes to the code and loading them with the editor (full rebuild vs. hot reload vs. live coding)
Assembly and packaging (packaging) of the game.
6. Setting up the remaining environment: task tracker and version control system:
Perforce as the version control system of choice. Overview of other options – git, SVN, Plastic SCM
Jira and Trello issue trackers
Part 2: Creating a character from scratch in C++. Input handling, character movement and animation system in Unreal Engine.
1. ACharacter and UCameraComponent classes:
AActor and Pawn classes in UE4
Camera component
2. Input processing and simple movement. Movement Component:
Input tables, input actions and input axis
Movement component and movement modes
UInputComponent and Input Handling
3. Character animations. Anim Instance class and Animation blueprint:
Skeletal meshes
Animation sequence and animation montage
4. Implementation of jump, squat and run:
We process input (pressing “space”, “ctrl”, “sprint”)
We call the appropriate method on the character
Animation support
Part 3: Weapons
1. Melee weapon:
Import weapon model
Creating the BaseWeapon and MeleeWeapon Classes
Equipping a weapon with a character. Attachment to slots.
Attack with a melee weapon. Input handling and animation.
Hit capsule and hit tests
Applying impact to objects
Additional animations
2. Ranged weapon basics: hit scan:
Import of ranged weapon model: weapon + magazine
Implementation of shooting mechanics
Hit registration via hit scan.
Adding visual effects
3. Ranged weapons: ammunition, rate of fire, aiming (ADS):
Ammunition
Automatic fire
Aiming down (ADS)
4. Ranged Weapons: Shotguns:
Shotgun hit registration – cone of destruction, multiple hit-scans)
Shotgun reload
5. Registration of hits through projectiles (“projectiles” – projectiles):
Complex ballistics (gravity and ricochet)
Projectile movement component
6. Explosions:
Create an exploding Actor – a barrel
Explosion zone. Explosion Damage Registration
Dealing damage and adding momentum
7. Grenades:
Create a grenade
Throwing a grenade (character animation)
Grenade Trajectory – Bounce Handling
grenade timer
Part 4: NPC artificial intelligence. AI characters. AI Controllers, Blackboards, Navigation and Behavior Tree
1. Creation of a “stationary” NPC – a tower:
Creating the AICharacter and AIAnimationInstance classes
AIcontroller and TeamID
Blackboard. Installing an enemy in the blackboard. (on hit in radius)
Handling blackboard values in AIController
2. Feelings and system of perception:
perception system. Perception System. Sense of sight AI_SenseSight
Adding vision to the “tower”
3. Navigation. Create a moving character:
Creating a moving character (e.g. “zombie”)
Navigation mesh
Adding movement
4. Behavior tree:
New AI Character with ranged weapons. It has 2 behaviors: patrol and fight with the player.
What is a behavior tree?
Behavior Tree Nodes
Waypoints. Implementing the Patrol State
Switching between combat and patrol modes
Part 5: UI, Inventory System, Interactive Objects and Triggers
1. UMG system and widgets:
Player Widgets
Enemy health bars
Create a menu
2. Equipment. Selection wheel:
The EquipmentComponent component for saving the player’s weapons
Selection wheel
3. Pickable and consumables items:
PickableItem Component and Pickable Item Blueprint
Consumable Items
4. Inventory:
InventoryComponent for saving picked up items
inventory widget
Equipping weapons from inventory.
Using items from inventory
5. Interactive objects:
InteractiveComponent component
Example of an interactive object: Doors
Example of an interactive object: Elevators }
6. Triggers:
Using triggers to summon enemies
Part 6: Networking and replication
1. Overview of Game flow in Unreal engine. Game mode and game state:
UE4 game flow, game instance class
Game mode and game state classes
2. Replication model in Unreal engine:
Client-server model in UE
Network mode and server types
Replication types
Network Roles
3. Replication of game mechanics:
Actor replication and movement
Testing replication in UE4
Player health replication
Hit registration replication
Artificial intelligence replication
4. Creating a multi-user session and joining it:
Session creation
Finding and joining a session
Part 7: Unreal save system, level streaming.
1. Saving the game:
USaveGame class
Save and load types (asynchronous, synchronous, binary)
Saving player properties
Saving interactive objects
2.Loading levels:
Open level function
Using open level in a network game. Move from lobby to other maps
Saving the current level in a single player game with USaveGame
3. Streaming levels:
Create a persistent level
Using streaming volumes for streaming
Loading and unloading sublevels via C++
4. Saving with streaming:
Saving interactive objects in the unloaded level
Loading the state of interactive objects in a loaded level
Part 8: Profiling and optimization in UE4
1. Profiling tools: STAT commands, Session frontend and Unreal Insights
2. Significance manager and Animation sharing:
SkeletalMesh update performance settings
AI controller upgrade cost and pathfinding tasks
Using Significance Manager to Optimize Character Updates
Using Significance Manager to Optimize Character Animations
1_введение в Unreal Engine
1_основные объекты в UE
Actors and components
Блупринты
Вступительное слово
коллизии
Практика Blueprints
Статическая геометрия
Функция Tick
Чуть более продвинутая практика BP
2_с++ в UE
DataTable, DataAsset, CurveFLoat
UObject и Garbage Collection
Вступительное слово
Работаем с новым Actor_ом
Система рефлексии UE4
События и делегаты
Создаем свой первый C+ класс
3_структура UE4, сборка игры
GameInstance
Вводное слово (1)
Знакомство с GameplayFramework
Миграция ассетов_1
Модули и Unreal Build Tool_1
Переименование ассетов и классов
Полезные инструменты левел-дизайнера_1
Сборка Unreal Engine из исходного кода
Сборка игры_1_1
Создание (Spawn) Actor_ов в мире
2_персонаж контроллер камера и передвижение
1_3D чарактер камера и контрол
Введение
Добавялем гравитацию и прыжок (1)
Логирование
Работа с камерами
Создаем свою “пешку” с обложкой новое
Создание Pawn Movement Component
2_скелет и анимация
01 Виды анимаций Что такое скелетная анимация
02 Импорт скелетной геометрии
03 Анимационный блупринт
04 State machine
05 Создаем свой AnimInstance в C
06 Инверсная кинематика – Ч1
07 Инверсная кинематика ч2
3_класс чарактер и базовое перемещение
Бег часть 1
Бег часть 2
Вступление
Настриаваем базовые анимации
Приседание
Создаем блупринт персонажа
Создаем классы для персонажа
4_продвинутое перемещеине плавание
01 Плавание часть 1 – Физические объемы, управление (3)
Анимация размер капсулы пост процессинг
5_продвинутое перемещение клаймбинг
Climbing. Анимационные монтажи
Climbing. Введение
Climbing. Контрольные команды. Отладочные категории. Подсистемы часть 1
Climbing. Контрольные команды. Отладочные категории. Подсистемы часть 2
Climbing. Корректировка перемещения
Climbing. Низкие уступы
Climbing. Новый канал коллизии
Climbing. Обработка ввода
Climbing. Определение выступов часть 1
Climbing. Определение выступов часть 2
Climbing. Отладочная отрисовка
Climbing. Перемещение персонажа часть 1
Climbing. Перемещение персонажа часть 2
Climbing. Рефакторинг отладочной отрисовки часть 1
Climbing. Рефакторинг отладочной отрисовки часть 2
Climbing. Синхронизация перемещения и анимаций
6_продвинутое перемещение лестницы
01_Лестницы Введение
02_Лестницы. Класс интерактивных объектов
03_Лестницы Класс лестниц
04_Лестницы Создаем элементы лестницы в OnConstruction методе
05 Лестницы Настраиваем класс интерактивных объектов
06_Лестницы Перемещение вдоль лестниц
07_Лестницы Корректировка перемещенияmp4
08_Лестницы Анимации
09_Лестницы Прикрепление к лестнице сверху – новая зона взаимодествия
10_Лестницы Прикрепление к лестнице сверху – анимации
11_Лестницы Прыжок с лестницы
12 Bonus – Arrays
7_ферст персон чарактер
01 Введение
02 Добавляем нужные ассеты
03 Создаем класс FP игрока
04 Создаем Idle анимацию
05 Создаем Blueprint персонажа
06 Прикрепляем камеру к сокету FP Mesh Component
07 Новый скелет
08 Приседание от первого лица
09 Подтягивание от первого лица часть 1 – запуск монтажей
10 Подтягивание от первого лица часть 2 – управление камерой
11 Лестницы от первого лица
12 Анимация стрейфа
3_оружие
1_урон и здоровье
01 Концепция урона в UE4
02 Здоровье персонажа
03 Смерть
04 Ragdoll и AnimNotify
05 Урон от падения
2_пистолет
00 Private include paths
01 Импорт ассетов
02 Создаем базовые классы
03 Blueprint пистолета
04 Анимации персонажа
05 Aim offset
06 Регистрация попадания часть 1
07 Регистрация попадания часть 2
08 Анимации
09 Эффекты введение
10 Эффект дульной вспышки
11 Эффект следа от пуль
3_автомат
01 Импорт ассетов
02 Blueprint автомата
03 Bugfix следа от пуль
04 Анимации персонажа
05 Fabrik
06 Автоматическая стрельба
07 Декали
08 Разброс пуль
09 Прицеливание часть 1 – Анимации
10 Прицеливание часть 2 – Логика
11 Прицеливание часть 3 – FOV
4_аммуниция переключение оружия интерфейс
01 Введение в интерфейс
02 Шкала здоровья
03 Прицел часть 1
04 Прицел часть 2
05 Патроны в оружии
06 Виджет патронов
07 Амуниция
08 Перезарядка
09 Анимация перезарядки
10 Переключение оружия часть 1 – слоты экипировки
11 Переключение оружия часть 2 – данные
12 Переключение оружия часть 3 – Анимации
5_дробовик
00 Intro_V10
01 Импорт ассетов_V10
02 Блупринт дробовика_V10
03 Регистрация попаданий дробовика
04 Перезарядка дробовика
05 Багфикс перезарядки
06 Скорострельность дробовика
07 Добавляем импульс
6_взрывы и гранат
00 Введение
01 Импорт Ассетов
02 Компонент взрыва
03 Взрывающаяся Бочка
04 Граната Интро
05 Класс снаряда (проджектайла)
06 Класс ThrowableItem
07 Модифицируем EquipmentComponent
08 Анимационный нотификатор
09 Блупринт ThrowableItem
10 Взрывающиеся снаряды
11 Угол и позиция броска
12 События Equip-Unequip
7_снайперская винтовка
00 Intro
01 Создаем блупринт оружия
02 Стрельба снарядами
03 Bullet blueprint
04 Регистрация попадания через снаряды
05 Модифицируем виджет прицела
06 Тип прицела у EquipableItem (в коде)
07 Видимость виджетов
8_нож
00 Knives Intro
01 Добавляем ассеты
02 Рефакторинг EquipableItem
03 Класс MeleeWeaponItem
04 Блупринт ножа
05 Компонент регистрации попаданий
06 Поддержка регистрации попаданий в классе MeleeWeapon
07 Нотификатор включения и выключения регистрации попаданий
08 Финальная настройка
09 Багфикс анимаций
4_искусственный интелект
1_автоматическая башня. система восприятия
00 Введение_v0
01Класс башни_v2
02 Blueprint башни_v1
03 AIController и AIPerception_v0
04 Класс AITurretController_v1
05 Отслеживание целей турелей_v1
06 Стрельба турели
07 Система свой-чужой
2_навигация. движущийся персонаж
00 Введение_v0
01 Блупринт персонажа v2
02 Рефакторинг AITurretController_V11
03 Класс AICharacterController
04 Генерация навигационной сетки_v0
05 RecastNavMesh и навигационные агенты_v0
06 Маршрут патрулирования_v1
07 Поддержка патруллирования в AICharacterController_v0
08 Настройка патруллирования в редакторе_v2
09Navigation link_v1
3_дерево поведений. стреляющий враг
00 Введение_V10
01 Blackboard – память AI_V10
02 Дерево поведений_V10
03 Task нахождения позиции_v1
04 Декортаоры_v1
05 Добавляем оружие к AI_v1
06 Service стрельбы v1
07 Поддержка AI в классе оружия v1
08 Добавляем стрельбу в дерево поведений v1
5_сеть и репликация
1_введение в репликацию
00 Интро_v1
01 Что такое репликация_v1
02 Исмпорт ассетов_v1
03 Запуск многопользовательской сессии_v1
04 Репликация свойств_v1
05Вызов удалённых процедур NetMulticast_v1
06 Вызов удалённых процедур – Server v1
07 Вызов удалённых процедур – Client v1
08 Репликация перемещения v1
2_репликация персонажа
00 Intro v2
01 Репликация бега v1
02 Репликация подтягивания v1
03 Репликация смены оружия v1
04 BugFix AimOffset_V10
05 Репликация выстрелов часть 1 – WeaponBarellComponent_V10
06 Репликация выстрелов часть 2 – SetAutonomousProxy и прочее_v10
07 Репликация урона_v1
08 Репликация снарядов_v1
09 Репликация ИИ_v1
3_создание и присоединение к онлайн сессии
00 Интро_v1
01 Подключение онлайн подсистемы_v1
02 Создание сессии v1
03 Поиск сессии v1
04Присоединение к сессии_v1
05 Уничтожение сессии и обработка ошибок_v10
06 Основное меню – код_v10
07 Основное меню – блупринт_V10
08 Виджет создания сессии – код_V10
09 Виджет создания сессии – блупринт_v1
10 Виджет поиска сессии – код v1
11 Виджет поиска сессии – блупринт_V10
12 Тестирование и запуск_v1
6_взаимодействие с объектами и инвентарь игрока
1_интерактивные объекты
00 Интро_v1
01 Интерфейс IInteractable_v1
02 Поиск по линии взгляда_v1
03 Класс двери_v1
04 Блупринт двери_v10
05 Виджет интерактивных объектов – код v10
06 Блупринт виджета интерактивных объектов_v10
07 Вызов врагов v10
08 Подписка на события взаимодействия_v1
09 Виджет здоровья противника_v1
2_инвентарь
00 Intro_v1
01 Класс подбираемого объекта v1
02 Подбираемое оружие_v10
03 Подбираемое оружие – данные_v10
04 Интерлюдия_V10
05 Класс объекта инвентаря_v1
06 Компонент инвентаря часть 1_v1
07 Компонент инвентаря часть 2_v1
08 Виджет слота инвентаря v1
09 Виджет инвентаря v1
10 Подбираемые в инвентарь предметы v1
11 Аптечка и адреналин_v1
12 Аптечка и адреналин данные_v1
13 Блупринты виджетов инвентаря_v1
3_экипировка оружия из инвентаря
00 Интро_v0
01 Класс оружия в инвентаре_v1
02 Расширяем класс экипировки_v1
03 Виджет слота экипировки_v1
04 Виджет экипировки_v1
05 Настраиваем данные_v1
4_колесо выбора
00 Интро_v0
01 Материал колеса выбора_v1
02 виджет колеса выбора – код_v1
03 Поддержка нового виджета v2
04 Настройка блупринтов v1
7_система сохранений и стриминг уровней
1_система сохранений
00 Интро_v0
01 Структура SaveData_v1
02 Вспомогательные типы для системы сохранения_v1
03 Интерфейс ISaveSubsystemInterface_V10
04 Подсистема сохранений_v1
05 Сохранение позиции персонажа_v1
06 Сохранения состояния двери_v1
07 Сохранение компонент_v1
08 Bigfix десериализации Standalone приложения_v1
2_стриминг уровней
00 Game Code Интро_V10
01 Game Code Создание подуровней_V10
02 Game Code Создание классов_V10
03 Класс StreamingSubsystemVolume v1
04 Game Code Менеджер стриминг уровня_V10
05 Подсистема стриминга v1
06 Настариваем стриминг в редакторе v1
07 Сохранение стриминг уровней v1
8_оптимизация в UE4
1_инструменты профилирования и логические лоды
01 STAT команды и Session fronted_v1
02 Unreal Insights_v1
03 Оптимизация Tick функции_v1
04 Significane manager_v1
05 Тестирование логических лодов_v1
9_стримы
1_интро
2_работа с перфорс
Game Code. Руководство по работе с Perforce и Swarm
GameCode Ещё раз про перфорс советы по сдаче домашних работ
3_гостевые и совместные стримы
Game Code. Александр Пирогов о Rider for Unreal Engine 2020.3_ новые фичи и возм
Game Code. Александр Пирогов. Профессия Tool программист
Game Code. Леонид Горбачев. Использование UE4 для создания экономической стратег
GameCode+Game Design ГД и Нарративщик о Квест-системе
GameCode+Game Design Файт-система и хит реакции
GameCode. Взаимодействие геймдизайнера и программиста
Q&A стрим Environmert Art
Стрим с Сашей Балакшиным (2907)
4_уе4
2021-07-28 18-59-43 Weapon recoil
GameCode Перевод эффектов из Cascade в Niagara
GameCode Работа с sequencer и анимациями
GameCode. Blueprint component
GameCode. Документация кода
GameCode. Ещё раз об отладке. Методы и различные полезные фишки
Gameplay Ability System
Hit reactions 2021-08-13 19-02-04
Impact FX_2021-08-20 18-53-47
TurnAnimations_2021-08-21 17-58-19
5_куа по курсу и разбор дз
Game Code. Ответы на вопросы по лекционным разделам
Game Code. Ответы на вопросы по разделам 1 и 2 первого блока 2.0
Game Code. Ответы на вопросы по разделам 1 и 2 первого блока
GameCode. Q&A стрим с разбором домашки по инверсной кинематике
GameCode.Ответы на вопросы по лекционным разделам
Q&A Ползанье 2021-03-19
6_прочее
Game Code. Пайплайны и особенности работы геймплей программиста на ААА проекте 2
Game Code. Пайплайны и особенности работы геймплей программиста на ААА проекте
GameCode. Вопросы на собеседовании. C
GameCode. Вопросы на собеседовании. Архитектура машин
GameCode. Вопросы на собеседовании. Математика
9_стримы.7z.001.rar
9_стримы.7z.002.rar
9_стримы_audio_orig_Subtitles.7z
[XYZ School] Gamecode.7z.rar
[XYZ School] Gamecode_Subtitles.7z