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