最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

關于超級馬里奧一代bug的詳細講解

2022-08-06 22:44 作者:RedLuigi75  | 我要投稿

? ? ???序言 ?? ? ? ? ?

相信很多80后們小時候都在fc上玩過一部經(jīng)典游戲——超級瑪麗(正式名稱超級馬里奧),直到現(xiàn)在還有很多人在研究這個游戲。在研究此游戲的過程中,許多優(yōu)秀的程序員們和TASer們(即做TAS的玩家)都做出了巨大的貢獻。由于開發(fā)較早,超級瑪麗(后簡稱smb1,即超級馬里奧一代)有很多的bug,在RTA與TAS里都有廣泛的運用,但是一直沒有人寫一篇完整的專欄來介紹。作為一個對smb初代略有研究的TASer,我大致整理了一下,希望對TASer們和RTAer們有幫助。

基礎游戲知識一

關于什么是TAS和RTA:

TAS的全稱是Tool-Assisted Speedrun(或Tool-Assisted?Superplay)。要理解什么是TAS,這里要先介紹一個游戲運行的基本概念,叫“幀”。在smb1中,一幀是最小的時間單位。TAS需要使用特定的模擬器來一幀一幀地輸入按鍵,以達到最完美的操作。通常,一個優(yōu)秀的smb1TAS作品需要重錄上萬次甚至上百萬次以上,其中包含了TASer很多的心血,所以不要隨便在TAS視頻下面發(fā)“作弊開掛”“這是機器人打的”等評論或彈幕。更多詳細內容可見站內的視頻和百度百科TAS鏈接:

https://baike.so.com/doc/5504117-5739861.html

RTA的全稱是Real Time Attack,可以簡單地理解為人們所熟知的游戲速通。一般地,速通者們也會運用一些游戲bug和技巧快速通關,一遍又一遍刷新記錄。

其他簡稱的補充:

TAP全稱Tool-Assisted Play,可以簡單地理解為娛樂性質的TAS。在TAP作品中觀賞性是被放到第一位的,其次再是速度。

基礎游戲知識二

關于smb1穿墻bug的共同特點:

在smb1的bug當中,穿墻bug占了大部分。操作者們通常會運用特定的操作來達到穿墻的目的。它們有一個共性,即要穿墻,總是需要在碰到墻的一瞬間按與馬里奧運動方向相反的按鍵。其中的原理大概是smb1的判定機制是馬里奧碰到墻時要向當前按鍵相反的方向移動,以抵消原來的速度。理解了這一點,之后要理解各類bug就很容易了。

馬里奧撞到墻的一瞬間

基礎游戲知識三

關于smb1超級瑪麗初代版本的不同:

smb1可以分為兩個主要版本,日版和歐版(當然,盜版的不算)。其中歐版也簡稱PAL版。兩個版本的最主要區(qū)別是兩個版本的游戲速度不同。但是!歐版它不僅加了游戲速度,還把游戲內各個數(shù)值都翻了倍(包括bgm,這也是為什么歐版音樂聽著比較急)。這也就導致了某些bug在日版和歐版之間的不同。這篇文章主要介紹日版smb1的bug。

好了,現(xiàn)在進入正題:

  1. 不拉旗

    通常,smb1日版內的不拉旗都是需要在mario速度較快時在旗桿的底部做一個斜穿并跳起完成的。如下gif

日版不拉旗演示(來自TASvideos)

TAS如何完成不拉旗:

最簡單的不拉旗就是在到臺階邊緣時按一幀跳,在空中微調,很容易就可以做出來。

手操(RTA)如何完成不拉旗:

由于不拉旗的成功與否關乎到亞像素(1/10像素),正常人像TAS一樣手調是基本上不可能的,所以就需要特定的操作先調整好關鍵亞像素(參見此視頻)

本bug被klmz發(fā)現(xiàn)。第一次應用此bug的視頻:

PAL版的不拉旗在進入旗桿底部的方塊內的幀數(shù)不同,而且會作出類似日版穿地面不進城堡的效果:歐版不拉旗演示(TAS)


2. 藤蔓瞬移

當mario在藤蔓的左側左右連按(即左加右)時,mario會瞬移到右側。

如下gif

藤蔓瞬移(來自TASvideos)

