本文從產(chǎn)品功能,技術(shù)實(shí)現(xiàn)痪蝇,基礎(chǔ)設(shè)施等方面分析Google Stadia云游戲薪缆。
1 Google Stadia 基本情況
狀態(tài)
2019-3月 GDC大會(huì)發(fā)布
2019-11月上線渔呵,首批上線14個(gè)國(guó)家:美國(guó)、加拿大柜砾、英國(guó)、法國(guó)换衬、德國(guó)痰驱、意大利、西班牙瞳浦、荷蘭担映、比利時(shí)、愛(ài)爾蘭叫潦、丹麥蝇完、瑞典、挪威矗蕊、芬蘭
價(jià)格
Stadia Pro $9.9/月短蜕,游戲需單獨(dú)購(gòu)買(mǎi)(提供部分免費(fèi)游戲),分辨率可達(dá)4K@60FPS
Stadia Base 免費(fèi)拔妥,游戲需單獨(dú)購(gòu)買(mǎi)(無(wú)免費(fèi)游戲)忿危,分辨率1080P@60FPS
外設(shè)與接入方式
手柄(Stadia Controller)操控,可插入耳機(jī)没龙,帶麥克風(fēng)铺厨,振動(dòng)反饋
多端接入:手機(jī): Stadia App(Android, iOS)缎玫,PC: Chrome瀏覽器,TV: Chromecast
網(wǎng)絡(luò)準(zhǔn)入條件
分辨率720P@60FPS起解滓,帶寬要求10Mbps赃磨;最大4K@60FPS,帶寬要求35Mbps洼裤;畫(huà)質(zhì)可隨網(wǎng)速提升而平滑提升
提供測(cè)速服務(wù)(https://projectstream.google.com/speedtest)邻辉,由合作伙伴MLab提供服務(wù)
完善中的功能
Google Assistant
Stream Connect(2020.7已灰度)
State Share
Crowd play(2020.7已灰度)
Staida給游戲產(chǎn)業(yè)帶來(lái)新模式
玩游戲更有趣:即玩、Staida分享到Y(jié)ouTube腮鞍、Staida喚起YouTube游戲指南或提示值骇、從YouTube進(jìn)入游戲
游戲分發(fā)渠道更寬廣:超鏈接分發(fā),無(wú)需綁定Store
游戲創(chuàng)作更簡(jiǎn)單:提供游戲創(chuàng)作輔助工具
Stadia控制器在頂部具有兩個(gè)獨(dú)特按鈕:一個(gè)用于Google智能助理移国,另一個(gè)用于屏幕捕捉吱瘩。它們以清晰的白色圖標(biāo)呈現(xiàn)在光滑的黑色表面上。捕捉按鈕用于盡可能輕松和無(wú)摩擦地與YouTube共享迹缀,而助手包含在那里幫助游戲玩家在YouTube上找到指南或提示使碾,而無(wú)需離開(kāi)他們的游戲會(huì)話。
2 Stadia 商業(yè)目標(biāo)
Stadia的商業(yè)目標(biāo)有兩部分:
- 通過(guò)云游戲作為切入祝懂,嘗試做游戲票摇,成為一家游戲公司
- 為YouTube引流,將云游戲流量引入YouTube
第一個(gè)目標(biāo)是長(zhǎng)期目標(biāo)砚蓬,不確定性較大矢门。第二個(gè)目標(biāo)是短期目標(biāo),從當(dāng)前Stadia產(chǎn)品設(shè)計(jì)怜械、以及人事調(diào)動(dòng) Justin Uberti宣布離開(kāi)Google Duo項(xiàng)目 現(xiàn)擔(dān)任Google Stadia首席工程師 都可以明確推導(dǎo)出來(lái)颅和。
3 Google Stadia 技術(shù)棧
谷歌Stadia技術(shù)棧,支撐存量游戲云化缕允、原生云游戲開(kāi)發(fā)兩個(gè)場(chǎng)景峡扩。
存量游戲云化:Stadia SDK與游戲云化工具。
原生云游戲開(kāi)發(fā):Project Chimera障本、GameBus等教届。
4 Stadia SDK:游戲集成SDK實(shí)現(xiàn)Stadia游戲特有功能
游戲集成Stadia SDK實(shí)現(xiàn)Stadia游戲特有功能:Click to Play、Crowd Play驾霜、Crowd Choice案训、State Share、Assistant粪糙。由于未申請(qǐng)通過(guò)Stadia開(kāi)發(fā)者强霎,沒(méi)能獲取到SDK包。
Stadia SDK: Click to Play
Stadia Streamer基于WebRTC實(shí)現(xiàn)游戲串流蓉冈,在有瀏覽器的設(shè)備上都可以玩云游戲城舞。
Click to Play: 在觀看YouTube視頻時(shí)候轩触,可以通過(guò)一個(gè)按鈕進(jìn)入游戲體驗(yàn)游戲
Click to Play: 通過(guò)鏈接分享游戲到社交網(wǎng)站(Twitter, Reddit等),其他人點(diǎn)開(kāi)鏈接即玩
Stadia SDK: Crowd Play
Crowd Play(類(lèi)似互動(dòng)直播) 玩法:觀眾觀看游戲時(shí)候可加入游戲家夺,作為主播的隊(duì)友或?qū)κ纸巧?/p>
Crowd Play原理:主播開(kāi)啟Crowd Play脱柱,觀眾點(diǎn)按鈕加入游戲,游戲通過(guò)Stadia SDK獲取新加入的玩家拉馋。
Crowd Play 游戲集成方法:在游戲包里通過(guò)標(biāo)記位控制是否開(kāi)啟Crowd Play(怎么配置榨为??)
游戲支持Crowd Play煌茴,需要先支持Multi Player模式随闺,并使用Stadia SDK從Stadia獲取玩家加入、離開(kāi)的事件
Stadia SDK: Crowd Choice
使用方法:觀眾通過(guò)投票影響游戲內(nèi)容景馁,包括選擇主播使用的武器板壮、選擇游戲中的NPC(非玩家角色)等逗鸣。
4種投票類(lèi)型:
Multi Choice 多選
Tug-of-War 兩個(gè)選項(xiàng)選一個(gè)
Crowd Boost 一個(gè)選項(xiàng)
Chat 可定制對(duì)話內(nèi)容合住,20+選項(xiàng)
Crowd Choice 游戲集成方法
Stadia SDK: State Share
使用方法: 玩家在YouTube上找到玩家分享的游戲,可以進(jìn)入到分享時(shí)的狀態(tài)繼續(xù)玩撒璧。
原理:玩家上傳帶狀態(tài)元數(shù)據(jù)的視頻到Y(jié)ouTube透葛、或使用Stadia直播游戲;觀眾找到視頻可進(jìn)入游戲卿樱;游戲讀取視頻元數(shù)據(jù)僚害,進(jìn)入指定狀態(tài)(如關(guān)卡)。
游戲集成方法
Stadia SDK: Assistant
使用方法:手柄按下Assistant按鈕繁调,說(shuō)出問(wèn)題(如怎樣擊敗這個(gè)Boss萨蚕?),Assistant會(huì)搜尋出一個(gè)教學(xué)視頻
Assistant 工作原理:游戲通過(guò)Stadia SDK上報(bào)游戲場(chǎng)景對(duì)應(yīng)的標(biāo)簽蹄胰,給視頻流打標(biāo)簽
Assistant 游戲集成方法
Stadia Streamer:構(gòu)建在WebRTC之上
WebRTC架構(gòu)現(xiàn)狀
Stadia 場(chǎng)景下WebRTC架構(gòu)
Stadia場(chǎng)景下WebRTC修改點(diǎn)(對(duì)外接口未發(fā)生變化)
- 音視頻采集由攝像頭岳遥、麥克風(fēng)變?yōu)镚PU、聲卡
- Codec采用VP9編碼
- 增加Rate Adaptation裕寨,協(xié)同編碼與傳輸
- 支持C/S模式
- 傳輸協(xié)議使用QUIC替換
為什么谷歌選擇WebRTC
- 游戲免安裝浩蓉,通過(guò)Chrome即可玩,支撐云游戲跨終端推廣目標(biāo)
- WebRTC定位是超低時(shí)延(half-second)實(shí)時(shí)音視頻流傳輸協(xié)議
- 增強(qiáng)WebRTC生態(tài)
為什么需要WebRTC Over QUIC
- 簡(jiǎn)化WebRTC協(xié)議棧
- QUIC優(yōu)勢(shì):零RTT建鏈宾袜、改進(jìn)的擁塞控制捻艳、多路復(fù)用、連接遷移庆猫、前向冗余糾錯(cuò)
Stadia GameBus:原生云游戲引擎
GameBus兩個(gè)功能:分布式游戲引擎认轨;Stadia多實(shí)例級(jí)聯(lián),實(shí)現(xiàn)大型多人在線游戲月培。
GameBus是一個(gè)分布式架構(gòu)的游戲引擎嘁字,分布式架構(gòu)的優(yōu)勢(shì)是可以容易橫向擴(kuò)展昨稼,如物理系統(tǒng)算力增強(qiáng)、使用云端強(qiáng)大的AI算力實(shí)現(xiàn)更有趣的NPC角色拳锚。
通過(guò)GameBus級(jí)聯(lián)多個(gè)Stadia實(shí)例假栓,實(shí)現(xiàn)大型多人在線游戲。
Stadia Playability Toolkit:云游戲測(cè)試霍掺、調(diào)優(yōu)工具集
Stadia 為游戲云化提供一系列工具
- Chrome Test Client(Network Simulator, Frame Capture)
- Stream Profile API
- Media Stream API
- Stream Capabilities API
- Frame Token API
- Video Diff
- Smoothness View
5 Google Stadia 網(wǎng)絡(luò)帶寬要求與串流時(shí)延
玩Stadia云游戲網(wǎng)絡(luò)帶寬要求
720P@60FPS帶寬10Mbps匾荆,1080P@60FPS 20Mbps帶寬,4K分辨率則要求35Mbps帶寬杆烁。如果帶寬達(dá)不到要求牙丽,則可能會(huì)出現(xiàn)卡頓或花屏(Stadia在編碼與傳輸自適應(yīng)上做了不少工作以保障流暢度)。
第三方評(píng)測(cè)的時(shí)延數(shù)據(jù)
通過(guò)Stadia玩游戲兔魂,與本地游戲比較烤芦,串流時(shí)延平均在40~90ms之間。
- Stadia PC對(duì)應(yīng)鍵盤(pán)鼠標(biāo)輸入
- Stadia TV對(duì)應(yīng)手柄輸入
- 第二個(gè)游戲在TV上延遲特別高析校,作者也不清楚原因构罗,延遲高,但是不卡頓智玻。
Stadia Streaming(串流)技術(shù)棧
Google Stadia通過(guò)全球骨干網(wǎng)就近接入遂唧、定制云游戲主機(jī)、優(yōu)化編解碼器吊奢、優(yōu)化傳輸協(xié)議盖彭,實(shí)現(xiàn)游戲畫(huà)質(zhì)4K@60FPS,操作響應(yīng)時(shí)延150ms的目標(biāo)页滚。
編解碼與傳輸協(xié)議
- VP9編碼格式: 更高的壓縮比
- 定制AMD GPU召边,4K@60FPS編碼(后續(xù)支持8K@120FPS)
- WebRTC Over QUIC:低時(shí)延傳輸協(xié)議,BBR擁塞控制
- 編碼與傳輸協(xié)同:根據(jù)網(wǎng)絡(luò)質(zhì)量實(shí)時(shí)調(diào)整編碼參數(shù)(碼率裹驰、分辨率隧熙、幀率等),保障游戲流暢體驗(yàn)
游戲主機(jī)
- CPU: X86處理器邦马,2.7GHz; Mem: 16G; GPU: AMD V340 16GB;
- 圖形API:Vulkan
- Linux操作系統(tǒng)
全球部署
- Edge POP點(diǎn)就近接入
- 不確定Stadia服務(wù)器最終是否部署到Edge POP
Reference
1
Google Stadia:與 YouTube 集成贱鼻,低硬件門(mén)檻收割「大眾」流量
Google Stadia是YouTube的未來(lái),而不是游戲的
Google 新設(shè) Stadia 游戲工作室滋将,由前圣莫尼卡工作室負(fù)責(zé)人領(lǐng)導(dǎo)
Google Stadia 首發(fā)評(píng)測(cè)匯總:云游戲不是夢(mèng)邻悬,但谷歌會(huì)讓你望而卻步
2
How YouTube Paved the Way for Google's Stadia Cloud Gaming Service
3
Project-Chimera-Googles-Next-Big-Thing
4
how-the-youtube-era-made-cloud-gaming-possible
Who needs QUIC in WebRTC anyway?
在基于WebRTC的實(shí)時(shí)流系統(tǒng)中使用QUIC
High Performance Browser Networking WebRTC
更多云最佳實(shí)踐 https://best.practices.cloud