使用虛幻引擎的遊戲能力系統 (Gameplay Ability System,GAS) 創造多人角色扮演遊戲!
從這 106 小時的課程,你會學到
- 虛幻引擎的遊戲能力系統
- 多人遊戲機制
- 創造一個完整的角色扮演遊戲,包括戰鬥、經驗和升級、敵人、法術、選單、遊戲保存等等
- SOLID編碼原則與AAA品質代碼架構
- 如何確定哪些程式碼在藍圖中以及哪些程式碼在 C++ 中,以便在發布的遊戲中獲得最佳效能
- 可擴展、模組化、可維護和可擴展的程式碼,可以作為任何嚴肅遊戲的基礎
- 遊戲能力系統的所有核心功能
- 程式碼調試工具和實踐
要求
- C++ 程式語言知識
- 虛幻引擎 C++ 基礎 – 至少創建了一個虛幻引擎 C++ 專案
課程說明
這是最全面的虛幻引擎課程。如果您想學習如何建立功能齊全的 RPG 遊戲,本課程將使您能夠使用採用 AAA 品質程式碼建立的可擴展程式碼庫來實現這一目標。如果您想知道 C++ 和藍圖之間的界線在哪裡,那麼這門課程就是適合您的。如果您曾經想創建一個具有統計系統、能力、升級、咒語、屬性、選單的角色扮演遊戲,同時保持程式碼庫乾淨並遵循最佳實踐,那麼這門課程就是適合您的。如果您想提高虛幻引擎開發能力並更了解引擎的內部運作原理,本課程適合您。如果您打算製作自己的具有互連繫統的嚴肅遊戲,涉及屬性、能力、升級、敵人和人工智慧,並針對多人遊戲進行編碼,那麼這就是適合您的課程!
在本課程中,我們將創建一款自上而下的 RPG 風格遊戲,其中充滿了使用虛幻引擎內建遊戲能力系統 (GAS) 構建的系統。在這裡,您將學習如何建立已發布的遊戲,並對其進行專業編碼,以便輕鬆擴展、升級和維護。我們遵循 SOLID 編碼原則,並以 AAA 級遊戲(例如 Fortnite)的方式平衡 Blueprint/C++ 比例。我在 AAA 遊戲程式碼方面的經驗以及與行業資深開發人員的諮詢使我能夠向您展示真正的遊戲程式碼庫的樣子。如果您想知道與 C++ 相比,藍圖可以保留多少遊戲內容,那麼不用再猶豫了。這門課就是答案。
注意:本課程涉及 C++ 編程,其中涉及使用整合開發環境 (IDE),例如 Visual Studio、Rider 或 VSCode。我在本課程中使用的 IDE 將是 Rider,但該 IDE 並不是學生學習本課程的必要條件。您可以使用您選擇的任何 IDE。
此遊戲專案中的資源是專門為本課程製作的,並將在資源包中提供。這包括:
- 角色包括主角 Aura,以及敵人角色,包括哥布林戰士、哥布林遊騎兵、哥布林薩滿、紅魔鬼和黑魔、食屍鬼和蘑菇。
- 模組化的地下城包,可以拼湊形成基本的地下城
- 航點神社和方尖碑
- 粒子尼加拉系統效果,包括爆炸、升級效果、彈弓岩石、撞擊衝擊、電束、火球、火焰、火焰、眩暈效果星星等等!
- 敵人、腳步聲、咒語( spells )等的音效!
- HUD 紋理,包括高品質按鈕、框架、動態動畫咒語地球儀( spell globes )、進度條、XP 欄等等!
- Aura (光環)和所有敵人的完整動畫集
- 還有更多!
在本課程中,我們將討論以下主題:
- 從頭開始建立一個自上而下的專案
- 具有輪廓效果的敵人和物品選擇
- 正確使用 OOP 和繼承來建立字元類別層次結構
- 遊戲能力系統(Gameplay Ability System ,GAS )及其核心課程簡介
- 自訂遊戲能力系統組件和屬性集,以及如何複製屬性
- 所有 GAS 類別和組件的所有重要設置
- 如何使用玩家統計資料的屬性,包括主要屬性:
- 力量(增加物理傷害)
- 智力(增加魔法傷害)
- 彈性(增加護甲和護甲穿透)
- 活力(增加最大生命值)
- 次要屬性,基於主要屬性和其他自訂變數:
- 護甲(減少受到的傷害,提高格擋幾率)
- 護甲穿透(忽略敵方護甲百分比,增加暴擊幾率)
- 格擋機會(改為將傳入傷害減半)
- 暴擊幾率(造成雙倍傷害的幾率加上暴擊獎勵)
- 暴擊傷害(獲得暴擊時會增加額外傷害)
- 暴擊抵抗(降低攻擊敵人的暴擊幾率)
- 生命恢復(每 1 秒恢復的生命值)
- 法力恢復(每 1 秒恢復的法力)
- 最大生命值(可獲得的最大生命值)
- 最大法力(可獲得的最大法力值)
- 重要屬性 – 諸如生命值和法力之類的東西,它們依賴所有其他屬性
- 遊戲效果 – GAS 系統中用於應用屬性變更的類
- 遊戲標籤( Tags ) – GAS 的重要組成部分,它使我們能夠識別素質、屬性、能力、角色類別以及我們可以想像的任何其他內容
- 遊戲 UI – 如何以有組織、模組化和可擴展的方式高效處理 RPG 遊戲中的複雜 UI。我們涵蓋了不同的 UI 範例,從 MVC(模型視圖控制器)和 MVVM(模型視圖 ViewModel,使用虛幻引擎的新 ViewModel 功能)
- 完整的屬性和法術( Spell )選單,包括升級能力、法術樹、鎖定的法術等級、按能力等級進行的法術升級等等
- 屬性 – 如何使用遊戲屬性來表示玩家統計數據,並透過創建效果應用程式管道將它們合併到遊戲機制中,從而允許由遊戲中的現象(例如戰鬥傷害)引起的計算和結果
- 遊戲能力 – GAS 的核心。我們創造了各種類型的遊戲能力來處理咒語的施展,處理玩家角色和敵人人工智慧的重要能力,以及如何配置不同的能力來滿足您的需求。
- 不同的 RPG 類別 – 我們實現了不同的角色 RPG 類別,包括遊俠、戰士和元素師,並以易於擴展的方式實現,因此您可以在遊戲中擁有任意數量的角色類別類型
- 傷害和戰鬥 – 我們實現了一個完整的 RPG 風格的戰鬥系統,具有不同的傷害類型、傷害抗性和與傷害類型相對應的減益效果,並將這些計算編碼到我們的傷害管道中。所有屬性、傷害類型、抗性和減益效果都在此遊戲中起作用。
- 所有戰鬥機制都以某種形式的視覺回饋顯示給玩家。這包括針對損壞的浮動文字、根據自訂標準更改顏色、通知嚴重命中、被阻止的命中和嚴重被阻止的命中的浮動文字。我們還實施了擊退和眩暈機制來應對閃電傷害,使角色/敵人喪失能力,以及火焰減益效果,其中角色被點燃並在燃燒時受到火焰傷害。
- 敵人 AI – 我們使用虛幻引擎行為樹和環境查詢系統 (Environment Query system,EQS) 來實現敵人行為,為遠程、戰士和元素師敵人類型提供自訂行為。
- 敵人可以施展法術並召喚人工智慧小兵
- 在自上而下的遊戲中,當幾何體妨礙攝影機時,幾何體會褪色
- 技能消耗和冷卻時間(法術消耗屬性資源 – 在本遊戲中,法術消耗法力)
- 功能齊全的平視顯示器(HUD),配備法術,顯示法術冷卻計時器和經驗(XP)
- 能夠將能力分配給咒語選單中的不同輸入(將 FireBolt 分配給 1 鍵,將 Electrocute 分配給滑鼠左鍵,將它們交換回來,等等)
- 經驗與升級系統 – 我們精心設計了一個經驗系統,消滅敵人時獎勵 XP,並在達到各種能力的 XP 閾值時升級。 XP 和等級顯示在 HUD 中,等級提升訊息和效果也會顯示。升級與獲得屬性點和法術點相關,屬性點和法術點可分別用於升級屬性選單和法術選單中的屬性和法術能力,以及在升級時補充生命值和法力值。 (基本上,您將看到足夠的範例來說明如何使用該系統,以便您可以使用您自己的遊戲所需的任何功能來擴展它)
- 被動法術 – 您可以裝備的法術,在裝備時保持活動。
- 各種進攻法術,展示了 GAS 的不同範例和功能,包括 FireBolt、Electrocute、Arcane Shards 和 FireBlast。
- 儲存進度和關卡轉換
- 中級/高級虛幻引擎主題,包括自訂非同步任務、能力任務、藍圖函數庫、資產管理器、單例(以及為什麼這些僅適用於極少數情況)、自訂遊戲效果上下文、網路序列化、結構操作類型特徵、C++ Lambda、遊戲機制演算法等等。
- 如何選擇 C++ 與 Blueprint 中應包含哪些功能 – 這是最有價值的課程之一,並且貫穿整個課程。學生經常問我“哪些功能應該放在 C++ 中而不是放在 Blueprint 中?”這門課就是我的答案。這是一個規模龐大的專案基礎,包含超過 100 小時的視頻,沒有任何填充內容。這個專案的架構由大約 50% 的藍圖和 50% 的 C++ 組成。我將向您展示哪些功能應該位於 C++ 端、哪些功能更適合藍圖以及原因。
- SOLID 編碼原則和程式碼架構 – 我們在這個專案中保持程式碼庫乾淨。我經常遇到的另一個問題是“這是最佳編碼實踐嗎?”這門課程就是我對這個問題的回答。這是您在 AAA 遊戲中看到的程式碼範例,該遊戲已交付給數百萬玩家。維護乾淨和模組化的程式碼對於一個嚴肅的遊戲專案至關重要,它需要可擴展、可擴展、模組化、可維護、可測試、高效和高效。本課程將向您展示如何操作。
這不是初學者課程。我希望您已經了解 C++ 程式語言,並且至少創建了一個虛幻引擎 C++ 專案。
這門課程是我迄今為止最好的課程,我非常自豪地為您帶來虛幻引擎5 – 遊戲能力系統- 自上而下的RPG課程,這是近一年潛心開發、研究、諮詢專業人士和資產創建的成果。學習完本課程後,您將比一般開發人員更了解虛幻引擎,並且您將能夠創建自己的架構良好的專案,無論大小,並且您將為您的團隊、您的公司、您的公司帶來價值。
加入課程,為您的遊戲開發生涯中最大的飛躍投資。
Stephen Ulibarri,Druid Mechanics 遊戲開發者社群創辦人
本課程專案是在虛幻引擎 5.2 版本中創建的。定期添加更新以確保與較新引擎版本的兼容性。
目標受眾
- 那些希望了解如何在虛幻引擎中建立可擴展且可交付的遊戲的人
- 那些希望了解如何實現遊戲屬性、能力、經驗、升級以及如何在乾淨的程式碼庫中維護這些內容的人
- 那些希望了解如何有效處理複雜系統的遊戲 UI 的人
- 那些希望創建自己的 RPG、MOBA、射擊遊戲或任何其他類型的涉及屬性、技能、咒語或其他自訂機制的遊戲的人
- 那些希望了解如何透過行為樹和環境查詢 (EQS) 實施敵人 AI 的人
- 那些擁有虛幻引擎經驗並希望擴展自己的技能並創建可發行遊戲的人
- 那些正在尋找有關遊戲能力系統 (GAS) 的綜合課程的人,以便他們可以在自己的遊戲專案中使用它
- 愛好者和專業遊戲開發人員都將從本課程中受益
- 需要為團隊的遊戲專案學習 GAS 基礎知識的 AAA 開發人員
- 遊戲開發專案的領導者需要了解 GAS 在虛幻引擎中的工作原理、其功能、限制以及開發人員的時間和精力成本
- 需要以可擴展的方式建立遊戲專案的團隊,以便在發布後輕鬆維護
- 任何已經創建了一些基本虛幻引擎專案並準備好迎接更高水平的偉大作品的人!
講師簡介
Stephen Ulibarri 工程師、程式設計師、遊戲開發者、作家
當我獲得化學工程學士學位時,我接觸到了程式設計的世界。我立刻就被迷住了。我對遊戲開發充滿熱情,並且熱愛創意地解決問題。我撰寫並自行出版了一本科幻小說,喜歡所有有創意的事物。我在工程、數學、物理、化學和程式設計方面有協助和輔導的經驗。
從那時起,我在手術模擬領域獲得了專業的行業經驗。這是非常有價值的,我的熱情是傳遞我的知識,以便其他人能夠像我一樣實現高度參與和有趣的職業!
我喜歡騎自行車、繪畫、3D 設計和視頻遊戲中的程式生成。我很自豪在我的線上社群 Druid Mechanics 中擁有許多才華橫溢的遊戲開發人員和學生。
我還撰寫並出版了一本關於虛幻引擎 C++ 的書,名為:虛幻引擎 C++ 終極開發人員手冊。
字幕:英文
- 想要了解如何將英文字幕自動翻譯成中文? 請參考這篇 How-To
- Udemy 永久擁有課程 許多課程約 NT400(點擊連結看更多)
- ✨年訂閱每月 NT350(再享特別優惠:年度訂閱首年享 25% 折扣) 🌈 悠遊 Udemy 的 26000+ 門課,最大化學習 ( 原價 NT635/月 )
- Udemy 現在越來越多課程有中文字幕,請參考 Soft & Share 中文線上課程
- 手機上點選優惠連結看到的價格比電腦上看到的貴
- $代表當地貨幣, 如在台灣為 NT
- 點選”報名參加課程”有可能因瀏覽器 cookies 轉久一點或回報錯誤而無法連上,請稍等刷新或重新點選就會出現
報名參加課程

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