top of page

Zelda 的保存分歧:復古遊戲正被 AI 淹沒

2 小時前
讀畢需時 13 分鐘

Zelda 的同人開發者正將經典遊戲帶到新硬件,同時亦就 AI 是否應參與開發過程產生分歧。復古遊戲正被 AI 淹沒,但影響深遠的轉變不止在於舊遊戲可以在哪些平台運行。更快的發布速度,正挑戰保存社群如何驗證成果、分配署名,以及界定何謂進展。

將 The Wind Waker 帶到現代裝置的同人項目 BlueWake,公開記錄了大量 AI 協助。Zelda 64: Recompiled 則採取相反立場,明確拒絕生成式 AI 的貢獻。兩個項目涵蓋不同遊戲,但其政策揭示了建立及維護非官方移植版的競爭性做法。

這種緊張關係已蔓延至社群基礎設施。有關 decomp.dev 的報道指出,其建立者批評 AI 輔助分支及倉促發布後,一項追蹤服務正撤下公開排行榜。爭議不止關乎編程偏好,而是關乎越來越多可遊玩的移植版,是否也能帶來可靠的軟件,以及有關遊戲本身可持續的知識。

復古遊戲正被 AI 淹沒,計分板也在改變

眼前的發展在組織層面與技術層面同樣明顯。一個以記錄艱難逆向工程為核心的社群,如今面對改變貢獻者產出成果速度的工具。

逆向工程是研究現有程式,以了解其結構及運作方式。在遊戲保存領域,這類工作可支援研究、修改,以及在不同硬件上的發布。

根據 GamesRadar 在 10 月 15 日對反編譯社群爭議的報道,decomp.dev 建立者 Luke “encounter” Street 批評 AI 輔助分支及倉促推出的移植版。他認為,服務的公開索引及排行榜弊大於利。

Street 亦承認,在人類投入及審核配合下,受引導地使用 AI 可以加快反編譯。因此,他的反對立場不能簡化為否認這項技術有效。

更尖銳的批評在於誘因。原本用以激勵協作的進度展示,可能變成比賽誰最先達成可見里程碑。

排行榜衡量的是產出;它不會自動衡量理解、合作或是否已準備好讓玩家使用。

這個分別很重要,因為不同成就從開發社群以外看來往往相似。一個完成的函式、一次成功的建置,以及一個可遊玩的發布版本,回答的是不同問題。

成功建置代表某組程式碼可以變成可執行程式,卻不代表每個場景都運作正確,也不代表日後的貢獻者理解其實作方式。

同樣地,可遊玩的開場序列展示了真實成果,但並不代表整個遊戲均處於同等狀態。其證明價值取決於開發者實際作出的聲稱。

當一項狹義成就被冠以更廣泛的標籤,問題便會出現。將實驗性移植版稱為「完成」,可能會引起其測試紀錄無法支持的期望。

即使既有團隊從未承諾發布,這也會為他們帶來壓力。玩家看到可見成果後,自然會問另一個項目為何仍報告尚未完成。

然而,這些項目可能追求不同目標。一個團隊可能優先讓遊戲能在新硬件上使用,另一個則可能優先重建並記錄原始程式。

兩種目標都不會令另一種失去意義。當宣傳把兩者視為可互換,並獎勵最戲劇化的宣布時,衝突便會出現。

現有證據並未確立復古遊戲有多少現時依賴 AI。這裏沒有經驗證的採用比例,也沒有統一的發布品質衡量標準。

可見的是治理方式的改變。由於舊有訊號已無法解決這些問題,社群正為工具、貢獻及公開認可設定界線。

因此,這宗事件值得得到超越「舊遊戲在意想不到的地方運行」這類影片的關注。支撐這項興趣的制度正在作出反應。

更快的移植版令義務維護者承受壓力

面對最直接壓力的是維護者,即負責審查變更及維持項目可用性的貢獻者。更多生成程式碼不會自動帶來更多審核能力。

貢獻者可以迅速提出變更,但仍需要有人理解其後果、重現已報問題,並決定項目是否應為此承擔責任。

當開發涉及重建原始設計文件及原始碼都不可得的軟件時,這種不平衡尤其重要。審核者未必總能參考權威說明。

AI 生成的答案可能為陌生函式提出看似合理的詮釋。然而,看似合理仍有別於原始遊戲實際如何運作的證據。

對維護者而言,實際問題在於貢獻者能否為變更辯護。他們能否解釋行為、指出支持證據,並在測試失敗時修正問題?

稀缺資源是可問責的注意力:願意理解變更,並在發布後繼續承擔責任的人。

這是從工作流程得出的分析性結果,並非針對每個 AI 輔助項目的量化主張。優秀的貢獻者可以使用 AI,同時仍提供這種問責性。

