Ưu đãi trong tuần: Nhập mã UD50 giảm 50k cho đơn từ 300k!
Trang chủ
Menu

Multiplayer in Unreal with GAS and AWS Dedicated Servers

Chế độ nhiều người chơi trong Unreal với GAS và Dedicated Server trên AWS

Chế độ nhiều người chơi trong Unreal với GAS và Dedicated Server trên AWS

Tạo game MOBA bằng Unreal Engine Gameplay Ability System và xây dựng hạ tầng Dedicated Server với AWS

4.8
(116 đánh giá)
1,570 học viên
Giảng viên
Jingtian Li
Phụ đề Việt chất lượng cao Phụ đề tiếng Anh Bán chạy Đánh giá cao
79.000đ 399.000đ -80%
✓ Xem giỏ hàng và thanh toán
Bao gồm phụ đề tiếng Việt, tiếng Anh
62.5 giờ video
295 bài giảng
Truy cập vĩnh viễn
Học trên mọi thiết bị
Cập nhật: 07/06/2026

Bạn sẽ học được gì

Tạo game nhiều người chơi trong Unreal Engine
Sử dụng Gameplay Ability System
Xây dựng và triển khai Dedicated Server cho Unreal Engine
Lưu trữ Dedicated Server của Unreal Engine trên AWS
Xây dựng hệ thống Inventory và Shop toàn diện
AI Perception và Behavior trong Unreal Engine
Epic Online Service

Yêu cầu

Hiểu biết cơ bản về Unreal Engine
Hiểu biết cơ bản về C++

Đối tượng phù hợp

Nhà phát triển game cần tạo game nhiều người chơi chắc chắn với Unreal Engine
Nhà phát triển game cần thiết lập Dedicated Server
Nhà phát triển game cần hiểu sâu và toàn diện về Gameplay Ability System trong Unreal Engine và cách nó tương tác với các phần còn lại của Engine
Nhà phát triển game muốn cải thiện chất lượng và cấu trúc code C++
Nhà phát triển game cần thích ứng với Epic Online Services

Nội dung khóa học

