0
中國的游戲公司在出海大潮中走得比較早,游戲成為了其出海業(yè)務(wù)重要的營收來源,加之游戲流量持續(xù)增長,技術(shù)的發(fā)展加速和出海區(qū)域的需求差異,企業(yè)會面臨各種各樣的技術(shù)挑戰(zhàn)。
如何尋找到一套合適的解決方案?
全球CDN領(lǐng)域的鼻祖與巨頭Akamai本身不直接發(fā)行游戲,但是其技術(shù)涉及游戲的方方面面,從原型設(shè)計到測試再到運維與迭代。
作為Akamai大中華區(qū)媒體事業(yè)部高級售前技術(shù)經(jīng)理,劉燁對游戲出海有著自己深刻的理解。
下圖為Akamai觀察到的過去一段時間中互聯(lián)網(wǎng)流量的增長情況(從2004年一直到現(xiàn)在在Akamai平臺上出現(xiàn)的流量峰值)。
今年流量峰值的出現(xiàn),是因為體育賽事和游戲發(fā)布的疊加,最終達到167 Tbps的數(shù)量級。今年其實連續(xù)突破了兩次技術(shù),年初時因為《使命召喚》的發(fā)布流量先是到了125 Tbps,緊接著因為期間有其它的游戲發(fā)布和體育賽事的直播,流量最終到了167 Tbps。
仔細研究整個Akamai平臺上觀測到的流量發(fā)展趨勢,可以看到,在2016年之前,所有流量峰值全部都是由“直播事件”所帶來的。但是從2016年以后,所有峰值可能都來自于游戲下載或者游戲下載和賽事直播事件的疊加。
雷鋒網(wǎng)注意到,一個特別典型的趨勢:互聯(lián)網(wǎng)上大的事件、流量的高峰,會推動互聯(lián)網(wǎng)帶寬的不斷增長,從原來視頻驅(qū)動向現(xiàn)在的游戲驅(qū)動。
在過去一年的數(shù)據(jù)中,Steam游戲平臺在4月份達到了前所未有的峰值。可以看到,Steam上的并發(fā)用戶數(shù)從3月起就極劇增長,因為很多國家開始了封鎖政策,所以更多的人需要在家辦公。
原來的酒吧或外部娛樂的形式都被取消了,所以游戲變成大家主要的娛樂方式。從這種主流的游戲平臺可以看到,流量在4月時已達到了前所未有的峰值,而這個變化從今年3月份開始就出現(xiàn)了。
Akamai面對這種流量增長的趨勢,在游戲行業(yè)中通常會做什么呢?
劉燁對雷鋒網(wǎng)等提及了Akamai被外人津津樂道的兩個地方:
一是Akamai全球節(jié)點覆蓋超過了130個國家,在幾千個機房里都有節(jié)點。企業(yè)要“出海”,無論目標(biāo)市場是北美、日韓這種主要的發(fā)達地區(qū),還是中東、東南亞這些不那么發(fā)達的地區(qū),用了Akamai的服務(wù)就無需擔(dān)心節(jié)點的覆蓋、可以保證全球數(shù)據(jù)同步傳輸?shù)囊恢滦裕?/span>
二是游戲行業(yè)一直是特別易于被攻擊的行業(yè),Akamai提供了非?!敖选钡陌踩a(chǎn)品,可以依托Akamai智能邊緣平臺保證游戲發(fā)布的安全性。
上述兩點是最多被游戲客戶提到的跟Akamai合作的原因。
Akamai在游戲行業(yè)做哪些事?
如果按照整個游戲的生命周期,Akamai在游戲行業(yè)到底能做哪些事情?
劉燁表示,其實遠遠不止他前面所提到的兩方面。
具體來看,游戲從開發(fā)到運維分為5個階段,在這5個階段,其實都有Akamai的解決方案和產(chǎn)品,特別是在全球化的過程中:
第一,概念設(shè)計。Akamai會去考慮:一個游戲要發(fā)布到哪些區(qū)域?游戲的內(nèi)容是什么?受眾是什么?競品是什么?
第二,原型階段。當(dāng)知道了要做一個什么樣的游戲,就要試著從一個關(guān)卡開始把整個原型都制作出來。游戲原型制作出來后,可以看到游戲是怎么樣玩的、用戶的體驗是什么樣子、通關(guān)的難易程度如何。
第三、測試階段。該階段包含“封測”、“內(nèi)測”、“公測”3個步驟。這個階段驗證游戲玩起來的體驗。后期會在網(wǎng)上招募更多的外部用戶參與到測試中,確定游戲在發(fā)布的過程中是否會有太多Bug以及是否能夠承受公眾訪問的壓力。
第四、發(fā)布階段。該階段是最重要的階段,游戲公司在這個階段會提前買量確定發(fā)布的渠道、確定發(fā)行公司在目標(biāo)區(qū)域的發(fā)行。
第五、迭代階段。發(fā)行成功以后,游戲?qū)⑽絹碓蕉嗟母顿M用戶,游戲隨之進入到運維迭代階段。游戲公司會按期發(fā)補丁、確保游戲不斷改善、讓玩家持續(xù)產(chǎn)生興趣。
這是AT&T在兩年前做的“全球互聯(lián)網(wǎng)骨干示意圖”,不同的顏色代表全球不同的骨干網(wǎng)運營商。因為骨干網(wǎng)運營商分布在不同的區(qū)域,基礎(chǔ)設(shè)施的建設(shè)也不一樣。相對來講,互聯(lián)互通、基礎(chǔ)設(shè)施、ISP的數(shù)量非常復(fù)雜,那么,就造成了全球互聯(lián)網(wǎng)的性能并不均勻。
當(dāng)游戲廠商在一開始考慮游戲到底要發(fā)布到哪些區(qū)域、受眾是哪些區(qū)域玩家的時候,其實他們要考慮骨干網(wǎng)上不同的連接速度。
以某一個月的網(wǎng)絡(luò)連接速率為例,北美、加拿大可以達到每秒鐘速率是68 Mbps,南美、歐亞的一些國家,基本上是20-30 Mbps這樣的速率,不同地區(qū)差異仍然非常大。
所以當(dāng)發(fā)布游戲在這些特定區(qū)域的時候,游戲廠商怎么考慮設(shè)定美工、設(shè)定包體的大小,然后發(fā)到這些區(qū)域,需要在一開始游戲設(shè)計階段就要考慮到。
Akamai承載了互聯(lián)網(wǎng)上非常大比例的流量,可以提供一些真實的數(shù)據(jù),能看到各運營商、各國家、各地區(qū)的網(wǎng)絡(luò)連接速度和可用性。這些數(shù)據(jù)不是一個采樣數(shù)據(jù),而是真實用戶數(shù)據(jù),是在一個運營商中所有的用戶連接速度綜合形成的數(shù)據(jù)。
當(dāng)游戲客戶表示“現(xiàn)在要出海到越南,能否知道越南某一個運營商可用性是什么樣子”,Akamai在游戲的設(shè)計階段、原型階段,其實就可以告訴準(zhǔn)備“出海”的客戶在不同的國家網(wǎng)絡(luò)真實的性能是什么樣子。這與第三方測速工具有些不太一樣,因為這些都是真實的數(shù)據(jù),“測速工具”更多是用測試服務(wù)器采樣得出的。
當(dāng)設(shè)計游戲中的“對戰(zhàn)”時,勢必對延時要求比較高,游戲廠商應(yīng)該考慮未來服務(wù)器和源站應(yīng)該如何部署。
Akamai提供了一個全球網(wǎng)絡(luò)優(yōu)化技術(shù),這個技術(shù)可以優(yōu)化從玩家到服務(wù)器之間的這種延時。當(dāng)拿到這個數(shù)據(jù)后,游戲客戶就可以考慮如何建設(shè)自己的全球數(shù)據(jù)中心并確定是否要分服。Akamai的優(yōu)化如果可以把延時降低到一個可以接受的范圍,這樣游戲廠商可以做到全球同服或者做到某一些就近區(qū)域在一起用相同的服務(wù)器。
在游戲原型設(shè)計完成后,在考慮其中的消息傳遞時,游戲廠商也要考慮用什么樣的技術(shù)去做,因為,游戲的社交屬性越來越強了。這主要在于,游戲除了本身是一個娛樂工具,其實也是家人、朋友之間的溝通渠道。
消息傳遞通常在現(xiàn)在的游戲設(shè)計中,全部都是私有協(xié)議。私有協(xié)議的好處是效率會比較高、完全按照自己本身的方式做。不利的地方在于私有協(xié)議沒有第三方的產(chǎn)品可以看懂它,因為只有你自己能看懂。
所以,當(dāng)兩個玩家消息進行傳遞時,如果游戲的源站數(shù)據(jù)中心在離玩家500公里以外的一個地方,即便是跟玩家在同城有另外一個玩家想給他發(fā)消息,也要通過游戲服務(wù)器進行傳遞,這種情況下效率就會變低。那么如何解決?可以用一些介于HTTP跟完全的私有化協(xié)議之間的協(xié)議去做——比如MQTT。
劉燁介紹,MQTT協(xié)議最早是為了物聯(lián)網(wǎng)場景而設(shè)計,比如主人離開家后可以遠程控制智能家居設(shè)備。MQTT是為消息傳遞、廣播、通告而設(shè)計的,所以它非常適合游戲中“新玩家上線/下線/系統(tǒng)廣播/兩個玩家之間的消息傳遞”的場景。
Akamai的一些客戶在游戲設(shè)計原型階段,就在考慮把這些新的協(xié)議融入進去。如果廠商用了這種標(biāo)準(zhǔn)化的協(xié)議,那么就可以在邊緣上通過Akamai的服務(wù)器進行傳遞。
如果某玩家向北京的另外一個玩家發(fā)消息,消息就不需要到上海的數(shù)據(jù)中心去做交互然后再回來,而是Akamai作為代理幫忙進行消息傳遞,從而提高效率、降低源站負載。這個是在游戲設(shè)計里可以考慮或利用Akamai的另外一個方面。
設(shè)計完成、原型做好后,游戲廠商該準(zhǔn)備測試了。測試有很多種,其實Akamai能夠幫助游戲廠商更多地對游戲去做“壓力測試”。
“壓力測試”需要解決兩個問題:第一,模擬用戶從公網(wǎng)上不同的地方訪問游戲服務(wù)器;第二,模擬出整個游戲在玩的過程中可能會出現(xiàn)、并發(fā)數(shù)上來后出現(xiàn)的瓶頸。以RPG游戲為例,玩家要通過一開始的注冊、選服、創(chuàng)建角色、登錄游戲、進入場景、開始任務(wù),所有的階段要綜合去看“到底哪一塊可能會成為游戲的性能瓶頸。
有些游戲公司通常都是自己寫一些機器人程序幫忙運行這些場景,然后再決定壓力出現(xiàn)的地方。Akamai其實有一個產(chǎn)品專門進行基于“云”的壓力測試。該產(chǎn)品可以通過腳本提前的錄制來模擬場景,也可以在公有云上按需啟用這些資源,所以能較準(zhǔn)確地模擬公網(wǎng)上大規(guī)模的訪問,而且定位瓶頸出現(xiàn)的因素和地方。這可以幫助游戲廠商在上線前知道游戲服務(wù)器、游戲運行過程中是否還有瓶頸、是否可以面對大量的公網(wǎng)訪問。
在發(fā)行游戲環(huán)節(jié),Akamai也有專門產(chǎn)品。
當(dāng)一個游戲或應(yīng)用剛上線時會有特別大的并發(fā)訪問,對于游戲廠商的源站、數(shù)據(jù)中心壓力較大。所以Akamai專門設(shè)計了一個產(chǎn)品,叫Cloud Wrapper,在源站前作為一個存儲或類似源站的產(chǎn)品,減少對于源站的請求數(shù),幫助源站支撐更多的用戶。然后再通過Akamai全球分布式、非常強壯的網(wǎng)絡(luò)把游戲內(nèi)容分發(fā)到各個地區(qū)。這個是當(dāng)游戲廠商發(fā)布新游戲時,Akamai起到幫助的地方。
上線以后再進行日常的維護工作,包括:升級、發(fā)布補丁。作為一個售前咨詢的部門,其實劉燁和他的團隊在做的一個事情是即便游戲上線后進入了日常維護階段,仍然去看游戲可以優(yōu)化的地方。
比如在登陸的過程中,登陸的速度快與慢是不是可以優(yōu)化?游戲中的促銷信息圖片是不是可以優(yōu)化?它的彈出速度如何?它的用戶體驗如何?它是不是玩家看到的是一張白圖慢慢才渲染出來?那這時間要有多久?這些其實都是可以優(yōu)化的地方。
總體而言,在劉燁看來,在整個游戲從概念設(shè)計到后面運維迭代的過程中,Akamai在每個階段都可以幫助游戲廠商去做全球化,跟廠商一起面對可能會遇到的挑戰(zhàn)。(雷鋒網(wǎng))
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。