本文從產(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)買(提供部分免費(fèi)游戲)正林,分辨率可達(dá)4K@60FPS
Stadia Base 免費(fèi),游戲需單獨(dú)購(gòu)買(無(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芥永;畫質(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(類似互動(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種投票類型:
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)鍵盤鼠標(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)游戲畫質(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 集成旬牲,低硬件門檻收割「大眾」流量
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