當協助增加提交量,卻沒有提升貢獻者評估結果的能力時,問題便會出現。審核因而變成無償轉移的調查工作。

分支,即從現有項目獨立開發的副本,帶來另一種緊張關係。它們可以支援有用的實驗,同時也可能令宣傳與建立基礎的人分離。

分支本身並非敵對行為。它與原始項目的關係取決於行為、溝通、適用許可,以及改進是否回流至共享工作。

即使所有人都同意某項目允許再分發,社會層面的問題仍然存在。僅有許可無法告訴讀者誰貢獻了底層研究。

一則精緻的公告,可以把多年的集體努力濃縮為最新發布版本所附帶的名字。因此,準確署名亦是技術溝通的一部分。

維護者還要面對無法分辨相關項目的用戶所帶來的壓力。一個分支的錯誤,可能變成針對另一個團隊的投訴。

試想一名玩家報告控制失靈,卻沒有說明下載的版本。在調查遊戲玩法前,義務工作者必須先確定玩家實際運行的是哪個程式。

這個例子說明,清晰的項目名稱、發布說明及支援指引為何重要。它們可減少除錯開始前本來會耗費時間的歧義。

這項更廣泛的教訓,同樣適用於在一般軟件項目中使用 AI 的開發者。生成建議方案可以有用,但採納它會產生持續責任。

團隊需要說明、測試證據及未解決假設的紀錄。當原始貢獻者無法參與時,這些紀錄令工作仍可理解。

對工程團隊而言,維護一個可搜尋的知識庫可支援這種延續性。文件仍必須回溯至證據,並保留不確定性。

因此,保存社群的分歧具有實際利害關係。它關乎在引人注目的展示吸引觀眾後,誰來完成其餘工作。

反編譯與重新編譯承諾不同類型的進展

相關術語有助說明,為何開發者可以在雙方描述都準確的情況下產生分歧。反編譯是從已編譯程式重建較高階的原始碼。

匹配式反編譯加入了一個具體目標:重建的程式碼所產生的輸出,須與原始可執行檔相符。這為重建提供了具體的比較目標。

靜態重新編譯會在執行前,將現有程式的指令轉換為可為另一環境建置的程式碼。它不需要經歷相同的重建過程。

N64 重新編譯工具說明了這項分別。其文件描述將 Nintendo 64 二進制檔轉換為 C 程式碼,然後可為其他平台編譯。

該項目亦將較早期的靜態重新編譯工作列為其技術背景之一。因此,遊戲主機軟件的自動化轉換早於當前的 AI 編程浪潮。

重新編譯描述的是技術方法;AI 協助描述的是開發方式。兩者是項目的不同維度。

開發者可以在沒有生成式 AI 的情況下建立靜態重新編譯項目。另一位開發者亦可以在處理重建原始碼時使用 AI。

把每項重新編譯都視為由 AI 生成,會掩蓋真正的政策選擇。這亦會把既有工具及工程工作的功勞歸於 AI,而正是這些工作令較新的項目得以實現。

由 zeldaret 維護的 Wind Waker 反編譯提供另一個有用參考。其儲存庫將項目描述為進行中的工作,並要求使用者擁有遊戲的現有副本。

這與已完成、可在現代硬件運行的應用程式是不同交付成果。讀者應按照其所述目的評估,而不是假設它承諾即時可玩。

這個分別帶來不同的成功定義。研究者希望獲得可供探究的解釋,而玩家通常希望有操控、兼容性,以及可靠地繼續冒險的方法。

這些目標有所重疊,但沒有一項保證另一項。可讀的重建程式碼仍需要額外工程,才能成為完善的移植版。

相反,把遊戲轉換為可運作的應用程式,亦不會自動解釋每個原始系統背後的意圖。執行與詮釋是相關但不同的成就。

就保存而言,兩者均可具價值。可存取性讓人們體驗軟件,理解則支援日後的研究及修改。

編輯上的錯誤,是宣稱只有其中一種成就算數。工程上的錯誤,則是聲稱任何一種成就會自動提供另一種。

當人們說復古遊戲正被 AI 淹沒時,往往把多項發展混為一談,包括更多自動化、更容易的實驗、新平台支援,以及有關貢獻標準的爭議。

把這些發展分開,便能提出更好的問題:哪些工具完成了轉換、貢獻者重建了甚麼,以及哪些部分曾接受獨立測試?

這亦令歷史比較更有用。既有的重新編譯工具顯示,快速轉換與審慎工程可以是兼容的目標。

尚未解決的問題是:某個專案如何把其開發流程與可驗證的成果連結起來。單憑一個工具標籤,無法回答這個問題。

這令焦點回到核心衝突:快速推出新版本,與建立可讓他人檢視及持續維護的成果之間的取捨。

