具有位移的技能是否應該支持被懸崖打斷?

背景:
2D橫版過關類遊戲
主角有個技能A:三連擊,從技能釋放到結束,主角會自動向前移動10碼的距離。
問:
假設距離主角5碼的位置有個懸崖,此時主角釋放技能A,那麼主角應該是在釋放技能的過程中掉落懸崖呢?還是卡在懸崖的邊緣直到技能釋放結束也不會掉下去呢?


這問題提得挺好的,解析得當的話甚至可以做成經典案例在遊戲設計課程中使用。


連續技向前移動的問題我們先放一放,先說說比較簡單的「單發突進技能」。如果玩家角色距離平台邊緣的距離比突進技的有效距離短,當角色突進到平台邊緣時應當怎麼處理呢?

我隨便說幾種方案你看看啊:


設計A:突進技強制中斷,角色繼續向前移動並以失足狀態掉下平台。

例:Richter的滑鏟(↓+×)。

實際遊戲中,角色移動到平台外部時會立即中止動作,如果平台邊緣是懸崖就會開始下落,就好像直接走出去踩空一般;如果邊緣是斜坡/樓梯,則會停留在斜坡與平台的連接處待機。
這個設計中規中矩,它的表演效果相對來講最接近現實,容易被玩家理解。

設計B:突進技動作保持,角色繼續向前移動,並且以這個狀態立即開始下落,水平方向和豎直方向疊加出曲線運動軌跡。

例:Alucard狼形態的衝刺(↓↘→+□/○)。

實際遊戲中,該技能突進動作中是可以跳躍的。從平台跑出去並下落的過程,就像是跳躍從最高點下落的後半程,如果在另一側落地還可以毫無停滯地繼續跑動。
這個設計給技能添加了輕靈順暢的氣質,讓玩家能夠得到自由奔跑的爽快感。

設計C:突進技動作保持,角色繼續向前移動,並且照常完成攻擊,等到攻擊結束後才開始下落。

例:大多數帶有突進效果的武器必殺技。

實際遊戲中,無論是在純地面施放,還是在懸崖邊緣施放,角色都會完成相同的突進攻擊。攻擊時即使腳下沒有地面也能停在半空中揮劍,彷彿重力也被凝固了一般。
這個設計給技能添加了強硬有力的氣質,反常規的滯空效果能夠加深「這角色很強」的印象。

設計D:突進技動作保持,但角色不向前移動,在平台邊緣完成攻擊動作。

嗯抱歉這次我沒圖可貼了,月下里似乎真沒有這種所謂卡在檯子邊緣的設計。其它遊戲偶爾會這麼做。你可以想像為臨時創建一個空氣牆,當角色做出特定動作時就把平台邊緣當作「版邊」來對待,禁止通過。
這個設計讓技能變得容易把握,不會因戰鬥中的小失誤產生嚴重負反饋,能加強玩家的信心。

每一種方案都有它自己的優點和缺點,缺點我沒說,你可以把它當思考題,自己想想。

注意:設計師的思維一定要靈活,不要僵化。嚴謹不等於死板,不等於沒創意。


1,要考慮清楚自己要做什麼樣的東西,選取哪種演出更能展現出角色、技能的風格。並不一定整個遊戲全部按同一個方式處理。
前面的說明應該已經很好地證實這一點了。同一個遊戲,不同技能選取了不同處理方式,設計十分細膩。你可以試著想像一下,如果這幾個技能的特性交換,譬如狼衝到平台邊緣瞬間直挺挺摔下去,或是像奧特曼射線一樣筆直水平飛出,還好玩嗎?

2,即使某個方案看起來一定程度上會影響爽快感,依情況也可能有辦法彌補,甚至能實現更加順暢爽快的操作體驗。
例如說戰神,一邊攻擊一邊向前移動的時候是可以從平台邊緣掉下去的(也就是上面說的方案A),但是這個遊戲設計了豐富的空中攻擊系統,角色可以繼續在空中揮舞鏈刃;月下也是,即使是掉下去的途中也能繼續操作,還可以輸入↓↑+×發動大跳、跳回高處。
如果你的遊戲在這方面給玩家提供了足夠靈活自如的操作,容許玩家完成連續技並通過兩段跳、三角跳等手段避免摔死,那麼攻擊途中掉個懸崖什麼的也就不算回事了。

3,處理方式並非只有經典的幾種。要本著大膽假設、小心求證的精神進行分析,找到最適合的設計。
例如我本文開篇的問題真的只有ABCD四個選項嗎?可不可以做成距離平台邊緣太近時就禁止使用該技能?或者乾脆根據地形自動換成另一種技能,平地是沖拳突進、懸崖邊就自動改成原地上鉤拳擊飛敵人?別的動作遊戲沒這麼做是因為做了就不好玩,還是有技術限制,或者只是它們沒想到?——即使最後沒有採用,這些思考和研究也不是沒有價值的,它會成為你的寶貴經驗。


