Apple 開放上架遊戲模擬器,但高品質模擬器仍難尋


摘要

Apple 最近開放上架遊戲模擬器,雖然這為玩家帶來了一些便利,但高品質的模擬器依舊難以尋覓。 歸納要點:

  • 蘋果開放 JIT 編譯功能,提升模擬器效能,但仍面臨技術限制。
  • 嚴格的 App Store 審查和遠端更新限制影響模擬器穩定性與相容性。
  • 最佳化技術如位元組碼翻譯和沙盒環境,有助平衡效能與安全。
儘管 Apple 開放了新的技術和功能,高品質的遊戲模擬器在效能、穩定性及相容性方面仍然面臨諸多挑戰。


復古遊戲模擬器登陸 iPhone,定義更清晰

前陣子我寫了一篇名為《Spotify 讓 Apple 做了這件事》的文章,裡面談到一個小小的陰謀論:DMA(數字市場法)的存在其實是因為 Spotify 的遊說活動。我當初聽到這個理論時覺得很荒唐。但最近 Apple 公佈了一些新的 App Store 規則,讓我不禁思考:「嗯……也許這個陰謀論還真有點道理。」

在那篇文章中,我也剖析了其他新的 App Store 規則。主要有兩大變化。首先是針對 Spotify 的規則;其次是一些明確允許「復古遊戲模擬器」的變更。

這就引出了問題:什麼算是復古?顯然像 NES 這樣的主機會被認為是復古,但 GameCube 呢?PS3 呢?Nintendo Switch 呢?Switch 已經發布超過五年了。以下是我對「復古」的定義:任何可以在 iPhone 上以超過 15 FPS 模擬的遊樂器。

哦,我真的是太天真了。我原本以為,「你知道那些只能在越獄手機上使用的應用程式嗎?它們現在都能在 iPhone 上用了!」但事實並非如此運作。

**最新趨勢:**Apple App Store 的新規定明確允許「復古遊戲模擬器」的存在,這意味著未來可能會有更多復古遊戲登陸 iPhone,為遊戲玩家帶來更豐富的遊戲體驗。

**深入要點:**作者提出了一個新的「復古」定義,即任何可以在 iPhone 上以超過 15 FPS 模擬的遊樂器,這為復古遊戲的範圍提供了更明確的界定。
我們在研究許多文章後,彙整重點如下
網路文章觀點與我們總結
  • Delta是一款知名的iOS模擬器,可以在iPhone上模擬並遊玩多種經典遊戲機的遊戲。
  • RetroArch作為多合一模擬器,已正式登入iOS App Store,支持多種復古家用主機和掌上型遊戲設備。
  • 蘋果近期調整策略,允許模擬器應用上架到App Store,使得用戶可以直接在iPhone或iPad上透過模擬器玩經典復古遊戲。
  • 啟動器iOS 16是由LuuTinh Developer開發的個性化應用程式,可通過雷電模擬器在電腦上運行。
  • App Store 提供豐富多樣的「遊戲」類App,不僅限於手機內建模擬器應用,也允許第三方硬體設備存取。
  • 黑雷iOS模拟器可讓使用者在Windows電腦上體驗IOS游戏操作。

隨著蘋果開放將更多模擬器應用納入App Store,用戶現在可以更方便地在iPhone或iPad等設備上回味經典遊戲。不論是Delta還是RetroArch這些知名的模擬器,都能帶來豐富的復古遊戲體驗。此外,像黑雷這樣的工具甚至能讓你在Windows電腦上也能享受IOS游戏。對於喜愛懷舊游戲的人來說,這絕對是一大福音!

觀點延伸比較:
模擬器名稱支援平台特色功能開發者
DeltaiOS (iPhone)模擬多種經典遊戲機Riley Testut
RetroArchiOS (App Store)支持多種復古家用主機和掌上型遊戲設備,多合一模擬器- RetroArch 团队开发
啟動器 iOS 16電腦 (通過雷電模擬器運行)個性化應用程式,可在電腦上體驗 iOS 操作介面 LuuTinh Developer
黑雷iOS模拟器Windows 電腦在 Windows 平台下體驗 iOS 游戏操作- 黑雷团队开发

JIT技術限制與DolphiniOS的替代方案

結果顯示,Apple 一如既往地設立了一些規則來管理模擬器的運作方式。這個故事來自 DolphiniOS 的開發者們,DolphiniOS 是 Dolphin 模擬器的一個分支,專門用於 GameCube 和 Wii 遊戲。他們在一篇部落格文章中討論了為何 DolphiniOS 不會登陸 iOS 平台。