28 phần • 295 bài giảng
1 01 Giới thiệu
1 02 Cài đặt Unreal Engine và Visual Studio
2 03 Tạo project và cấu hình Visual Studio
3 04 Thiết lập Source Control với Git và GitHub
4 05 Thiết lập lớp cơ sở (Base Class)
5 06 Thêm các thành phần cơ bản cho Player Character
6 07 Thêm hành động đầu vào Jump
7 08 Thêm hành động đầu vào Look
8 09 Thêm hành động đầu vào Move
9 10 Tạo Animation Instance
10 11 Thêm thuộc tính Speed để điều khiển Ground Locomotion
11 12 Thêm Jog Stop và Leaning
12 13 Thêm Animation Jump
13 14 Thêm Look Offset
14 15 Thêm Foot Tracing
15 16 Căn chỉnh các Joint
16 17 Thêm Foot IK
1 18 Thêm Ability System Component
2 19 Thêm thuộc tính Health và Mana vào Attribute Set
3 20 Gameplay Effect là gì và cách áp dụng chúng
4 21 Thiết lập chuỗi gọi Server Client
5 22 Áp dụng Gameplay Effects và sao chép Attributes
1 23 Thêm lớp Value Gauge Widget
2 24 Thêm Blueprint cho Value Gauge Widget
3 25 Thêm Blueprint cho Gameplay Widget
4 26 Cập nhật Health và Mana trong Gameplay Widget
5 27 Thêm Over Head Status Gauge
6 28 Ẩn Over Head Widget cho Player Character cục bộ
7 29 Thiết lập điều khiển hiển thị của Overhead Stat Gauge
1 30 Thêm lớp Ability cơ sở và Combo Ability
2 31 Thêm Animation Montage Play cho Combo Ability
3 32 Ngăn Combo kích hoạt bằng Gameplay Tags
4 33 Phát Combo Montage trên Upper Body
5 34 Sử dụng Enum để biểu thị Input ID cho các Ability
6 35 Thêm Input Action Binding cho Ability trong lớp Player Character
7 36 Tạo Animation Notify Send Gameplay Event
8 37 Xử lý sự kiện thay đổi Combo trong Combo Ability
9 38 Xử lý chuyển tiếp Combo trong lớp Combo Ability
10 39 Ý tưởng cơ bản về Melee Target Direction
11 40 Tạo Animation Notify để gửi dữ liệu vị trí Sweep trong Gameplay Event
12 41 Xác định Target Sockets và cấu hình Target Notifies
13 42 Triển khai Sweep trong lớp CGameplay Ability
14 43 Thêm và áp dụng Damage Effects
15 44 Clamp các Attributes
16 45 Thêm Punch VFX và Gameplay Cue
17 46 Sinh Hit VFX với Gameplay Cue
18 47 Thêm Camera Shake và Animation phản ứng khi bị đánh
1 48 Thêm Death Signal với Gameplay Effect có thời gian và Death Tag
2 49 Triển khai chuỗi chết
3 50 Triển khai hồi sinh
4 51 Bật Ragdoll khi chết
5 52 Tinh chỉnh vật lý Ragdoll
6 53 Nhập Game Level của chúng ta
7 54 Thêm TeamID vào Player Controller và Player Character
8 55 Khởi tạo Team ID và Start Spot cho người chơi
9 56 Hồi sinh Player Character tại Start Spot của họ
10 57 Ngăn người chơi gây sát thương cho đồng đội
1 58 Thêm AI và cấu hình TeamID và Sight Perception cho AI
2 59 Thêm Behavior Tree và Blackboard cho AI và cập nhật Target
3 60 Triển khai cơ chế AI quên để cập nhật Blackboard Target
4 61 Sử dụng AI Stimuli Source để điều khiển AI Perception
5 62 Làm AI quên mục tiêu đã chết ngay lập tức
6 63 Khái niệm cơ bản về hành vi AI
7 64 Triển khai hành vi AI đuổi theo
8 65 Làm AI tấn công
9 66 Thêm Minion Assets và cấu hình Animation Blueprint
10 67 Tạo Melee Combo Ability và Montage cho Minion
11 68 Tinh chỉnh máu của Minion và thêm Damage VFX
12 69 Triển khai chết và hồi sinh cho AI Behavior và Perception
13 70 Thay đổi Skin dựa trên TeamID
14 71 Tạo lớp Minion Barrack và triển khai sinh Minion cơ bản
15 72 Tạo cơ chế sinh Minion theo chu kỳ
16 73 Giao mục tiêu cho Minion
17 74 Cải thiện hành vi của Minion
18 75 Tinh chỉnh logic Ragdoll và tái cấu trúc lớp Minion
19 76 Điều chỉnh hiển thị thanh máu của Minion
1 77 Thêm Upper Cut Ability và gán phím
2 78 Thêm cơ chế nhắm mục tiêu của Upper Cut
3 79 Thêm và kích hoạt Passive Launch Ability
4 80 Thêm Damage, Cooldown, Cost và hiệu ứng Stun cho Upper Cut
5 81 Thêm hành vi Stun
6 82 Thêm Animation Stun
7 83 Thêm Combo Montages
8 84 Lắng nghe đầu vào Basic Attack trong Upper Cut
9 85 Thêm sát thương combo Upper Cut và Air Hold
10 86 Tinh chỉnh sát thương combo Upper Cut và hiệu ứng đẩy
11 87 Thêm VFX cho Upper Cut
1 88 Tạo lớp Ability Gauge
2 89 Truyền các Ability từ ASC sang GameplayWidget
3 90 Thêm Ability List View
4 91 Sử dụng Data Table để lưu trữ biểu tượng Ability
5 92 Lấy và hiển thị giá trị Cooldown và Cost
6 93 Triển khai logic đếm ngược
7 94 Thêm hiệu ứng đổ bóng xuyên tâm đếm ngược
1 95 Thêm Ground Blast Ability
2 96 Sử dụng Aiming Tag để thay đổi điều khiển xoay cơ thể
3 97 Thêm Animation Aim
4 98 Thêm Camera Lerp khi nhắm
5 99 Thêm và sinh Target Actor Ground Pick
6 100 Cập nhật vị trí nhắm đến góc nhìn người chơi và thêm Trace Channels
7 101 Tìm mục tiêu bằng Target Actor của chúng ta
8 102 Gây sát thương cho mục tiêu
9 103 Thêm VFX cho Ground Blast
10 104 Thêm Decal cho Ground Pick Actor
11 105 Hoàn thiện Ground Blast Ability
1 106 Thêm các Gameplay Attributes bổ sung
2 107 Tạo lớp Stats Gauge
3 108 Điền dữ liệu vào Status Gauge
4 109 Tạo Data Table cho Chỉ số Hero
5 110 Sử dụng Data Table để khởi tạo Attributes
6 111 Thay đổi tốc độ di chuyển và sát thương dựa trên Attributes
7 112 Thêm hiệu ứng hồi phục Health và Mana
8 113 Thêm các Tag Health và Mana đầy và rỗng
9 114 Thêm và kích hoạt Passive Ability khi chết
10 115 Tìm mục tiêu nhận thưởng
11 116 Tính tổng phần thưởng
12 117 Áp dụng phần thưởng
13 118 Tái cấu trúc các Ability và Effects chung thành Primary Data Asset
14 119 Tạo và đọc bảng đường cong kinh nghiệm
15 120 Cập nhật cấp độ và điểm nâng cấp dựa trên kinh nghiệm
16 121 Sử dụng cấp độ để điều khiển các thuộc tính khác
17 122 Điều chỉnh lại Health và Mana
18 123 Tạo Level Up Widget
19 124 Triển khai Level Up Gauge
1 125 Triển khai cơ chế nâng cấp Ability
2 126 Tạo yếu tố hình ảnh cho cấp độ Ability và khả năng nâng cấp trong Material
3 127 Cập nhật Ability Gauge dựa trên Upgrade Point và Ability Level
4 128 Tạo các hàm phụ trợ để tìm Cooldown và Cost thời gian thực của Ability
5 129 Xác định hiệu ứng Cooldown và Cost của Ability trên mỗi cấp độ bằng Curve Table
1 130 Tái cấu trúc AN_SendTargetGroup để gửi Damage GameplayCue cục bộ
2 131 Tái cấu trúc Ability và Game Play Cue để đảm bảo Cues được kích hoạt cục bộ
3 132 Sửa lỗi khởi tạo biến và Camera Shake khi chuyển đổi chế độ Aim
1 133 Tạo Primary Data Asset cho Shop Item
2 134 Tạo Asset Manager và các hàm tải ShopItem
3 135 Tạo và kiểm tra lớp Item Widget
4 136 Triển khai ShopItemWidget và ShopWidget
5 137 Thêm Blueprint cho Shop Widget và kiểm tra với một số Shop Items
6 138 Thêm Animation bật lên cho Shop Widget và gán phím
7 139 Bật/tắt Con trỏ Chuột và Chế độ Nhập của Người chơi khi bật/tắt Shop
8 140 Thêm Tool Tips cho các Shop Items
9 141 Thiết lập logic mua hàng
1 142 Tạo Inventory Item Handle
2 143 Tạo và lưu trữ Item mới trên cả Client và Server
3 144 Áp dụng Equip Effect và cấp Ability từ Inventory Item
4 145 Triển khai Inventory Item Widget
5 146 Triển khai Inventory Widget
6 147 Tạo Inventory Widget Blueprint
7 148 Thêm các hàm kiểm tra Stack
8 149 Triển khai khả năng xếp chồng cho hệ thống Inventory
9 150 Triển khai Inventory Drag and Drop Operator và hình ảnh Drag Drop
10 151 Thêm logic Drag and Drop vào lớp Inventory Item Widget
11 152 Triển khai xử lý Drag and Drop trong Inventory Widget
12 153 Thêm các hàm hỗ trợ cho việc kích hoạt và xóa Item
13 154 Thêm hàm kích hoạt và tiêu thụ Item
14 155 Tạo lớp Context Menu và triển khai logic sinh
15 156 Triển khai bật/tắt Context Menu
16 157 Triển khai các sự kiện nút Context Menu trong Inventory và tạo Shop Items
17 158 Triển khai logic kết hợp
18 159 Tạo Spline Widget
19 160 Tạo TreeNodeInterface và triển khai với ShopItemWidget
20 161 Tạo các tham số và hàm tiện ích của Item Tree Widget
21 162 Thuật toán vẽ cây
22 163 Triển khai hàm Draw Stream đệ quy
23 164 Hoàn thiện và kiểm tra cơ chế vẽ của Tree
24 165 Cải thiện và kiểm tra cơ chế kết hợp
25 166 Kích hoạt sự kiện Cooldown trên Inventory Item Widget
26 167 Triển khai các hàm Cooldown
27 168 Tái cấu trúc Inventory Item để lưu trữ Ability System Component
28 169 Kiểm tra và bắt đầu Cooldown khi cập nhật Inventory Item trong Widget
29 170 Cập nhật tính năng Can Cast theo thời gian thực
30 171 Thiết lập phím tắt cho Inventory Item
1 172 Tạo lớp Render Actor
2 173 Tạo lớp Widget cho Render Actor
3 174 Triển khai Skeletal Mesh Renderer
4 175 Thiết lập Headshot Render
5 176 Thiết lập ánh sáng cho Headshot Render
1 177 Import và cấu hình lớp Storm Core
2 178 Cập nhật số lượng đội và trọng lượng đội
3 179 Di chuyển Storm Core dựa trên trọng lượng
4 180 Thêm Ground Decal để hiển thị phạm vi ảnh hưởng
5 181 Triển khai cơ chế bắt Core
6 182 Cấu hình và kiểm tra cơ chế bắt Core
7 183 Tạo Widget thống kê trận đấu
8 184 Cập nhật thanh tiến trình của thống kê trận đấu
9 185 Tạo lớp Widget menu gameplay
10 186 Thêm nút bật/tắt menu gameplay
11 187 Kích hoạt các sự kiện kết thúc trận đấu
1 188 Import nhân vật khác
2 189 Tạo Animation Blueprint cho nhân vật mới
3 190 Tạo Shoot Ability và các sự kiện ban đầu
4 191 Thêm ràng buộc đầu vào cho Shoot Ability
5 192 Tạo và phát Animation Montage
6 193 Tạo lớp Projectile Actor
7 194 Spawn và bắn Projectile trong Shoot Ability
8 195 Tạo lớp Crosshair Widget
9 196 Tạo Crosshair Widget Blueprint
10 197 Triển khai và kiểm tra hàm Get Aim Target
11 198 Áp dụng hiệu ứng trúng đích và kích hoạt Hit Effect Cue
12 199 Triển khai hệ thống khóa mục tiêu
13 200 Cập nhật Crosshair đến vị trí mục tiêu trên màn hình
14 201 Định nghĩa vị trí và góc quay cục bộ cho Headshot Capture
15 202 Cải thiện chất lượng Render của Headshot
1 203 Thiết lập logic phát Montage và tiêu hao Mana cho Lazer Ability
2 204 Tạo Lazer Ability Blueprint và kiểm tra chức năng
3 205 Tạo Lazer Target Actor
4 206 Spawn Lazer Target Actor
5 207 Tạo thuộc tính nhắm mục tiêu và cấu hình sao chép
6 208 Cập nhật độ dài tia Lazer
7 209 Báo cáo mục tiêu Lazer và gây sát thương
8 210 Xử lý vấn đề con trỏ Ability Spec treo trong Ability Gauge
9 211 Sửa các lỗi nhỏ khác
1 212 Tạo Blackhole Ability và thiết lập tính năng nhắm mục tiêu
2 213 Cấu hình và kiểm tra Blackhole Ability đã triển khai
3 214 Tạo và thiết lập Component cùng các sự kiện cơ bản của Blackhole Target Actor
4 215 Thêm logic Spawn cho Blackhole Target Actor
5 216 Triển khai cơ chế kéo của Blackhole Target Actor
6 217 Triển khai hiệu ứng đòn kết liễu của Blackhole Ability
7 218 Thêm trạng thái Focus cho nhân vật người chơi và hoàn thiện Blackhole Ability
8 219 Tất cả các kỹ năng khác
1 220 Tạo các lớp Lobby
2 221 Tạo Level Lobby và Spawn Lobby Widget
3 222 Tạo Widget ô chọn đội
4 223 Tạo và lắng nghe sự kiện click ô chọn đội
5 224 Tạo cấu trúc chọn người chơi
6 225 Tạo lớp CGameState để lưu lựa chọn của người chơi
7 226 Kết nối Lobby Widget với hệ thống chọn ô người chơi
1 227 Chuyển sang màn chọn tướng
2 228 Thêm Character Defination Primary Asset
3 229 Tạo và tải Character Definations với Asset Manager
4 230 Triển khai Character Entry Widget
5 231 Cấu hình Character Selection Tile View và Character Entry WBP
6 232 Triển khai logic chọn tướng trong Game State
7 233 Thêm các hàm Server chọn người chơi và chọn tướng
8 234 Cập nhật lựa chọn tướng của người chơi trên Lobby Widget
9 235 Tạo lớp Character Display
10 236 Xử lý logic Spawn và cập nhật của Character Display
11 237 Thiết lập hình ảnh cho Level Lobby
12 238 Hiển thị các kỹ năng trong Lobby Widget
13 239 Tinh chỉnh hiển thị kỹ năng
14 240 Tạo và cấu hình Tooltip kỹ năng
15 241 Spawn Tooltip trong lớp Ability Gauge
16 242 Triển khai Player Team Slot Widget
17 243 Xây dựng Player Team Slot Widget Blueprint
18 244 Triển khai Player Team Layout Widget
19 245 Kết hợp Player Team Layout Widget Blueprint
20 246 Triển khai tải Map trong lớp CGame Instance
21 247 Thêm nút Bắt đầu trận đấu
22 248 Sao chép Player Selection qua hàm CopyProperties
23 249 Cấu hình Character và TeamID dựa trên lựa chọn của người chơi
1 250 Lấy và build Engine từ mã nguồn
2 251 Chuyển đổi dự án game của chúng ta sang dùng Source Build và thêm hoạt ảnh vào
3 252 Build Server và Client rồi thử kết nối thủ công
4 253 Tạo và cấu hình EOS Product
5 254 Cấu hình EOS trong dự án của chúng ta
6 255 Đọc đối số dòng lệnh khi tạo Session
7 256 Tạo các tập lệnh khởi chạy
8 257 Triển khai tạo Session phía Server
9 258 Tải Level sau khi tạo Session thành công hoặc kết thúc nếu không
10 259 Triển khai lớp Game Session và phản hồi khi người chơi vào/rời
11 260 Kích hoạt và kiểm tra EOS
1 261 Tạo Main Menu Level và các lớp
2 262 Tạo Widget đăng nhập
3 263 Triển khai đăng nhập trong Game Instance
4 264 Thêm Widget chờ và hiển thị nó trong khi đăng nhập
5 265 Thêm Widget tạo Lobby
6 266 Cấu hình và lấy URL của Coordinator
7 267 Soạn và gửi yêu cầu tạo Session
1 268 Thiết lập Python và VS Code
2 269 Tạo và kiểm tra HTTP Server Coordinator
3 270 Dùng HTTP Server để khởi chạy instance Server khi có yêu cầu
4 271 Thiết lập Timer tìm Session đã tạo
5 272 Tìm kiếm Session đã tạo
6 273 Dừng tìm kiếm Session và lấy tên và cổng Session
7 274 Kết nối đến Server Session qua kết quả tìm kiếm
8 275 Triển khai tìm kiếm Session toàn cầu
9 276 Tạo và kết hợp lớp Session Entry Widget
10 277 Điền danh sách Session trong Main Menu Widget
11 278 Tham gia Session bằng Session Id
12 279 Kiểm tra với nhiều tài khoản người chơi
13 280 Thêm biểu tượng dự án và màn hình Splash
14 281 Thêm nhiều nhân vật thử nghiệm
1 282 Chuẩn bị cho bản build Linux Server
2 283 Build Linux Server và Windows Game Client
3 284 Cài đặt Docker và Docker Compose qua WSL
4 285 Container hóa Coordinator và kiểm tra kết nối
5 286 Container hóa Server và kiểm tra kết nối
6 287 Truy vấn các cổng đã được sử dụng qua Docker
7 288 Xử lý kết quả truy vấn cổng để lấy các cổng đã dùng
8 289 Hoàn thiện và kiểm tra Coordinator Container
9 290 Dùng Docker Compose để định nghĩa và build Image của chúng ta
1 291 Tạo tài khoản AWS
2 292 Tạo và đăng nhập vào EC2 Instance
3 293 Thiết lập Docker và Docker Compose trên EC2 và copy Server lên
4 294 Triển khai và kiểm tra Server trên EC2
1 295 Kết luận và lời tạm biệt

