Google Play Game Services完全解密
編按:
隨著Apple與Google的加入,遊戲產業的發展已經呈現完全不同的面貌,其技術面的競爭亦進入全新的世代。U-3C特別邀請arcalet創辦人陳鵬光先生,為線上遊戲產業的技術競爭,以專業的角度,進行評論,讓讀者能進一步理解這場全新的遊戲競賽。
陳鵬光先生長期耕耘網路產業,專精於伺服系統的開發與建置。arcalet.com是其最新的產品,能讓遊戲開發者在不需架設伺服器、不需撰寫網路程式下,製作與發行網路遊戲,提供創新的網路遊戲經營平臺。
Google Play Game Services將社交遊戲平臺競爭推向高峰
自從3年前Apple發表Game Center引爆社群遊戲戰火以來,各國大大小小廠商也推出類似的服務,想要分食這塊大餅,零星戰火就像打游擊似的此起彼落,戰況異常熱鬧,直到日前Google正式推出《Google Play Game Services》,終於將這場戰爭推向最高峰。
一般來說,社交遊戲平臺提供的服務不外乎如下:
社群帳號簽入
配對服務
積分板與成就系統
雲端儲存
而Google Play Game Services當然也不例外,不過Google卻出了一記猛招,推出「Real-time Multiplayer」服務,想要拉大與競爭對手的距離,但是這也造成更多開發者的混淆:「這就是傳說中製作Online Game所需的Server嗎?」。而看熱鬧的鄉民們更是一片叫好,紛紛口耳相傳,有了Google、接下來就是等著更多的Online Game大作問世囉!
事實真是如此嗎?讓我們繼續看下去。
為了尋找真相,我們在Google官方文件「Real-time Multiplayer guide」中找到了實現更多人連線的程序,總共有以下階段:
簽入〈Player sign in phase〉
初始化〈Room initialization phase〉
邀請〈Invitation acceptance phase〉
進入〈Participant connection phase〉
玩遊戲〈Gameplay phase〉
結束〈Room closure phase〉
看到這裡,我約略明白Google所使用的Networking策略了!
在鉅量多人連線的世界裡,想辦法把玩家分組再集合到固定的地方,是避免資料交換效率不彰的必要法門,但這麼做也是造成玩家同場競技人數限制的天塹,不過沒關係,對方是Google大神,它一定想過這個問題,也一定解決了這個問題〈至少一開始我是這麼想的〉。
然而我很快就失望了,因為Google說:在「Participant connection phase」階段,加入同一房間的玩家們都會跟其他玩家建立P2P連線。我們都知道,建立一組P2P連線必須經過繁複的NAT穿透程序〈又稱為NAT Punch〉,更何況任兩位玩家都得要建立P2P連線,這絕不是秒殺的過程。而接下來的「Gameplay phase」階段,P2P更是無法勝任多人連線遊戲的需求,如果要問為什麼,除了另外寫一篇專文詳細說明外,就只能套句星爺說過的話:「P2P不是這樣用的!」
沒錯!就在Google發表Play Game Services的同時,Google+也公告即將在6月30日停止遊戲服務,公告的最下方還特別簡介在Google Play Game Services,就在這裡Google很清楚的告訴開發者,它只能支援最多4人同時連線,不知為什麼,這項訊息在Google Play Game Services網站是看不到的。
目前社交遊戲平臺上的多人連線遊戲,其背後的遊戲伺服器都不是社交遊戲平臺提供的,Google這次發表的Real-time Multiplayer功能,似乎也想要提供更完整的服務,為此Openkit大為緊張,立刻發出一封公開信,強調Openkit的開放架構,有興趣的讀者可以參考這裡。
結論
這場戰爭已由Google開打,後續發展如何,我們相當關心,但是在這之前,我們想要告訴大家,手機MMOG〈大型多人線上遊戲〉的時代已經來臨,打造手機跨平臺多人連線遊戲已是刻不容緩的事,如果不想等待,可以試試這個平臺,微型團隊或是獨立開發者千萬不要妄自菲薄地認為MMOG都是大公司的專長,我們殷切期盼您們的大作。
相關與參考連結:
Google官方文件「Real-time Muluplayer guide」
Google+遊戲有何異動
Openkit針對Google Play Game Services的公開信