MOBA動作類遊戲技能設計模組指南:從技能觸發方式談起
作者:Bruce 騰訊互動娛樂 高階遊戲策劃
“當你想要設計一個角色或者BOSS,需要用到技能表現。通常從設計方案出來,到程式同步實現再反饋到設計者驗證環節,一般會需要經過很長時間才能驗證設計思路,對於技能設計者是一件非常痛苦的事情。那有沒有辦法在過程中,提供設計者快速調整技能設計的技能工具模組?”
之所以想寫這個文章,是因為2019年在做公線-技能模組設計,公線-技能模組簡單來說就是用UE4Gas的底子,搭建一個策劃自主技能設計的工具模組,希望策劃應用到技能設計時,能通過模組化組合的方式,提供快速滿足策劃設計思路的工具和工作管線。
經過幾個月的摸索,算是出了點成果,所以就想總結制作過程中的一些東西,跟大家分享一下自己關於技能設計模組的想法思路。
一、遊戲技能是什麼?
既然我們們說到模組技能設計,先來看看遊戲技能指什麼?我找了各種說明,綜合對比後,給出這麼一段話。
遊戲技能指的是遊戲中通過遊戲行為造成攻擊、防禦、輔助等效果的方式。
隨著遊戲玩法元素更多的衍生融合,我們可以看到,在主流的遊戲型別中,大多都會涉及遊戲技能的應用。
所以針對不同的遊戲型別,關於遊戲技能定義,我這裡加了一條個人看法,遊戲技能的表現會依託於不同遊戲環境,有不同的效果和表現方式。
二、如何打造滿足多種遊戲型別的技能設計模組?
我當時在做這個內容的時候,在想雖然是面對不同型別的遊戲技能,但我們先不用陷入到具體的技能設計中,而是從各種型別的遊戲技能具體效果上抽離出來,找出遊戲技能的必要元素。
必要元素也就是組成技能的基礎型別模組,希望類似於樂高的大顆粒積木一樣,可以用這些基礎型別模組去自由組合成不同技能的方式;
帶著這個思路,重新梳理了市面不同型別的主流遊戲技能,我們們不管遊戲技能型別的差異化多大,無非逃不開六個基礎型別模組,依次為:
技能的觸發方式;
技能的釋放條件;
技能的釋放選擇;
技能的表現方式;
技能的生成機制;
技能的影響效果;
三、技能的觸發事件
關於技能的觸發方式,通常大家的理解,也就是說技能是怎麼觸發的?
傳統的觸發方式理解為:
一種是主動觸發:也就是主動按鍵觸發的方式;
另一種是被動觸發:而被動觸發的條件就非常廣泛,比如受傷觸發、死亡觸發、命中觸發等等觸發方式。
而我們所說的觸發方式,不會只歸納為主動和被動的方式,而是依照觸發事件來劃分。
比如有些主動技能中,也存在主動按鍵之後,需要滿足某個觸發事件,才會觸發技能行為;
比如莫甘娜的‘靈魂鐐銬’技能,從傳統意義上來說,是個主動按鍵的技能,但觸發的方式中,還需要驗證範圍觸發的方式,也就是說範圍中檢測到敵人後,才能夠觸發。
說到這裡,大傢伙可能就會吐槽了,這東西我也知道啊,不就是設定觸發事件嗎,這個設計技能的時候都會做,這有啥可瞎白活的?
別急:待我一一道來。
為了選擇足夠通用和樣本性的觸發事件,我對市面上技能機制比較全的幾款知名產品進行分析後,橫向對比了四百多個技能的設計,發現這些技能雖然各有特色,但是技能觸發的方式幾乎囊括在八種觸發事件中;
給八種事件做了簡單命名,分為:
攻擊、命中、時間、空間、狀態、屬性、死亡、驗證;
當然這八種型別的事件,不是單獨存在的,還可以通過多種事件耦合的方式,做出更多特性的展現,不誇張的說,這八種事件已經能夠滿足絕大部分的技能設計需求。
1、攻擊觸發事件
攻擊觸發:簡單理解來說,就是發起攻擊之後,會觸發的行為事件;
常用在攻擊方式變化和攻擊發起後,影響角色屬性和效果的技能效果中;
需要說明的是,攻擊觸發事件,只跟攻擊發出有關,邏輯上只要攻擊發出就會觸發事件,而不需要檢測是否命中;
當然這種用法的方式會通過額外的判定條件,來給攻擊觸發事件增加不同的特色用法;
比如在射擊型別遊戲‘無主之地’的槍械特性中:攻擊行為之前會判定是否滿足消耗子彈數量;
如果滿足,則每次射擊會判定消耗兩發子彈,繼而觸發了攻擊事件,通過消耗2發子彈的方式,提升了槍械的攻擊效果。
再說一下攻擊觸發事件的另外一種應用方式,在王者榮耀中有這樣的設定,英雄在普通攻擊到一定次數之後,會觸發攻擊方式的改變;
以MOBA遊戲‘王者榮耀’中魯班舉例:
每次攻擊行為事件會觸發記錄攻擊次數的行為,當攻擊次數=4的時候,下一次攻擊行為會改變攻擊方式;
而在SLG型別的遊戲‘鴻圖之下’中,有一類連擊技能,攻擊觸發事件中通過概率判定的方式,觸發技能效果;
關於攻擊觸發事件的應用方式還有很多,這裡只是列舉了一些常用案例;
當然無論應用方式怎麼變化,攻擊觸發事件的核心,就是邏輯上通過攻擊觸發的行為事件;而在這個應用過程中,設計者通過新增不同的條件判定,就會為攻擊觸發事件增加有趣的特性使用方式,以豐富技能的效果;
2、命中觸發事件
命中觸發:判定單位(敵人/自己)在程式邏輯上被有效命中之後,會觸發的行為事件;
在命中觸發事件中,通常用到的是判定命中之後,針對‘發出攻擊者’和‘被攻擊者’的效果反饋,以及命中之後的條件判定的反饋;
比如APEX英雄中‘班加羅爾’的‘疾步’技能:當自身被命中後,觸發了持續時間內,提升自身移動速度的技能效果;
在這個技能案例中,命中觸發事件所判定的命中目標為自己,當自己被命中後,移動速度屬性提升;
而在魔獸世界戰士的‘新鮮血肉’技能中:則判定為我命中敵人之後,會觸發的行為事件。這種情況下,所判定的命中個體就是敵人。
以上兩種技能,說明在命中觸發事件的這種機制,除了要判定命中的邏輯之外,還要記錄命中發生的雙方單位的資訊;
還有一種命中觸發的應用方式,是對攻擊命中發起人和被命中的人產生了雙向影響;
英雄聯盟中‘披甲龍龜’的‘尖刺防禦’技能,在命中觸發事件的用法中,首先是敵人命中自己會對自己造成傷害,但在自己被命中後,也會反彈給命中自己的人造成傷害。
當然我們這裡所說的命中事件,不單只是用在角色命中的技能當中,還會用在命中Actor(邏輯判定為可被攻擊命中的物體)的判定當中。
例如‘APEX英雄’中,瘟疫釋放的毒氣罐,就可以被攻擊命中,提前觸發爆炸的效果;
這個也是遊戲技能中,最常用的一種方式,對於某個特定Actor的命中判定的反饋。
所以受擊行為,首先是從程式邏輯中如何定義命中,而在命中行為事件的應用中,最基本的用法就是記錄‘攻擊’和‘被攻擊者’資訊,從而在技能效果中,擴充套件受擊行為事件的技能效果;
3、時間觸發事件
時間觸發:滿足特定時間區間或節點的行為結果,觸發的行為事件;
那麼問題來了,特定時間區間、特定時間節點到底該怎麼解釋?
首先是滿足特定時間區間的用法,我會解釋為在持續時間內的才能觸發的行為事件,各種遊戲型別中常用的持續性技能都會用到類似的方式;
比如‘APEX英雄’惡靈的維度裂隙:開啟技能後,持續時間內,開啟兩座傳送門,己方隊員碰觸傳送門,會觸發在兩座傳送門中傳送角色的技能行為。
這裡的時間觸發事件的先決前提是滿足在傳送門存在的特定時間區間內;
而滿足特定時間節點的用法,則是要求時間到達某個特定的節點時,才能觸發的行為事件,在很多遊戲中,延遲生效的技能多會用到類似的方式;
比如‘英雄聯盟’時光老人的‘定時炸彈’:指定目標地點投擲一個定時炸彈,3秒倒數計時之後炸彈會爆炸;這裡所描述的3秒之後,就是滿足特定時間節點最常用的一種方式;
在滿足特定時間節點的用法中,還有一種滿足遊戲規則定義的特殊時間節點,比如四季、晝夜、年份,甚至是通過技能效果改變當前時間節點,以滿足觸發技能行為事件;
在‘DOTA2’的暗夜魔王就屬於這種的典型應用,在‘DOTA2’的遊戲規則中,設定了關於晝夜切換的遊戲規則,暗夜魔王在黑夜這個特定時間節點階段中,自身的技能會獲得額外加成,甚至自身還擁有著直接改變當前時間節點的技能方式;
當然關於‘時間’這個概念,還有很多衍生的用法,在這裡我們主要是提煉‘時間觸發事件’的概念,以上的三種案例是用來闡述關於時間觸發的應用方式;
4、空間觸發事件
空間觸發:以指定Actor為中心進行空間範圍檢測,滿足預設條件後,觸發的技能行為事件;
在空間觸發事件中,通常大家會看到兩種方式的應用,範圍內有效條件的持續監測和範圍邊界的條件檢測,前者應用途徑更廣,幾乎各種遊戲型別都能看到,而後者應用的環境相對較少;
對於範圍觸發的事件,我們最多接觸的就是類似光環型別的技能,比如‘APEX英雄’中惡靈的‘魔音傳腦’,都是類似的應用方式,以自身為中心進行對範圍的目標,進行實時檢測,只要目標觸及範圍內,並且滿足判定條件,則觸發技能事件;
除了實時檢測直接生效技能效果,還有對於主動觸發的判定,比如‘英雄聯盟’中墮落天使的‘靈魂鐐銬’:
在釋放技能前,以自身為中心進行範圍檢測,當檢測到敵方目標後,滿足技能觸發條件,觸發了對範圍內敵人進行傷害和減速效果;如果沒有檢測到,技能則無法被觸發;
在‘APEX英雄’的直布羅陀中防護罩技能,則是空間邊界的條件檢測,以召喚Actor的位置為中心,一定空間範圍邊界,開啟一個立體的防護罩,防護子彈和爆炸傷害;
這裡的防護罩是設定空間範圍邊界的條件檢測,當爆炸發生且爆炸會影響空間邊界時,進行空間範圍條件檢測,檢測爆炸點處於防護罩的邊界位置,當爆炸發生在防護罩的一側時,護罩將會擋住爆炸傷害
關於‘空間’這個事件的應用,除了我們這裡的示例介紹,以圓形/球形範圍的單次或者持續時間的檢測觸發的方式;還有在空間範圍的形狀變化,以及更多在條件判定的應用。
比如‘英雄聯盟’的安妮的焚燒技能,她的技能空間範圍檢測的則是錐形的範圍;
5、死亡觸發事件
死亡觸發:以指定Actor處於邏輯死亡狀態判定後,觸發技能行為事件;
死亡狀態,大多數遊戲中對死亡的邏輯判定,會聚聚焦為生命屬性為0,並且無法進行輸入指令操作;是遊戲中最長接觸的一種狀態效果;
比如‘APEX英雄’中的幻象,當幻象出於邏輯‘死亡’的狀態時,在死亡位置生成了假的Actor,自己短暫隱身。
所以關於死亡觸發行為,核心都是判定Actor處於邏輯死亡狀態,觸發的技能效果。
比如‘APEX英雄’亡靈的‘死亡圖騰’技能應用,在指定的位置生成一個圖騰,處於圖騰有效範圍內,玩家進入死亡狀態後,會觸發在圖騰附近復活重生。
而在魔獸中關於死亡的另外一種用法,是在遭受判定為死亡狀態的時候,轉化為抵擋傷害,暫時保持存活狀態。
這兩種都是死亡狀態時,立刻觸發了技能效果,從而改變了死亡狀態;
還有一種是確認了死亡狀態,但是設定了即使處於死亡狀態,玩家依然在死亡狀態下的技能效果;
英雄聯盟中死歌的死亡契約技能效果,當自身出於死亡狀態時,改變了死亡的邏輯判定,在延長的技能效果時間內,玩家可以繼續釋放技能。
關於這種用法就是一種複合機制的使用方式,首先是在死亡狀態觸發時,其次是關聯了時間觸發事件的應用,所以在觸發行為事件的應用中,除了單一觸發機制判定以外,通常還有多種機制的複合應用方式。
6、屬性觸發事件
屬性觸發:檢測遊戲中Actor屬性數值的變化,觸發技能行為事件;
通常在遊戲製作的時候,都會對遊戲中的Acotr,這裡我統稱為遊戲角色,設定基礎屬性,用來衡量各種行為狀態的標準。
比如最基礎的比如生命值,移動速度,攻擊速度等等,而技能相關的還有用來衡量技能消耗的藍條,或者能量等。
英雄聯盟中奧拉夫的狂戰之怒,是最典型的屬性觸發方式,每次當血量屬性降低的時候,提升自身的移動速度。這種屬性觸發的應用方式,實質上就是實時監測自身某種屬性的變化,滿足條件判定後,觸發技能行為效果。
而APEX英雄辛烷的興奮藥劑技能,對比狂戰之怒,同樣是減少生命值,提升移動速度的技能效果;
但是在興奮藥劑技能中,是主動觸發的方式,技能邏輯是當辛烷使用興奮藥劑技能的時候,持續時間內,提升移動速度,並且自身‘生命值’屬性發生變化;
還有一種是當屬性發生變化後,需要判定屬性是否達到臨界值,這就需要觸發的同時針對這一次屬性變化進行驗證,來確定是否達到技能觸發的條件臨界值。
屬性觸發事件中最常見的觸發方式,就是針對屬性數值的變化進行判定,當滿足條件時就會觸發技能效果;
7、狀態觸發方式
狀態觸發:檢測遊戲中Actor狀態效果的變化,觸發技能行為事件;
我們在遊戲製作中,除了屬性數值之外,還有一種常見定義的內容,就是Actor在不同行為下的狀態效果;比如最常見的,加速、減速、暈眩、沉默等異常狀態效果,通常是遊戲中定義Actor在遊戲中附加得正向或負面狀態效果;
以‘沉默’這個狀態效果為例,遊戲中通常定義為Actor處於沉默狀態下將無法釋放主動技能;當然每個遊戲中關於狀態的邏輯定義會有些差異,關於各種狀態效果和定義方式,將會在後續的狀態篇中詳細說明;
比如‘APEX英雄’亡靈的‘沉默’技能應用,投擲裝置,對範圍內得敵人造成無法使用技能得狀態效果;
當然大家有可能會疑惑,這不是‘沉默’技能的直接效果嗎?怎麼會歸到狀態出發效果中。
通常遊戲中對於屬性和狀態觸發的用法,是針對屬性或者狀態發生變化後,驗證這兩種變化的標準。當滿足變化標準後,就會觸發技能行為事件;
以魔獸世界中刺客的‘藥膏專家’為例,技能效果是針對目標驗證是否中毒,如果滿足中毒狀態的話,將會返還8點能量。
此處的狀態觸發事件的使用方式就是針對特定狀態‘中毒’的目標進行驗證,滿足驗證目標,將會觸發技能事件;
當然還有圖上這位,玩過英雄聯盟的玩家,都知道是誰,疾風劍豪,經常有我方‘托兒索’,敵方劍豪的美譽。
‘狂風絕息斬’的技能是個典型的狀態判定的觸發行為;技能觸發的條件,是判定當目標處於被擊飛的敵方目標空間範圍內,才會觸發技能事件;
疾風劍豪的觸發機制,是一種需要高階技巧或者隊友配合的機制,所以發揮的場景,需要玩家對於技能的銜接理解和熟練度都有一定的要求。
而通常這種需要狀態觸發的機制,一般都會定義為遊戲中的通用機制。比如減速、擊飛、擊退等這種大多數條件下滿足的技能機制。
8、疊層驗證觸發
疊層驗證觸發:驗證遊戲中Actor上的疊層BUFF,滿足驗證條件後,觸發技能行為事件;
從嚴格意義上來說,疊層驗證並不是遊戲中統一歸類的一種觸發事件,更多是一種輔助其他觸發事件的條件驗證方式,使用場景,也是會跟其他的觸發機制融合使用。
不過疊層驗證這個機制出現的頻率太高,幾乎在任何遊戲型別,任何遊戲方式中都會出現,所以在這裡把疊層驗證當成一種歸類的觸發方式來說明;
例如在英雄聯盟中,這種疊層驗證的使用方式就層出不窮,目前英雄總共155位英雄,技能中帶有疊層驗證的英雄超過了100位,
以黑暗之女安妮為例,嗜火,在施放4次技能後,安妮的下一個傷害技能將會造成暈眩;
此時的疊層驗證應用,是將安妮每次釋放技能後,給自身新增BUFF,滿足疊層驗證次數後將會觸發‘暈眩‘狀態效果;
而沙漠死神內瑟斯的痛苦汲取,則是疊層驗證和死亡觸發的融合應用方式,判定當敵人死於痛苦汲取的技能效果時,會給自身疊加傷害值;
在魔獸世界術士的翻騰痛楚技能中,則進一步把疊層驗證的應用方式進一步融合。首先是驗證當痛楚BUFF疊加到第4層時,開始造成傷害,其次是痛楚BUFF疊加層數後,將會增加傷害效果;
在疊層BUFF中,通常我會把BUFF分為兩種:
一種是遊戲意義中的有效BUFF,意味著對於Actor有實質意義上的效果BUFF,比如剛才提到的翻騰痛楚BUFF的應用效果,此型別BUFF擁有實質的效果,並且承擔了疊層驗證的功能;
而另一種則是無效BUFF,這種BUFF,對於Actor沒有實質意義,是作為記錄需要驗證的標準,比如黑暗之女安妮的技能次數的應用效果;
寫到這裡,關於技能模組化技能設計之-觸發事件篇也暫時告一段落,個人在寫文章的過程中,又重新梳理了一篇過程,深覺的遊戲中技能應用的廣博,所以本文中的總結僅代表個人的理解,大家如果有什麼其他見解,也希望能夠跟作者交流。
來源:騰訊GWB遊戲無界
原文:https://mp.weixin.qq.com/s/1_DmKtgYuo71bsWMpEsKIQ
相關文章
- 遊戲中的技能系統設計遊戲
- MOBA類遊戲地圖中的反饋設計遊戲地圖
- 如何根據自己的需要培養遊戲開發技能?又一篇遊戲程式設計入門指南遊戲開發程式設計
- JavaScript ES 模組:現代化前端程式設計必備技能JavaScript前端程式設計
- 設計一款籃球經理類遊戲(三):球員升級、裝備、技能與組合遊戲
- 從數值、玩法、社交模組入手談MMORPG手遊設計
- 關於手遊技能的UI設計UI
- 動作與射擊漫談:格鬥遊戲中的動作設計遊戲
- 數值策劃能力專精:MOBA遊戲英雄技能傷害設定的引數精細化遊戲
- 從邏輯觸發,講講如何設計自己的遊戲遊戲
- 遊戲情感化設計【社交模組】遊戲
- 遊戲基礎知識——“汙染”及其相關技能的設計手法遊戲
- CocosCreator遊戲開發(五)實現技能按鈕遊戲開發
- 用“鬼泣”的方式開啟MOBA遊戲遊戲
- 遊戲從不孤立存在,談談影響遊戲設計的結構遊戲設計
- 技能篇:實際開發常用設計模式設計模式
- 開發者談:懂得經營是遊戲開發環境的基本技能屬性遊戲開發開發環境
- 世界觀架構之射擊遊戲技能設定架構遊戲
- 遊戲技能該如何設計?這二篇乾貨帶你瞭解遊戲
- 技能系統與遊戲歷程遊戲
- 遊戲雜談:大製作遊戲和小製作遊戲,在開發思路方式上的差別遊戲
- 好程式設計師Java培訓分享Java程式設計師技能提升指南程式設計師Java
- 從遊戲王和三國殺對比看卡牌遊戲模組化設計遊戲
- Android程式設計師必會技能---執行時動態生成類---之動態代理Android程式設計師
- Android程式設計師必會技能—執行時動態生成類—之動態代理Android程式設計師
- 遊戲AI探索之旅:從AlphaGo到MOBA遊戲遊戲AIGo
- 動作遊戲系統設計概述遊戲
- 動作遊戲新手期流程設計遊戲
- 程式設計師如何借勢AI提高自己:從高效工作到技能升級的全面指南程式設計師AI
- 為什麼資料結構設計是遊戲策劃必備技能?資料結構遊戲
- 拳拳到肉! 動作遊戲肉搏動作如何設計?遊戲
- 從《蜜蜂模擬器》出發淺談電子遊戲如何“定義”非人類生物遊戲
- 任天堂遊戲設計理念是什麼? 從《奇諾比奧隊長》談起遊戲設計
- 提高你的程式開發技能——進階指南
- 遊戲情感設計:如何觸動玩家的心靈遊戲
- 從概設流程、審美、設計思路幾個方面,漫談遊戲美術設計的思維方式遊戲
- 談談遊戲難度設計遊戲
- 遊戲開發者如何點亮主播/UP主技能?遊戲開發