Google Stadia (2019-2023)
其實起初並沒有預期要為 Google Stadia 寫一篇文章,因為雲端遊戲串流,好像不太有機會能夠在 DR 的日常休閒裡佔有一席之地。那麼既然自己不是使用者,恐怕就無足夠的立場多說些什麼。然而如今 Stadia 已成為歷史,服務已於今年的 1 月 18 日正式終止,或許是時候來談論一些自己的觀點?
在好多年以前,DR 就認為 Google 既能夠、也應該要設法朝遊戲領域發展。當時的其中一種思路,是基於諸如 HTML5 等 Web 新技術的實現,並且考量到 Web 應用程式本就是 Google 的強項。倘若 Google 能夠建立自己的遊戲開發部門,專注於 Web 平台的遊戲開發,似乎會是一件大有可為的事情。而且完全自主開發的遊戲,也有利於 Google 從中獲取用戶行為數據,成為重要的研發資料。結果在經過若干年後,Google 確實投入到遊戲領域中。然而推出的卻是放在雲端上的遊戲機,標榜能夠透過網路串流的方式,來執行那些需求高昂的 3A 級遊戲,也就是現今我們看到的 Stadia。
在 DR 的觀點裡,談論 Stadia 很難不跟 Valve 於去年(2022 年)所推出的 Steam Deck 做些對比。因為儘管前者是雲端遊戲機、後者則是掌上遊戲機,但事實上兩者背後的技術有許多的共同點。它們實際上都是運行在 Linux 作業系統上,並且都是利用 Vulkan API 來提供 3D 繪圖功能。根據開發者 Ethan Lee 所發佈的一則訊息(Celeste for Google Stadia),可以看到為 Stadia 平台所組建出來的遊戲程式,其實就是不折不扣的 Linux 可執行程式,差異僅在於必須配合 Stadia 專屬的輸出入介面。
儘管明顯地還有其它的選項(Windows),但 Google 和 Valve 在所規劃的技術願景上,都選擇了更具自主性及挑戰性的道路。不過結局卻是大不相同,Stadia 如今黯然收場,而 Steam Deck 則至少目前為止的市場迴響還不錯,很有能夠持續發展下去的勢頭。Google 向來有粗暴地砍掉自家產品的惡名。然而若是有足夠的決心,並經過審慎的應變,或許 Stadia 仍是可存續的。對照之下,其實 Valve 走過的路更長,並且有從中表現出它的檢討與調適能力。
Steam Deck 並不是 Valve 試圖將 Linux 打造成遊戲平台的初次嘗試,它是以循序漸進、並且吸取當中教訓的方式,來逐漸實現這項目標。它的第一個階段,是在 2013 年推出 Steam 的 Linux 客戶端,間隔其 Windows 客戶端的首次發佈,大約有十年之久。而在 Steam 的 Linux 客戶端發佈的同時,Valve 也正式推出旗下多款遊戲的 Linux 版本。
當時 Steam 的 Linux 客戶端,以及 Valve 以身作則地對 Linux 遊戲移植的投入,根本來說,並沒有在市場上產生翻天覆地的變化。然而這些努力,至少為 Linux 作為遊戲娛樂環境的標準化歷程舖平了道路。在此之前,遊戲廠商若有意願發行 Linux 版本,並沒有非常一致且足夠便利的發佈管道,而 Steam 有效地解決了這一問題。所以儘管市場反響有限,但最起碼是大幅地改善了 Linux 玩家購買及安裝遊戲的便利性。
Valve 接著在 2014-2015 年間,正式地推展以 Steam Machine 為主體的家用遊戲機計畫。Steam Machine 實際上就是 PC 主機,但主機尺寸、硬體等級及輸出入設備,皆是以電視遊樂器為目的進行標準化。搭載的作業系統則是 SteamOS──由 Valve 特製、內建 Steam 客戶端,並且以遊戲為主要用途的 Linux 發行版。
然而 Steam Machine 就某種角度而言,可能更像是一項公開倡議,而非一般意義上的遊戲機產品。Valve 並沒有為 Steam Machine 設立任何具獨占性質的機能,PC 主機只要經過規劃,也完全可以做到與 Steam Machine 相同的作用;而且若是安裝 Windows,能夠玩的遊戲還更多。這使得 Steam Machine 幾乎從各個層面都沒有得到很積極的響應,鮮少有遊戲廠商因為 Steam Machine 的緣故,而將遊戲移植到 Linux 上。以及對於 PC 主機的製造商來說,特別去生產 Steam Machine 的效益也很有限。
雖然 Steam Machine 的市場反應並不如 Valve 所期望的,但與此同時,多種跨平台技術的持續演進,卻逐漸為 Valve 鋪陳了另一種可能性。Wine 是一款發展歷史悠久的 Windows 應用程式相容層,目的是讓 Windows 應用程式能夠在諸如 Linux 等 Unix-like 系統上執行。其基本原理是仿造出 Windows 的系統環境,並且將 Windows 應用程式所依賴的 API,如 DirectX 等,轉譯為 Unix-like 上的相對應技術。儘管因著各種不一的因素,Wine 無法保證可順利執行所有的 Windows 應用程式。但它有著相當活躍的開發社群,持續地加以改進,也很早就被 Linux 玩家視為是一種可嘗試的遊戲執行途徑。
在 Wine 的 API 轉譯機制裡,將 Direct3D 轉譯至 OpenGL 始終存在著不少效能及可靠性問題,也成為了許多 Windows 遊戲未能妥善執行的主要原因。然而這項瓶頸隨著新的 Vulkan API 問世後,開始出現不同的解決方案。有別於過去的作法,新的 DXVK 轉換層能夠將 Direct3D 轉譯至 Vulkan。起初是支援 Direct3D 10/11,不過後續也合併了對於 Direct3D 9 的支援。借助於 Vulkan 從底層著手的優勢,讓 Wine 對於 Direct3D 遊戲的執行能力有了顯著的提昇。
2018 年,Valve 開始在 Steam 的 Linux 客戶端裡加入了 Proton 工具。Proton 實質上就是 Wine 的客製化版本,整合在 Steam 客戶端裡,並包含了諸如 DXVK 等元件。如此一來,Linux 玩家就能夠便利地透過 Proton 執行 Steam 上的 Windows 遊戲。Valve 持續地投注資源,改善 Proton/Wine/DXVK 的支援能力,使 Steam 上能夠於 Linux 平台執行的遊戲數目,不再僅僅取決於 Linux 原生(native)遊戲的數目,而開始出現突飛猛進的躍升。
於 2022 年推出的 Steam Deck,即是 Valve 吸取過去經驗、彙整手中優勢,並重新找到市場切入點的一項產品。有別於 Steam Machine 與一般 PC 之間,缺乏能夠讓消費者認同的差異。這回 Valve 的設計工藝,成功地將效能強勁的 PC 平台,縮減成掌上遊戲機的大小。於是在具備可攜性的前提下,儘管玩家應認知到 Steam Deck 可執行的遊戲數目,仍無法與 PC 完全一致,但它也只要足夠多就可以了。
倘若回頭來看 Stadia 的狀況,很有可能它會需要一或多款足夠強勁的平台獨占遊戲,才能夠保障其成功,正如同過去許多遊戲機所採取的策略。然而這也正是被 Steam Deck 成功突破的一項思維,因為即便 Steam 上的獨占遊戲是存在的(畢竟有許多遊戲就是只發行在 Steam 上),但 Steam Deck 本身並沒有任何的獨占性質。所有在 Deck 上可玩的遊戲,其實就是 PC 遊戲, 在 PC 上都玩得到。
某方面來說,Google 和 Valve 都曾面臨到的共同挑戰,是如何有效地推動遊戲廠商將遊戲移植到 Linux 上。雖然在 Valve 的倡議裡,組建出原生的 Linux 遊戲版本,依然是可推廣的目標。不過最終來說,Steam Deck 之所以能夠成功,則有很大程度是歸功於 Proton 相容工具對於 Windows 遊戲的執行能力。相形之下,Stadia 就沒有表現出這種靈活性。儘管有資料顯示,Stadia 存在自己的相容層解決方案。但在出現更多的進展前,整個 Stadia 就被終止了。
雖然在商業上或許會被視為是一項失敗,但 Stadia 的技術層面卻是很值得關注的,DR 蠻希望日後能夠有機會看到更多的細節。另一方面,DR 也認為相較於安裝在本機系統上的遊戲,雲端串流遊戲理應在防盜及防弊層面有其特別的優勢;再加上減少了對本機硬體效能的需求(即便是以頻寬為代價),所以應該仍會有遊戲廠商對於此類架構有興趣。而這也表示,也許像 Stadia 這樣的雲端架構,最佳的運用機會,是用於建構全新的線上多人遊戲,完全依附在雲端上。那麼一旦遊戲是成功的,則雲端也會是成功的。
本文似乎不知不覺間,用了許多的篇幅在談跟 Steam Deck 有關的事情,有離題的嫌疑……事實上 DR 曾經有想過為 Steam Deck 寫篇文章,但後來也是想到其實自己並不是很喜歡玩掌機(和手游)。所以撰文的觀點大概只能針對 Linux 等技術議題,不是很完善,便取消了這個構想。