要更快的做藤蔓瞬移,可以在左側按一幀上或下再按左+右

(此bug實機無法完成,因為手柄不支持左右連按)

PS:在藤蔓右側mario落下的時候圖像上看著是面朝前,實際上狀態(tài)是朝后的,加速度比面向前方時快,從而可以更快地加速。

本bug被mana(?)發(fā)現(xiàn)。第一個應用此bug的TAS作品:http://tasvideos.org/1331M.html

另一個版本的藤蔓瞬移:

4-2的藤蔓瞬移(來自TASvideos)

當藤蔓在屏幕的左邊緣時,mario有概率會被瞬移到屏幕的最右側(但是也有可能會被卡住,這與藤蔓在屏幕中的位置有關)。手操可以輕松完成。


3. 斜角入墻

較為困難的bug。原理:在mario在墻的邊緣小跳時,游戲在判定mario是否進入墻的時候會出現(xiàn)錯誤,認為mario不會進入墻內;但是幾幀后mario進入墻,游戲便會把mario朝墻外推,這時按下反方向就會被吸入墻內。如mario被吸入的距離大于等于一格,mario便會進入墻內。如下gif。

演示(來自TASvideos)
原理(來自TASvideos)

詳細介紹:(來自TASvideos)

在游戲里,任何實體對象(包括管道)都算作地板,這就導致了游戲判斷錯誤而可以完成這一漏洞。

mario需要適當?shù)乃俣?。如果對象只有兩個塊高,例如1-2末端的管道,則跑步時不能跳入其中。用左+右技巧在跳躍前快速取消加速。如果mario的速度太快,mario會站在物體的頂部而不是里面。

同時,mario需要正確的位置。正確的位置是:盡可能靠近。如果mario離得太近跳起時,mario會撞到它而不會一個像素一個像素地被彈出。

當墻開始彈出mario時,立即轉向遠離它(指長按與mario運動方向相反的按鍵)。這會導致墻將mario拉入而不是推出。如果墻現(xiàn)在將mario彈出,則表明之前的某些步驟失敗,即玩家沒有入滿一格墻的距離。

執(zhí)行此技巧的最簡單方法是以步行速度進入兩個格子的障礙物:

在正確的距離進行最小高度跳躍(保持1幀)。

如果mario撞到墻上而沒有彈出,那就離得太近了;如果mario在地板上落地,那么mario的跳躍保持了一幀以上。

當墻開始彈出時,保持與按住障礙物相反的方向,一旦馬里奧穿入墻里,開始正常行走,那么此bug就成功了。

同理,在水中也能做出斜角入墻,并更簡單一點,有時甚至能被吸入一格以上。

水中的斜角入墻(來自TASvideos)

RTA如何完成斜角入墻的教程:

TAS斜角入墻的教程:

https://tieba.baidu.com/p/855919513?pid=36886017089&cid=0#36886017089


4. 二段跳

非常實用的bug,在絕大部分tas作品中都有廣泛的運用。當mario以≥18的速度觸碰到兩個格子的中部且不處在上升狀態(tài)時,游戲會錯誤地認為兩個格子中間是“地面”,mario就會在墻上站一幀,這時按跳(a鍵)就會觸發(fā)二段跳。手操也可以完成。

二段跳示例
二段跳運用(以上兩幅圖均來自TASvideos)

關于更詳細的二段跳實操:

在多面墻上的二段跳:

相較于在單面墻上的二段跳,這種類型就比較簡單一點。在右邊的墻完成二段跳時,迅速長按左鍵并控制按a的時間,使mario在接觸到左邊墻的一瞬間不處于上升狀態(tài)且速度大于等于242(即-18)

在單面墻上的二段跳:

建議使mario處于面向左側的狀態(tài)時在單面墻上完成n段跳(在墻的左邊和右邊都可以)。下面的情況默認mario朝向左。

