Unreal C++ Multiplayer Master: Intermediate Game Development
Created in collaboration with Epic Games, the course will show you how to create Epic multiplayer experiences using the world class Unreal Engine. This course hits the ground running, instantly getting you playing your own multiplayer games with other students.
As the engine underpinning many AAA games (including Fortnite), Unreal is full of tools for creating multiplayer games extremely quickly. However, knowing where to start with Unreal Engine can be intimidating.
With a massive feature set and little documentation, you get stuck understanding where to begin. This course makes understanding Unreal super easy. Not only do we show you how to use the engine, but we teach you the fundamental concepts. These skills allow you to pick up new features for yourself.
This course is aimed at beginner to intermediate Unreal users with some knowledge of C++. Not too confident? Don’t worry, the course will take you through everything step by step and give you plenty of practice to build up that confidence with coding.
We don’t assume any knowledge about networking or multiplayer games. We will teach you about everything you need to know about networks from the basics of latency in networks to the advanced topics of state synchronisation.
This course will not teach you to make a massively multiplayer game. But it will teach you the fundamentals you need to understand how an MMO could be built.
Note: access to this course comes with an optional, free community site where you can share games and 3D models, as well as connect with other students.
Become a multiplayer master now, you won’t be disappointed!
您将会学到什么
-
Make your own local and online multiplayer games using Unreal Engine and C++ and Blueprints
-
Learn fundamental multiplayer theory and concepts you can apply in your own games
-
Use the Steam API to play your game against your friends online
-
Build User Interfaces using Unreal Motion Graphics UI Designer
-
Create games using Local Area Networks (LANs)
-
Gain an understanding for how servers and computers networks connect
-
Understand how Unreal replicates state and why this is important for multiplayer games
有哪些课程要求或基本要求?
-
Knowledge of basic C++ including classes and pointers
-
An understanding of fundamental Unreal concepts such as Pawns and Maps
-
You should be comfortable creating Blueprints to program simple behaviors
此课程面向哪些人:
-
Beginner to intermediate coders
-
Anyone who wants to improve their C++ ability
-
Unreal users who want to make multiplayer games
Curriculum
- 4 Sections
- 113 Lessons
- 3 Quizzes
- 0m Duration
Section 1: Puzzle Platforms - Connecting Players
- Course Promo(1:59)
- Introduction to Puzzle Platforms(2:04)
- Connecting Two Players(12:19)
- How to Be an Active Student(13:56)
- Surveying the Multiplayer Space(11:14)
- Meet the Client-Server Model(19:09)
- Tips For Not Spawning
- Detecting Where Code is Running(17:57)
- Quiz 1: Mid-section Quiz
- Authority and Replication(16:52)
- Widgets For FVector Properties(16:02)
- Sending The Platform Back(14:37)
- Set Up A Simple Puzzle(14:19)
- Playing Over The Internet(15:51)
- Set Up A Platform Trigger(17:08)
- Quiz 2: Mid-section Quiz
- Handling Overlap Events In C++(14:04)
- Activating Platforms From Triggers(22:45)
- When To Use A GameInstance(14:21)
- Console Commands With Exec(14:31)
- Hosting Servers With ServerTravel(15:33)
- Joining Servers With ClientTravel(9:18)
- Sharing Your Game On Itch.io(19:25)
- Puzzle Platforms Wrap-up(1:21)
- End Of Section Quiz
- The UE4 Network Compendium
Section 2: Menu System - Polishing Our Game
- Introduction to Menu System
- Create a Menu Blueprint(17:36)
- Accessing UI Classes in C++
- Load And Display UMG In C++
- Potential Error Messages
- Changing UI Input Modes(12:25)
- Advanced UMG Widget Layout(19:10)
- Custom Buttons And Fonts(13:45)
- Solution: Custom Buttons And Fonts(7:34)
- Connecting UMG to C++(9:06)
- Initialisers and UButton Callbacks(11:54)
- Interfaces To Invert Dependencies(15:59)
- Solution: Injecting Dependencies(6:08)
- Deactivating Menus(13:11)
- Sub-Menus With Widget Switchers(7:40)
- Solution: Styling Our Sub-Menu(12:57)
- Navigating Menus In C++(15:24)
- Reading Text Fields From C++(18:32)
- Challenge: Loading In-Game Menus(21:21)
- Challenge: Leaving A Server(15:39)
- Quitting A Game From C++(13:13)
- Menu System Wrap-up
Section 3: Online Multiplayer
- Introduction to Steam Multiplayer(1:04)
- Getting The Steamworks SDK(9:02)
- Errors Building SpaceWar
- Building SpaceWar In Visual Studio(16:07)
- Building SpaceWar In Xcode(8:52)
- Testing Steam Lobbies(9:15)
- The Online Sub-System(16:16)
- NULL Sub-System For Testing(9:50)
- Memory Management In C++(13:32)
- Creating Online Sessions(16:39)
- Destroying Online Sessions(11:44)
- Finding Online Sessions(12:08)
- Query Parameters & Session Settings(12:11)
- Lists Of Widgets With ScrollBox(20:17)
- Populating The Server List(20:16)
- Selecting A Server(18:44)
- Joining A Session(15:38)
- Enabling The Steam OSS(13:28)
- Enabling Steam In Packaged Builds
- "Presence" For Steam Lobbies(14:48)
- Row Selection In Lists(18:40)
- Displaying Search Result Properties(21:05)
- Debugging The Search Results(11:08)
- Custom Session Settings(19:06)
- Continued: Custom Session Settings(13:42)
- GameMode And Multiplayer(18:07)
- Enabling Seamless Travel(15:19)
- Debugging Engine Code(19:43)
- Bugs In Steam OSS
- Starting A Session(20:45)
- Handling Network Errors(7:36)
- Steam Multiplayer Wrap-up(1:17)
Section 4: Krazy Karts - State Synchronisation And Interpolation
- Introduction to Krazy Karts(1:17)
- Creating A Go-Kart Pawn(17:36)
- Understanding Forces And Movement(12:51)
- Blocking Movement Without Physics(15:03)
- Rotations With Quaternions(14:48)
- Simulating Air Resistance(14:39)
- Simulating Rolling Resistance(11:55)
- Steering And Turning Circles(15:23)
- Server Functions & Cheat Protection(17:35)
- AutonomousProxy vs SimulatedProxy(18:18)
- Sources Of Simulation Error(11:58)
- Replicating Variables From The Server(16:59)
- Triggering Code On Replication(12:05)
- Smooth Simulated Proxies(8:36)
- Simulating Lag And Packet Loss(18:25)
- Replay Autonomous Moves(10:43)
- Planning Client-Side Prediction(16:21)
- Replicating Structs(19:17)
- Simulating A Move(11:26)
- Unacknowledged Move Queue(15:37)
- Server Time vs Local Time
- Simulating Unacknowledged Moves(9:59)
- Fixing SimulatedProxy Prediction(13:13)
- Refactoring Into Components(12:24)
- Extracting A Movement Component(18:29)
- Extracting A Replication Component(18:58)
- Decoupling Movement & Replication(17:06)
- Linear Interpolation For Position(12:29)
- FMath::Lerp For Client Interpolation(21:26)
- FQuat::Slerp For Rotation(11:33)
- Hermite Cubic Spline Interpolation(7:54)
- FMath::CubicInterp For Velocity(17:09)
- Refactoring With Structs(19:40)
- Client Interpolation Mesh Offset(16:26)
- Advanced Cheat Protection(16:22)
- End Of Course Wrap-up(2:21)