在線游戲平臺,通過瀏覽器直接玩大型3D游戲,無需安裝任何客戶端。
它的原理是,將游戲的運行計算放到服務(wù)器端,獲得游戲的媒體流,通過流媒體以電影的形式在客戶端播放,客戶端將用戶的控制指令發(fā)送到服務(wù)器端,由服務(wù)器計算執(zhí)行。
它最終將成為一個開放式多媒體互動平臺,包括SNS,電子競技互動,視頻互動等。
google全球有超過20W臺server,參照google的server配置,如果我們以10臺server為單位,組建無盤工作站集群,我們一臺server的成本最多是他們的一半
目前全球可搜索到的有2家公司在做這個在線游戲平臺,他們已經(jīng)差不多做好了,處在內(nèi)部測試階段,并有視頻,根據(jù)他們的測試結(jié)果,只需要1.5m的帶寬,就可以很流暢的玩普通畫質(zhì)游戲,高清畫質(zhì)也只需要4-5m的帶寬,而未來5年,國內(nèi)將普及光纖入戶。
在線應(yīng)用平臺包含3個部分:
- 客戶端瀏覽器
- web服務(wù)器
- 應(yīng)用平臺服務(wù)器
客戶端瀏覽器
基于瀏覽器的應(yīng)用客戶端,也是媒體流接收端,用于向服務(wù)器發(fā)送應(yīng)用請求,獲得媒體流請求ID,向媒體服務(wù)器發(fā)送請求,獲得相應(yīng)的媒體流。
WEB服務(wù)器
將客戶端對應(yīng)用的請求轉(zhuǎn)發(fā)至應(yīng)用平臺服務(wù)器,獲得媒體流ID,發(fā)送給客戶端,并用session控制其聲明周期
應(yīng)用平臺服務(wù)器
應(yīng)用平臺服務(wù)器是一個服務(wù)器群,包含三個部分:控制器群組,應(yīng)用服務(wù)器群組,媒體流服務(wù)器群組,以一個游戲服務(wù)平臺為例子:
控制器服務(wù)器群組
接收游戲?qū)嵗恼埱螅瑢τ螒驅(qū)嵗土髅襟w的生命周期進行管理。
游戲服務(wù)器群組
提供游戲?qū)嵗?br />
媒體流服務(wù)器群組
響應(yīng)客戶端的媒體流請求
以魔獸世界為例,流程圖如下:
- 瀏覽器向網(wǎng)站服務(wù)器發(fā)送要玩魔獸世界的請求,網(wǎng)站服務(wù)器生成session,并做一些必要的記錄;
- 網(wǎng)站服務(wù)器向游戲控制器發(fā)送魔獸世界的請求
- 游戲控制器從媒體流服務(wù)器群組中找到最合適的服務(wù)資源,生成一個唯一媒體流請求ID,并將這個ID與魔獸世界綁定
- 游戲控制器將ID返回給網(wǎng)站服務(wù)器
- 客戶端從網(wǎng)站服務(wù)器得到媒體流請求ID
- 客戶端跳轉(zhuǎn)到視頻播放頁面,將媒體流請求ID發(fā)送至媒體流服務(wù)器
- 媒體流服務(wù)器接收到請求ID后,將該ID發(fā)送給游戲控制器
- 游戲控制器根據(jù)請求ID,在游戲服務(wù)器群組中找到最合適的計算資源,并創(chuàng)建魔獸世界實例
- 游戲服務(wù)器將游戲?qū)嵗a(chǎn)生的媒體流直接從顯卡獲得并發(fā)送給媒體流服務(wù)器
- 客戶端獲得媒體流服務(wù)器發(fā)來的媒體數(shù)據(jù)
第一階段測試計劃
游戲服務(wù)器端測試方案:
1,運行一個很小的游戲,將它的視頻和音頻寫成文件,保證它可以播放
2,將視頻和音頻以流的形式發(fā)送給媒體server,通過網(wǎng)頁以電影的形式播放
3,在瀏覽器端加入控制功能,最后實現(xiàn)通過網(wǎng)頁玩那個小游戲
媒體服務(wù)器端測試方案:
1,搭建媒體服務(wù)器,創(chuàng)建媒體播放頁面
2,將一個媒體文件放入指定目錄,并可以播放它
3,寫一段測試代碼,將媒體文件以流的形式讀取,并寫入到媒體服務(wù)器中,使它能夠被播放
本階段為技術(shù)測試階段,為整個項目打開一個入口點