別擔心——你並沒有出現似曾相識的感覺。如果您覺得自己以前讀過本文,那是因為我們重新發布了過去一年中我們最喜歡的一些功能,作為我們的一部分慶祝活動。如果這對您來說是新的,那麼請享受第一次閱讀它的樂趣! 本文原刊於 2024 年 7 月 5 日。
你知道復古遊戲界有什麼奇怪的嗎?由於改變了在地化遊戲的難度級別,Working Designs 受到了所有的批評。網路上的粉絲們對這些變化大呼血腥謀殺。正如之前的文章所示,我們愛延長時間的工作設計。 (儘管創始人 Victor Ireland 不再回覆我們的電子郵件;我們仍然希望採訪 Vic,請給我們打電話!我們想成為朋友!)
然而儘管如此,粉絲們還是會免費搭科樂美一趟,儘管它是遠的更糟的是在在地化過程中屠殺自己的遊戲。 Konami 因讓美國(以及 PAL)市場的遊戲變得更加困難而臭名昭著。
比利河口歷險記在 NES 上變得如此困難,粉絲們沒有修復它一次, 但兩次!反對IIISNES 上的作弊碼已被刪除,無限繼續也被取消,而且普通版上的秘密 Boss 也不再可用。粉絲們也透過修復補丁修復了這個問題。缺點:硬兵團MD 上的生命條被移除,使其變得不必要的困難 - 而且那場比賽甚至都很難和生命吧!粉絲又修復了。惡魔城 III同時,NES 上有這麼多可笑的擺弄我們不知道從哪裡開始。大多數改變只是粗暴地提高了難度,但其中許多只是淡化了原版的智慧設計——例如,為什麼他們將每個敵人造成的獨特傷害改變為基於階段的全面傷害值?這只會讓遊戲玩法變得膚淺且無趣。
提高在地化難度與原始團隊的願景背道而馳。為什麼呢?為什麼美國出版商會做出這些改變?網路上有很多猜測,但如果我們查看採訪引述,我們會發現一個反覆出現的主題。
綾乃耕四郎,在接受《Time Extension》採訪時,說出了原因激戰2之所以如此困難,是因為美國出版商:
不同難度等級的原因同樣是艾尼克斯美國分公司。他們希望我們讓遊戲變得更難,因為顯然,人們抱怨他們花了整整一周的時間來玩第一個遊戲行動發起人僅僅兩天後就到達了片尾字幕。他們買了它,然後花了不到一周的時間。這些抱怨最終導致了美版難度的改變。這些只是非常不同的價值觀。我們已經讓遊戲比前作更難了。但後來艾尼克斯向我們回饋說這應該困難得多。因此,我們查看了英雄和敵人的傷害值,對它們進行了很多調整,在某些時候,我們自己幾乎沒有更多的概述。我們只是得到報酬才這樣做。
Kouji Yokota,設計師和藝術家加亞雷斯對於 Mega Drive,在日本遊戲開發者不為人知的歷史預測美國的翻新產品如何需要更大的難度:
Gaiares 最初是針對海外市場的。但在海外,由於人們有購買遊戲後立即出售的傾向,以及租賃系統,海外發行商要求我們提高遊戲的難度,這樣就不會輕易租賃和完成。所以我們去找海外發行商給他們展示演示,然後他們說,‘你應該讓它變得更加困難!我們此時開始擔心,但我們還是答應了他們的要求。所以最終這款遊戲在發佈時變得非常困難。
工作設計的 Victor Ireland(我們仍在等待回复,Vic)在解釋原因時重申了這一點充滿郵件在在地化過程中變得更加困難:
日本的太簡單了,對任何老闆來說都沒有真正的挑戰或策略。在日本,您購買遊戲並擁有它。在美國,尤其是在當時,退貨政策極為寬鬆。保持遊戲原樣,將保證大部分遊戲將由我們承擔費用「延長租賃」。
寶藏的前川雅人也說了同樣的話關於炸藥頭在超級驅動器上:
在美國,有一個租賃遊戲的系統,如果他們到了租賃遊戲的結局,他們就不會購買......我想,“這是真的嗎?”,但我說,“如果你想讓事情變得困難,我們就讓它變得盡可能困難,」所以我讓它變得盡可能困難。
我們沒有對開頭列出的特定 Konami 遊戲的解釋性報價,但可以肯定的是,對於各種遊戲,所有這些變化都是出於對美國孩子租用遊戲、完成遊戲然後不購買的擔憂的結果。在美國發行商的心目中,顯然,鼓勵孩子們花 50 美元或更多的方法就是製作一款遊戲咬牙切齒的懲罰他們很難通過第二級......是的,因為那會完全讓我們想花掉有限的零用錢。
無論如何,如果你仔細翻閱 Konami 的過往目錄,你會發現無數的本地化問題 - 包括小卡通歷險記:巴斯特半身像鬆散在超任天堂遊戲機上。
日本版本有兩個困難:兒童和普通。兒童模式將關卡縮減了約 60%,因此玩遊戲時你不會看到結局,而且你體驗到的遊戲還不到一半。不過,巴斯特的衝刺動作可以擊敗敵人,而且更容易。日文版本還具有無限繼續和密碼系統,可以解決這兩個困難。如果你在兒童模式下看到了製作人員名單,你只會在黑色背景上看到一個文字滾動,而在正常模式下,你會得到正確的結局,並且在遊戲中的角色上玩耍時會出現一個有趣的製作人員名單滾動。本來是平衡的正好。
美國版本(以及歐洲版本)添加了更難的挑戰模式,其中你只有一顆能量心而不是三顆。它將「正常」的繼續時間減少到 5 個,將「挑戰」的持續時間減少到 3 個。最糟糕的是,它禁用了普通版的密碼;輸入密碼會自動預設您進入兒童模式,這很糟糕,因為您錯過了大部分遊戲。它還禁用了 Buster's Sky Jinks 的 5 級密碼,因為它無法在兒童模式下玩。哦,只是為了對他們的客戶說“操你”,Konami USA 將更好的製作人員名單鎖定在挑戰難度後面!整件事都是一場鬧劇。
有些人說,失去密碼系統並被迫一口氣玩完整個遊戲也沒關係,因為通關它很令人滿意。這是錯誤的態度。Buster Busts Loose 是一款精彩的遊戲,每個關卡後面都有密碼,讓您可以享受玩後續關卡的樂趣。例如,美式足球關卡在顛覆傳統平台方面就顯得與眾不同且富有創意。每個級別都如此不同;它們都值得單獨品味。最初的日本團隊對這款遊戲的願景是擁有密碼,而科樂美美國公司卻認為他們可以破壞這款遊戲。
1993年上映後,受到媒體的喜愛。超級遊戲評分89%。 GamesMaster 給了 92% 的評分。GameFan 的評分幾乎與《星際之狐》一樣高。全部的!雜誌評價 87%,表示挑戰模式太難了有被科樂美搞惡作劇了。對於任何 SNES(或卡通)的年輕愛好者來說,這款遊戲都很著迷。但總覺得有些不對勁…為什麼密碼系統預設為兒童模式每次?多年後,發現了這項進口,答案就揭曉了:科樂美美國公司做了它一貫的半途而廢的工作。謝謝你們。
雖然如果你在模擬的話這並不重要(你可以只保存每個等級的狀態),但如果你在真實的硬體上玩,這會很煩人。所以我們決定要解決問題!
最初我們只是在 RHDN 論壇的“hack ideas”主題中發布。這是那些有遠大想法但技能有限的人提出建議的地方。令人驚訝的是,多產的駭客 Bankbank 私訊說這很容易實現,也許我們應該合作。他會承擔大部分繁重的工作,但作為學習駭客彙編程式碼的教程。正如我們所發現的,他不僅是一位多產的駭客,同時也是一名開發者蒸氣,為 Mega Drive 等遺留系統創建遊戲(另外,他是一個全面的酷人 - 感謝您的幫助)。
事實證明這將是一次相當冒險的經歷。希望一旦您了解了它是如何發生的,您就會被鼓勵自己嘗試一些駭客攻擊。使用正確的工具,這很容易,而且很有趣,每個喜歡遊戲的人都應該至少破解一次!我們用的是模擬器預訂作為我們的主要調試和黑客工具,因為它非常通用且非常簡單。
第一件事:找出哪個工作 RAM (WRAM) 值定義了難度,以及為什麼遊戲在輸入密碼時會強制進入兒童模式。如果我們可以糾正這個問題,那麼密碼將在正常和挑戰中起作用。這很容易,因為您只需更改選項的難度並查看 WRAM 值的變化。大多數模擬器都會提醒您值的變化,並且由於您在遊戲中沒有執行任何其他操作,因此很容易縮小範圍。
結果是位元組$6C儲存 WRAM 中的難度設定。請記住這一點,因為$6C將會出現很多——科樂美美國在這裡的大部分粗暴幹預都是圍繞著這個值展開的。一旦您知道這一點,您就可以告訴 Mesen 在每次遊戲代碼引用該值時提醒您。每次遊戲檢查它是否處於兒童模式或正常模式或其他模式時,為了改變某些內容,它都會檢查$6C,然後模擬器會告訴你。因為這樣你就可以在那裡更改程式碼。 Bankbank發了一張截圖,顯示成功輸入正確密碼後,遊戲代碼引用了難度值,有兩個指令:鏈脲佐菌素和$6C。
如果您將滑鼠懸停在 Mesen 模擬器上,Mesen 模擬器實際上會解釋彙編指令,因此非常簡單。但央行重申鏈脲佐菌素意味著將值零 (00) 儲存在接下來的內容中。意思是輸入密碼後,遊戲將難度值變成00。鏈脲佐菌素和$6C)將把難度改為兒童。解決方案是什麼?將這兩條指令替換為諾普,意思是「無操作」。或者,如果您直接編輯十六進位代碼,請鍵入EA達到同樣的效果。有了這些知識,你的作者打開了 Mesen,搜尋了地址91EA80(如螢幕所示),並替換STZ $6C和諾普 諾普。結果呢?它不再儲存零$6C,意味著不再重置為兒童模式!
如果您是資深程式設計師,我們的解釋可能聽起來像是針對學齡前兒童的,但我們希望讀者看到這有多麼簡單。您更改一個值並讓模擬器追蹤它,以查找它在 WRAM 中的儲存位置。然後,每次遊戲程式碼引用此 WRAM 值時,模擬器都會告訴您。然後你可以更改遊戲代碼。簡單的。
現在我們知道了遊戲所參考的難度值,我們也可以修復片尾字幕。使用 Mesen,您的作者開始在“普通”和“困難”模式下到達最終螢幕,創建保存狀態來比較 WRAM 值並恢復正確的製作人員名單。 Bankbank 做了一項繁瑣的工作,然後在保存之間來回查看,記錄任何差異。製作人員名單是固定的程式碼區塊,沒有生命或計時器,也沒有敵人的位置。所以唯一的差別應該是難度($6C,為 00、01 或 02) 和背景。
接下來的事情就更棘手了。 Bankbank 發送了一個螢幕,解釋說他在滾動信用之前找到了檢查位置。首先它加載$6C值,然後比較它的值是否為 02(挑戰),因為完整的積分僅出現在挑戰模式中。接下來是分支指令——是否分支到完整學分。如何解決這個問題? Bankbank 解釋了下一個使用的位史塔,這意味著它在記憶體中儲存一個值。我們可以使用諾普再次在之後的三個後續位元組上斯塔;這會暴力破解它。或者我們可以反轉史塔和LDA- 這意味著它會起到相反的作用,載入中記憶中的值。我們對技術細節有點猶豫,但決定嘗試交換史塔為了LDA,並且功能完美。現在無論難度如何,全部學分都會滾動。誠然,這與日本人不同,但無論如何都不應該玩兒童模式,因為它會減少遊戲玩法。另外,我們不想再搞砸了——它成功了,讓我們繼續。
無論如何,密碼再次起作用,並且可以在正常上看到完整的學分,工作完成。正確的?不完全是。
當你死亡並選擇“結束”而不是繼續時,它意味著顯示該等級的密碼。但這只發生在兒童身上,因為密碼不適用於更高的難度。但為了獲得真實的遊戲體驗,玩家需要能夠看到密碼。
有了一些工作知識,我決心自己解決這個問題!
繼續螢幕上的三種儲存狀態(兒童、正常和挑戰)。讓 Mesen 在每次引用時中斷$6C。於是,我們找到了另一個LDA(載入一個值)和另一個青蛙(如果相等則分支)。一開始使用了反覆試驗,看看是否可以改變LDA到史塔會起作用,或使用諾普,甚至鏈脲佐菌素將值恢復為零。
沒有什麼。普通模式依然直接進入標題畫面。改變取得了部分成功$6C到$68或者82 美元,在該特定時刻為 00 的兩個值。$6C好像是00,但你可以猜到這裡的問題。不知道什麼$68或者82 美元具體來說,可能會出現奇怪的行為。可以讓模擬器在這兩個值上中斷,看看它們做了什麼,但這會很無聊。解決方案需要符合邏輯且優雅。
然後一個想法形成了──分支指令,如果改變會怎樣?網上找組裝說明發現青蛙有著自己的對立面,柏林新能源公司, 意義如果不等於則轉移。你知道我們接下來做什麼,對吧?我們交換了青蛙為了柏林新能源公司現在密碼只有在您是時才會顯示不是在兒童模式下玩。同樣,這與日文版本有所不同,但我們認為兒童模式已經有密碼超過 30 年了,所以這是報應! (而且,這很簡單,而且很有效。)
只是現在彈出的密碼是亂碼。回到調試器。事實證明遊戲參考了難度($6C)再次之後,調用正確的密碼。這是另一個青蛙,所以我們交換為柏林新能源公司再一次(現在兩次),你瞧——選擇結束時,正確的密碼出現了。但只有當不是在兒童模式下。
工作完成了,對嗎?沒有。還記得我們說過在美國遊戲中無法進入 Buster 的 Sky Jinks 關卡嗎?你輸入密碼,遊戲就會發出蜂鳴聲,就好像密碼錯誤一樣。這需要修復,否則重新實施密碼就是浪費時間。
Bankbank 再次完成了繁重的工作,找到了管理密碼的代碼部分。你的作者擔心,既然 Konami 刪除了那一點,我們就必須在一個全新的部分中找到一種程式設計方法…我們可以從日文 ROM 中拼接程式碼嗎?還有空間可以將其加回去嗎?
事實證明,程式碼仍然存在,這凸顯了科樂美美國公司在這方面所做的廉價駭客工作。遊戲會按原意檢查Sky Jinks 密碼,但Konami 在一條骯髒的彙編線中分流,如果訪問的級別等於04,它將分支,就好像輸入了錯誤的密碼一樣(這是第5 級,但如果是第一個等級)被認為是00,那麼你就可以明白為什麼檢查04了)。他們甚至懶得刪除檢查該密碼的程式碼。嗯,那個青蛙這不好,我們需要阻止它。諾普諾普在地址上91EA5D和91EA5E, 也許?為什麼是的,效果很好。 Konami 愚蠢的分流代碼被替換為“無操作”,Sky Jinks 密碼再次發揮作用,正如它應該的那樣。
如果您好奇,我們發現以下程式碼代表密碼字元:
- 00 - 巴布斯
- 01 - 勇敢的鴨子
- 02 - 蒙大拿州麥克斯
- 03 - 埃爾邁拉
- 04 - 鴨夫人
- 05 - 崔弟鳥
- 06 - 戈戈渡渡鳥
- 07 - 書蟲
- 08 - 土狼
- 09 - 公路跑者
因此 Sky Jinks 的密碼將會讀取為 06 / 08 / 09。
是的,所以密碼現在可以在正常模式下使用,並且正常模式在遊戲結束時會顯示密碼,並且製作人員名單已修復,而 Sky Jinks 密碼又可以使用了。唷!
Bankbank 建議我們嘗試重新實現結局圖形。在日版中,根據難度,有巴斯特或巴布斯的獨特圖像,而美國版本只是重複使用標題畫面。老實說,我們甚至不確定 ROM 資料是否仍然保存著這些圖形。在您的作者看來,我們已經足夠接近發布 V1.0 了。
最終的結果並不是相當恢復到日本版本。我們保留了挑戰模式,兒童模式遺失了密碼,所有模式現在都有完整的積分。可以做得更好嗎?顯然是的,但對於駭客組裝的首次嘗試,我們對結果感到滿意,並打算在未來做更多的事情。
駭客遊戲代碼是至高無上的令人滿意。它甚至不需要這麼複雜。例如,如果您找到玩家角色的 X、Y 座標,您可以強制這些值將該角色放置在牆外,以進行有趣的離網實驗。它甚至可以像透過尋找特定價值來給自己額外的生命一樣簡單。
事實上,我們覺得Bankbank的幫助就像諺語中的「授人以魚網」。經過一點指導,它開始變得有意義。
正如 Bankbank 所解釋的:
我認為如果更多的人接觸彙編/調試器,他們就會喜歡它。除了 Youtube 影片系列之外,人們可以了解它的地方並不多“守則背後”。如果您分析程式碼,請在反組譯程式中做筆記。對其進行註釋,了解執行的工作原理,並嘗試盡可能多地進行標記。您也可以在WRAM中標記地址,例如右鍵單擊$6C,您可以寫入「難度」。一旦你理解了執行流程,我只講一小段程式碼,可能10行,然後你就可以弄清楚你想要如何進行修改。以猜測的方式做事不是一個好主意,可能會產生意想不到的後果。慢慢來;您可以在執行暫停時使用分號在反彙編程式中進行註釋,並且可以右鍵單擊並重新標記藍色標籤。就像它會顯示 80A64E,您可以將其變更為描述性內容,例如 END_GAME_CREDITS。
根據所有建議,我們創建了一個 IPS 補丁,在線提交,並確認該項目已準備好發布。 Bankbank 回覆:「萬歲!但這真是苦樂參半,因為做這件事很有趣,現在一切都結束了<laughs>」。
雖然是一點點,但還有很多駭客想法可以修改。我們可能稍後會回頭看,也許還會看看英國、西班牙或韓國版本是否有任何異常。同時,您可以找到我們的駭客羅姆哈克斯,而 RHDN 的提交過程則將其放入隊列中。請欣賞。
您想看更多關於業餘駭客攻擊的文章嗎?我們最近破解了 NVRAM 儲存文件大師對於 3DO,結果確實如此奇怪的。我們還發現了一些不使用十六進制的 PC 引擎遊戲!另外,在某些遊戲中修改選定武器的 WRAM 值會暴露出玩家不應該存取的東西。如果您想了解更多,請在評論中發表。