——————————

PS:就這次的個例來說,技術根本不是問題。動作遊戲絕不存在「不知道對象下一幀要移動到哪裡」一說,顯然,在移動發生前,程序必須知道角色單位要不要動、往哪邊動、動多遠——只不過題主說的10碼可能會拆成類似「50幀內每幀嘗試移動0.2碼」這樣的多次判定。如果想要實現出招期間卡在檯子邊緣不掉下去,在地形上加個碰撞檢測區域,在動作上加個flag做特殊判斷即可,沒什麼難的。
再PS:作為程序員,我看不出這個問題哪裡體現題主無知。相反,如果設計師完全沒有考慮過這些邊界情況,等到做出來發現效果和它預想的不一樣又跑回來要求大改,那才是程序員的噩夢。


標題是「具有位移的技能是否應該支持被懸崖打斷?」

那麼首先,在關卡設計中,這個懸崖本身是否會對遊戲角色造成威脅就是一個關鍵問題了。
如果這個懸崖本身就是用來對玩家的行動區域做限制(關卡難度控制)的,這個問題就有點曖昧了,因為這個又涉及到遊戲的整體設計方向,如果是roguelike hardfun的方向,打斷角色位移技能是可以接受的,實現方式可以是在3連擊這個技能第二擊和第三擊動作的開始幀做判斷角色是不是還跟地面有接觸,有則繼續,沒則進入fall狀態;如果是強調戰鬥過程中爽快感的設計方向,那麼角色憑空位移衝過懸崖是不是更符合設計者和玩家雙方的預期,唰唰唰3下飛過懸崖是不是看起來很酷(如果是這樣請跟動作設計的同學打好招呼不要讓實際畫面看起來太詭異(╯" - ")╯︵ ┻━┻ )?
如果這個懸崖本身只是單純的關卡邊緣,跟關卡難度一毛錢關係都沒有,那麼請給熱血的玩家放上那麼一堵空氣牆,讓他們玩命蹦躂好了,何苦去吃力不討好。


位移的目標是10碼,因此5碼位置是啥都沒關係,重點在於10碼位置是啥。

所以更多的人會思考你這裡的問題:5碼位置有個懸崖,這個懸崖有多寬?如果只有2碼的寬度,那麼7~10碼應該不是懸崖了,怎麼處理?

一種設計是10碼位置是有效地形則可以放技能,10碼位置不是有效地形(非站立區域)則禁止放該技能(放技能失敗)。

一種設計是停在5碼懸崖邊並且中止位移技能。

還有一種設計是10碼位置為懸崖則掉落,至於5碼位置是不是懸崖沒關係。

實際上第一種設計更簡單省事,因為你不需要沿路檢測這10碼範圍所有地形。只需要檢測10碼那一個點的地形即可。

第一種是暗黑,第二種是魔獸。

至於第三種,那是超級瑪麗,跳躍就是位移技能,跳10碼的話,5碼的懸崖當然可以無視,只要10碼不是懸崖還是安全的。

當然還有別的玩法,不過個人覺得,如果只有2碼寬的懸崖,位移技能掉下去或者被卡住一點都不酷。遇到這種設計我會棄玩。


首先從純粹設計的角度來說,立即掉下去和沖完再掉下去並沒有優劣之分,完全看你希望達到的是什麼遊戲體驗,這個最高票的答案已經說得非常透徹了。

但從實際開發的角度來說還是有區別的,比如如果這個技能是在開發的中後期加入的,那就要看程序的底層是怎麼實現的了。如果移動機制里並沒有除了跳躍之外的忽略地形的機制,那就最好讓他立即掉下去而不是沖完再掉,否則程序為了增加這個技能要改最底層的移動機制,鬼知道加了之後會不會引發其他問題。。。比如到懸崖邊就變成另外一種效果也是一樣,如果底層機制里沒有「一個技能在播放過程中會因為條件的不同而改變效果」這種功能的話最好也是直接掉下去。。。

(- -;主動或被動製造過各種類似慘烈大坑的狗策劃第一反應就是想到這些,嗯嗯)


我來說點簡單的。就我的經驗是,角色是否會掉下懸崖,取決於程序怎麼寫的。

至於怎樣合理?我的意見是,都可以。