Zelda 專案明確展現政策分歧

Zelda 64: Recompiled 直接表明其立場。團隊表示並未使用生成式 AI,亦不會接受涉及該等工具的貢獻。

該專案的生成式 AI 政策廣泛適用於整個開發流程,也延伸至其文件所述的《薩爾達傳說 時之笛》支援。

這令該政策成為參與專案的具體條件。貢獻者在提交修改前已清楚界線,而維護者亦有明確依據可供執行。

BlueWake 採取不同做法。其文件披露,在編碼、測試、文件撰寫及除錯方面均獲得大量 AI 協助。

這個對比具參考價值,因為兩項政策均連結至實際開發工作。相比起抽象討論生成程式碼是否一概可接受,這提供了更多資訊。

AI 政策界定專案與貢獻者之間的協作關係;但它本身並不能認證每個版本的品質。

禁止使用 AI 可以劃定清晰界線,但無法消除一般的程式設計錯誤。披露使用情況可以建立透明度,卻不能證明生成的修改能正確運作。

因此,讀者需要分開評估政策與產品證據。前者說明團隊選擇如何工作;後者則說明已發佈的軟件目前實際支援甚麼。

這些專案也不應被當作性能競賽中的同等產品。它們針對不同遊戲,技術要求亦不相同。

它們的相關性在於管治層面的比較。一方排除生成式協助,另一方則承認其為開發流程的一部分。

對支持 AI 協助的人而言,吸引力很直接:實作及除錯方面的協助,可令不熟悉的開發工作變得較容易上手。

這個承諾值得認真看待,尤其當專案公開說明其限制時。實驗性工作毋須在完整無缺前才值得分享。

對批評者而言,憂慮同樣具體:當貢獻者無法解釋生成修改的目的或辨識其假設時,這些修改可能變得難以維護。

現有證據無法就每個專案判定這項憂慮。它所呈現的是對可接受流程的分歧,而非對長期成果的受控比較。

有用的評估方式,會檢視已報告的缺陷是否獲得持久修正,也會問貢獻者能否解釋修復後的行為。

這些問題比「某個版本是否包含 AI 輔助程式碼」更難回答。它們要求在公告之後持續追蹤工作進展。

這正是兩種做法都要接受審視之處。拒絕 AI 的專案仍須維護其軟件,而 AI 輔助專案則需要證據支持其主張。

同一套標準亦有利於負責任使用 AI 的貢獻者。清楚說明及可重現測試,讓審查者有具體內容可供評估。

負責任的評估亦要容納不同社群目標。有些參與者除了最終應用程式,也重視工藝與學習過程。

另一些人則優先考慮擴大參與門檻及實驗。健康的關係需要承認這種差異,而非堅持每個專案都採用相同的進步定義。

因此,即使編碼模型持續改善,政策分歧很可能仍會存在。能力本身無法決定志願社群希望圍繞哪些活動來組織。

可遊玩的示範仍留下重要問題

BlueWake 的文件提供了一個具體方法,可將雄心與已驗證的範圍分開看待。其Wind Waker 移植版描述了現代裝置上的原生支援,同時指出部分範圍仍未獲充分測試。

該專案列出已測試的地點及系統,包括開場片段、航行、選單及儲存功能。它亦警告,後期迷宮及頭目戰鬥大多仍未經測試。

這個區分很有價值。文件既給予讀者關注的理由,同時保留對他們不應推論之事的限制。

成功的示範只能支持已展示的行為;更廣泛的可靠性需要更廣泛的證據。

無論 AI 是否協助製作應用程式,這項原則同樣適用。手寫的移植版亦需要在宣傳影片所示場景以外進行測試。

對玩家而言,關鍵成果是可靠的遊玩過程,當中包括進入陌生區域、變更設定、儲存進度,以及在沒有意外行為下再次返回遊戲。

對保存研究人員而言,問題更進一步:修改是否改變原有機制,以及這些改動是否記錄得足夠清楚,以便與缺陷區分開來。

對未來貢獻者而言,優先事項可能是了解如何重現建置流程。可運作的下載檔很有幫助,但無法回答所有維護問題。

這些觀點說明,為何單一標籤如「可遊玩」可能承載過多意義。不同讀者會對同一個詞附加不同期望。

外觀與模擬之間亦有分別。更流暢的渲染,未必代表底層遊戲邏輯更新得更頻繁。

若沒有這項區分,效能改善的主張可能會令讀者混淆究竟改變了甚麼。讀者需要的是行為說明,而不只是更大的效能數字。

不確定性不應變成預設失敗。未測試內容可能運作正常,而實驗性功能亦可能發展成可靠選項。

較站得住腳的結論更為狹窄:現有測試紀錄尚未證實這些結果。清楚列明限制,有助用戶作出知情判斷。

