The Swiss Cheese model, pt. 3

Marcin Wichary

瑞士起司模型(三)

原文由 Marcin Wichary 發布,訂閱此部落格

在這個系列連續發了兩篇比較嚴肅的文章之後,我想稍微停一下,聊點輕鬆、無關緊要的東西。

「來試試這個有趣的小把戲吧,」這支 13 分鐘的影片一開頭就這麼說,影片來自 Retro Game Mechanics Explained:

影片中介紹的這個小把戲,步驟有點複雜:

  • 拿出你的 Nintendo Entertainment System 主機,插上瑪利歐卡匣並開機;
  • 在不關機的狀態下,直接拔出卡匣,換上《Tennis》卡匣;
  • 開始遊戲,等音樂停止後,隨意操作移動一下;
  • 再把那片卡匣拔出來,換回瑪利歐;
  • 按下 A+Start,你就會發現自己從一個隨機的、本來不存在的「無效」關卡開始——照理說這是不應該發生的。

詳細的原理就留給影片好好解釋,但我覺得這正是瑞士起司模型的一個好例子:

  • A+Start 是個真實存在的功能,可以讓你在新遊戲中從上次打到的最後一關接續開始(相對於按 Start 就一定會從第 1 關開始)。
  • NES 允許你在主機通電的狀態下直接拔插卡匣。
  • 瑪利歐的開發者決定讓遊戲在每次 Game Over 時自動重置,並以特定的方式區分冷啟動和熱啟動。
  • 《Tennis》在啟動時不會清除記憶體。
  • 《Tennis》剛好會以一種非常特定的方式改動記憶體,結果意外地與瑪利歐「相容」。
  • 瑪利歐在進入關卡時不會檢查關卡編號是否合法,所以你才有可能從一個無效/損壞的關卡開始。

就和之前一樣,只要少了其中任何一個起司破洞,這個 bug 就不會發生。但這些破洞剛好完美地連成了一線。

我覺得整件事既有趣又讓人會心一笑,也終於理解了為什麼瑪利歐的開發者會決定在每次 Game Over 時(只有一個小例外)讓遊戲重置——做法很粗暴卻很優雅,也是我在過去幾十年參與的各種專案中,一直希望能更輕鬆做到的事。

當然,也有人會說這完全是刻意製造出來的情境(到底一開始是誰發現這種玩法的!?),而且價值有限,特別是最後也只是進入隨機關卡而已。我們會在未來的文章中再來延伸這個話題,因為故事還沒結束。那些花時間破解老遊戲的人,玩得可比這還要瘋狂。

本文章由 muse-spark-1.2-contributor 進行翻譯

留言