iT邦幫忙

2022 iThome 鐵人賽

7
Modern Web

30個遊戲程設的錦囊妙計系列 第 31

Trick 30: 平台遊戲的十二項跳躍準則

  • 分享至 

  • xImage
  •  

其實加上第一天的Trick 0,小哈在昨天鐵人賽的文章就已經累積滿三十篇,不過因為系列標題寫著《30個遊戲程設的錦囊妙計》,如果不寫到Trick 30,好像對不起這個標題,因此今天繼續來和大家分享遊戲製作的心得。

今天借花獻佛,將英國的David Strachan在Github分享的平台遊戲跳躍準則十二點,介紹給大家。

原文與示範遊戲:http://www.davetech.co.uk/gamedevplatformer
遊戲原始碼:https://github.com/DavidStrachan/GM-Perfect-Platforming-Paragon

什麼是平台遊戲

平台遊戲(Platformer)是遊戲分類中的一個大類別。玩家在側視圖的地圖上,以前進、跳躍、落下等有重力感的操作,在平台之間移動冒險,打怪找寶物。著名的平台遊戲有經典的瑪利歐二代、惡魔城月下夜想曲、銀河戰士等。
Broforce

By Free Lives Games - Shaz from Free Lives, via email attachment, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=27166309

總則

跳躍能力是左右一個平台遊戲生死的重要機制,如果玩家無法在平台間順暢地冒險,但其他遊戲內容再怎麼豐富、畫面再怎麼細緻,都無法彌平跳躍無能的缺陷。

那麼,什麼樣的跳躍能力是好的?是平台高度差和跳躍最大高度的比例?是飛行時間的多寡?是空中轉向的加速度?

都不是!好的跳躍能力,就是能順從玩家的心願,依照規則想做的事,都可以做到的能力。

那是啥意思?什麼叫想做的都可以做到?

意思就是對於跳躍,要給予玩家最佳的誤差容許範圍。因為平台遊戲中,玩家最常做的事就是在各種平台邊緣進行跳躍的極限測試。如果死死地讓各種極限跳躍,不是成功就是失敗,那麼玩家玩起就會覺得這遊戲卡卡的,跳躍能力有問題。

所以以下講的十二點準則的最高指導原則,就是讓玩家的操縱感不要因為一個像素的差別就決定成功失敗,而要在合理的範圍內,給予玩家最大的福利。

跳躍準則十二點

以下就列出Dave認為平台遊戲最重要的十二點跳躍準則。這些準則並不一定適合所有遊戲,但是非常值得設計師細細品味。

第一點:拋物線頂點的反重力

讓玩家在跳躍到達拋物線頂端後,降低重力再緩慢回復,讓玩家在空中有充裕的時間可以調整落地的位置。

當然這些調整都是緊縮在幾個幀的範圍,並不是好像背著降落傘的感覺。

第二點:提前降落

當跳躍在到達拋物線頂端前,跳躍按鈕被放開的時候,玩家就應該提早降落。

有了這個機制,製作地板小縫或小型地板機關才有意義。

第三點:再次跳躍的按鈕緩衝

在玩家落地前的幾幀,如果再次按下跳躍按鈕,那麼遊戲應該要幫助玩家在落地後觸發跳躍,不要因為這兩三幀的誤差,毀了遊戲的操作性。

第四點:落地剎車

如果玩家在落地前按下了反方向的前進鈕,那麼在玩家落地時,應該要取消落地時的短暫滑行,讓玩家在比較難的地形上,能夠精準控制落地點。

玩家在兩個較遠的平台之間來回跳躍時,這個準則也可以幫助玩家準確地預測連續跳躍的起跳點。

第五點:空中反向速度加成

當玩家在空中朝反向飛回來的時候,給予玩家反向速度加成,讓玩家有辦法回到起跳點的平台。

在移動中的平台上進行跳躍,或是跳去拿空中的寶物時,也需要這個準則來幫助玩家選擇降落的地點。

第六點:邊緣跳

