在純白的身體上作畫,偽裝成舞台的新感覺捉迷藏遊戲《超級變色龍》。
一不小心就變成全球爆紅作品了。
以本文撰寫當下來看,居然已經突破 1,500 萬套,真的太誇張了吧?
身為工程師,這種時候難免會很好奇對吧。
同時連線 20 萬人,伺服器費用到底是怎麼撐的??
先說前提,我平常是做 web/mobile 後端、SRE 類工作的工程師,對遊戲線上基礎架構幾乎可以說是完全不熟。
如果要做《超級變色龍》這種多人遊玩的配對型遊戲伺服器,我會先想像成像這樣。

每一場比賽都想維持有狀態運作,然後用像 Agones 這種能管理遊戲伺服器的方案,架在 GKE 之類的平台上,再在中央放一個配對器(分流器)來分配……大概像這樣?
而且很自然地,這種架構就算沒有任何使用者也會燒錢,隨著同時連線人數增加,伺服器費用也會跟著膨脹。
雖然 120 億營收,扣掉手續費和稅金之後也絕對還是賺,但如果是買斷制遊戲,這種維護成本會很吃力,屬於那種會讓人皺眉的架構。
開發者在訪談中這麼說:
《超級變色龍》使用 Unreal Engine 作為引擎,配對功能則使用 EOS(Epic Online Services)。
EOS 全部都是免費的,廣告費也完全沒花半毛錢。

像捉迷藏這種輕量型對戰,可以不架專用遊戲伺服器,而是由玩家其中一人的裝置擔任主機,直接和其他玩家通訊的 P2P 方式。
遊戲計算由主機端裝置代勞,因此開發者不需要一直維持昂貴的伺服器群運作。
這就是「就算同時連線增加,伺服器費也不會增加」的第一個理由。
要做 P2P 的話,必須讓彼此能透過網際網路通訊,通常需要做很多設定對吧?
據說 EOS(Epic Online Services)會把這些全部免費幫你處理。
關於中繼功能是免費的這件事,EOS 官方支援也有明確說明。
the EOS P2P interface handles NAT punchthrough and relay servers automatically and for free
也就是說,整體結構大概是這樣。

Epic 把為了 Fortnite 建立的龐大基礎設施,免費對外開放,這就是 EOS。
所以擴充成本其實是由 Epic 方面吸收了。對開發者來說,就算同時連線達到 20 萬人,自己的荷包也不會痛,說的就是這樣。
EOS 全部免費。看起來沒有像按量計費那種「方案」。
而且不只是上架到 Epic Store 的遊戲,Steam 或其他平台也都能免費使用,真的很厲害。
我自己之後如果也想做需要線上配對的遊戲,應該也會試著用看看。
如果到了想要做更細緻的自家最佳化、或想把所有資料都掌握在自己手上的規模,最後還是得考慮自建伺服器,但對個人到中小規模來說,免費帶來的好處感覺還是壓倒性更大。
我一開始腦補的那種「中央集權 + 一整群遊戲伺服器」架構,是一種規模一大,成本就跟著直接上升的設計。
當然,像電子競技這類很重視公平性的情境,P2P 可能不夠用,也不能一概而論地說它不好;但對《超級變色龍》這類派對遊戲來說,這次的架構可以說是最適合的。
如果是工作上要大規模做宣傳,從一開始就預期會有數十萬人湧入,因此願意先投入資金,那麼我一開始腦補的專用伺服器架構也不是不行。
但如果是個人開發,情況就不同了,即使爆紅也不會破產、即使沒爆紅固定成本也幾乎沒有,能不能選到這樣的架構,我覺得這件事真的再次顯得很重要。
看了直播之類的內容後突然很想玩,所以我也打算買來試試看!
也祝大家都能擁有美好的《超級變色龍》人生。