他們提到的問題是 JIT(即時編譯,即 Just-in-Time Compilation)。JIT 是一種將非原生程式碼(例如設計在 Wii 或 GameCube 上執行的程式碼)轉換為原生程式碼(例如設計在 iPhone 上執行的程式碼)的方式。我懷疑這有點誤導。真正的問題並不完全是「即時」部分,而是實際上的重新編譯部分。

Dolphin 使用了一種稱為即時重編譯器(Just-in-Time Recompiler, 簡稱 JIT)的方法來達成這一點。每當模擬控制檯需要執行遊戲程式碼時,Dolphin 會使用其 JIT 技術將 PowerPC 程式碼轉換為 ARM 程式碼,然後執行結果。

重新編譯意味著要讓 iPhone 即時生成可以執行的程式碼。這正是你需要做的事情,以便執行非原生程式碼並獲得良好的效能,也就是 Apple 的 Rosetta 所做的事情。如果不進行重新編譯,你得到的效能會像這樣糟糕:

**JIT技術的限制**

雖然 JIT 技術可以有效提升非原生程式碼的效能,但其運作原理會涉及即時修改程式碼行為,這違背了 App Store 的嚴格審查規範,因此 Apple 禁止在 iOS 裝置上使用。

**DolphiniOS 的替代方案**

由於 DolphiniOS 無法在 iOS 上使用 JIT 技術進行編譯,開發團隊尋求了替代方法,例如使用網頁遊戲串流技術。此技術可將遊戲執行在遠端伺服器上,再透過網路將畫面串流至 iOS 裝置,從而規避 Apple 對 JIT 編譯的限制。



Apple 重新編譯的安全性疑慮和遠端更新限制

完全無法遊玩。所以,為什麼 Apple 不願意支援重新編譯呢?有幾個原因。最顯而易見的可能是安全性。如果可以即時生成程式碼,這可能讓攻擊者找到漏洞。不過,我不確定這擔憂有多大合理性。畢竟,漏洞早已經常被發現,而對編譯後的程式碼進行適當沙盒化處理可以顯著降低此類風險。事實上,iOS 應用程式已經被沙盒化了。

我認為更可能的原因,是因為允許應用程式重寫其程式碼會讓開發者能夠遠端更新他們的應用程式,而無需提交更新至 App 審查。目前 Apple 已經在技術上容許應用程式遠端更新,最顯著的是透過所謂的「程式碼推送」(code push),但他們不得不如此。「程式碼推送」基本上只是利用 HTML 和 Javascript 來更新你的應用。而你不能真的禁止 HTML 和 Javascript,因為每個應用都能訪問網際網路。

**專案 1 具體說明:**

Apple 持續強化 App Store 的安全防護,以避免惡意軟體或安全漏洞透過重新編譯機制入侵裝置。此舉有助於確保使用者資料和隱私受到保護,同時維持 App Store 的信譽度。

**專案 2 具體說明:**

儘管 Apple 提供「程式碼推送」機制,但其限制在使用 HTML 和 JavaScript 更新應用程式。這有助於平衡開發者的靈活性與 App Store 的審查流程。Apple 團隊仍嚴格審查更新內容,以確保其符合 App Store 指南和安全標準。)

解譯式程式碼在 iOS 上的最新規範與效能差異

但 Apple 一直在嚴厲打擊這種情況。他們非常嚴格地要求,為了進行此類操作,程式碼必須是「解譯」的,這就是 HTML 和 Javascript 的運作方式。我在另一篇文章中討論了 Apple 對此的規定:

解譯式程式碼可以下載到應用程式,但前提是該程式碼:(a) 不得透過提供與應用程式提交至 App Store 時所預期和宣稱目的不一致的功能或特性來改變應用程式的主要用途,(b) 不得建立其他程式碼或應用程式的商店或店面,以及 (c) 不得繞過作業系統的簽名、沙盒或其他安全功能。解譯式程式碼有點像編譯式程式碼,但不是一次性編譯整個內容,而是逐行檢視並在需要時翻譯每一行,然後在完成後丟棄該行。這相當浪費資源,因此你會看到效能如此之差。

**專案 1:Apple 針對解譯式碼執行的最新規範**

Apple 最近加強了對解譯式碼執行的規範,要求此類程式碼必須「解譯」,並且不能改變應用程式的原始用途,或製造其他程式或應用的商店或店面。也不得繞過作業系統的簽章、沙盒或其他安全功能。

**專案 2:解譯式碼與編譯式碼的效能差異**

解譯式碼與編譯式碼最大的差別在於效能。解譯式程式碼會逐行檢視並即時翻譯,而編譯則一次處理所有程式碼。這種逐行處理的方法雖然靈活,但效率低下,是導致其效能較差的重要原因之一。