Giới thiệu khóa học

This course walks you through the complete process of building a competitive 5v5 multiplayer game using Unreal Engine, the Gameplay Ability System (GAS), and AWS for cloud deployment. You'll learn to implement core gameplay mechanics in C++, design scalable systems with a modular architecture, and deploy dedicated servers using Docker and AWS—allowing players to connect and play from anywhere in the world.

By the end of the course, you'll have a fully functional MOBA-style game with:

  • User login and account system

  • Lobby creation and matchmaking

  • Character selection

  • A complete game loop

  • Dedicated server deployment on AWS

The course starts with implementing the basic character components, enhanced input system and movement control. A proper IK foot will also be implemented with Control Rig. The Gameplay Ability Systems will then be utilized to implement the character attributes and abilities, ensuring multiplayer support from the beginning, and tested throughout the course. The abilities can be learned, upgraded, and their effects are level driven. The ability system also uses attribute driven algorithms to determine character health, regeneration, and many other character properties, following industry standard implementations.


Two fully playable player characters with a total of twelve abilities will be implemented in the game, a melee combo, a ranged attack, four abilities for each of the player characters, and two shared passive abilities. With GAS and a flexible OOP approach, the game can be scaled up with more players with ease.


A comprehensive AI driven minion is also implemented with the AI module of Unreal Engine. The AI has proper team id configuration, perception and forgetting routine, and can be reused for other types of games.


A Completed inventory and shop system that is fully compatible with the Gameplay Ability is also implemented. The systems support multiplayer, using server authoritative approach, and support item stacking, consumption, granting abilities, and combinations. A combination widget will be implemented to show the entire combination tree of any selected item in the shop.


Each of the components of the Game has complete UI implementation and a sophisticated animation blueprint will also be built to ensure the rich visuals of the gameplay.


There are many other systems that are created in the course, explore the course curriculum for a full breakdown of each system covered.


The course primarily uses C++ to implement the gameplay mechanics. With a modular approach, many systems are decoupled and can be repurposed for different types of games.

Khóa học liên quan

Khám phá thêm các khoá học cùng chủ đề

Hiển thị tất cả khoá học Game Development
Hiển thị tất cả khoá học Gameplay Ability System
Hiển thị tất cả khoá học Multiplayer
Hiển thị tất cả khoá học Unreal Engine
Zalo
Tôi có thể tư vấn khoá học cho bạn 😊