以前Ivon小時候喜歡到波波線上遊戲網、遊戲天堂、摸摸耳小遊戲、遊戲桃等網站玩線上遊戲。
那個時候的遊戲很多都是Flash寫的,包括本人最愛的《X Files叢林冒險》、《陽光馬力歐128》、《Ben 10 Game Creator》、《SpongeBob Squarepants: Lost in Time海綿寶寶中世紀歷險記》、《Drop Dead布偶熊死亡地獄》、《Dad’n Me紫色恐怖》、《Happy Wheels快樂輪子》等等,線上遊戲《賽爾號》和《艦隊Collection》以前也曾經是Flash寫的。
不過隨著Adobe Flash停止開發,這些遊戲通通都沒辦法玩了。有些負責任開發者可能會用HTML5重寫遊戲(例如艦隊Collection),但大部分都是不可能獲得更新的了。
現在,只需要安裝「Ruffle」擴充功能,就能讓瀏覽器重新支援Adobe Flash,讓我們得以遊玩這些老遊戲。
本文Ivon介紹Ruffle原理,以及如何使用Ruffle播放網頁Flash內容,最後介紹離線播放.swf檔的方法。
1. Adobe Flash與Ruffle的關係#
Adobe Flash是一個古老的多媒體技術,由Adobe公司開發,檔案格式為.swf,搭配ActionScript控制內容。
以前的電腦網頁很流行用這個做動畫,許多線上遊戲也是用Flash做的。開發者會將.swf檔嵌入至網頁,接著訪客在電腦安裝Adobe Flash Player程式,就可以在瀏覽器播放Adobe Flash內容。
但是隨著HTML5與JavaScript的完善,再加上Adobe Flash的效能和安全性問題,最終被母公司Adobe拋棄。2020年,Adobe Flash正式退役,各大瀏覽器也停止支援了。
在最新的Firefox和Chromium系瀏覽器,即使你安裝Adobe Flash Player也不能播放Adobe Flash內容了。Chromium系瀏覽器開啟只會看到「已不再支援Adobe Flash Player」。
但是那些古老的Flash網站怎麼辦呢?還有想玩經典Flash老遊戲又該怎麼做呢?找舊版瀏覽器來用嗎?
如果不想抓舊版本瀏覽器,這個時候我們可以使用開源軟體「Ruffle.rs」來播放Adobe Flash內容。
Ruffle為第三方開發者發起的開源模擬器專案,透過Rust語言重新實作Adobe Flash,再透過JavaScript和WebAssembly技術,使Adobe Flash可以在最新的瀏覽器播放。他們還提供簡易的JavaScript程式碼,讓站長可以將Ruffle部署到自己網站上,給訪客無縫遊玩Flash遊戲。
論安全性,Ruffle本身是安全的,第一它開放原始碼,第二它不會像Pufffin Browser那樣把Flash內容傳到雲端計算再回傳,是真正在瀏覽器本機執行Adobe Flash程式,所以沒有任何資料會洩漏。
2. Ruffle與Adobe Flash的相容性#
首先要知道的是,Ruffle目前尚未100%相容Adobe Flash的功能。
Adobe Flash和Adobe Flash Player為Adobe開發的閉源軟體,即使停止支援了也沒開放原始碼。過去是 有很多人在連署請求Adobe開源啦,但是官方鳥都不鳥。
Ruffle則是開源模擬器軟體,它並不是直接使用Adobe Flash Player的技術,而是使用Rust語言重新實作,用類似逆向工程的方式,模擬ActionScript API的功能。
目前ActionScript v3 API約實現了70%左右。儘管Ruffle官方宣稱許多遊戲正常運作,但還是有極少數API不能用,所以Ruffle並未100%相容Flash遊戲,執行起來可能有小bug。你可以在 Github追蹤開發進度和回報問題。
如果Flash內容某些功能不正常,你可能還是得找舊版瀏覽器程式,搭配真正的Adobe Flash Player來用。
3. 瀏覽器使用Ruffle擴充播放Flash#
你不需要在系統安裝軟體,你只需要準備Firefox或者Chromium系的瀏覽器(Chrome、Edge、Brave、Vivaldi等)就能跑Ruffle。
接著到官網下載擴充功能: Firefox擴充商店| Chrome擴充商店
然後就可以瀏覽內嵌Flash內容的網頁了,Ruffle會自動填充Adobe Flash的位置。
你還可以點一下Ruffle擴充功能,啟用下載網頁的swf檔案,供離線使用。
4. 使用Ruffle Desktop離線載入.swf檔#
Ruffle擴充功能可以直接讀取.swf檔,不過若要追求更佳效能,Ruffle尚有提供桌面版程式「Ruffle Desktop」能離線播放.swf檔,功能類似Adobe官方開發的Adobe Flash Player Standalone。
如果你想離線玩Flash遊戲,或者你的程式有使用.sol存檔,就推薦使用Ruffle Desktop。
Ruffle Desktop適用Linux和Windows系統,請到
Github下載。Linux請選取linux-x86_64.tar.gz
,Windows選取windows-x86_64.zip
Android用戶請下載 ruffle-android的APK。
下載好之後解壓縮,點兩下執行Ruffle,就可以載入本機.swf檔案了。
Linux的Flash遊戲資料儲存在~/.local/share/ruffle
Windows的Flash遊戲資料儲存在C:\Users\使用者名稱\AppData\Roaming