同樣地,現有證據亦未能證實 AI 協助會帶來普遍的生產力提升。開發速度取決於工作性質、現有工具、貢獻者經驗及審查要求。

一條引人注目的專案時間線,無法把模型的貢獻與其他因素分離。這需要專門設計的比較,才能回答生產力問題。

在公共敘事中,AI 正在席捲復古遊戲領域,但這種敘事不應取代針對個別專案的調查。有些主張會比其他主張更能經得起審視。

同樣的審慎亦適用於批評。披露使用 AI 並不能證明某次特定當機由生成程式碼引起。

要建立這種關聯,必須檢視缺陷及其歷史。否則,技術調查便會淪為基於歸屬的爭論。

最有用的報道會沿整個流程追蹤證據:區分開發者的主張、測試者可重現的結果,以及仍未解決的問題。

這種做法讓人可以抱持熱情,而不會把實驗性版本當作保存保證。它亦令批評對實際工作的人更具可行性。

留意測試、共享修正與專案發現機制的未來

未來數月應可提供證據,說明快速發佈能否與可持續的保存工作並存。最有用的訊號關乎後續跟進。

測試紀錄、共享修正及清晰的專案發現機制,所揭示的資訊會多於新移植版公告的數量。

第一個訊號,是發佈後擴大的驗證。留意開發者會否為先前標為未測試的內容及系統,公開可重現的測試結果。

更有力的紀錄會把特定建置版本連結至已完成的檢查及已知問題。這將支持一項觀點:快速實驗正逐步產出更可靠的軟件。

相反的模式則會削弱這項說法。若持續發布功能公告,卻沒有更清晰的涵蓋範圍,原有的可靠性問題仍會未獲解答。

測試亦需要獨立參與。維護者成功完成一次遊玩是有用證據,而其他用戶的確認可揭示不同環境之間的差異。

這不代表要把每個興趣專案都視作商業軟件,而是要讓主張的可信程度與支持它的證據相稱。

第二個訊號,是改善會否在相關專案之間流通。留意是否有記錄在案的協作、列明致謝的貢獻,以及回饋給其所依據程式碼的修正。

這將強化一項論點:更快的開發可惠及共享的保存工作。它會顯示價值正回饋至維護基礎的人。

一連串血統不清的獨立版本,則會指向另一個方向。社群將面對更多需要區分的應用程式,卻有更少共享說明。

維護者的行為在此同樣重要。接納有用的修正,不代表必須放棄專案既有的貢獻規則。

即使團隊對可接受的編碼工具有分歧,協作仍可涵蓋文件、測試及問題報告。值得問的是,這些交流能否減少重複工作。

第三個訊號,是甚麼會取代或改革公開的專案發現機制。留意社群目錄會否區分研究進度、實驗性移植版及已建立、可遊玩的版本。

清晰分類會幫助讀者比較追求相近目標的專案,也可減少不同成就共用單一排名時所造成的壓力。

目錄毋須裁決每一場關於 AI 的爭論,但必須說明其列表衡量甚麼,以及哪些問題仍未能回答。

若發現工具保留貢獻歸屬並說明專案狀態,便可恢復排行榜爭議中失去的部分實用性。若它們只獎勵速度,這種張力便會持續。

對遊戲業以外的開發者而言,這些訊號提供了評估 AI 輔助工作的實際方法。尋找能在初步示範以外仍經得起檢驗的證據。

這包括其他人可使用的說明、其他測試者可重現的問題,以及其他貢獻者可持續的維護。這些特質決定產出能否成為可靠的共享成果。

AI 正在席捲復古遊戲,但長遠結果取決於社群圍繞這些工具建立甚麼。更快的開發帶來機會,卻未能解決責任問題。

在分享下一個不尋常的 Zelda 移植版之前,先閱讀其測試備註,並辨識背後的專案。查看開發者提出甚麼主張,以及他們在哪些地方承認不確定性。尋找對早期貢獻者的清晰致謝,然後看看已報告的問題是否獲得說明及持久修正。若你嘗試使用該軟件,請提供具體建置識別碼及可重現的觀察結果,而不是對 AI 作出籠統判斷。這些行動有助分辨一項有前景的實驗與可靠的保存資源,也會回報那些在公告熱度消退後仍然有用的工作。下一次發佈時值得帶著的問題很具體:另一個人現在可以運行、理解、驗證及維護甚麼?

 
 

為每個智能代理提供更完整的背景,提升工作表現

讓智能代理連接 remio 已整理好的知識、決策和歷史紀錄。

remio 目前支援 Windows 10+(x64) 及配備 Apple 晶片的 Mac。

你的 AI 工作夥伴
和 remio 一起高效工作

規劃、創作、交付
一站式完成

bottom of page