從技能組合談起:“標簽云”與技能組合

>>>  創業先鋒 眾人拾柴火焰高  >>> 簡體     傳統

GameRes發布,文/ManiaHero

  看到標題可能很多人會覺得莫名其妙,那么就讓我從《魔獸爭霸3》的一個MOD游戲開始說起。

  以前在《魔獸爭霸3》上有一張我很喜歡的MOD地圖,叫做“守衛大蝦”,與其他類似防守MOD最大的區別是玩家可以自由的選擇自己想要使用的技能,你可以挑選游戲中所有和治療相關的主動、被動技能成為一個超級大奶媽,或者把所有提高防御的技能都加在身上成為一個超級坦克,更受歡迎的玩法是挑選比如致命一擊、分裂攻擊等等被動攻擊技能,殺怪如砍瓜切菜。不過這個游戲的平衡不是很好,技能都是《魔獸爭霸3》原本所擁有的技能,組合后會產生一些問題。

  之后的一些游戲比如《DOTA》也擁有隨機技能的模式,但與“守衛大蝦”一樣,擁有很多IMBA的技能組合,某些技能的組合甚至會讓角色永遠不會死掉,這樣一來游戲就完全失去了樂趣。

  再后來我一直對這種玩家能夠自由搭配技能的游戲感到格外有趣,因為組合的可能性幾乎是無窮的。后來我玩了《大航海時代Online》和《EVE》,《大航海時代Online》中玩家能夠同時擁有的技能個數有限,因此只能挑選專精于某一個方向的技能,但這游戲有著日式MMO的通病——需要無盡的掛機刷怪練級獲取經驗。《EVE》與《大航海時代Online》類似,但玩家沒有同時擁有技能個數的限制,但它的完全靠時間獲取技能等級的玩法使得新手永遠追不上老手。《激戰》是一個非常出色的游戲,玩家也是可以從好幾百種技能庫當中挑選技能,但我并沒有玩過,雖然很多人認為這是一款神作,但我卻認為一款PVP游戲如果完全無法知道對手擁有什么技能,PVP的體驗是很差的。

  再后來到了《暗黑破壞神3》,也沒能兌現當初承諾的幾萬種BUILD,實際上可行的BUILD每個職業幾乎就只有那么幾種。最頂級的職業套裝只會強化某個方面的能力,相當于把玩家的后期玩法固定死了,《奪魂之鐮》上線后,專門強化某個技能的史詩裝備大量出現,更是加重了這一情況。

  后來我玩到了《流亡黯道》,這個游戲將技能組合又上升到了一個新的高度。它最大的特點是,技能的組合并不是機械的組合。上文提到的種種游戲,技能與技能之間都是完全互相獨立的,聯動關系相當之小,僅限于比如你選了一個火球術,又選了一個暴擊被動,然后火球術的暴擊就提高了這種水平——也就是說,技能之間要么干脆沒有影響,要么僅僅是停留在數值水平的影響。而《流亡黯道》中,技能之間的影響卻是機制性的,比如一個火球術一次能夠發射一個火球,但選擇了分裂攻擊后火球術一次就能夠發射三枚火球;而如果我選擇了范圍擴大,火球在命中后爆炸的濺射范圍就會變大,如果我選擇了穿透,火球會穿透數個敵人后才爆炸……并且,前面提到的這些效果是可以同時存在的!這樣一來,單單一個火球術就有了千變萬化的效果,更不用說其他的技能了!


  左圖是《流亡黯道》中“焚燒”技能原本的效果,右面是在組合了相當多的被動技能之后的效果。以焚燒為核心技能是當前版本中相當熱門的一個BUILD。

  這就是文章標題中所提到的“技能組合”部分。那么“標簽云”又是什么東西呢?接下來就開始說這部分。

  《流亡黯道》由于技能組合機制過于豐富,因此它為每個技能打上了很多標簽。


  這是《流亡黯道》中一個機制比較復雜的技能,“熔巖打擊”。它的效果是對一個目標進行一次近戰攻擊,并且發射3個落點隨機的熔巖球,掉落在地面時對目標點造成范圍傷害。我們可以看到,這個技能的關鍵詞是“火,投射物,攻擊,AOE,近戰”,那么所有對這些標簽有加成的被動技能都會對其產生效果。比如多重投射物,技能本身是3個投射物(熔巖球),那么如果玩家使用了“低階多重投射”,就會變成5個。又由于技能的近戰傷害和投射物傷害都是火屬性的,因此如果玩家用了“元素武器傷害”也會提高技能的傷害。同時由于熔巖球落地后造成的是AOE傷害,玩家如果有提高AOE半徑的被動技能,也會對這個技能產生影響。

  在《流亡黯道》的技能組合機制與標簽的基礎上,我就想到了現在很常見的“標簽云”的做法。玩家往往會組合很多強化某一方面的能力的被動技能,因此如果夠類似于“標簽云”一樣,將最突出的標簽用更明顯的方式顯示出來,會不會變得更有趣呢?


  這樣我們在設計技能的時候,實際上可以從基礎的機制的層面上將技能的各個方面抽象出來,成為一系列標簽,然后再通過對標簽的調整來改變技能的運作效果與數值。上文中提到過的火球,就是這樣的:

  • 向前方發射一個火球,遇到敵人后爆炸并造成范圍傷害。

  • 標簽:火傷害,一般投射物,范圍傷害


  每個標簽其實都擁有著一系列的屬性,比如“火傷害”這個標簽可能擁有傷害數值、暴擊率、抗性穿透率等等屬性,而“投射物”標簽會有飛行速度、加速度、生命時長、穿透幾率“等等屬性。對這些屬性進行調整的被動技能都意味著對這個標簽有著效果,如果是正面效果會讓這個標簽顯示得更大,如果是負面效果會讓這個標簽顯示的更小。

  這是個比較簡單的例子,但是我們可以向其中加入更多的機制,比如:

  • 向前方發射一個不斷前行的冰球,不斷向四周發射冰錐,傷害路徑上的敵人。

  • 標簽:冰傷害,一般投射物,持續性,范圍傷害,穿透


  沒錯,這個就是《暗黑破壞神》中的冰封球技能。冰封球本身是個投射物,擁有著投射物本身的諸多特性,除此之外它還會重復地進行發射冰錐的行為,我們姑且把這種重復進行某個事件的機制叫做“循環”,“循環”有著諸多屬性,如觸發間隔、持續時間等等,我們可以設計一些針對這些屬性進行修改的技能,比如發射的頻率加快一倍,但持續的時間會縮短一半等等。冰封球本身擁有一定寬度,會對路徑上的敵人造成傷害,因此也算作范圍傷害。冰封球本身和小冰錐都會穿透敵人,因此擁有“穿透”的標簽。同時由于發射出的小冰錐也是投射物,因此如果有著對投射物進行修改的被動技能,會同時影響冰封球和冰錐!

  我們再看一個技能:

  • 發射一個沿著拋物線運動的炸彈,落地后爆炸并造成范圍傷害,在飛行的過程中還會不斷施放小型炸彈轟炸地面,造成較小的范圍傷害。

  • 標簽:物理傷害,拋物線投射物,范圍傷害,持續性


  這個是《暗黑破壞神3》中惡魔獵人集束箭配上集束炸彈的效果。很多游戲中都會擁有按照拋物線移動的飛彈,一般以弓箭、迫擊炮的形式存在于游戲中,在RTS中較為多見,在ARPG中比較少見,因為難以控制。

  再看一個技能:

  • 從天空中墜落一顆隕石,轟擊地面,對擊中的敵人造成傷害。被隕石擊中的地方會陷入火海,在一段時間內對范圍內的敵人持續造成火焰傷害。

  • 標簽:火焰傷害,范圍傷害,持續性,持續性傷害


  這個是《暗黑破壞神3》中法師的隕石術,效果分為兩部分:召喚一個隕石轟擊范圍內的敵人造成傷害,然后轟擊點產生一個范圍效果,持續造成傷害。兩部分都是火焰傷害,都是范圍傷害,但第二部分還是持續性傷害。

  這時候我發現了,按照這個思路,實際上大部分依然只是在對數值進行調整,但并沒有使得游戲的機制發生變化。如果要使游戲的機制發生變化,需要在更基礎的層面模塊化各種機制,然后使得能夠事情發生質變。比如隕石砸地后的持續性傷害,和冰封球的持續性發射冰錐,有什么區別嗎?我們是應該將其視作“持續性”標簽的兩種情況,還是干脆看成兩種標簽:持續性發射,和持續性傷害?

  我們可以將所有事件分成三部分來看:發生的時點,產生的效果,被效果影響的目標。

  • 時點:攻擊前,攻擊,攻擊后,命中前,命中,命中后,死亡前,死亡,死亡后,暴擊前,暴擊,暴擊后,周期性開始,周期性循環,周期性結束……

  • 效果:發射飛彈,造成傷害,進行治療,減速,加速,阻止移動,恢復移動,殺死……

  • 目標:源單位,目標單位,源范圍,目標范圍


  我們再回過頭來看冰封球這個技能。冰封球本身是個一般投射物,這只決定了它的移動方式,以及一些和移動相關的基本屬性。它有三個效果:

  • 從自己向外周期性發射飛彈。(周期性循環-源單位-發射飛彈)

  • 周期性地傷害自己周圍的敵人。(周期性循環-源范圍-造成傷害)

  • 飛行一段時間后摧毀自己。(周期性結束-源單位-殺死)


  它發射出來的飛彈也是一般投射物,也擁有三個效果:


  • 命中敵人時對敵人造成傷害。(命中-目標單位-造成傷害)

  • 命中敵人后摧毀自己。(命中后-源單位-殺死)

  • 飛行一段時間后摧毀自己。(周期性結束-源單位-殺死)


  不難發現,所有的一般飛彈都擁有飛行一段時間后摧毀自己的效果。然后再看惡魔獵人扔炸彈的技能,這個炸彈本身是一個拋物線飛彈,與一般飛彈一樣,這也只決定了它的移動方式和移動相關的基本參數。它擁有以下幾個效果:

  • 從自己向外周期性發射飛彈。(周期性循環-源單位-發射飛彈)

  • 命中時造成范圍傷害。(命中-目標范圍-造成傷害)

  • 命中后摧毀自己。(命中后-源單位-殺死)


  類似的,所有的拋物線類飛彈也都有著落地后殺死自己的效果。隕石術的效果特殊一些:

  • 命中時造成范圍傷害。(命中-目標范圍-造成傷害)

  • 命中時創造一個不會移動的馬甲飛彈。(命中-源單位-發射飛彈)

  • 命中后摧毀自己。(命中后-源單位-殺死)


  創造出來的這個不會移動的馬甲飛彈有著以下的效果:

  • 周期性地傷害自己周圍的敵人。(周期性循環-源范圍-造成傷害)

  • 持續一段時間后消失。(周期性結束-源單位-殺死)


  這樣我們就用“馬甲單位”的方法實現了隕石術的效果。熟悉《魔獸爭霸3》編輯器的同學應該對這個伎倆十分了解!

  按照這個架構,我們就可以設計一系列的技能,達到修改技能效果的目的。比如我們想讓冰封球在死亡時爆炸發射出更多更多的冰錐,就可以追加以下效果:

  • 死亡前-源單位-發射飛彈。


  這個效果可以追加在所有的飛彈上,這樣在這些飛彈死亡時都會再生成一系列的飛彈。再舉個例子,假如我們想讓一個一般飛彈命中敵人后繼續飛行,就可以移除下面這個效果:

  • 命中后-源單位-殺死。


  如果我們想添加一個吸血效果,就可以追加以下效果:

  • 命中后-源單位-治療。


  我們甚至可以為這些事件的發生再加入一個概率,比如:

  • 命中后-源單位-40%幾率-治療。


  那些必然發生的事件幾率為100%,我們可以設置這個幾率的最低值如5%。再比如一定幾率秒殺敵人:

  • 命中后/周期性循環-目標/目標范圍-5%幾率-殺死/造成大量傷害。


  如果是范圍效果的話,需要決定是一次檢定所有目標的成功還是每個目標分別檢定。

  大部分比較復雜的效果,我們都可以通過創建“馬甲飛彈”的方式來實現。《魔獸爭霸3》上的《DOTA》中有相當多的技能都是通過這種方式來實現的。不過小心,由于每個飛彈都是可以繼續創造馬甲飛彈的,小心死循環。

  有了一套實現技能的基礎機制后,就可以提取出其中的共同點來當做標簽使用了!我們能夠知道冰封球的范圍傷害與隕石術馬甲單位的范圍傷害并沒有區別,持續發射飛彈與持續造成傷害也并沒有區別,就可以用同樣的標簽,共享同樣的標簽修改效果了。

  接下來能夠阻擋你的,只有想象力了!



GameRes游資網 2015-08-23 08:42:10

[新一篇] 手把手教你畫像素(二)—抖動(Dithering)

[舊一篇] 專訪 從獨立游戲節上的孩子們看一場屬于電子游戲的文藝復興
回頂部
寫評論


評論集


暫無評論。

稱謂:

内容:

驗證:


返回列表