DNF有個PVP技巧叫扯技,意思就是先用普通攻擊,然後在普通攻擊判定生效的瞬間趕緊強製取消換抓取技,這樣由於延遲(但我認為應該是運算機制,因為在刷圖時無論多麼高延遲都不能使用扯技,但PVP無論多麼低延遲都可以用)的關係,後出的抓取技判定範圍就會變成和普通攻擊一樣,被扯中的目標就會從抓取技範圍外被硬拉到抓取技範圍內,看上去就像被「扯」過來一樣。因為大部分普通攻擊範圍都比抓取技大,所以這種技巧無形中就成了一種PK必備技巧。典型的例子就是紅眼一X扯抓頭、大槍手炮扯流、藍拳忽悠拳扯虎襲。

這個技巧是由於機制不完善造成的,而且看上去也非常「失真」,但是毫無疑問的是,這個BUG卻增強了可玩性和觀賞性。很多玩家都會因為精彩的一「扯」而驚嘆,比如紅眼一X扯白手的猛龍……所以,這是不是BUG並不重要。

按題主所說,如果這個BUG很容易就修正,那就修了。如果不容易,那也可以暫不考慮。以前就有遊戲里有類似這種取消之後位移還在而形成的「滑步」玩法,還挺受歡迎的。


如果是拳擊的話就卡在懸崖邊緣,如果是跳起來踢擊的話就掉下懸崖


2D橫版過關類遊戲,姑且認為是超級瑪麗這樣?
移動的時候是否會掉下懸崖?
如果移動的時候會掉下懸崖,那連擊掉下去,就很合理。

主要看你的遊戲設計目的,想給玩家什麼樣的體驗。

其他的 Thinkraft 已經說的比較全面,我覺得他回答得太著急,因素都沒給全呢。


沒有辦法回答,缺少條件

會不會掉下去看的是「怎麼下懸崖」,而不是看這三連擊。

以怪物獵人為例:人體吹飛,按住r跑動,大幅位移等可以跳下檯子/懸崖

那麼卡懸崖戰鬥時,太刀胡逼砍,出現兩種結果:只是踏步斬等原本就無法下懸崖的行為,那麼人會卡在懸崖邊一直動作;出現跳躍,r亂舞最後一下收招等,跳下懸崖。

回到這個問題上,這個動作遊戲是如何下懸崖的
走下去就行?只能跳下去?必須按住什麼鍵才可以下?
三連擊導致的結果與下懸崖的日常條件哪個相吻合,就出現什麼結果。

最後,全部弄完以後,在微調的時候再針對一些細節做調整,例如:如果這遊戲懸崖很多,而三連接又是特別重點的快感來源,但會因為掉下懸崖打斷三連擊,那麼做特殊處理:三連擊不掉下懸崖或者掉下懸崖不被打斷等等。(但十分不建議這麼做,特殊處理越少,遊戲越自然,玩家理解成本越低玩的越舒適)


假如你只是想知道為什麼有些遊戲連擊過程會掉到懸崖去,那是因為「我」沒法知道「我」「面前」的是懸崖。
這個不僅僅是三連擊的位移,也包括如惡魔城的快速後退等位移技能。肉眼看到的一個角色掉落懸崖是因為你覺得那是懸崖,對於計算機程序來說:
1,「我」能否站住而不往下掉的依據是「我」「腳下」的是否「可以站立「。
2,」我「只知道這一幀」我「」腳下「的是否能站立,下一幀「我」會出現在哪兒,誰都不知道,比如我三連擊過程中遭遇了一個別人的技能被「吹飛」了會怎樣?
所以按照自然的規則來說,你發生了位移,導致下一幀腳下沒有了可以站立的地形,就會自然而然的往下掉(符合起跳下落規則),這是一個自然規則。假如你強調「卡在懸崖」這個概念,那麼我們來進一步的探討下面這個問題:
1,什麼是「懸崖」,你如何定義?對於計算機程序而言,所謂的懸崖,是不是腳下沒有東西可以站立了?下圖中ABC分別是三個角色,都會受到引力影響下落,綠色方塊為可以站立的地形,其他為空氣,請問ABC中誰處於「懸崖」,為什麼?

2,假如你在回答上面一個問題的時候思考了移動方向,那麼你的邏輯已經發生了致命錯誤——在一幀之內,你憑什麼判斷它的方向,而且我也反覆說了,你並不知道下一幀是不是還符合你說的「三連殺」動作,所以雖然你可以從上一幀和這一幀獲得當前的方向,但你絕對沒法獲得下一幀的方向,動作遊戲永遠符合「你不知道下一秒會發生什麼」規則。
3,既然無法判斷什麼是「懸崖」,也無法判斷我下一幀位移到什麼坐標,那麼憑什麼我能做到「卡在懸崖邊」,另外請問,我三連殺這樣的軌跡是否允許?