蘋果限制 HTML/JavaScript 以管制後程式碼執行,並受反壟斷訴訟影響

而且,老實說,我懷疑蘋果可能會進一步限制程式碼解釋。在我之前的文章中,我指出新的 App Store 條款直接提及 HTML 和 Javascript。

事實上,他們正在透過規定僅允許超級應用程式提供基於 HTML/Javascript 的迷你遊戲和迷你應用來削弱這些應用程式的權力,這正是美國司法部(DoJ)所抱怨的一點。我認為這直接針對的是程式碼推送問題。既然貓已經出籠了,蘋果表示:「如果你要推送程式碼,那必須是 HTML/Javascript。」這有點不幸,因為這意味著 Flutter 將永遠無法獲得原生 Dart 程式碼推送功能。也許司法部應該修改他們的投訴。由於這項 HTML/Javascript 改變尚未普遍實施,所以我可能是錯的。

**1. 蘋果對 HTML/JavaScript 的限制反映出對後程式碼執行監管的關注**

蘋果對其應用程式商店條款中 HTML/JavaScript 限制的更新,反映出其對後程式碼執行功能的持續擔憂。此舉旨在阻止開發人員使用 Flutter 等技術推送信碼,這將允許開發人員繞過蘋果的審查流程。這表明蘋果正採取更積極的措施,遏制應用程式中未經批准的程式碼執行,並加強其對應用程式生態系統的控制。

**2. 司法部的反壟斷行動可能進一步影響蘋果對程式碼解釋的限制**

司法部針對蘋果的反壟斷訴訟可能會影響其對程式碼解釋的限制。訴訟中對超級應用程式限制的指控,以及蘋果對 HTML/JavaScript 的更新,表明該公司正努力平衡管制和競爭問題。司法部的訴訟可能會導致蘋果進一步調整其程式碼解釋政策,以應對反壟斷調查和維護其平台競爭力。

最佳化遊戲執行速度:位元組碼、即時編譯和沙盒技術

所以,如果不重新編譯這些遊戲,便無法以可接受的速度執行它們。嗯……其實有一個方法。技術上來說,在編譯和解釋程式碼之間存在某種中間形式,也就是所謂的“位元組碼”(byte code)。這是一種介於機器碼和人類可讀程式碼之間的中間程式碼。位元組碼像是最佳化過的中間地帶程式碼,人類無法閱讀(如同已編譯程式),但可以在多個平台上執行(像解釋性程式)。它主要用於希望跨平台執行但又不想為每個平台重新編譯的程式,因此將其編譯成位元組碼。這或許可行,但我懷疑 Apple 仍會拒絕這種做法,因為技術上你還是在進行某種形式的編譯。

隨著技術的進步,JIT(即時編譯)越來越流行。JIT 編譯類似於“中間碼”編譯,它將程式碼轉換為可以在不同平台執行的機器碼。JIT 編譯會在程式執行時動態地進行,使得它比傳統編譯更快且更具彈性。因此,可以考慮使用 JIT 編譯來提升遊戲執行速度,同時避免重新編譯的繁瑣。

近年來,沙盒技術也為編譯提供了新的可能性。沙盒環境允許程式在受控和隔離狀態下運作,使得可以在其中進行遊戲的編護取而避開 Apple 所提到的“技術性編輯”問題。在沙盒中進行編譯,可以讓開發者不用違反 Apple 規範,同時提高遊戲執行效率。

Apple 模擬器困境:效能限制與策略轉變

看起來我們似乎陷入了僵局。若不將遊戲重新編譯成原生程式碼,就無法快速執行它們。上面的影片展示了一款發行於20多年前的GameCube遊戲《瑪利歐賽車 雙重衝刺》,該影片是在iPhone 15上錄製的。如果這款遊戲都無法順利執行,那麼很可能任何在GameCube時代或之後發布的3D遊戲都難以達到理想的質量水準。或許這正是Apple所謂“復古”的真實含義。

這種情況令人遺憾,對Apple本身也可能是一個問題。我猜測允許模擬器上架App Store原本是為了吸引那些原本會流向第三方應用商店的模擬器收入。但是,如果iOS App Store上的模擬器因無法重新編譯程式碼而受限,那就失去了新規則設立的初衷。除非Apple真正想要的是隻允許2D遊戲的模擬器。

**最新趨勢:Apple對模擬器的立場演變**
近期,Apple對模擬器在App Store上的狀態態度轉趨嚴格,要求開發者提交的模擬器必須符合特定標準。這些標準包括:僅能模擬原始遊戲機系統功能,不得包含任何未經授權內容。這反映了Apple對版權和消費者安全的重視,並希望透過控制App Store中的模擬器生態系統,避免侵犯版權或安全漏洞等問題。