在碰到墻的一瞬間,按下左+a,并控制左或a的按下時間(視情況而定,在上升的格不多時可以多按一段時間的左以獲取盡可能大的三次跳速度;在上升的距離比較大時(如HLWL開頭的單面直墻)按左的時間則要短一些,并盡量控制mario的下落時間為最?。T趍ario跳起幾幀后,按下右鍵并微調,達到n段跳的目的。

如下圖,跑步狀態(tài)下二段跳的極限可以摸到5格高的墻,走路狀態(tài)下的極限是4格(注意,在mario跳到第三次時都會轉為走路狀態(tài),所以三段跳的極限是9格)

mario在最底部的方格中起跳,跳躍兩次后來到了這個位置(截自CuteQt的TAS)

(要想做到完美的單面二段跳需要控制以達到最大的加速度,不過我現(xiàn)在還不太會qwq)


5. 半身穿墻

屬于比較簡單的bug,手操可以完成,在很多改版速通中有使用。

在mario站到正上方大約為磚塊的邊緣時,按下跳和與穿入方向相反的按鍵,就可以做出一個半身穿墻。


6.?穿直墻

個人認為是smb1中最難的bug,不過熟練后可以輕松掌握,如我現(xiàn)在完成這個動作重錄數(shù)在50~100次左右。

要完成穿直墻,需要mario馬里奧已經(jīng)在速度至少大于跑步速度的情況下,卡入墻中距完成二段跳低一些的地方。根據(jù)卡入墻中的像素大小,可以分為完美穿直墻和普通的穿直墻。

完美穿直墻:當mario在略上升狀態(tài)中卡入完美位置,可以在1~2跳中完成一個直墻(在不能夠頂動和處于大mario狀態(tài)時會被頂碎的磚塊中為2跳,在可以被頂動的磚塊中為1跳(又想到HL很早之前說Mana很厲害可以1跳直墻,其實就是忽略了磚塊的種類,HL看到了不要打我))

普通穿直墻:又分為3跳直墻和半身直墻,半身直墻就是需要在穿入墻中距離不夠的情況下再補一個半身,這樣的不完美的直墻在初期做TAS時比較多。

實戰(zhàn)時需要提前調整亞像素的位置,否則基本上不可能完成(4-2除外)。1-2RTA穿直墻示例:

示例一 ?? ? ? ? ??

示例二

飄忽狀態(tài)穿直墻:可以做到在下落狀態(tài)中不補半身穿直墻,所以較普通直墻更簡單一點。

(注:飄忽狀態(tài)即在開局第一次跳躍前mario所處的狀態(tài),此時mario所受的重力比平常更小,踩彈簧時也會飛得更高)

7. 二段跳的延伸bug(大個子擠墻,小個子擠墻)

大個子擠墻:當大mario在做二段跳時頭上有一格方塊且處于蹲下的狀態(tài),就可以完成一個大個子擠墻(因為頭上卡的那一個方塊會把mario往墻里面推)。手打可以完成。

大個子擠墻(來自TASVideos)

小個子擠墻:當小mario在做二段跳時頭上有一格方塊,有的時候會在跳的那一瞬間墻會把mario往里推一段距離,在配合連跳5~7次即可完全進入墻內。手打很難完成

小個子擠墻(來自TASVideos)

小個子還可以在一格高的空間中擠墻,原理同上,不過更簡單一點,有了連發(fā)鍵甚至手打也可以完成。

8. 卡屏上墻

在各大hack(甚至原版)中具有極其普遍的運用,堪稱家喻戶曉。

卡屏上墻(來自TASVideos)

如圖,需要把屏幕邊緣的墻拖到一定的位置,再通過那個縫隙上墻。這個bug的效果類似于半身穿墻,不過不會被墻頂出來,因此也有了卡在縫隙里的風險

在TAS中很少運用(因為很費時間),不過我在Fux2的hack中見到過一次運用。

接下來是一些比較小的bug類型:

9. 進入敵人體內

在馬里奧被傷害后的無敵時間與敵人重合,無敵時間消失之后就可以無敵(前提是不能離開敵人,否則在離開后再碰敵人還是會gg的)


10. 和bowser同歸于盡

在mario跑到庫巴的右側時,庫巴就會往右移動追mario。這時跳起來腳同時觸碰橋斧和庫巴的頭,mario就會在通關的同時慷慨就義了。有意思的是通關時公主的臺詞不會變,而且在播放完過場音樂后還會播放馬里奧死亡的音效。


11. 不進城堡

當mario通過種種bug遁地后(方式很多,具體可以看全程不跳關TAS),在關尾跳起觸碰旗桿底部磚塊的左上角(或右上角)會觸發(fā)這個bug

原理是在mario碰到旗桿的后一幀游戲會檢測mario是否碰到磚塊開始結算(因為關底城堡入口的右側其實是有一個實體磚塊的,普通方式過關后mario會在碰到那一個磚塊后結算,又因為城堡的“入口”是黑色的,擋住了mario,看起來就像是進入了城堡),當mario進入磚塊位置較深時磚塊會來不及把mario彈開,從而提前進入分數(shù)結算畫面而起到省去時間的作用。在TAS作品中有廣泛運用。


12. 圖像bug

包括MJmario原地踏步(全速前進時按下左加右有一定概率會原地踏步)、mario開局滑冰(火球mario開局按右+A+B)、數(shù)據(jù)溢出產(chǎn)生的bug等,這里不過多介紹了


13.吃金幣穿墻

在mario碰到金幣的一瞬間墻的判定比較虛,如果下落的過程中吃金幣并且旁邊有地面的話可能會進入地面中一些距離,如果控制好位置則可以全部進入墻中。

在跳關TAS中4-2的下落直墻看似不可能完成(普通的下落直墻需要補一個半身),實際上就是利用了旁邊的金幣達到穿入更深的效果。


14. 上下連通的屏幕

不算是smb1的專有bug,其實是fc游戲的“通病”,比如在赤色要塞的TAS中也有運用。

mario在屏幕上端吃到蘑菇時下端會冒出獎勵圖標

顧名思義,fc屏幕的上邊緣與下邊緣是相通的,這使mario可以在屏幕的上方吃到調到坑里的道具,踩到敵人等等。如1-1的跳過旗桿就運用了這個特性。


15.無痛苦穿墻

普通的穿墻大部分都會在墻里跳一兩下,以讓mario更加深入墻內,但這樣砸的mario頭(手?)生疼。所以在馬里奧說你禮貌嗎之前,趕快告訴mario下面有兩種可以做到不在墻內跳躍就輕松穿墻的方法(極限半身穿墻除外):

?隱藏磚塊穿墻

如果在隱藏磚塊的旁邊有一個實體磚塊,mario就會無視實體磚塊走入墻內;

?大mario頂層入墻

(想不到什么可以描述此bug的詞,就胡謅了一個,汗)

由于smb1的頂層方塊判定較虛,大個子mario可以直接從兩邊穿入或跳出,手打1-2進入負關可以用。

注:由于吃金幣穿墻有輔助下落直墻的特例,所以吃金幣穿墻不收入無痛苦穿墻之類


16.?鼻子跳

來自TASVideos

不做解釋,看來mario的鼻子真的很大

在下落的時候mario的身體任何部位都可以“踩”到敵人:

來自TASVideos

甚至是在上升的時候:

秒變飛機的馬里奧(來自TASVideos)

如圖,上升的時候用手爆頭烏龜還會跳的更高,原因不明。也許是學會了隔壁街霸的升龍拳?


至此,smb1的常見bug就介紹完畢了,但本人才疏學淺,對TAS的研究只是平常的興趣而已,有些方面整理的并不充分,還少了很多動圖,有些路人可能會不理解,在此致歉。(本人是學生黨沒時間,此文章也是斷斷續(xù)續(xù)更了有幾個月)

本文有些內容是我“道聽途說”得來的,不能保證100%的正確,肯定還有許多錯誤和遺漏的地方,歡迎在評論區(qū)里批評、指正和補充!

參考資料:

  • TASVideos網(wǎng)站:https://www.tasvideos.org

如有侵權,請立即聯(lián)系刪除!


關于超級馬里奧一代bug的詳細講解的評論 (共 條)

分享到微博請遵守國家法律
安宁市| 修文县| 崇阳县| 闻喜县| 清镇市| 平顶山市| 德保县| 五莲县| 克拉玛依市| 越西县| 肥西县| 奉新县| 南汇区| 卢龙县| 泗洪县| 遵化市| 泰州市| 台中县| 徐汇区| 青河县| 新化县| 灵石县| 秦皇岛市| 舒兰市| 东港市| 黎城县| 车险| 若羌县| 梁山县| 股票| 武定县| 揭东县| 巍山| 石城县| 绥德县| 金川县| 新泰市| 于都县| 阿克| 滁州市| 阳春市|