超級瑪麗中那些不為人知的細節(上)慣性與衝刺
如果是我的話,我一定會選那個水管工,它是世界銷量第二高的電子遊戲,它兩次入選IGN史上游戲百強,它還被《Game Informer》列為“史上游戲200強”第二名,僅次於《塞爾達傳說》。
它就是超級馬里奧兄弟(Super Mario Bros)國內玩家可能更熟悉它的另一個名字,超級瑪麗。
這款發售於1985年的遊戲被譽為電子遊戲的原始範本,最重要的是它確定了角色、遊戲目的、流程分佈、操作性、隱藏要素、BOSS、雜兵等以後通用至今的製作概念。這幾乎改變了遊戲發展的歷史。
而據說大部分人遊戲生涯的一血都是貢獻給了這個類似毒蘑菇似的小東西了,雖然官方的說法是這個小東西是板栗......
雖然市面上關於這款作品的文章多不勝數,但是從遊戲設計角度來分析這款遊戲的還是比較少的,那麼這篇文章我們就來聊一聊馬里奧當中那些超前於時代的設計。
《超級馬里奧兄弟》是橫版卷軸遊戲,它的操作十分簡單,十字鍵控制移動方向,A鍵跳躍,B鍵衝刺。看起來非常簡單的操作,但是玩起來卻沒有那麼容易。原因是多方面的,比如精妙的關卡設計,巧妙的敵人配置但是最重要的一點是馬里奧這個角色的移動並不能精準的
這是為什麼呢?
原因就是馬里奧在移動的時候加入了“慣性”這個機制!
現在的遊戲設計中通常會在開始確定三個基本元素,也就是俗稱的“3C”,分別是:
角色(Character)
鏡頭(Camera)
操控(Control)
(PS:你們可能已經在我的UE4課程中聽過這些東西了)。
這些是一個遊戲的基本要素。
我們就著重說一說在超級馬里奧兄弟中至關重要的這個Control元素。
如果玩過超級馬里奧的同學可能會注意到,馬里奧快速移動時候的感覺非常令人舒服,比如我們按下十字鍵移動之後,馬里奧通過一個流暢的加速開始奔跑,最重要的是即使你鬆開十字鍵馬里奧也不會立刻停止。而是有一個減速的過程。也就是我們俗稱的慣性。
馬里奧正常行走未編輯
我們把馬里奧動作分解一下看看。
馬里奧正常行走已編輯
我以15幀的速度把馬里奧的動作分解了(PS:馬里奧是以21幀為一個單位重新整理的),可以看到在鬆開十字鍵之後馬里奧還是往前移動了一段距離的。這就是馬里奧控制的祕密所在:慣性機制!
大家有沒有感到疑惑,一般來說玩家的指令不應該得到我們操縱的遊戲物體準確的反饋嗎?這應該是一個常識吧,但是在這個世界上銷量第二的神作竟然反其道而行之,甚至連精準的停止都無法實現。在探討這個原因之前,我們可以先看一下早期馬里奧沒有加入慣性的時候是什麼樣子的。
大金剛
這是馬里奧的前身大金剛(1981)那會還沒有馬里奧這個名字它還叫Jumpman。但是我們可以看到大金剛中的操作是十分僵硬的,無論是移動和跳躍。
我們再來看一下馬里奧的按下B鍵衝刺後的效果。按下B鍵之後馬里奧就會進入衝刺狀態。
衝刺狀態中按下反向鍵
可以看到如果在衝刺的時候突然按下反向的按鍵,馬里奧會有一個急剎車似的動畫是不是很靈動了?我們可以把動作分解一下看看。
衝刺狀態中按下反向鍵(已編輯)
同樣是有慣性的並且馬里奧還會單獨有一個動作,這個在人物圖形還是使用畫素繪製的年代的確是非常良心了。
而且馬里奧按下B鍵之後並非是立馬變成最高速度了,而是有一個遞進的過程同樣鬆開B鍵之後也會有一個遞減的過程。我們來看一下按下B鍵前後有什麼區別
馬里奧B鍵加速行走和未加速對比(未編輯)
我們來分解一下動作。
馬里奧B鍵加速行走和未加速對比(已編輯)
是不是很神奇?單單一個行走就能玩出這麼多花樣。
那為什麼要把基本控制做的這麼複雜呢?
因為遊戲機制!正是因為我們無法準確預料到馬里奧的落腳點才增加了遊戲的可玩性,因為無法準確預料所以會產生“緊張感”,“這個距離夠嗎?”,“這個蘑菇距離差不多是不是可以直接跳過去?”這樣當我們挑戰完成的時候那種成就感也最為強烈。
而B鍵衝刺正是放大了這一感受,因為衝刺狀態更加難以掌控人物,但是風險(緊張感)越大,回報(成就感)就越高。當我們熟練掌握衝刺之後那種回報(成就感)是無與倫比的。
從以上這些細節上可以看到,超級馬里奧兄弟即使是30多年前的老遊戲了,但是依然有它獨特的魅力。當然這款遊戲中的設計細節可不止於此,下篇文章我們繼續聊。
作者:呵呵程式設計師
來源:微信公眾號“程式設計師的反擊”
相關文章
- 超級瑪麗中那些不為人知的細節(下):碰撞與跳躍
- Spring核心原理之 IoC容器中那些鮮為人知的細節(3)Spring
- opencv介面那些不為人知的事!OpenCV
- Python實現超級瑪麗遊戲系列教程01瑪麗登場Python遊戲
- NOI1.1題庫——超級瑪麗
- JAVA 實現《超級瑪麗升級版》遊戲Java遊戲
- 二級指標與ARC不為人知的特性指標
- 走程式序員:那些不為人知的辛酸
- 超級瑪麗啟示錄:曾風靡全球的FC小遊戲,為何能征服億萬人的心?遊戲
- Scratch(五):Scratch小遊戲之超級瑪麗遊戲
- HTTP 的前世今生,那些不為人知的祕密HTTP
- 網路安全“慣犯”,有哪些不為人知的祕密?
- [藍橋杯][演算法提高VIP]超級瑪麗演算法
- array_diff_uassoc 那些不為人知的一面
- 如何用 Python 實現超級瑪麗的介面和狀態機?Python
- 不為人知的 Linus 大神
- python實現超級瑪麗小遊戲(動圖演示+原始碼分享)Python遊戲原始碼
- 瑪麗皇后學院:研究發現中國人食鹽攝入量嚴重超標
- 部落格系統知多少:揭祕那些不為人知的學問(二)
- 部落格系統知多少:揭祕那些不為人知的學問(四)
- 部落格系統知多少:揭祕那些不為人知的學問(一)
- 部落格系統知多少:揭祕那些不為人知的學問(三)
- 那些iOS上好用卻不為人知的APP,讓你的iPhone好用數倍!iOSAPPiPhone
- 超讚的 CSS 陰影技巧與細節CSS
- 個人分工04——團隊衝刺
- 2019初級中級高階web前端面試題超全面細節解析Web前端面試題
- MacBook中的那些超級實用小技巧Mac
- 從UDP的”連線性”說起–告知你不為人知的UDPUDP
- python tkinter 超級瑪麗原始碼下載顏色碰撞檢測試程式.pyPython原始碼
- 英特爾不為人知的 B 面
- 不為人知的easy-mock-cliMock
- 地圖採集車的那些事 | 慣性導航地圖
- 愛瑪單車隊-衝刺日誌第一天
- 不當愣頭青、聊聊軟體架構中的那些慣用的保命手段架構
- 軟體開發中的10大不為人知的真相
- 衝刺03
- 衝刺04
- 衝刺05