一種以基于云端服務(wù)器進行人工智能和物理仿真計算的網(wǎng)絡(luò)游戲?qū)崿F(xiàn)方法
【技術(shù)領(lǐng)域】
[0001]
本發(fā)明涉及一種網(wǎng)絡(luò)游戲?qū)崿F(xiàn)方法,具體為一種以基于云端服務(wù)器進行人工智能和物理仿真計算的網(wǎng)絡(luò)游戲?qū)崿F(xiàn)方法。
【背景技術(shù)】
[0002]
[0003]隨著游戲行業(yè)的發(fā)展,游戲畫面和虛擬角色的行為變得越來越真實,許多游戲使用非常先進的物理引擎和人工智能(AI)引擎通過復(fù)雜的實時計算來模擬物理運動和虛擬角色的動作行為,而這些引擎都是包在游戲安裝包內(nèi)由玩家下載、安裝后隨著游戲運行在本地運行的,但這種處理方式存在如下缺陷:
1.會造成游戲安裝包越來越大,造成下載時間過長和安裝成功率低,特別是手機游戲,浪費玩家流量;
2.會使得游戲?qū)ν婕宜褂迷O(shè)備的性能要求越來越高,某些中低端設(shè)備可能無法運行游戲,或者安裝空間不夠?qū)е聼o法成功安裝,且過于消耗客戶端電能;
3.對于使用光盤來分發(fā)的游戲廠商,對于大型游戲會造成需要印制多張光盤,提高了發(fā)行和物流成本;
4.對于游戲廠商,不易于更新版本和修復(fù)客戶端bug。
[0004]為解決以上問題,本發(fā)明采用了將物理引擎、人工智能(AI)引擎從客戶端分離,部署在云端服務(wù)器,當(dāng)用戶運行游戲的時候,根據(jù)玩家客戶端當(dāng)前狀態(tài)由云端進行運算并將運算結(jié)果壓縮后實時傳輸給玩家。
[0005]經(jīng)測試,本發(fā)明在《足球大師》游戲上應(yīng)用,使得《足球大師》游戲包體積從700M減少至50M,本發(fā)明在應(yīng)用前《足球大師》游戲最低配置要求iphone5,本發(fā)明應(yīng)用后游戲可在iphone4上流暢運行,本發(fā)明應(yīng)用后比之前省電30%。
【發(fā)明內(nèi)容】
[0006]
為克服【背景技術(shù)】中現(xiàn)有技術(shù)存在的缺陷,本發(fā)明現(xiàn)提供一種以基于云端服務(wù)器進行人工智能和物理仿真計算的網(wǎng)絡(luò)游戲?qū)崿F(xiàn)方法,包括以下步驟:
步驟s1:游戲客戶端與游戲云服務(wù)端建立連接,服務(wù)器端為客戶端分配好計算所需資源并配置初始狀態(tài);
步驟s2:服務(wù)器云端開啟人工智能引擎和物理引擎計算進程進入計算循環(huán),并將計算結(jié)果實時傳輸給客戶端;
步驟s3:客戶端邏輯層將玩家在客戶端的輸入指令計算后通過網(wǎng)絡(luò)傳送到服務(wù)器;
所述人工智能引擎和物理引擎計算是在服務(wù)器端進行的。
[0007]本發(fā)明解決其技術(shù)問題的技術(shù)方案進一步還包括:
客戶端不進行復(fù)雜的物理和AI運算,服務(wù)端將運算結(jié)果發(fā)送給客戶端后,客戶端只是作為渲染引擎呈現(xiàn)運算結(jié)果。
[0008]在步驟s2中,客戶端和服務(wù)器端可通過數(shù)據(jù)壓縮/解壓縮模塊來傳輸壓縮后服務(wù)器端的計算結(jié)果數(shù)據(jù),即服務(wù)器端人工智能引擎和物理引擎的計算結(jié)果數(shù)據(jù)通過數(shù)據(jù)壓縮層傳輸?shù)娇蛻舳说臄?shù)據(jù)解壓層。
[0009]所述計算結(jié)果數(shù)據(jù)包括角色骨骼動作、角色狀態(tài)、場景內(nèi)其他物體的狀態(tài)。
[0010]在步驟s2中,所述人工智能引擎和物理引擎計算進程具體為,服務(wù)器端開啟人工智能引擎和物理引擎計算進程,然后開始按幀或按時間進入計算循壞,并把每幀或每個時間片段的計算結(jié)果實時傳輸給客戶端。
[0011]服務(wù)器端接收到客戶端的客戶端指令包括更換陣型、對戰(zhàn)策略等可能影響比賽過程和結(jié)果的玩家輸入指令。
[0012]客戶端和服務(wù)器之間至少可以通過Http、Socket等通信方式傳遞客戶端指令和服務(wù)器端計算結(jié)果。
[0013]客戶端軟件包包括游戲美術(shù)及其它資源、客戶端邏輯程序、渲染引擎程序;服務(wù)器端軟件包包括服務(wù)器端邏輯程序、角色動畫數(shù)據(jù)、角色動作模型數(shù)據(jù)、角色和其他游戲物理參數(shù)數(shù)據(jù)、人工智能引擎程序、物理引擎程序。
[0014]與現(xiàn)有技術(shù)相比,本發(fā)明所取得的有益技術(shù)效果為:本發(fā)明能夠極大減少游戲安裝包體積,降低對游戲設(shè)備的性能要求,節(jié)省客戶端電能消耗,使得游戲廠商能更快捷、更方便地發(fā)行游戲。
【附圖說明】
[0015]
[0016]圖1為現(xiàn)有網(wǎng)絡(luò)游戲客戶端與服務(wù)器其中一種結(jié)構(gòu)示意圖圖2為現(xiàn)有網(wǎng)絡(luò)游戲客戶端與服務(wù)器另一種結(jié)構(gòu)示意圖
圖3為本發(fā)明網(wǎng)絡(luò)游戲客戶端與服務(wù)器結(jié)構(gòu)示意圖圖4為本發(fā)明網(wǎng)絡(luò)游戲方法的流程圖圖5為本發(fā)明客戶端與服務(wù)端軟件包內(nèi)容的示意圖
【具體實施方式】
[0017]下面將結(jié)合附圖對本發(fā)明的內(nèi)容進行詳細的說明。
[0018]請參閱圖1、圖2,圖1為現(xiàn)有網(wǎng)絡(luò)游戲客戶端與服務(wù)器一種典型的結(jié)構(gòu)示意圖,其中人工智能(AI)引擎和物理引擎的安裝和計算都是在客戶端進行的,由于人工智能(AI)引擎和物理引擎通過復(fù)雜的實時計算來模擬物理運動和虛擬角色的動作行為,這樣會導(dǎo)致游戲安裝包越來越大,造成下載時間過長和安裝成功率低,特別是手機游戲,浪費玩家流量。圖2為現(xiàn)有網(wǎng)絡(luò)游戲客戶端與服務(wù)器另一種結(jié)構(gòu)示意圖,其采用的方式是將客戶端分離成游戲客戶端1,游戲游戲客戶端2,...,游戲客戶端n,將所有客戶端指令發(fā)送到客戶端主機,最后再通過互聯(lián)網(wǎng)連接主機,然而其人工智能(AI)引擎和物理引擎的安裝和計算仍然是在客戶端主機進行,也存在著同樣的問題。
[0019]請參閱圖3,圖3為本發(fā)明網(wǎng)絡(luò)游戲客戶端與服務(wù)器結(jié)構(gòu)示意圖,本發(fā)明將人工智能(AI)引擎和物理引擎從游戲客戶端剝離開來放置在云端,使得游戲客戶端結(jié)構(gòu)變簡單,體積變小,運行速度加快??蛻舳酥恍柽M行渲染計算和業(yè)務(wù)邏輯計算,客戶端和服務(wù)器之間通過互聯(lián)網(wǎng)傳遞客戶端指令和服務(wù)器端計算結(jié)果,通信方式可以為Http、Socket或者其他通信方式??蛻舳撕头?wù)器端之間可通過數(shù)據(jù)壓縮模塊來傳輸經(jīng)壓縮的服務(wù)器端的計算結(jié)果數(shù)據(jù),其中數(shù)據(jù)壓縮層位于云端,數(shù)據(jù)解壓層位于客戶端,這些數(shù)據(jù)包括角色骨骼動作、角色狀態(tài)、場景內(nèi)其他物體的狀態(tài)和其他相關(guān)信息。
[0020]本發(fā)明的網(wǎng)絡(luò)游戲?qū)崿F(xiàn)方法,包括以下步驟:
步驟s1:游戲客戶端與游戲云服務(wù)端建立連接,服務(wù)器端為客戶端分配好計算所需資源并配置初始狀態(tài);
步驟s2:服務(wù)器云端開啟人工智能引擎和物理引擎計算進程進入計算循環(huán),并將計算結(jié)果實時傳輸給客戶端;
步驟s3:客戶端邏輯層將玩家在客戶端的輸入指令計算后通過網(wǎng)絡(luò)傳送到服務(wù)器; 其中,人工智能引擎和物理引擎計算是在服務(wù)器端進行的。
[0021]請參閱圖4,玩家開始一局游戲時,首先客戶端與服務(wù)器端建立連接,服務(wù)器端為客戶端分配好計算所需資源并配置初始狀態(tài),服務(wù)器端開啟人工智能(AI)引擎和物理引擎計算進程,然后開始按幀或按時間進入計算循壞,并把每幀或每個時間片段的計算結(jié)果實時傳輸給客戶端,如果客戶端接收到玩家在客戶端通過鍵盤、觸摸屏、鼠標等設(shè)備輸入指令(例如更換陣型、對戰(zhàn)策略),這個指令將通過客戶端邏輯層轉(zhuǎn)譯發(fā)往服務(wù)器端,服務(wù)器端接收到指令后操作服務(wù)器端人工智能(AI)引擎和物理引擎計算新的物理狀態(tài)和虛擬角色反饋,這些計算結(jié)果將不斷地實時傳輸給客戶端,并由客戶端運行渲染引擎呈現(xiàn)到玩家設(shè)備的屏幕上,每一個計算循環(huán)中,客戶端或服務(wù)端需進行判斷是否終止循環(huán)結(jié)束游戲。
[0022]請參閱圖5,圖5為本發(fā)明客戶端與服務(wù)端軟件包內(nèi)容的示意圖,本發(fā)明客戶端軟件包包括游戲美術(shù)及其它資源、客戶端邏輯程序、渲染引擎程序;服務(wù)器端軟件包包括服務(wù)器端邏輯程序、角色動畫數(shù)據(jù)、角色動作模型數(shù)據(jù)、角色和其他游戲物理參數(shù)數(shù)據(jù)、人工智能(AI)引擎程序、物理引擎程序。
[0023]以上僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,本發(fā)明的保護范圍以權(quán)利要求為準,本領(lǐng)域技術(shù)人員在本發(fā)明的構(gòu)思下所作出的所有等同替換或者變化,均應(yīng)在本發(fā)明的保護范圍之內(nèi)。
【主權(quán)項】
1.一種以基于云端服務(wù)器進行人工智能和物理仿真計算的網(wǎng)絡(luò)游戲?qū)崿F(xiàn)方法,其特征在于,包括以下步驟: 步驟S1:游戲客戶端與游戲云服務(wù)端建立連接,服務(wù)器端為客戶端分配好計算所需資源并配置初始狀態(tài); 步驟s2:服務(wù)器云端開啟人工智能引擎和物理引擎計算進程進入計算循環(huán),并將計算結(jié)果實時傳輸給客戶端; 步驟s3:客戶端邏輯層將玩家在客戶端的輸入指令計算后通過網(wǎng)絡(luò)傳送到服務(wù)器; 所述人工智能引擎和物理引擎計算是在服務(wù)器端進行的。2.如權(quán)利要求1所述的網(wǎng)絡(luò)游戲?qū)崿F(xiàn)方法,其特征在于, 客戶端不進行復(fù)雜的物理和人工智能運算,服務(wù)端將運算結(jié)果發(fā)送給客戶端后,客戶端只是作為渲染引擎呈現(xiàn)運算結(jié)果。3.如權(quán)利要求1所述的網(wǎng)絡(luò)游戲?qū)崿F(xiàn)方法,其特征在于,在步驟s2中,客戶端和服務(wù)器端可通過數(shù)據(jù)壓縮/解壓縮模塊來傳輸壓縮后服務(wù)器端的計算結(jié)果數(shù)據(jù),即服務(wù)器端人工智能引擎和物理引擎的計算結(jié)果數(shù)據(jù)通過數(shù)據(jù)壓縮層傳輸?shù)娇蛻舳说臄?shù)據(jù)解壓層。4.如權(quán)利要求3所述的網(wǎng)絡(luò)游戲?qū)崿F(xiàn)方法,其特征在于,所述計算結(jié)果數(shù)據(jù)包括角色骨骼動作、角色狀態(tài)、場景內(nèi)其他物體的狀態(tài)。5.如權(quán)利要求1所述的網(wǎng)絡(luò)游戲?qū)崿F(xiàn)方法,其特征在于,在步驟s2中,所述人工智能引擎和物理引擎計算過程具體為,服務(wù)器端開啟人工智能引擎和物理引擎計算進程,然后開始按幀或按時間進入計算循壞,并把每幀或每個時間片段的計算結(jié)果實時傳輸給客戶端。6.如權(quán)利要求1所述的網(wǎng)絡(luò)游戲?qū)崿F(xiàn)方法,其特征在于,服務(wù)器端接收到客戶端的客戶端指令包括更換陣型、對戰(zhàn)策略等可能影響比賽過程和結(jié)果的玩家輸入指令。7.如權(quán)利要求1所述的網(wǎng)絡(luò)游戲?qū)崿F(xiàn)方法,其特征在于,客戶端和服務(wù)器之間至少可以通過Http、Socket通信方式傳遞客戶端指令和服務(wù)器端計算結(jié)果。8.如權(quán)利要求1-7任一項所述的網(wǎng)絡(luò)游戲?qū)崿F(xiàn)方法,其特征在于,客戶端軟件包包括游戲美術(shù)及其它資源、客戶端邏輯程序、渲染引擎程序;服務(wù)器端軟件包包括服務(wù)器端邏輯程序、角色動畫數(shù)據(jù)、角色動作模型數(shù)據(jù)、角色和其他游戲物理參數(shù)數(shù)據(jù)、人工智能引擎程序、物理引擎程序。
【專利摘要】本發(fā)明涉及一種網(wǎng)絡(luò)游戲?qū)崿F(xiàn)方法,具體為一種以基于云端服務(wù)器進行人工智能和物理仿真計算的網(wǎng)絡(luò)游戲?qū)崿F(xiàn)方法,包括以下步驟:步驟s1:游戲客戶端與游戲云服務(wù)端建立連接,服務(wù)器端為客戶端分配好計算所需資源并配置初始狀態(tài);步驟s2:服務(wù)器云端開啟人工智能引擎和物理引擎計算進程進入計算循環(huán),并將計算結(jié)果實時傳輸給客戶端;步驟s3:客戶端邏輯層將玩家在客戶端的輸入指令計算后通過網(wǎng)絡(luò)傳送到服務(wù)器;所述人工智能引擎和物理引擎計算是在服務(wù)器端進行的。本發(fā)明能夠極大減少游戲安裝包體積,降低對游戲設(shè)備的性能要求,節(jié)省客戶端電能消耗,使得游戲廠商能更快捷、更方便地發(fā)行游戲。
【IPC分類】H04L29/06, H04L29/08
【公開號】CN105376244
【申請?zhí)枴緾N201510849259
【發(fā)明人】黃翔
【申請人】深圳市望塵科技有限公司
【公開日】2016年3月2日
【申請日】2015年11月27日