**深入要點:模擬器效能受限於技術限制**
文中指出,由於iOS裝置無法重新編譯遊戲機遊戲的原始程式碼,因此模擬器無法執行這些遊戲時達到理想效能。這個技術限制對高階3D遊戲的模擬造成重大障礙。因此,Apple允許在App Store販售的模擬器,很可能主要針對2D遊戲或較舊的平台,以確保提供順暢體驗。

審慎評估監管風險與潛在收益,並防範應用程式商店審查迴避


我猜這可能是 Apple 想要的結果。如果你將模擬器僅限於執行舊的 2D 遊戲,那麼遇到法律麻煩的機率非常低。但同時:🤑🤑🤑 所以 Apple 在這裡有一個選擇。他們可以什麼都不做,讓人們使用歐洲應用程式商店來玩 3D 模擬器遊戲。或者他們也可以允許應用程式編譯自己的程式碼。如果他們選擇這樣做,Apple 很可能會嚴格限制,因為他們不希望更多的人繞過 App Store 的審查系統。但如果他們這樣做了,這可能會開啟更多應用程式的大門。例如其他模擬器、硬體加速桌面應用程式,甚至下載整個遊戲。所以這絕對是一條滑坡路徑。但 🤑🤑🤑

**專案1:監管風險與潛在收益之間的權衡**

Apple 面臨監管風險與潛在收益的權衡。允許模擬器在歐洲應用程式商店上執行 3D 遊戲可能會導致與遊戲開發商的法律糾紛。另一方面,Apple 也意識到開放更多應用程式的潛在收益,例如其他模擬器、硬體加速桌面應用程式和下載遊戲等。

**專案2:App Store 審查迴避的風險**

如果 Apple 允許應用程式編譯自己的程式碼,這可能會為更多應用程式迴避 App Store 審查帶來風險。Apple 過去因嚴格審查應用程式而受到批評,而開放更多自由可能會導致質量較差或潛在有害的應用程式流入其平台。


參考來源

Delta iPhone模擬器下載到跑任天堂遊戲完全上手教學(免越獄)

Delta 算是一款相當知名的iOS模擬器,能夠在iPhone直接模擬並遊玩多種經典遊戲機的遊戲,包括Game Boy、Game Boy Advance(GBA)、GBA、NES、DC、Nintendo 64、Nintendo DS ...

來源: 瘋先生

【RetroArch教學】iPhone萬用38合1遊戲模擬器完全上手設定技巧

... 模擬器「RetroArch」也正式登入iOS App Store 平台,能夠直接在iPhone、iPad、Apple TV、Apple Vision設備上直接遊玩各種復古家用主機和掌上型遊戲。

來源: 瘋先生

Delta 遊戲模擬器iOS APP 上架|懷舊經典遊戲機在iPhone 回歸

隨著日前Apple 調整策略開放遊戲模擬器上架到App Store 之後,讓用戶能在iPhone 或iPad 直接透過模擬器玩些當年的經典復古遊戲。

來源: 電腦王阿達

啟動器iOS 16電腦版下載

啟動器iOS 16是LuuTinh Developer開發的一款能夠在行動裝置上運行的個性化應用程式,但使用最好的Android 模擬器-雷電模擬器,你可以在電腦上下載並暢玩啟動器iOS 16。

來源: 雷電模擬器

模擬- App Store iTunes 下載項目

App Store 為你的iOS 裝置提供豐富多樣的「遊戲」類App ... Idle Outpost:大亨遊戲與交易商業模擬器 · 三國志漢末 ... Mac · iPad · iPhone · Watch · TV · Music · iTunes ...

來源: Apple

App Store 允許下載遊戲模擬器,復古玩家的iPhone 時刻真要來了?

蘋果開放可說既全面又徹底,App Store 不僅允許手機內建模擬器應用,還允許第三方硬體設備存取。科技網站The Verge 實測,類似Backbone One 的外接控制器 ...

RetroArch 超強模擬器登陸iOS|收錄超任、土星等逾60款懷舊機

RetroArch是一款多合一模擬器app,收錄Atari、紅白機、PC Engine、超級天堂、Game Boy系列、PlayStation 1和PSP等多款懷舊遊戲主機、手提遊戲機的模擬器。

來源: 香港01

黑雷iOS模拟器-iOS手游模拟器-黑雷模拟器-手游模拟器-精灵盛典-杭州几 ...

这里是黑雷iOS模拟器官方网站,全网独家首款iphone模拟器电脑版本,让你在windows上体验IOS游戏便捷操作。可以在电脑上畅玩各种苹果游戏大作.

來源: 黑雷模拟器

L.S.

專家

相關討論

❖ 相關專欄