技術篇
其實在和華為云深度合作之前,Cocos 的云游戲已經有自己的視頻流云游戲完整解決方案了。但華為云的技術獨特性實在太有吸引力了:他們是業界「唯一」提供自研鯤鵬芯片和企業級泰山服務器的方案商,在系統底層技術上和 Cocos 的技術方案非常契合與互補,具備更大的競爭優勢。因此 Cocos 和華為云早在2018年底就建立聯合項目組,共同開發云游戲方案,目前已經成功完成了基于華為云服務器到安卓容器的視頻流方案,可將安卓游戲跑在華為云服務器上。而且有別于 ARM 開發板陣列的其他云游戲方案,華為云服務器的可靠性、可擴展性以及性價比都會更優。華為云的整個技術架構簡單、干凈、高效,符合技術審美。
看一下華為云發布出來的架構圖:
在 PC 云游戲方面,華為云已經和網易逆水寒合作起來了,有網易在前面鋪路,我們自然可以放心地直接使用;而在安卓云游戲方面,華為云有著獨門秘籍「指令流」技術。指令流是一個非常有創新性的方案:在云端獲取游戲的 OpenGL ES 渲染指令,然后下傳到手機上,手機端接包之后,就用手機終端的 GPU 把這些指令渲染出來。這樣做的好處是可以讓手機端承載一定的運算量,從而降低云端的壓力和成本,也可以在已有的大量不帶顯卡的 ARM 服務器上直接運行。
而在指令流之外,還有另外一套技術路線就是仍然走視頻流。此次 Cocos 和華為云的聯合發布,我們承擔了其中安卓視頻流的研發工作,讓整個方案在 4G 環境下也能流暢跑起來。
上面這段視頻,演示了我們在 4G 網絡僅用 500~700 KBPS 的下行速度,就能以 720p、30 fps 的質量在王者榮耀里面嗨皮,愉快地拿下五殺 …… 抱歉,游戲中的后羿同志太緊張了,忘記及時升級技能,結果僅拿下四殺,最后被對方絲血反殺了。在視頻里可以看到,游戲的整體延遲控制在 60 毫秒以內,絲毫不影響電競體驗。如果不是屏幕左側輸出大量的調試信息,其實看畫面清晰度和流暢性,于原生游戲無異了。
其實處理王者榮耀的流化,還不算最難的。我們來看看更高難度的技術挑戰:國內第一款用虛幻引擎制作的手游 MMO 《天空之門》
為什么用虛幻引擎的游戲,不用 Unity 或自家 Cocos 的游戲呢?因為虛幻游戲最吃性能啊,虛幻游戲搞定之后,其他游戲引擎的作品就更不在話下了。在上面這段視頻中,我們用 1080p 30 fps 的速度流化這款游戲,我可以流暢地參加 Boss 戰、玩 free for all 的大亂斗拿下超神。而我用來進行錄制視頻的這臺手機,如果直接進《天空之門》手機原生版,會被游戲自動判定為需要開啟「低畫質、性能優先」的老款機型,得到的游戲體驗反而不如用云游戲方式來玩了。
以上是 Cocos 云游戲方案,今天達到的技術水平。
行業篇
對于長期使用 Cocos 引擎的朋友一定會問:你們不是做引擎的嗎,和云游戲有什么關系?
提這個問題的朋友,一定會很熟悉 Cocos 的目標:讓游戲開發更簡單。這個 Slogan 我們已經用了七八年,而在去年我們基于引擎的技術優勢和生態游戲,推出小游戲 Runtime 服務于眾多平臺客戶的那一刻開始,我們就把公司使命修改為:「以技術推動數字內容產業的效率提升」,其實這也是 Cocos 團隊多年一直在做的事情。 從 Cocos 團隊成立不久,就一直在研究「讓游戲點開即玩」的技術方案,希望在提高分發效率上有所成就,就始終沒消停過,所以:
2011 年,Cocos2d-x 引擎首創了手游熱更新技術,可以讓玩家在更短時間進入游戲
2012 年,我們和谷歌合作,立項 Cocos2d-HTML5 引擎
2014 年,我們推出了 Cocos Play 方案,當時的合作伙伴應該還記得,我們采用了非常復雜的系統注入技術,讓 APK 可以在不加修改的情況下分包加載
2015 年,我們推出了為 HTML5 游戲加速的 Cocos Runtime,一直到 2018 年小游戲爆發,Cocos Runtime 現在正服務于各家硬核手機廠商和大量流量 APP。
2019 年,Runtime 始終還是只能承載中輕度游戲,如果要跑大型游戲呢?目前所有技術方案里放眼看去,就只有云游戲能解決這個問題了。
在「提高開發效率」這件事情上,Cocos 已經干成過兩次了:第一次是手游,第二次是小游戲;