即使玩家衝出平台邊緣幾個像素開始掉落,應該還是要讓玩家有辦法在那幾幀的範圍內觸發跳躍。

Dave在示範程式中選擇了132毫秒的誤差容許範圍,不過這個值是為了讓規則示範起來更明顯,一般遊戲中可能折半就可以。

第七點:限制掉落的最大速度

如果往很深的懸崖掉落,應該不要讓重力無限加速,而要設定一個最大降落速度,讓玩家有時間觀察地面,並做出反應。

第八點:踢腳翻牆

在玩家在空中時,如果腳趾踢到平台邊緣,而且只差一點就可以爬上平台的話,就幫助玩家爬上平台。

有了這個設計,玩家也可以放心在有小縫的平台上飛奔,而不用擔心一點小縫就會掉下去。

第九點:頭是圓的

當玩家往上跳,想要鑽進天花板的一個洞,那麼請系統自動調整玩家位置,讓玩家不要因為頭撞到一點角落就掉下來。

第十點:跳躍往上時腳縮起來

當玩家跳躍往上的途中,將玩家腳上的碰撞範圍往上提一點,才不會因為腳趾踢到一點平台的角落,就完全停止他往前飛的速度。

第十一點:提供按鈕讓玩家走慢點

如果玩家有辦法可以走得比平時慢,那麼在玩家走到平台邊緣進行偵查,或遊戲希望玩家的注意力不在角色腳上的時候,就可以避免玩家跌落平台,讓玩家專注在遊戲希望他專注的地方。

第十二點:輕鬆登上半固狀平台

有很多平台遊戲都有設計這種,可以往上穿越,但掉落時可以踩上去的半固狀平台。玩家也可以按下再跳,往下穿越平台往下跳。

若玩家想要跳上這種平台,在到達跳躍頂端時卻少了幾個像素才能登上平台的話,可以設計多一點容錯範圍,幫助玩家更容易跳上去,因為這種平台的設計本來就不是考驗技術用的。

總結

其實這十二點準則,合起來一句話,就是想辦法幫助玩家前往他們心裏真正想去的地方,減少一個小失誤就造成天堂和地獄的差別待遇。至於遊戲的難度,應該要用更多的關卡設計來實現,而不是讓玩家在那幾幀的動畫差別上鑽牛角尖。

當然,以上講的也不是適用所有遊戲,也許有的遊戲就是想表現出精準的操作才能過關的精神,像是經典的魔界村系列(Ghosts'N Goblins),或是蔚藍山脈(Celeste)等,都需要玩家死過一遍又一遍,慢慢掌握每個關卡需要的操作細節才有辦法通關。

所以,想要製作什麼樣的遊戲,想要讓玩家體驗什麼樣的世界,就只有身為遊戲設計師的你才能夠決定。


後話

三十天的分享結束了,很開心一個月前朋友告訴我iT邦有這個鐵人賽的活動,讓我體驗一次這種密集寫作的經驗。

我選的三十個主題,雖然看起來各自獨立,但其實應該還算有脈絡可尋,希望能一步步帶領同學們,一邊撥開遊戲設計的面紗,一邊認識TypeScript,一邊感受將理論變成現實的快樂。

程式語言是一種工具,可以熟練,可以精進。但遊戲設計不一樣,遊戲設計是摸索,是創造,是沒有止境的深淵(坑)。小哈期待能有更多新血可以加入(跳下去),把腦中劃過的遊戲點子,全部點亮!


上一篇
Trick 29: 電競天梯的積分怎麼算才不會糊掉
下一篇
Trick 31: 不用引擎也能偽3D
系列文
30個遊戲程設的錦囊妙計32
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
鱈魚
iT邦新手 1 級 ‧ 2022-10-04 02:29:39

恭喜完賽,感謝您的精采分享 ( ´ ▽ ` )ノ

小哈片刻 iT邦研究生 5 級 ‧ 2022-10-04 04:02:00 檢舉

謝謝你的美言~感動啊~

我要留言

立即登入留言