快速學習虛幻引擎多人遊戲框架的基礎知識!
從這 5 小時的課程,你會學到
- 了解虛幻引擎( Unreal Engine ) 5 中的多人遊戲機制
- 了解引擎中各種核心類別的工作原理,例如遊戲模式、遊戲狀態、玩家狀態、玩家控制器、角色等等
- 學習如何在多人遊戲中複製變數、發送遠端函數、複製移動以及在不同關卡間穿梭
- 學習附件複製、元件複製、複製條件和自訂複製
- 了解多人遊戲的常見陷阱以及如何避免它們
要求
- 需要具備虛幻引擎和 C++ 的基礎知識
課程說明
是時候學習虛幻引擎的多人遊戲程式了!
在本速成課程中,你將快速掌握虛幻引擎多人遊戲的基礎知識。你將獲得在任何遊戲類型中編寫多人遊戲程式的技能!
許多學生在多人遊戲程式設計方面都遇到了困難。相信我,我曾經也經歷過!在我超過 10 年的虛幻引擎遊戲程式設計經驗中,我累積了許多寶貴的經驗教訓。我發現,只要你理解多人遊戲理論背後的核心原理,以及虛幻引擎框架是如何圍繞多人遊戲建構的,多人遊戲程式設計其實並不難。
要編寫多人遊戲程式,你不需要成為專家。你只需要學習多人遊戲運行的基本概念。本課程是對編寫多人遊戲程式必須理解的核心原則的凝煉摘要。
完成本課程後,你將了解多人遊戲理論的基礎知識,了解虛幻引擎如何實現多人遊戲,以及如何將你的單人遊戲升級為多人遊戲,以及如何從專案創建之初就構建多人遊戲結構!
本課程深入探討多人遊戲理論,並提供挑戰性練習來檢驗你對每個主題的理解,讓你有機會親身實踐各種技巧。在你獨立嘗試每個挑戰後,我將示範如何解決每個挑戰,並為你講解題步驟。每個主題都以簡潔的總結呈現,每個章節末尾都設有小測驗,以檢驗你的理解程度,確保你能夠自信地學習下一個主題。
本課程分為以下幾個部分:
多人遊戲基礎
我們將介紹多人遊戲的核心術語和概念,包括:
- 客戶端-伺服器模型-它與點對點連線有何不同,以及虛幻引擎如何使用此模型
- 多人遊戲測試-如何在引擎的Play-In-Editor (PIE)中輕鬆模擬獨立遊戲、監聽伺服器遊戲和專用伺服器遊戲
- 區域網路連線-你將建立一個區域網路遊戲,連接到你本地網路中的其他電腦
- 透過Steam監聽伺服器-我將為你提供一個外掛,讓你可以透過Steam線上子系統快速連接到其他玩家
Actor (演員)複製
Actor 是虛幻引擎關卡的核心。 Actor 具有複製能力。
- Actor 複製 – 你將看到啟用 Actor 複製是多麼容易,它如何實現變數複製,以及如何複製移動以同步每個 Actor 的伺服器端和用戶端版本。
- 權限和網路角色 – 一旦你了解這些簡單卻至關重要的概念,你就能明白如何確定給定 Actor 所在的機器,從而能夠為你的邏輯做出重要的遊戲決策。
- 附件 – 所有遊戲都涉及某種形式的附件。你必須了解 Actor 在多人遊戲中的附件機制(如果你不了解其工作原理,附件機制將無法正常工作)。
- 變數複製 – 多人遊戲程式設計的核心。複製變數是所有多人遊戲的核心,你將看到創建它們是多麼容易(因此,你需要承擔多大的責任)。
- 複製通知 – 有時,你只想觸發變數複製的回應。複製通知函數旨在響應變數複製而觸發,甚至可以存取複製前的值。
- 複製條件 – 變數會在發生變化時進行複製。你可以決定是否複製、何時複製、複製到哪些機器以及在什麼情況下複製。本講將教你如何操作。
- 自訂複製條件 – 你的遊戲可能會變得非常複雜。你可能會發現,你需要根據自己設定的自訂條件,讓某個變數僅在特定情況下進行複製。本講將教你如何操作。
- 所有權 – 如果你不理解虛幻引擎中所有權的含義,就無法有效地進行多人遊戲程式設計。這包括所有權連接:即哪個機器負責管理相關物件。本講將為你揭開所有權的神秘面紗。
- Actor 元件 – 元件也可以複製,但你需要理解其複製機制,以及它們的所有權網路連接如何與其所屬的 Actor 相關聯。
遠端函數
遠端函數是虛幻引擎多人遊戲框架中最強大的工具之一,它能做到複製變數無法做到的事。
- 客戶端運行 – 當你需要呼叫伺服器上的函數並在擁有函數的客戶端上執行時,客戶端 RPC 是你的理想選擇。
- 伺服器運行 – 雖然複製只能在伺服器和客戶端之間進行,但伺服器 RPC 可讓你從客戶端向伺服器傳遞訊息。
- 多播( Multicast ) – 能力越大,責任越大。要呼叫伺服器上的函數並在所有客戶端上運行,多播 RPC 是必備工具。
- RPC 驗證 – 多人遊戲程式設計師很快就會意識到,他們不能完全信任客戶端不會作弊(或至少會嘗試作弊)。驗證函數可以幫助你確保數據正確,否則會踢出作弊玩家。
- 相關性和優先順序 – 網路更新並非始終都在進行 – 有時,Actor 與其他 Actor 並不相關。此外,某些 Actor 需要比其他 Actor 更頻繁地進行複製。本講將向你展示相關性和優先順序的工作原理。
類( CLASS )框架
了解每個 CLASS 負責哪些任務,可以大幅簡化專案的整體結構。要有效率地編寫多人遊戲程式,你必須了解每個核心引擎類別的用途。
- 遊戲模式 – 避免新手常犯的錯誤,例如嘗試在客戶端存取遊戲模式。了解遊戲模式如何決定遊戲規則以及預設產生的類別。
- 遊戲狀態 – 需要同步到客戶端的遊戲資訊儲存在此類中。
- 玩家狀態 – 玩家的分數和隊伍應該儲存在哪裡?玩家的特定數據都依賴這個非常重要的類別。
- 玩家控制器 – 玩家控制器代表玩家,它管理玩家的網路連接,玩家的 Pawn 或 Character 的所有權都追溯到此類。
- Pawn 和 Character – 每個玩家都需要一個可見的頭像。它們在多人遊戲中是如何運作的?本講將為你解答。
- HUD 和 Widgets – 這些視覺元素在多人遊戲中是如何處理的?你可以複製它們嗎? (劇透:你不能!)
- 靜態存取器函數 – 為什麼我們總是呼叫這些函數,並在不知道應該傳入什麼參數的情況下,傳入 0 作為玩家索引?使用這些靜態存取器函數時要小心,注意其中的陷阱,如果不確定,可以考慮使用其他替代方案。
多人遊戲中的關卡切換
遊戲中,有時需要切換關卡。所有線上玩家都必須傳送到另一個關卡。這是如何實現的呢?你將在下文中了解。
- 旅行-我們將探討不同的旅行類型以及如何實現它們。
- 實現無縫旅行—這是本課程的最終挑戰,你將實現無縫旅行,在不斷開連接的情況下,將遊戲中的每個客戶端遷移到另一個地圖。
在完成本課程時,你將全面掌握虛幻引擎多人遊戲框架的基礎知識。無論遊戲類型如何,你都將能夠編寫多人遊戲程式。本課程將作為你的參考手冊,你可以隨時查閱,並跳到特定主題的課程進行複習。
我建議所有學生在學習我任何更高級的多人遊戲課程之前先學習本課程!
本課程假設你已經掌握了虛幻引擎 C++ 的基礎知識。如果你至少完成過一個虛幻引擎 C++ 專案,或者你已經完成了我的《虛幻引擎 5 C++ – 終極遊戲開發者課程》,那麼你就準備好了。
準備好徹底了解虛幻引擎中的多人遊戲是如何運作的了嗎?這並不難!你只需要掌握基礎知識。
期待與你見面!
Stephen
目標受眾
- 希望學習虛幻引擎多人遊戲的玩家
- 希望將單人遊戲專案升級為多人遊戲的玩家
- 希望掌握虛幻引擎多人遊戲高階概念(例如 GAS)的玩家
講師簡介
Stephen Ulibarri 工程師、程式設計師、遊戲開發者、作家
當我獲得化學工程學士學位時,我接觸到了程式設計的世界。我立刻就被迷住了。我對遊戲開發充滿熱情,並且熱愛創意地解決問題。我撰寫並自行出版了一本科幻小說,喜歡所有有創意的事物。我在工程、數學、物理、化學和程式設計方面有協助和輔導的經驗。
從那時起,我在手術模擬領域獲得了專業的行業經驗。這是非常有價值的,我的熱情是傳遞我的知識,以便其他人能夠像我一樣實現高度參與和有趣的職業!
我喜歡騎自行車、繪畫、3D 設計和視頻遊戲中的程式生成。我很自豪在我的線上社群 Druid Mechanics 中擁有許多才華橫溢的遊戲開發人員和學生。
我還撰寫並出版了一本關於虛幻引擎 C++ 的書,名為:虛幻引擎 C++ 終極開發人員手冊。
字幕:英文
- 想要了解如何將英文字幕自動翻譯成中文? 請參考這篇 How-To
- Udemy 永久擁有課程 NT290起特價中(點擊連結看更多)
- ✨年訂閱每月 NT350( 限時優惠價NT262/月) 🌈 悠遊 Udemy 的 26000+ 門課,最大化學習 ( 原價 NT635/月 )
- Udemy 現在越來越多課程有中文字幕,請參考 Soft & Share 中文線上課程
- 手機上點選優惠連結看到的價格比電腦上看到的貴
- $代表當地貨幣, 如在台灣為 NT
- 點選”報名參加課程”有可能因瀏覽器 cookies 轉久一點或回報錯誤而無法連上,請稍等刷新或重新點選就會出現
報名參加課程

也許你會有興趣
- Unreal Engine 相關線上課程
- ★英語學習地圖 – 練好英文是最大的學習槓桿
- 如何找工作學習地圖 – 找工作不要靠運氣!
- 從 Soft & Share 各種社團頻道挑選你喜歡的加入
發表迴響