從設計的角度沒什麼不允許把?那麼請問這個技能我該如何判斷呢?所以說,這個問題並不是所謂設計問題,這個問題體現的正是一些無知的設計師,遇到問題的時候喜歡特殊處理,強調情感,而忽略了理性的部分——世界就是一個自然函數,為了一個特殊需求去改變它,可能帶來你根本不曾想過的問題!所以在你設計「合理需求」之前,請先符合「自然規則」,而不是以人性喜好為第一依據,當自然法則無法突破的時候,一切打著用戶至上幌子的自私需求都是耍流氓!


我的觀點十分簡單。就是這是否符合玩家的預期?如果不符合,就要做好高低差檢測,做好保護。如果符合,那麼就還要看玩家是否有回到懸崖上的需求,有且回到懸崖比較麻煩,那麼還是要做好保護防止掉落,玩家習慣這個保護的成本非常低。除此之外的情況,都可以認為懸崖並非體驗的阻礙而可以不做處理。


躡雲逐月——啪嘰。


是否掉下去要看遊戲製作人的設定,站在玩家的立場上,個人認為不掉下去比較好,如果設定為可以掉落,那影響的不僅是流暢度,還有難度

而且該技能的移動距離固定為10碼不可變動,距離自身5碼處有懸崖,如果設定為會掉落,那麼玩家就要多花一分精力保證自己離懸崖邊緣10碼以上,這樣玩起來很不舒服,而且如果場景中存在大量懸崖,甚至是致死的懸崖,那就是玩家的噩夢(如早期紅白機上的忍者龍劍傳、惡魔城等),玩家會避免使用這個技能,也就意味著這個技能在某種程度上是設計失敗的。

如果一定想加入掉落懸崖的設定,那麼這個技能的移動距離也應該改為可以控制,這樣還可以反過來增加操作的樂趣(比如在dnf中,玩家在釋放突進技能時按反方向鍵,可以縮短突進距離甚至原地突進,這就使得技能產生了更多玩法,再往早點說,馬里奧、魂斗羅在向前跳躍時如果按反方向鍵,是可以在空中改變方向的,並沒有人怒斥這個設定違反物理法則,反而大家覺得這樣操作很舒服,角色更靈活,玩法更有趣)

至於為什麼有人要設定為會掉落,也許是當初考慮不夠周全,也許是刻意要增加難度,也許是受編程水平限制,也許是腦洞大開想要追求「真實感」吧


我記得鬼泣3的話可以變為向前沖


僅拋磚,感覺需要根據場景來考慮各個因素來決定:
目的:主角為什麼要在5碼距離處使用連招?是對空還是對地?部分強力連招是否固定在招式派生里?
獎勵:不掉下懸崖有什麼好處(比如爽快感)?掉下去能有什麼好處(比如真實感,比如增加難度)?
懲罰:懸崖下面是平地還是即死尖刺?掉下懸崖後再回去容易么?
迴避對策:能否在連招中使用翻滾迴避來中斷?能否在空中使用二段跳/對牆跳返回平台?


參考魔獸,法師閃現不會掉懸崖,武僧滾地翻會掉下去。


瑞文第三段能跳牆。


前兩段也叫做位移,


我覺得要看懸崖寬還是窄。如果位移技能速度設定得很快的話,窄的懸崖可以通過


應該算是否有相對物理碰撞。
有物理碰撞的位移應該被懸崖擋下,而類似於傳送門空間位移類的穿越了物體還情有可原。


@猴與花果山 說的不錯,計算機程序沒法知道人物現在的狀態是從懸崖邊落下,還是從天上掉下來。只能知道現在人物底部坐標以下沒有可以阻擋的物體。

但是,按照玩家的體驗來說,「人物」在地面上釋放了一個技能,技能放完,人卻掉落到「懸崖」下去了,這樣也不是太好。

解決方案應該有很多,我提一個:
在此遊戲中,所有地面位移技能(這是為了保持玩家的體驗一致性),在技能釋放時,檢查下一幀移動到的坐標點是否可站立,如果不能,則移動取消(即移動距離為0)。
至於浮空的位移,該掉落就掉落吧。


推薦閱讀:

為什麼遊戲中的場景不做得更接近於現實呢?
如何從零開始學界面設計?
3A大作如今是否愈發同質化了?
如果為王者榮耀設計一款新英雄,怎麼樣設計才能體現腦洞?
讓人廢寢忘食慾罷不能的遊戲有哪些共性和特點?

TAG:遊戲 | 網路遊戲 | 遊戲設計 | 手機遊戲 | 遊戲策劃 |