別再只懂得調數值了,動作遊戲的怪物難度還有這些設計方法
除了數值,還能調控什麼?
01 追加的新動作
為高難度怪物追加動作是最常見的方式之一。在低難度的時候,怪物只會做一些破綻較大、速度很慢、攻擊碰撞範圍較小的動作,而當怪物的難度需要提高的時候,就會開始追加一些速度快,判定範圍大的動作,同時棄用一些對於玩家而言沒有挑戰性的動作。
比如在Capcom的《怪物獵人:世界》中,上位(難度較高)的雌火龍,相對於下位(難度較低)來說多了一個倒掛金鉤的動作,這個動作也是雌火龍亞種櫻火龍(可以理解為換了皮的、難度更高的雌火龍)的招牌技能,而到了Master級(最高難度),雌火龍的稀少種金火龍在高熱狀態下還會吐出核爆大火球,這是櫻火龍和雌火龍都不會的,核爆大火球不僅範圍威力巨大,還會在地面上留下火焰灼燒一段時間,這大幅度提高了獵人的對抗難度。
(櫻火龍倒掛金鉤)
當怪物有了對抗難度更高的動作,同時失去了低對抗難度的動作之後,怪物的難度自然而然就會得到提升。
02 “隱藏”屬性
除了肉眼可見的血量和傷害力之外,動作遊戲中還有很多玩家肉眼不可見的屬性,我們先看構成一個怪物動作的邏輯資料結構:
這是構成動作遊戲中角色(包括玩家角色和怪物)的每一個動作的元素。一個動作由若干順序播放的動作幀組成,遊戲每推進1幀,當前動作就會播放下一個動作幀。每一個動作幀裡又有:
圖形:當前動作幀所需要繪製的美術圖形,這非常好理解,通常就是序列幀動畫的某一幀。
(常見的動作遊戲中的一個角色的一個動作序列)
攻擊碰撞盒:一幀動作中允許有若干個攻擊碰撞盒,用於確定這個動作可以打中的範圍,並不是每一個動作的每一幀都有攻擊碰撞盒的,即使這本身是一個攻擊的動作,也不是每一幀都會有攻擊碰撞盒。
(一個角色的每一幀動畫都可能會存在攻擊碰撞盒、受擊碰撞盒和格擋動作盒)
受擊碰撞盒:
一幀動作中允許有多個受擊碰撞盒,當任何一個被敵人的攻擊碰撞盒打中,就很可能要接受傷害判定。
但是並不是所有動作的所有幀都有受擊碰撞盒,在沒有受擊碰撞盒的動作裡,角色無法受到攻擊,因此這些幀通常被玩家俗稱為“無敵幀”。
通常動作遊戲、格鬥遊戲中玩家倒地(包括死亡)的動作裡都會有大量“無敵幀”存在。
防禦碰撞盒:
和攻擊碰撞盒、受擊碰撞盒一樣的存在,這通常是因為角色會有一些防禦動作,但是防禦動作並不是全方位保護角色的,所以會需要碰撞盒來決定是否是“格擋到了”。
同樣的,即使是一個防禦性的動作,也並不是每一幀都有防禦碰撞盒的。
吹飛力:這是動作遊戲中特有的設定,即如果在這一幀能夠命中對手,並且破壞對手的動作,就能導致對手產生位移,位移的量取決於這個屬性,因此通常來說,這個屬性是一個向量。
(在動作遊戲中,尤其是格鬥遊戲裡,擊飛擊倒打硬直等都是很常見的事情,也是非常重要的戰術,捱打目標能飛多遠或者滑多遠,取決於當前幀的吹飛力,每一幀可以有略微不同的吹飛力,但是如果每一幀都差太多,玩家就會感覺很奇怪,除非動作上可以解釋得通)
Cancel動作和被動作Cancel:這正是動作遊戲打擊感和華麗的核心來源之一,不可或缺的一部分——在動作遊戲中,一些動作做到一半,可以被另一些動作直接取消後半部分的動作,而接上的動作也會失去前半部分,以達到動作銜接的流暢和一種效果獎勵(通常會把一些帶“破綻”的幀丟掉)。而能夠形成這樣的“真正的動作遊戲的連招”的,正是這兩個屬性帶來的。
(在gif的後半段,紅衣的Ken重直拳之後跟升龍拳就是一個非常漂亮且實用的Cancel,集美貌與實用於一體的Cancel也是格鬥遊戲的魅力之一,也是玩家嘴裡的“打擊感”的極其重要的形成部分)
除了動作幀,整個動作還會有一些其他屬性:
動作值:
每一個動作有一個動作值,這通常是用來說明這個動作能造成的傷害的,早年也用於計算得分的(早期的遊戲都有得分系統,隨著遊戲的發展,得分系統逐漸被人淡忘和遺棄了)。
不一樣的動作動作值應該是不同的,畢竟很多動作的“命中難度”本身就高,如果傷害都一樣,那這些動作的價效比就會變得非常低,可以說動作值本身就是對動作價效比的一個補償措施。
(在怪物獵人中,大劍不僅本身攻擊力高,因為動作緩慢,大多動作的動作值也高,所以單次傷害的值總是能遠高
霸道值與破壞力:
這是與回合制遊戲截然不同的一個值,在回合制遊戲,尤其是ARPG遊戲,如《Diablo3》中,角色開始做一個動作,只有被打斷和沒被打斷2個狀態,非黑即白。
而在動作遊戲中則不同,當角色開始做一個動作的時候,未必會被其他角色的某些動作打斷,但是可能會被另一些動作打斷,這完全取決於當前角色正在做的動作的霸道值與對手動作的破壞力。
而在《地下城與勇士》(DNF)中,引入了一個概念,即將一個角色一段時間內所有動作的霸道值設定為最大值(以至於無法被打斷),由此形成了“霸體狀態”。
(DNF中,霸體的角色霸道值總是最高,所以動作“無法被撼動”)
段數:
這也是一個作用於打擊感的屬性,它包含了“最高段數”和“幀間隔”的概念,即這個動作在不同幀都擊中同一個對手後,是否進行二次碰撞處理——通常的技能段數都是1,所以在動作完成之前的其他幀的碰撞盒都不會作用於同一個受擊目標;
而如果段數>1,則會在指定的間隔幀之後,若碰撞盒再次碰撞同一個目標的受擊盒就會做出2次傷害判定,這帶來了一種更“連續殺傷”的打擊感。
(在怪物獵人世界中,黑角龍與角龍的最大不同之一在於,角龍從地下鑽出飛起的時候只有1段判定,而黑角龍會有3段,沒有經驗的獵人使用長槍往往會在格擋了第一段之後進行反擊而被第二段或第三段攻擊“帶走”)
當我們瞭解了這些屬性之後,我們不難發現,一些數字類的屬性,比如“段數”、“霸道值”等,都是可以隨著難度提高而提高的,玩家看不見。而除此之外,怪物的攻擊碰撞盒、受擊碰撞盒等範圍,也是可以通過遊戲難度來進行變化的,更大的碰撞盒範圍、更小的受擊碰撞盒範圍,都會帶來更高的遊戲難度。
03 動作速度變化
調整怪物的動作速度,也可以起到調整難度的作用。但是與回合制遊戲、ARPG不同的是,動作遊戲的動作速度並不能直接通過無腦壓縮時間長度來實現。
在一個ARPG遊戲中,對於傷害的判定是一瞬間的。在整個一次行動(比如釋放一個技能)的過程中,動作的長度決定了這個回合(一個回合一次傷害判定運算)行動的時間長度,因此直接壓縮動作時間長度,就等於加快了動作,就等於單位時間內回合(傷害次數)變多了。由此,ARPG中直接壓縮動作長度===加強。比如在《魔獸世界》裡,非常好理解的是,寒冰箭需要讀條2.5秒,而把2.5秒壓縮到2秒就是非常直白的加強。
(在回合制或者ARPG遊戲中,任何技能動作都可以看做是在讀條,讀條時間越短,自然動作越快,單位時間內可以反覆做的次數也就越多,回合數也就上去了)
但是動作遊戲不同,上面我們說過了,動作遊戲中每一幀都是有不同的碰撞盒的,而遊戲的每一幀這些碰撞盒之間的運動都可能改變遊戲的局面,通俗的說:“並不是我做了一個技能,等動畫播完就會造成傷害的”。如果演算一下不能發現,當我們壓縮掉一些幀,尤其是這些幀原本還有攻擊碰撞盒,特別是這些幀的攻擊碰撞盒恰好還是這個動作中所有幀裡面攻擊碰撞盒面積(3D則為體積)最大的,這不但不是加強,還是削弱了。所以通過無腦壓縮動作時間長度是無法做到“可控地調整動作遊戲的怪物難度”的,因為這種方式本身是失控的。
(怪物獵人系列中,怪物憤怒了可不是隻有臉紅脖子粗的視覺表現,他們的很多動作會“變快”,壓縮掉一些沒有攻擊判定的幀,複製更多有攻擊判定的幀。通過這樣的變化,來做到讓玩家感覺怪物憤怒之後難度變高了)
因此當我們在說改變一個怪物的動作速度的時候,並不一定是說“加快某個動作”,因為可能這個動作變的更慢了,但是這個改動一定包含:
讓動作中有了更多幀帶有攻擊碰撞盒——帶有攻擊碰撞盒的幀越多,這個動作的對抗難度自然也越高;
去除一些不帶攻擊碰撞盒還帶有捱打碰撞盒的幀,就跟手動做了Cancel一樣的感覺,把這些“破綻”幀去除掉,怪物就變得更不容易捱打了,動作也會變得讓人感覺更加霸道和難以對付。
通過調整動作的幀,刪除一些沒有攻擊判定的幀、複製或者追加一些有攻擊判定的幀,或者僅僅只是調整一下攻擊判定幀的位置,都可以起到提高怪物難度的效果,而這些改變都不是“皮膚化”的(即玩家在屬性列表裡無法查到)。
04 動作銜接變化
除了追加動作、調整動作幀的屬性(尤其是判定範圍)、改變動作速度之外,動作之間的銜接,也是怪物難度設計的一個要點——高難度的怪物在同一個準備動作之後,可能會有更多品種的後續動作,當怪物有更多的後續動作的時候,難度會變得更高,因為連續的動作會改變玩家的對抗思路;同樣的將原本兩個前後單獨做的動作,用Cancel進行銜接之後,也會變得更流暢華麗,從而提高怪物的難度體驗。
通過同一個前置動作(未必要完全相同,最好是不完全相同的,玩家可以憑經驗判斷的),做出不同的後續動作:
(怪物獵人系列中雷狼龍側身很可能是要“鐵山靠”了)
(而另一個相似的側身動作之後則是拍地而非鐵山靠)
相似的側身動作之後是不同的攻擊動作,這需要玩家有一定經驗來判斷側身動作到底是哪個動作的開局,而因為動作的形非常相似,增加了判斷難度,也就同時增加了對抗難度。
同一個動作不同個數的後續動作可能性,也是增加難度的關鍵。但是同樣的,不同的準備動作最好也是能看得出些端倪的,以及後續動作的對抗方式也儘可能不同:
(雷狼龍轉身2連拍,之後追加一個衝刺然後從空中壓下)
(這回少拍了一爪子就開始衝鋒了,老獵人都知道等雷狼龍落地了可以收拾他,如果想貪心博一把多打幾下也不是
從上面我們看出,連續的動作組合中,動作的個數、元素是可以不同的,但是應該有明顯的讓玩家感覺到“可以動手了”的訊號。
05 危險的“彈幕”設計
彈幕是清版射擊遊戲的招牌,也是很多敏捷類小遊戲的核心玩法——即灑出大量的子彈,玩家此時要集中精神進行躲避,被子彈擊中後果很嚴重(不是輸了就是損失一次機會),依靠反應和身手敏捷躲避子彈是非常好玩的,因此也有很多蹩腳的ARPG遊戲在設計Boss戰的時候實在想不出方法了就採用了這種彈幕的設計。
(彈幕bullet hell,是很多帶有“高難度”標籤的清版射擊遊戲和敏捷類小遊戲的核心玩法,也被一些ARPG遊戲
彈幕設計對於動作遊戲來說,也不是全然不可,但是因為彈幕會打亂動作遊戲的節奏,給遊戲帶來一定的打斷感——玩家從認真對抗敵人的動作,從每一個動作中尋找破綻從而得到反攻的機會,變成了專心致志躲避不被擊中,整個體驗發生了巨大的變化。偶爾有一些怪物有些許彈幕還可以接受,但如果彈幕的比例過大,遊戲性就會蕩然無存。儘管動作遊戲也需要玩家敏捷,但是並不是動作遊戲就等於敏捷遊戲的,玩家玩動作遊戲的動機和追求就和玩敏捷遊戲非常不同,玩動作遊戲追求有來有回的打鬥快感,玩敏捷遊戲追求依靠身手敏捷克服困難(而不強調反擊,反擊是自然而然進行的事情)。
(怪物獵人中的麒麟歷來因為彈幕而被認為是“糞怪”,即使到了怪物獵人世界有所改進,也因為彈幕和快速移動
避免彈幕設計,可以從減少彈幕次數出發,也可以從減少彈幕範圍出發,總之在一個“砍砍砍”的遊戲裡來個彈幕,多少會讓節奏上有所不爽。
怪物的設計與製作方式
在瞭解了我們能做些什麼調整怪物的難度之後,從專業的遊戲設計師的角度出發,我們就要來看看我們該怎麼去執行這些方法的製作了。
01 細分好每一個動作
在開始設計的時候,細分好每一個動作都是非常重要的。這裡存在一個很大的誤區——當我們還沒有設計動作遊戲的經驗的時候,我們會認為“動作”就是“技能”,但事實上一個“技能”包含了多個“動作”,或者說“技能”是“動作的組合”。在動作遊戲的設計中,並不像回合制遊戲或者ARPG遊戲有“釋放了某個技能”的概念,只有連續做了一些動作形成了一個招式的概念。
所以在做的時候,我們要把心裡想的“一個技能”,根據其“可銜接性”拆成若干個動作,即每個動作前後都可以連線其他動作,而非一成不變的:
我們來看這樣一個招式——他並不是一個“二連咬”的技能。首先我們應該把它最簡單粗暴的分為“第一口”和“第二口”兩個咬人的動作。然後我們再從“前搖”、“後搖”的角度出發去思考,每一口咬人的動作是否還能被拆分——即咬人的前半段到哪一幀的時候可以被單獨使用去接另外一個動作。基於這個思路,我們可以看到:
從側身開始走,到上圖張嘴之前,一個側身走,應該是一個動作,因為側身走之後可以銜接一個其他的動作,而非必須咬人。而之後咬完第一口是一個動作,但並不完整的“第一口”動作,因為它在圖裡被“第二口”Cancel掉了後半段“收招動作”。
拆分已有的動作是一件容易的事情,如果我們先設計好一個連續的動作鏈(或者說一個技能的完整動作)然後去拆分,這是一個好主意,但是有經驗的設計師應該在開始做之前就拆分好,這樣在美術設計的時候可以根據可能連線的動作做一些微調,使得一個動作和後續的所有動作都能融合的更好。
02 明確可複用幀和可刪除幀
在設計一個動作的時候,我們要確定好一個動作的幀數,這往往可以預設到大約有多少幀(一個範圍,比如30-36幀,這是有一定“容忍性”的),大約第幾幀到第幾幀之間會有個什麼範圍的攻擊、格擋之類的。除此之外,我們還應該計劃好:
哪些幀是可以被“複製拉長”(即停留在這個動作幾幀形成拉長整個動畫的效果),這些幀將在動作“被加速”的時候使用。
哪些幀是可以被“跳幀”(即跳過該幀不播放也不會影響整個動作過程的流暢性),這些幀將在動作“被加速”的時候丟棄掉。
簡單的來說,就是我們設計了一個動作“最慢的狀況”,然後想好了他的“加速方式”,並且同時規劃好了他的進攻判定、格擋判定等大約出現的時間節奏。然後再進一步配合做圖做出進一步調整。
03 動作銜接流程圖設計
在我們細分好每一個動作之後,這是很有必要去做的一步——去設計一個動作銜接的流程圖,在每個動作銜接的線條上,我們應該標註出:
什麼條件下產生這個銜接:比如怪物憤怒時、比如高難度時、比如怪物背上插了釘子以後、再比如怪物腿被打折以後。
銜接時候的Cancel情況:至少是一個速率上能感覺出銜接的快慢(Cancel的越多越快)。
銜接時前後2個動作的每一幀攻擊判定盒的連續情況:因為當兩次攻擊銜接太緊湊的時候,如翻滾等常見的、讓人非常爽快的迴避方式就可能變得十分困難,所以應該事先計劃好,來考慮清楚難度的提升是否一下變得太快了。
作為銜接終點的暗示:即希望用一種什麼樣的暗示方式來告訴玩家:“我的連招打完了,請揍我吧”。
(怪物獵人中,雷狼龍慢慢的回覆站立姿勢,就是告訴玩家“可以打我了”)
(當然我們可以設計的更可愛,比如從天而降的雷狼龍是四腳朝天躺在地上,然後像這個小狗起身一樣動幾下扭起
當然,在做動作銜接之前,我們不妨先設定好怪物所屬的科目,然後研究一下該科目的動物的動作。
04 為碰撞盒設計Pivot
本文上半段我們也提到過,在設計怪物難度的時候可以巧妙的利用變化碰撞盒的面積或者體積來做到難度的變化,但是由於怪物的數量x怪物的動作x怪物的動作幀是一個十分巨大的數量級,在實際工作中,如果手工為每一幀設計多個尺寸的碰撞框並不是一個好主意,這時候我們也可以利用一些簡單的數學手段來解決,比如在每一個碰撞框中間標註一個pivot,當變化的時候,按照pivot的座標來進行放大:
上圖中籃圈所包圍的(兩條黑線的交點)即Pivot,紅色框是原來的碰撞框尺寸,橙色則是根據pivot將紅色框放大的框——將Pivot到四條邊的距離按比例放大,形成實際使用的碰撞框。
總結
除了血量和攻擊力這些“皮膚資料”之外,我們完全可以從動作遊戲本身的特性出發去調整怪物的難度。不難看出,要做好一個動作遊戲的難度設計也是一件非常複雜的事情,但做遊戲,需要的就是這種不畏勞煩、精工細雕的精神,也正是這種態度和行為鑄造出了Capcom等動作遊戲大廠以及他們堅不可摧的“技術壁壘”。
微信公眾號“千猴馬的遊戲設計之道(ID:baima21th)”授權轉載
相關文章
- 遊戲為何而難? 談談遊戲的難度設計遊戲
- 談談遊戲難度設計遊戲
- 如何設計高難度遊戲遊戲
- 讓動作遊戲比吃豆人還簡單? 給遊戲設定極簡難度,真的會更快樂?遊戲
- 動作遊戲老是卡?試試從這些方面提升流暢度遊戲
- 不止“簡單”和“困難”,遊戲難度竟然還可以這樣劃分?遊戲
- 除了“打擊感”我們還有啥?聊聊怎麼設計動作遊戲(七)遊戲
- 別隻關注扁平化!還有這類常用的UI設計方法值得學習UI
- 用數學方法分析哪類遊戲中的AI難度最大遊戲AI
- 動作遊戲的本質及相關設計方法論遊戲
- 遊戲平衡機制探究:動態難度調節的4條祕訣遊戲
- 從玩家多樣性的角度思考遊戲難度設計遊戲
- 高難度畫素風格動作遊戲引薦與評價遊戲
- 建立衝突:AAA遊戲的戰鬥設計之難度控制遊戲
- 程式設計師的職業生涯可以有哪些出路?這些路子別錯過程式設計師
- 如何用遊戲設計調動玩家的思考?遊戲設計
- 做一個天貓雙十一這樣級別的活動,技術難度有多大?
- 別再設計易碎的WebAPIWebAPI
- 拳拳到肉! 動作遊戲肉搏動作如何設計?遊戲
- 遊戲機制設計:動態難度平衡、心流體驗與相關設計中的問題遊戲
- 動作遊戲系統設計概述遊戲
- 動作遊戲新手期流程設計遊戲
- 面向介面程式設計還有一些好處:程式設計
- 世界上最流行的作業系統 安卓竟然還有這些大硬傷作業系統安卓
- 高難度平臺動作遊戲《逐光之旅》試玩版簡評遊戲
- 動作與射擊漫談:格鬥遊戲中的動作設計遊戲
- 別再眼高手低了! 這些Linq方法都清楚地掌握了嗎?
- 從入門到勸退?這樣設計遊戲難度只會令玩家不斷流失遊戲
- 06 萬萬沒想到,Github還有這些功能Github
- 豬臉識別、自動投餵!Apache DolphinScheduler還能做這些?Apache
- 別再設計易碎的Web API!WebAPI
- 別人再問你設計模式,叫他看這篇文章設計模式
- 2021年了,為什麼這些公司還在製作卡帶遊戲?遊戲
- AI、聲效、震動:聊聊動作遊戲的其他設計AI遊戲
- 車牌識別助力交通效果顯著 還有這些新應用方向
- 微信紅包和轉賬有哪些區別?原來還有這些不同!漲知識了
- 遊戲圈一潭死水?這些新近誕生的遊戲型別有話要說遊戲型別
- 自學程式設計難度大嗎?程式設計