專利名稱:多參與者游戲體系結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域:
本申請(qǐng)涉及一種游戲系統(tǒng),更特別地,涉及一種基于網(wǎng)絡(luò)的游戲系統(tǒng)。
背景技術(shù):
在線互動(dòng)數(shù)字娛樂(lè)近年來(lái)得到了很大發(fā)展,尤其是在視頻游戲方面。例如,用戶可以登陸到網(wǎng)站以尋找對(duì)手,并且然后查找虛擬世界中的牌類游戲或棋類游戲。由于一個(gè)參與者可以與另一個(gè)參與者進(jìn)行對(duì)抗,所以通信是雙向的。但是,不是所有的視頻游戲都可以在線進(jìn)行。對(duì)于棋類游戲,其中走一步棋的時(shí)間對(duì)于結(jié)果不具有立即的和重要的效果,參與者有時(shí)間考慮下一步棋、對(duì)攻走法、游戲策略等,并且游戲不需要提供實(shí)時(shí)反饋。但是,在大多數(shù)實(shí)時(shí)視頻游戲中,做出決定并根據(jù)該決定進(jìn)行動(dòng)作所需的時(shí)間相對(duì)較短,從而使得所涉及的參與者感覺(jué)到真實(shí)和投入(engagement)。在這種實(shí)時(shí)游戲中,動(dòng)作的發(fā)生必須極接近于真實(shí)生活事件。動(dòng)作游戲、諸如飛行模擬器的模擬游戲以及運(yùn)動(dòng)游戲要求實(shí)時(shí)動(dòng)作。在大多數(shù)情況下,不能與提供實(shí)時(shí)的真實(shí)和投入一起提供持續(xù)的通信、得分、參與者屬性等。
基于網(wǎng)絡(luò)的游戲系統(tǒng)的另一個(gè)難點(diǎn)是可擴(kuò)展性。盡管一些現(xiàn)有的基于網(wǎng)絡(luò)的系統(tǒng)可以處理數(shù)以萬(wàn)計(jì)的游戲參與者,但可靠地并同時(shí)地將游戲應(yīng)用實(shí)時(shí)提供給上百萬(wàn)參與者卻是一個(gè)嚴(yán)峻的挑戰(zhàn)。另一個(gè)挑戰(zhàn)是提供大量游戲室,每一個(gè)游戲室容納大量游戲參與者。對(duì)于基于網(wǎng)絡(luò)的游戲系統(tǒng)的進(jìn)一步希望的特征是在實(shí)時(shí)地響應(yīng)于大量參與者而維持相同的性能,或者向在統(tǒng)一標(biāo)準(zhǔn)的社會(huì)背景和用戶身份下的游戲參與者提供許多游戲的同時(shí),為參與者有效地提供寬泛的游戲選擇。
發(fā)明內(nèi)容
本系統(tǒng)的實(shí)施可以包括以下中的一個(gè)或多個(gè)。在一個(gè)方面,本發(fā)明涉及一種基于網(wǎng)絡(luò)的游戲系統(tǒng),包括計(jì)算機(jī)網(wǎng)絡(luò),配置為與在多個(gè)計(jì)算機(jī)設(shè)備上運(yùn)行的游戲客戶端應(yīng)用進(jìn)行通信,其中游戲客戶端應(yīng)用中的至少兩個(gè)加入同一游戲室內(nèi);連接到計(jì)算機(jī)網(wǎng)絡(luò)的第一服務(wù)器,配置為存儲(chǔ)能夠與多個(gè)游戲客戶端應(yīng)用進(jìn)行通信的游戲引擎應(yīng)用;連接到計(jì)算機(jī)網(wǎng)絡(luò)的計(jì)算機(jī)存儲(chǔ)設(shè)備,配置為存儲(chǔ)用于消息加密和消息解密的協(xié)議;以及連接到計(jì)算機(jī)網(wǎng)絡(luò)的第二服務(wù)器,配置為存儲(chǔ)游戲系統(tǒng)接口(GSI)程序,其可以接收來(lái)自多個(gè)游戲客戶端應(yīng)用的多個(gè)第一加密消息,并使用存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)設(shè)備上的協(xié)議對(duì)該第一加密消息進(jìn)行解密。
在另一方面,本發(fā)明涉及一種基于網(wǎng)絡(luò)的游戲系統(tǒng),包括計(jì)算機(jī)網(wǎng)絡(luò),配置為與在多個(gè)計(jì)算機(jī)設(shè)備上運(yùn)行的游戲客戶端應(yīng)用進(jìn)行通信,其中游戲客戶端應(yīng)用中的至少兩個(gè)加入同一游戲室內(nèi);連接到計(jì)算機(jī)網(wǎng)絡(luò)的第一服務(wù)器,配置為存儲(chǔ)游戲引擎應(yīng)用,其可以a)在接收來(lái)自游戲客戶端應(yīng)用的請(qǐng)求之后,即時(shí)響應(yīng)于該游戲客戶端應(yīng)用,以及b)向該游戲客戶端應(yīng)用發(fā)送請(qǐng)求,并且即時(shí)接收來(lái)自該游戲客戶端應(yīng)用的響應(yīng);連接到計(jì)算機(jī)網(wǎng)絡(luò)的計(jì)算機(jī)存儲(chǔ)設(shè)備,配置為存儲(chǔ)用于消息加密和消息解密的多個(gè)協(xié)議;以及連接到計(jì)算機(jī)網(wǎng)絡(luò)的第二服務(wù)器,配置為存儲(chǔ)游戲系統(tǒng)接口(GSI)程序,其可以接收來(lái)自多個(gè)游戲客戶端應(yīng)用的多個(gè)第一加密消息,并使用該多個(gè)協(xié)議中的一個(gè)或多個(gè)對(duì)該第一加密消息進(jìn)行解密。
在又一方面,本發(fā)明涉及一種基于網(wǎng)絡(luò)的游戲系統(tǒng),包括計(jì)算機(jī)網(wǎng)絡(luò),配置為與在多個(gè)計(jì)算機(jī)設(shè)備上運(yùn)行的游戲客戶端應(yīng)用進(jìn)行通信,其中游戲客戶端應(yīng)用中的至少兩個(gè)加入同一游戲室內(nèi);連接到計(jì)算機(jī)網(wǎng)絡(luò)的第一服務(wù)器,配置為存儲(chǔ)游戲引擎應(yīng)用,其可以a)在接收來(lái)自游戲客戶端應(yīng)用的請(qǐng)求之后,即時(shí)響應(yīng)于該游戲客戶端應(yīng)用,以及b)向該游戲客戶端應(yīng)用發(fā)送請(qǐng)求,并且即時(shí)接收來(lái)自該游戲客戶端應(yīng)用的響應(yīng);連接到計(jì)算機(jī)網(wǎng)絡(luò)的計(jì)算機(jī)存儲(chǔ)設(shè)備,配置為存儲(chǔ)用于消息加密和消息解密的多個(gè)協(xié)議;以及連接到計(jì)算機(jī)網(wǎng)絡(luò)的第二服務(wù)器,配置為存儲(chǔ)游戲系統(tǒng)接口(GSI)控制器和GSI模型,其中該GSI控制器可以接收來(lái)自多個(gè)游戲客戶端應(yīng)用的多個(gè)第一加密消息,使用存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)設(shè)備上的協(xié)議中的一個(gè)或多個(gè)對(duì)該第一加密消息進(jìn)行解密,并對(duì)待發(fā)送給游戲客戶端應(yīng)用的第二加密消息進(jìn)行加密,以及該GSI模型可以存儲(chǔ)游戲應(yīng)用邏輯并根據(jù)該應(yīng)用邏輯形成第二加密消息中待加密的響應(yīng)消息。
系統(tǒng)的實(shí)施可以包括以下中的一個(gè)或多個(gè)。第一服務(wù)器可以配置為存儲(chǔ)能夠在持續(xù)的網(wǎng)絡(luò)連接中與多個(gè)游戲客戶端應(yīng)用進(jìn)行通信的游戲引擎應(yīng)用。計(jì)算機(jī)存儲(chǔ)設(shè)備可以配置為存儲(chǔ)用于消息加密和消息解密的多個(gè)協(xié)議,并且游戲系統(tǒng)接口(GSI)程序可以使用該多個(gè)協(xié)議中的一個(gè)或多個(gè)對(duì)第一加密消息進(jìn)行解密。游戲引擎應(yīng)用可以配置為向同一游戲室內(nèi)的多個(gè)客戶端應(yīng)用進(jìn)行廣播。游戲引擎應(yīng)用可以配置為接收來(lái)自游戲客戶端應(yīng)用的請(qǐng)求并即時(shí)響應(yīng)該請(qǐng)求。第一加密消息可以包括游戲狀態(tài)信息,該游戲狀態(tài)信息包括與游戲客戶端應(yīng)用中的至少一個(gè)相關(guān)聯(lián)的游戲統(tǒng)計(jì)資料(statistics)和游戲配置中的一個(gè)或多個(gè)。第一加密消息中的至少一個(gè)可以包括可以由協(xié)議進(jìn)行序列化的序列化消息。第一加密消息可以包括與游戲客戶端應(yīng)用相關(guān)聯(lián)的用戶識(shí)別、會(huì)話識(shí)別和游戲室信息中的一個(gè)或多個(gè)?;诰W(wǎng)絡(luò)的游戲系統(tǒng)可以進(jìn)一步包括連接到計(jì)算機(jī)網(wǎng)絡(luò)的數(shù)據(jù)存儲(chǔ)設(shè)備,其配置為接收來(lái)自GSI程序的與第一加密消息相關(guān)聯(lián)的信息,并存儲(chǔ)與該第一加密消息相關(guān)聯(lián)的信息。該GSI程序可以配置為接收來(lái)自游戲客戶端應(yīng)用的第一加密消息中的請(qǐng)求,并通過(guò)向該游戲客戶端應(yīng)用發(fā)送第二加密消息來(lái)響應(yīng)該請(qǐng)求??梢允褂么鎯?chǔ)在計(jì)算機(jī)存儲(chǔ)設(shè)備上的多個(gè)協(xié)議中的一個(gè)或多個(gè)對(duì)第二加密消息進(jìn)行加密。第一加密消息可以包括認(rèn)證信息,并且第二加密消息包括確認(rèn)信息。該GSI程序可以包括GSI控制器,其配置為使用存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)設(shè)備上的協(xié)議中的一個(gè)或多個(gè)對(duì)第一加密消息進(jìn)行解密并對(duì)響應(yīng)消息進(jìn)行加密。該GSI程序可以包括GSI模型,其存儲(chǔ)游戲應(yīng)用邏輯并配置為根據(jù)該應(yīng)用邏輯形成響應(yīng)消息。游戲客戶端應(yīng)用可以由安裝在計(jì)算機(jī)設(shè)備上的網(wǎng)絡(luò)(web)瀏覽器的插件來(lái)執(zhí)行。該GSI程序可以配置為在非持續(xù)的網(wǎng)絡(luò)連接中與游戲客戶端應(yīng)用進(jìn)行通信。
實(shí)施例可以包括以下優(yōu)點(diǎn)中的一個(gè)或多個(gè)。本發(fā)明的優(yōu)點(diǎn)之一是所公開(kāi)的基于網(wǎng)絡(luò)的游戲系統(tǒng)可以同時(shí)向許多遠(yuǎn)程游戲參與者提供游戲應(yīng)用。多個(gè)游戲參與者可以從對(duì)他們方便的不同位置處在同一游戲室內(nèi)參與同一游戲。許多游戲參與者可以在彼此對(duì)抗的同時(shí)參與同一游戲應(yīng)用,或參與獨(dú)立的游戲應(yīng)用。持續(xù)的通信路徑允許在多個(gè)遠(yuǎn)程位置處用沒(méi)有網(wǎng)絡(luò)延遲的即時(shí)響應(yīng)來(lái)參與游戲應(yīng)用。
本發(fā)明的另一優(yōu)點(diǎn)是所公開(kāi)的系統(tǒng)可以使用諸如PHP、XML、AMF、XML-RPC等的不同的序列化加密協(xié)議,在計(jì)算機(jī)網(wǎng)絡(luò)上向遠(yuǎn)程游戲參與者提供許多游戲應(yīng)用。游戲參與者可以基于來(lái)自單個(gè)基于網(wǎng)絡(luò)的服務(wù)的任何協(xié)議來(lái)訪問(wèn)游戲應(yīng)用。游戲應(yīng)用的選擇顯著增加。由不同的游戲參與者所使用的不同的游戲應(yīng)用可以使用不同的加密協(xié)議來(lái)參與同一游戲或甚至在同一游戲室內(nèi)參與。
本發(fā)明的又一個(gè)優(yōu)點(diǎn)是所公開(kāi)的系統(tǒng)可以利用持續(xù)的網(wǎng)絡(luò)連接向遠(yuǎn)程游戲參與者提供游戲應(yīng)用,同時(shí)有效地跟蹤并以有效的方式更新每個(gè)參與者的游戲狀態(tài)。所公開(kāi)的系統(tǒng)包括持續(xù)的通信路徑,其實(shí)時(shí)地為游戲應(yīng)用提供即時(shí)消息交換。所公開(kāi)的系統(tǒng)包括獨(dú)立通信路徑,其可以在不消耗顯著的網(wǎng)絡(luò)資源的情況下對(duì)游戲應(yīng)用的請(qǐng)求進(jìn)行響應(yīng),并將游戲狀態(tài)信息存儲(chǔ)在存儲(chǔ)設(shè)備中。
本發(fā)明的又一個(gè)優(yōu)點(diǎn)是所公開(kāi)的游戲系統(tǒng)是有效的。所公開(kāi)的游戲系統(tǒng)包括到游戲客戶端的通信路徑,其不需要持續(xù)整個(gè)游戲會(huì)話。應(yīng)答來(lái)自游戲客戶端的呼叫,并且關(guān)閉通信會(huì)話和釋放網(wǎng)絡(luò)連接。
由于所公開(kāi)的系統(tǒng)的有效的通信體系結(jié)構(gòu),所公開(kāi)的系統(tǒng)可以容易地?cái)U(kuò)展,而不像現(xiàn)有技術(shù)的系統(tǒng)那樣消耗顯著的網(wǎng)絡(luò)帶寬。其可以在計(jì)算機(jī)網(wǎng)絡(luò)上的上百萬(wàn)游戲會(huì)話中容納上百萬(wàn)的游戲參與者,這比傳統(tǒng)的基于網(wǎng)絡(luò)的游戲系統(tǒng)高出一個(gè)或幾個(gè)數(shù)量級(jí)。
本發(fā)明的另一個(gè)優(yōu)點(diǎn)是其允許在同一游戲室內(nèi)或不同游戲室內(nèi)容納大量游戲參與者的可擴(kuò)展性。將到游戲客戶端應(yīng)用的通信劃分為持續(xù)的通信和有效的但非持續(xù)的通信路徑。使得實(shí)時(shí)通信的信息量最小化。通過(guò)游戲系統(tǒng)接口(GSI)程序的靈活層處理非持續(xù)的通信,其允許基于網(wǎng)絡(luò)的游戲系統(tǒng)處理大量和多種類的游戲客戶端應(yīng)用。
在所附附圖和以下描述中陳述了一個(gè)或多個(gè)實(shí)施例的細(xì)節(jié)。根據(jù)該描述和附圖并根據(jù)權(quán)利要求書(shū),本發(fā)明的其他特征、目的和優(yōu)點(diǎn)將變得明顯。
圖1是根據(jù)本發(fā)明的基于網(wǎng)絡(luò)的游戲系統(tǒng)的系統(tǒng)圖。
圖2示出可以在圖1中所示的計(jì)算機(jī)設(shè)備上運(yùn)行的游戲客戶端應(yīng)用。
圖3示出可以在圖1中所示的游戲服務(wù)器上存儲(chǔ)的游戲引擎應(yīng)用。
圖4A示出在根據(jù)本發(fā)明的實(shí)施例的圖1中所示的基于網(wǎng)絡(luò)的游戲系統(tǒng)中的服務(wù)器上所存儲(chǔ)的游戲系統(tǒng)接口應(yīng)用。
圖4B示出在根據(jù)本發(fā)明的另一實(shí)施例的圖1中所示的web服務(wù)器上所存儲(chǔ)的游戲系統(tǒng)接口應(yīng)用。
圖5示出與圖1的基于網(wǎng)絡(luò)的游戲系統(tǒng)相兼容的持續(xù)的且有效的游戲體系結(jié)構(gòu)的系統(tǒng)圖。
圖6示出與圖1的基于網(wǎng)絡(luò)的游戲系統(tǒng)相兼容的游戲體系結(jié)構(gòu)的系統(tǒng)圖。該游戲體系結(jié)構(gòu)能夠在多個(gè)通信協(xié)議下以序列化消息進(jìn)行通信。
圖7示出列出多個(gè)游戲引擎的表,該多個(gè)游戲引擎可以在不同的序列化協(xié)議下進(jìn)行通信。
圖8A和圖8B示出用于基于網(wǎng)絡(luò)的游戲系統(tǒng)中的游戲系統(tǒng)接口應(yīng)用與游戲客戶端應(yīng)用或游戲引擎之間的通信的流程圖。
具體實(shí)施例方式
現(xiàn)在將詳細(xì)參考本發(fā)明的優(yōu)選實(shí)施例,其示例在所附附圖中圖解。盡管將結(jié)合優(yōu)選實(shí)施例描述本發(fā)明,但可以理解,它們不旨在將本發(fā)明局限于這些實(shí)施例。相反,本發(fā)明旨在覆蓋可以包括在由所附權(quán)利要求書(shū)所限定的本發(fā)明的精神和范圍內(nèi)的可選、修改和等同方案。此外,在本發(fā)明的以下詳細(xì)描述中,陳述了大量特定細(xì)節(jié),以便提供對(duì)本發(fā)明的透徹理解。但是,對(duì)于本領(lǐng)域的普通技術(shù)人員而言,很明顯可以在沒(méi)有這些特定細(xì)節(jié)的情況下實(shí)施本發(fā)明。在其他實(shí)例中,對(duì)公知的方法、過(guò)程、部件和電路不進(jìn)行詳細(xì)描述,以免使得本發(fā)明的方面被不必要地模糊。
如圖1中所示,基于網(wǎng)絡(luò)的游戲系統(tǒng)100可以提供將在許多計(jì)算機(jī)設(shè)備106和107上參與的通信網(wǎng)絡(luò)105上的游戲應(yīng)用。該通信網(wǎng)絡(luò)105可以包括各種有線、無(wú)線、衛(wèi)星通信配置,包括但不限于諸如因特網(wǎng)的廣域網(wǎng)、局域網(wǎng)、在諸如2G、2.5G和3G的各種通信協(xié)議下的蜂窩電話網(wǎng)、全球移動(dòng)通信系統(tǒng)(GSM)、通用無(wú)線分組業(yè)務(wù)(GPRS)、EDGE、碼分多址(CDMA)、寬帶CDMA、TD-SCDMA、通用移動(dòng)通信系統(tǒng)(UMTS)等,以及Wi-Fi無(wú)線通信標(biāo)準(zhǔn),諸如IEEE802.11、Wi-Max和IEEE 806.16等。計(jì)算機(jī)設(shè)備106和107可以包括個(gè)人計(jì)算機(jī)、便攜數(shù)字助理(PDA)設(shè)備、蜂窩電話、數(shù)字圖像獲取設(shè)備和專用游戲設(shè)備,諸如微軟XBOX、SONY PlayStation ORPS2和/或Nintendo 64、GameCube或GameBoy。
基于網(wǎng)絡(luò)的游戲系統(tǒng)100可以包括負(fù)載平衡器115、一個(gè)或多個(gè)web服務(wù)器121-124、一個(gè)或多個(gè)會(huì)話服務(wù)器130、服務(wù)器140、一個(gè)或多個(gè)游戲服務(wù)器141-143、數(shù)據(jù)庫(kù)150和存儲(chǔ)區(qū)域網(wǎng)絡(luò)151。基于網(wǎng)絡(luò)的游戲系統(tǒng)100可以由諸如美國(guó)加利福尼亞Gaia Interactive公司的游戲服務(wù)提供者操作?;诰W(wǎng)絡(luò)的游戲系統(tǒng)100可以在因特網(wǎng)上提供諸如www.gaiaonline.com的網(wǎng)站,以容納游戲社區(qū)并提供諸如游戲、討論群組和郵件等各種游戲服務(wù)。參與者可以在該網(wǎng)站處注冊(cè)以擁有他或她自己的帳戶。參與者還可以個(gè)性化他或她自己的簡(jiǎn)介(profile)。如下討論,基于網(wǎng)絡(luò)的系統(tǒng)100可以將與參與者相關(guān)聯(lián)的游戲統(tǒng)計(jì)資料和其他游戲性質(zhì)存儲(chǔ)在游戲參與者可用的和可更新的網(wǎng)絡(luò)連接的存儲(chǔ)設(shè)備中。
游戲參與者可以使用具有web瀏覽器應(yīng)用的計(jì)算機(jī)設(shè)備106和107來(lái)訪問(wèn)游戲服務(wù)提供者的網(wǎng)站。該web瀏覽器應(yīng)用可在計(jì)算機(jī)設(shè)備106或107上執(zhí)行。該web瀏覽器應(yīng)用可從若干制造商獲得,該制造商包括微軟的Internet ExplorerTM、AOL的NetscapeTM以及Mozilla的FireboxTM等。各種因特網(wǎng)瀏覽應(yīng)用可用于蜂窩電話、PDA、游戲控制臺(tái),這也與所公開(kāi)的系統(tǒng)和方法相兼容。
游戲客戶端應(yīng)用200可以駐留在計(jì)算機(jī)設(shè)備106或107上,如圖2中所示。游戲客戶端應(yīng)用200可以由web瀏覽器應(yīng)用的插件來(lái)執(zhí)行。游戲客戶端應(yīng)用200可以包括用于一個(gè)或多個(gè)游戲的游戲邏輯,并允許用于游戲的動(dòng)畫(huà)顯示。該web瀏覽器插件可以使得web瀏覽器允許音頻或視頻消息,并適當(dāng)?shù)仫@示獨(dú)立于web瀏覽器的制造商或版本的矢量圖形圖像。該web瀏覽器插件可以允許動(dòng)畫(huà)隨web瀏覽器窗口的尺寸改變而適當(dāng)?shù)乜s放。游戲客戶端應(yīng)用200可以使用web瀏覽器的通信API(應(yīng)用編程接口),以與基于網(wǎng)絡(luò)的游戲系統(tǒng)100中的各種服務(wù)器和設(shè)備(115、121-124、140-143等)進(jìn)行通信。
具體地,在沒(méi)有限制的情況下,計(jì)算機(jī)設(shè)備106和107可以安裝有由Macromedia公司所生產(chǎn)的Flash插件。Flash是帶寬友好且獨(dú)立于瀏覽器的矢量圖形動(dòng)畫(huà)技術(shù)。使用一個(gè)或多個(gè)順序的其中定義了動(dòng)作和互動(dòng)的時(shí)間線(timeline)來(lái)設(shè)計(jì)動(dòng)畫(huà)。Flash插件附于在計(jì)算機(jī)設(shè)備106和107上運(yùn)行的web瀏覽器上,以允許web瀏覽器播放在網(wǎng)頁(yè)中所涉及的SWF(Small Web Format)影片剪輯。Macromedia的Flash MX和Freehand應(yīng)用以及其他Flash文件也可以通過(guò)Web瀏覽器插件(或Flash播放器)或直接訪問(wèn)播放器的多媒體應(yīng)用來(lái)進(jìn)行查看。Flash文件可以包括聲音。Flash可以使用針對(duì)源文件的FLA文件和針對(duì)Flash影片的SWF文件。與其他影片文件(AVI、MPG等)相比,F(xiàn)lash文件是空間有效的并適于互動(dòng)。
可以在待加載到web瀏覽器中的一個(gè)或多個(gè)SWF影片剪輯中寫入游戲客戶端應(yīng)用200。每個(gè)游戲客戶端應(yīng)用200可以對(duì)應(yīng)于一個(gè)或多個(gè)游戲。SWF影片剪輯包括游戲邏輯以及動(dòng)畫(huà)、圖像和其他效果。SWF影片剪輯可以使用由Macromedia的Flash插件所提供的功能庫(kù)來(lái)與基于網(wǎng)絡(luò)的游戲系統(tǒng)100中的服務(wù)器進(jìn)行通信??梢葬槍?duì)可在多個(gè)游戲中重復(fù)使用的SWF影片剪輯開(kāi)發(fā)API庫(kù)。
圖3示出存儲(chǔ)在游戲服務(wù)器141、142或143上的游戲引擎應(yīng)用300。游戲引擎應(yīng)用300負(fù)責(zé)在游戲會(huì)話期間向游戲客戶端應(yīng)用200提供實(shí)時(shí)響應(yīng)。在本申請(qǐng)中,術(shù)語(yǔ)“實(shí)時(shí)通信”是指由持續(xù)的網(wǎng)絡(luò)連接所促進(jìn)的通信的類型。該持續(xù)的網(wǎng)絡(luò)連接允許在網(wǎng)絡(luò)上的兩個(gè)部件之間沒(méi)有網(wǎng)絡(luò)延遲地進(jìn)行即時(shí)且可靠的通信。
其上存儲(chǔ)有游戲引擎應(yīng)用300的游戲服務(wù)器141、142或143可以保持與計(jì)算機(jī)設(shè)備106或107的開(kāi)放的套接字(socket)連接。游戲引擎應(yīng)用300和游戲客戶端應(yīng)用200可以通過(guò)將數(shù)據(jù)寫入套接字和將數(shù)據(jù)從套接字讀出來(lái)彼此發(fā)送和接收TCP/IP消息??梢栽谌魏螘r(shí)間從游戲服務(wù)器141(或142和143)或者計(jì)算機(jī)設(shè)備106或107發(fā)送和接收消息。持續(xù)的網(wǎng)絡(luò)連接允許即時(shí)雙向通信,并保證在游戲會(huì)話期間的所有時(shí)間上游戲的實(shí)時(shí)更新而沒(méi)有網(wǎng)絡(luò)延遲。持續(xù)的通信中的連接的丟失可以解譯為游戲客戶端應(yīng)用200已離開(kāi)該游戲。
游戲引擎應(yīng)用300可與不同的服務(wù)器軟件實(shí)現(xiàn)相兼容,諸如在“www.wok2.de”可用的Sushi Multiuser Server、在“www.electrotank.com”可用的ElectroServer 3以及在“www.zona.net”可用的Terazona Network Engine?;诰W(wǎng)絡(luò)的游戲系統(tǒng)100可以包括許多使用不同的服務(wù)器軟件所開(kāi)發(fā)的游戲引擎應(yīng)用300。不同的服務(wù)器軟件可以要求在不同的序列化協(xié)議下所加密的序列化消息。由GSI程序400提供具有這些游戲引擎應(yīng)用300的通信協(xié)議。
消息序列化和解序列化用作所公開(kāi)的系統(tǒng)和方法中的加密和解密方法的示例。該示例用于描述本發(fā)明的系統(tǒng)的靈活性和能力。本發(fā)明可與其他加密和解密技術(shù)以及相關(guān)協(xié)議相兼容。
基于網(wǎng)絡(luò)的游戲系統(tǒng)100包括游戲系統(tǒng)接口(GSI)程序400,其可以存儲(chǔ)在如圖4A中所示的服務(wù)器140上、如圖4B中所示的web服務(wù)器121、122或123上或者連接到該計(jì)算機(jī)網(wǎng)絡(luò)的諸如游戲服務(wù)器141-143的其他服務(wù)器上。GSI程序400所駐留的該服務(wù)器可以是單個(gè)計(jì)算機(jī)或負(fù)載平衡的服務(wù)器集群。對(duì)于GSI程序400的每個(gè)請(qǐng)求是自治事務(wù),并且因此不要求GSI程序400與其他方(例如游戲客戶端應(yīng)用200或游戲引擎應(yīng)用300)之間的持續(xù)的連接。
響應(yīng)于請(qǐng)求,GSI程序400向諸如游戲客戶端應(yīng)用200的客戶端提供信息,但不發(fā)起通信。GSI程序400可以響應(yīng)來(lái)自在計(jì)算機(jī)設(shè)備106和107上運(yùn)行的游戲客戶端應(yīng)用200的請(qǐng)求。類似地,響應(yīng)于來(lái)自游戲引擎應(yīng)用300的請(qǐng)求,GSI程序400還可以提供游戲信息。
圖5示出在基于網(wǎng)絡(luò)的游戲系統(tǒng)100中的持續(xù)的和有效的游戲體系結(jié)構(gòu)500的系統(tǒng)圖。持續(xù)的和有效的游戲體系結(jié)構(gòu)500包括游戲客戶端應(yīng)用200、游戲引擎應(yīng)用300和GSI程序400,其為游戲客戶端應(yīng)用200提供持續(xù)的通信路徑和有效的但非持續(xù)的通信路徑。GSI程序400連接到數(shù)據(jù)庫(kù)150和存儲(chǔ)區(qū)域網(wǎng)絡(luò)151,用于將更新的數(shù)據(jù)保存在當(dāng)前游戲中,并從當(dāng)前和過(guò)去的游戲提取(retrieve)數(shù)據(jù)。游戲在游戲客戶端應(yīng)用200上運(yùn)行,并通過(guò)由游戲客戶端應(yīng)用200所定義的協(xié)議與游戲引擎應(yīng)用300進(jìn)行通。
所公開(kāi)的基于網(wǎng)絡(luò)的游戲系統(tǒng)的有利特征是其包括持續(xù)的通信路徑和非持續(xù)的通信路徑,用于遠(yuǎn)程游戲客戶端應(yīng)用。該持續(xù)的通信路徑用于交換較短且即時(shí)的消息游戲需要進(jìn)行實(shí)時(shí)更新,而不需要永久存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器上。游戲客戶端應(yīng)用200和游戲引擎應(yīng)用300之間的實(shí)時(shí)雙向通信是快速的且沒(méi)有網(wǎng)絡(luò)延遲。在訪問(wèn)和存儲(chǔ)數(shù)據(jù)存儲(chǔ)設(shè)備上的交換信息方面不花費(fèi)周期時(shí)間。在游戲客戶端應(yīng)用200和游戲引擎應(yīng)用300之間的網(wǎng)絡(luò)連接的持續(xù)性通常持續(xù)整個(gè)游戲會(huì)話。
非持續(xù)的通信路徑是有效的,其使得實(shí)時(shí)通信的信息量最小化。結(jié)果,基于網(wǎng)絡(luò)的系統(tǒng)可擴(kuò)展到大量游戲參與者。非持續(xù)的通信路徑用于傳送“長(zhǎng)期”用于游戲或游戲參與者并且不要求即時(shí)和資源集中的通信的信息。該信息可以包括游戲參與者的屬性和統(tǒng)計(jì)資料,諸如他或她的游戲分?jǐn)?shù),他或她所購(gòu)買的將用于游戲中的裝備、他或她從過(guò)去和當(dāng)前游戲中所擁有的“金錢”等。這些信息不僅需要用于當(dāng)前游戲,而且需要被存儲(chǔ)和提取用于將來(lái)的游戲。因此游戲客戶端應(yīng)用200和GSI程序400之間交換的信息常常涉及從數(shù)據(jù)庫(kù)150和諸如SAN的數(shù)據(jù)存儲(chǔ)設(shè)備151中訪問(wèn)或提取數(shù)據(jù),以及向數(shù)據(jù)庫(kù)150和數(shù)據(jù)存儲(chǔ)設(shè)備中寫入和保存數(shù)據(jù)。游戲客戶端應(yīng)用200和GSI程序400之間的互動(dòng)通常是可以應(yīng)答的單個(gè)請(qǐng)求。然后連接關(guān)閉。換句話說(shuō),這些通信不要求貫穿游戲會(huì)話的持續(xù)的網(wǎng)絡(luò)連接。
如圖中5所示的持續(xù)和有效的游戲體系結(jié)構(gòu)500不同于某些將不同類型的通信結(jié)合到同一應(yīng)用層的現(xiàn)有技術(shù)系統(tǒng)。同一應(yīng)用層處理實(shí)時(shí)持續(xù)的通信和不需要實(shí)時(shí)的通信(與持續(xù)的和有效的游戲體系結(jié)構(gòu)500中所提供的獨(dú)立的游戲引擎應(yīng)用300和GSI 400形成對(duì)比)。這種類型的現(xiàn)有技術(shù)系統(tǒng)要求持續(xù)的網(wǎng)絡(luò)連接用于貫穿游戲會(huì)話的兩種類型的服務(wù)器通信。每個(gè)服務(wù)器實(shí)例將由比當(dāng)前所公開(kāi)的系統(tǒng)更大的和資源更集中的應(yīng)用層來(lái)管理。隨著游戲客戶端數(shù)目或游戲數(shù)目的增長(zhǎng),應(yīng)用層的負(fù)擔(dān)快速增長(zhǎng),這常常增加故障的幾率,減慢響應(yīng)或降低可靠性。此外,與這種類型的現(xiàn)有技術(shù)系統(tǒng)相比較,本公開(kāi)系統(tǒng)可擴(kuò)展性更好。
每個(gè)游戲引擎應(yīng)用300可以支持一個(gè)或多個(gè)游戲客戶端應(yīng)用200。GSI程序400可以支持許多游戲客戶端應(yīng)用200和許多游戲引擎應(yīng)用300。游戲邏輯可以例如以計(jì)算機(jī)設(shè)備106和107上的web瀏覽器上加載的已編譯的flash SWF文件的形式存儲(chǔ)在游戲客戶端應(yīng)用200中。
游戲客戶端應(yīng)用200可以經(jīng)由在計(jì)算機(jī)設(shè)備106和107上運(yùn)行的web瀏覽器加載。游戲客戶端應(yīng)用200可以包括許多游戲邏輯以允許參與者參與許多游戲??蛇x地,游戲參與邏輯還可以遠(yuǎn)程存儲(chǔ)在基于網(wǎng)絡(luò)的游戲系統(tǒng)100中的服務(wù)器(諸如121-124或140-143)上。例如,游戲邏輯可以包括在游戲引擎應(yīng)用300或GSI程序400中,其通??梢匀菁{比游戲客戶端應(yīng)用更復(fù)雜的游戲邏輯??梢岳梅?wù)器(諸如121-124或140-143)上的安全處理,實(shí)時(shí)地遠(yuǎn)程激活遠(yuǎn)程存儲(chǔ)的游戲邏輯,或在會(huì)話開(kāi)始之前將該遠(yuǎn)程存儲(chǔ)的游戲邏輯下載到游戲參與者的計(jì)算機(jī)設(shè)備106和107。
為了開(kāi)始一個(gè)游戲,游戲參與者可以訪問(wèn)諸如美國(guó)加利福尼亞Gaia Interactive公司所運(yùn)營(yíng)的www.gaiaonline.com之類的游戲服務(wù)網(wǎng)站。游戲參與者可以通過(guò)點(diǎn)擊由在計(jì)算機(jī)設(shè)備106或107上運(yùn)行的web瀏覽器應(yīng)用所呈現(xiàn)的網(wǎng)頁(yè)上的游戲客戶端應(yīng)用200來(lái)發(fā)起游戲會(huì)話。在本發(fā)明中,游戲會(huì)話是指客戶端游戲應(yīng)用200與存儲(chǔ)在基于網(wǎng)絡(luò)的游戲系統(tǒng)100中的諸如游戲引擎應(yīng)用300和GSI程序400的其他程序之間的激活的連接。游戲客戶端應(yīng)用200還可以以流媒體(例如Flash SWF)形式,從而在游戲開(kāi)始時(shí)游戲可以保持加載。
在一個(gè)實(shí)施例中,在用GSI 400認(rèn)證之后,可以開(kāi)始游戲并可以直接從游戲客戶端應(yīng)用200向游戲引擎應(yīng)用300發(fā)起游戲會(huì)話,而不需要訪問(wèn)網(wǎng)頁(yè)。
可以將許多游戲客戶端應(yīng)用加載到計(jì)算機(jī)設(shè)備106或107上。每個(gè)游戲客戶端應(yīng)用200可以包括用于一個(gè)或多個(gè)游戲的游戲邏輯。在一個(gè)實(shí)施例中,游戲客戶端應(yīng)用200可以是由Macromedia所提供的Flash插件。該Flash插件可以下載、安裝和附加到web瀏覽器上。該Flash插件允許web瀏覽器在網(wǎng)頁(yè)中涉及的它所找到的web瀏覽器中播放SWF影片剪輯。每個(gè)SWF影片剪輯可以包括唯一的游戲。SWF影片剪輯包含游戲邏輯以及動(dòng)畫(huà)、圖像和其他效果。SWF影片剪輯可以使用由Macromedia的Flash插件提供的功能庫(kù)和針對(duì)基于網(wǎng)絡(luò)的游戲系統(tǒng)100所開(kāi)發(fā)的API庫(kù),與基于網(wǎng)絡(luò)的游戲系統(tǒng)100中的服務(wù)器進(jìn)行通信。每個(gè)游戲引擎應(yīng)用300可以支持一個(gè)或許多游戲客戶端應(yīng)用200,并因此可以支持許多游戲邏輯。
在游戲會(huì)話期間,利用在基于網(wǎng)絡(luò)的游戲系統(tǒng)100中的持續(xù)的連接,每個(gè)游戲客戶端應(yīng)用200可以由游戲引擎應(yīng)用300支持,即,游戲客戶端應(yīng)用200和游戲引擎應(yīng)用300可以在游戲會(huì)話期間的任何時(shí)間上彼此發(fā)送請(qǐng)求并接收即時(shí)響應(yīng)。游戲客戶端應(yīng)用200和游戲引擎應(yīng)用300之間的雙向通信的停止通常被游戲引擎應(yīng)用300解譯為游戲客戶端應(yīng)用200離開(kāi)游戲會(huì)話。
基于網(wǎng)絡(luò)的游戲系統(tǒng)100可以包括存儲(chǔ)在游戲服務(wù)器141-143上的許多游戲引擎應(yīng)用300。每個(gè)游戲引擎應(yīng)用300可以基于不同的游戲平臺(tái),這些游戲平臺(tái)可以由諸如Gaia Interactive公司的游戲服務(wù)提供者開(kāi)發(fā)或源自第三方游戲開(kāi)發(fā)者。因此游戲參與者可以在運(yùn)行于游戲平臺(tái)上的許多游戲引擎應(yīng)用300處訪問(wèn)大范圍的基于網(wǎng)絡(luò)的游戲。在計(jì)算機(jī)設(shè)備上可以安裝不同的游戲客戶端應(yīng)用200,以運(yùn)行由相應(yīng)的游戲引擎應(yīng)用300所支持的特定游戲。
在游戲會(huì)話期間,游戲客戶端應(yīng)用200可以從游戲引擎應(yīng)用300得到關(guān)于特定的游戲或游戲會(huì)話的信息。游戲引擎應(yīng)用300可以即時(shí)地響應(yīng)請(qǐng)求。游戲引擎應(yīng)用300還可以利用不需要永久存儲(chǔ)的動(dòng)畫(huà)或短期游戲信息來(lái)更新游戲客戶端應(yīng)用200。例如,該短期信息可以包括正在場(chǎng)地上踢的足球的位置、參與者的化身沿該場(chǎng)地上或該化身所在的當(dāng)前位置進(jìn)行移動(dòng)的路徑、以及在游戲室內(nèi)的參與者之間的包括基于文本的聊天和動(dòng)畫(huà)的即時(shí)消息聊天通信。游戲室允許多個(gè)遠(yuǎn)程游戲參與者彼此參與同一游戲。游戲參與者可以參與基于團(tuán)隊(duì)的對(duì)抗游戲,諸如足球、冰球或橄欖球,或者他們可以參與基于個(gè)人的游戲,諸如釣魚(yú)、賽車等。
在另一個(gè)實(shí)施例中,基于網(wǎng)絡(luò)的游戲系統(tǒng)100可以容納在共同的游戲會(huì)話中參與同一游戲客戶端應(yīng)用的許多游戲參與者。例如,游戲參與者可以在游戲會(huì)話中的球類游戲或釣魚(yú)游戲中彼此對(duì)抗。游戲參與者的參與還可以描述為在同一游戲室內(nèi)參與。在多參與者游戲會(huì)話中,游戲引擎應(yīng)用300可以廣播對(duì)于在同一游戲室內(nèi)的許多計(jì)算機(jī)設(shè)備106、107上運(yùn)行的許多游戲客戶端應(yīng)用200的更新。
游戲引擎應(yīng)用300可以將在同一游戲室內(nèi)的參與者建立為對(duì)等者。通過(guò)向同一游戲室內(nèi)其他對(duì)等者的游戲客戶端應(yīng)用廣播參與者的動(dòng)作或在該參與者的游戲客戶端應(yīng)用上的事件,游戲引擎應(yīng)用300可以實(shí)時(shí)地進(jìn)行點(diǎn)對(duì)點(diǎn)通信。游戲室內(nèi)的每個(gè)游戲客戶端應(yīng)用200可以構(gòu)造消息,并請(qǐng)求游戲引擎應(yīng)用300將該消息轉(zhuǎn)發(fā)給同一游戲室內(nèi)的另一個(gè)對(duì)等者或所有對(duì)等者。
GSI程序400可以響應(yīng)來(lái)自在計(jì)算機(jī)設(shè)備106和107上運(yùn)行的游戲客戶端應(yīng)用200的請(qǐng)求。GSI程序400通常應(yīng)答問(wèn)題,但不發(fā)起對(duì)游戲客戶端應(yīng)用200的請(qǐng)求。當(dāng)參與者進(jìn)入游戲網(wǎng)站或當(dāng)參與者開(kāi)始游戲會(huì)話時(shí),游戲客戶端應(yīng)用200請(qǐng)求來(lái)自GSI程序400的認(rèn)證。GSI程序400為登陸的用戶創(chuàng)建新的會(huì)話ID。GSI程序400驗(yàn)證用戶ID和會(huì)話ID,并返回確認(rèn)消息以認(rèn)證該游戲會(huì)話。GSI程序400的響應(yīng)通常不需要是持續(xù)的。例如,它們不必須通過(guò)SOCKET連接來(lái)通信。該靈活性允許GSL程序400應(yīng)答更多呼叫,并使得基于網(wǎng)絡(luò)的游戲系統(tǒng)100能夠同時(shí)處理大量游戲客戶端應(yīng)用和游戲參與者。
游戲客戶端應(yīng)用200詢問(wèn)GSI程序400對(duì)于給定的游戲加入哪一個(gè)游戲室。GSI程序400檢查從游戲引擎應(yīng)用300所接收的信息,以查看是否為該游戲創(chuàng)建了游戲室。如果該游戲室存在,則游戲客戶端應(yīng)用200進(jìn)入它。如果該游戲室不存在,則游戲客戶端應(yīng)用200請(qǐng)求游戲引擎應(yīng)用300創(chuàng)建一個(gè)游戲室。游戲引擎應(yīng)用300創(chuàng)建游戲室并將信息傳遞給GSI程序400用于驗(yàn)證。GSI程序400進(jìn)行確認(rèn)并向游戲引擎應(yīng)用300返回一個(gè)包括新游戲室ID的驗(yàn)證消息,而游戲引擎應(yīng)用300又將該驗(yàn)證信息返回給游戲客戶端應(yīng)用200。游戲客戶端應(yīng)用進(jìn)入新游戲室。在該通信順序下,GSI程序400不發(fā)起請(qǐng)求。其僅確認(rèn)其接收的請(qǐng)求中的信息。
在游戲引擎應(yīng)用300創(chuàng)建游戲室之后,其將關(guān)于該游戲室的信息寫回GSI程序400中,并等待GSI程序400確認(rèn)該游戲室沒(méi)問(wèn)題。在從GSI程序400接收確認(rèn)之后,游戲引擎應(yīng)用300允許游戲客戶端應(yīng)用進(jìn)入新游戲室。
然后,游戲客戶端應(yīng)用200請(qǐng)求加載游戲。例如,在web瀏覽器的請(qǐng)求下,由插件加載SWF文件。SWF由Flash插件執(zhí)行。SWF中的指令命令其連接到GSI程序400。SWF中的指令還指示其顯示游戲環(huán)境和運(yùn)行游戲互動(dòng)。
GSI程序400將加載游戲所需的變量和用于保存游戲結(jié)果的信息返回到游戲客戶端應(yīng)用200。在游戲會(huì)話期間,游戲客戶端應(yīng)用200可以請(qǐng)求保存游戲結(jié)果。GSI程序400確認(rèn)待保存的數(shù)據(jù),并返回該保存是否成功。GSI程序400還收集關(guān)于同一游戲室內(nèi)的所有參與者的信息,并將該信息廣播給該游戲室。通常,GSI程序400可以響應(yīng)游戲客戶端應(yīng)用200的上百個(gè)不同類型的呼叫。GSI程序400通??梢栽?.001-0.1毫秒的范圍內(nèi)與游戲客戶端應(yīng)用200通信,取決于網(wǎng)絡(luò)延遲和處理時(shí)間。對(duì)于GSI程序400的性能優(yōu)先考慮的是其能夠響應(yīng)所有請(qǐng)求,但不一定實(shí)時(shí)。
GSI程序400控制在游戲引擎應(yīng)用300所駐留的多個(gè)游戲服務(wù)器141-143之間的游戲室內(nèi)的參與者的負(fù)載平衡以及分布。GSI程序400驗(yàn)證用于給定游戲的游戲室沒(méi)有無(wú)意中重復(fù)。在游戲會(huì)話期間,游戲客戶端應(yīng)用200利用諸如游戲統(tǒng)計(jì)資料和游戲配置的游戲狀態(tài)信息來(lái)更新GSI程序400。例如,游戲統(tǒng)計(jì)資料可以包括游戲參與者的游戲分?jǐn)?shù)、參與者所積累的財(cái)富和金錢、所參與的游戲的數(shù)目等。游戲配置可以包括游戲裝備、游戲位置、最喜愛(ài)的游戲等。
還可以將令牌和確認(rèn)密鑰從游戲引擎應(yīng)用300傳遞到游戲客戶端應(yīng)用200,以確保按正確順序出現(xiàn)不同的動(dòng)作,并且不被游戲客戶端應(yīng)用200欺騙??梢砸笥螒蚩蛻舳藨?yīng)用200返回與其他變量相結(jié)合的令牌和密鑰,以確保不危害游戲的完整性。
GSI程序400將游戲狀態(tài)信息發(fā)送到數(shù)據(jù)庫(kù)150和存儲(chǔ)區(qū)域網(wǎng)絡(luò),以將游戲狀態(tài)信息存儲(chǔ)到用戶帳戶,使得用戶即使在特定的游戲會(huì)話結(jié)束之后也可以保存他或她的記錄。
本發(fā)明的優(yōu)點(diǎn)是允許在同一游戲室內(nèi)或不同的游戲室內(nèi)擴(kuò)展到大量游戲參與者。對(duì)游戲客戶端應(yīng)用的通信可以劃分為持續(xù)的實(shí)時(shí)通信和有效的但非持續(xù)的通信。實(shí)時(shí)通信的信息量被最小化。通過(guò)游戲系統(tǒng)接口(GSI)程序的靈活層處理非持續(xù)的通信,其允許基于網(wǎng)絡(luò)的游戲系統(tǒng)處理日益增長(zhǎng)的數(shù)目和種類的游戲客戶端應(yīng)用。
GSI程序400還可以響應(yīng)來(lái)自游戲引擎應(yīng)用300的請(qǐng)求,如圖5中所示。GSI程序400向游戲引擎應(yīng)用300提供所請(qǐng)求的信息,但是GSI程序400不向游戲引擎應(yīng)用300發(fā)起消息。游戲引擎應(yīng)用300將所有參與者和已創(chuàng)建的游戲室通知給GSI程序400。游戲引擎應(yīng)用300還向GSI程序400發(fā)送用戶ID、會(huì)話ID、游戲室ID用于確認(rèn)。GSI程序400響應(yīng)游戲引擎應(yīng)用300來(lái)確認(rèn)游戲室、游戲會(huì)話和用戶ID。游戲引擎應(yīng)用300可以在其自身的本地回送IP地址上與GSI程序400進(jìn)行通信(由于GSI程序400可以安裝和運(yùn)行在與游戲引擎應(yīng)用300相同的計(jì)算機(jī)上),消除了游戲引擎應(yīng)用300和GSI程序400之間的網(wǎng)絡(luò)延遲。
圖6示出能夠在多個(gè)通信協(xié)議下以序列化消息進(jìn)行通信的游戲體系結(jié)構(gòu)的系統(tǒng)圖。多個(gè)游戲客戶端應(yīng)用611-613可以在多個(gè)計(jì)算機(jī)設(shè)備106和107上運(yùn)行,以支持多個(gè)游戲參與者參與到相同或不同的游戲室內(nèi)。每個(gè)計(jì)算機(jī)設(shè)備106和107可以容納多個(gè)游戲客戶端應(yīng)用611-613。游戲客戶端應(yīng)用611-613可以在持續(xù)整個(gè)游戲會(huì)話的通信路徑中與一個(gè)或多個(gè)游戲引擎應(yīng)用621-623進(jìn)行通信。響應(yīng)是實(shí)時(shí)的且沒(méi)有網(wǎng)絡(luò)延遲,但是所通信的信息對(duì)每個(gè)游戲會(huì)話是特定的,并且不要求在游戲會(huì)話結(jié)束后存儲(chǔ)。游戲引擎應(yīng)用621-623可以以由諸如PHP(超文本預(yù)處理器)、XML、AMF、XML-RPC(遠(yuǎn)程過(guò)程呼叫)等的序列化通信協(xié)議所定義的不同語(yǔ)言進(jìn)行通信。
游戲客戶端應(yīng)用611-613還可以在有效的通信路徑中與游戲系統(tǒng)接口(GSI)程序630進(jìn)行通信。GSI游戲630旨在提供一種邏輯結(jié)構(gòu),用于將游戲客戶端應(yīng)用611-613連接到基于網(wǎng)絡(luò)的游戲系統(tǒng)100中的一個(gè)或多個(gè)服務(wù)器上的應(yīng)用邏輯。GSI程序630可以響應(yīng)來(lái)自游戲客戶端應(yīng)用611-613和游戲引擎應(yīng)用621-623的請(qǐng)求。每個(gè)請(qǐng)求/響應(yīng)周期是一個(gè)獨(dú)立的會(huì)話,不要求其持續(xù)整個(gè)游戲會(huì)話。此外,到GSI程序630的請(qǐng)求和來(lái)自GSI程序630的響應(yīng)可以是異步通信。GSI程序630包括兩個(gè)應(yīng)用層GSI控制器640和GSI模型650。GSI控制器640可以訪問(wèn)游戲協(xié)議庫(kù)660,其可以存儲(chǔ)在連接在網(wǎng)絡(luò)中的存儲(chǔ)設(shè)備中。游戲協(xié)議庫(kù)660中的示例表700在圖7中示出。表700列出了多個(gè)游戲ID,諸如“釣魚(yú)”、“足球”、“萬(wàn)圣節(jié)”、“尋寶”、“逃生”等。游戲引擎(GE1、GE2、GE3...)支持一個(gè)或多個(gè)游戲ID。對(duì)游戲引擎GE1、GE2、GE3...進(jìn)行編碼,以在可以使用多種因特網(wǎng)協(xié)議進(jìn)行傳輸?shù)闹T如PHP、XML、AMF、XML-RPC和PHP之類的不同的序列化協(xié)議下進(jìn)行通信,該多種因特網(wǎng)協(xié)議包括HTTP、SMTP和MIME。通信協(xié)議獨(dú)立于計(jì)算機(jī)設(shè)備106和107上的或基于網(wǎng)絡(luò)的游戲系統(tǒng)100中的服務(wù)器上的操作系統(tǒng)。通信協(xié)議可以獨(dú)立于游戲邏輯、游戲室和游戲引擎應(yīng)用。不同的游戲客戶端應(yīng)用611-613甚至可以使用許多不同的通信協(xié)議來(lái)同時(shí)進(jìn)入同一游戲室。GSI程序630提供多個(gè)消息序列化協(xié)議,允許多個(gè)客戶端類型通過(guò)GSI模型650與游戲引擎應(yīng)用621-623、數(shù)據(jù)庫(kù)670和存儲(chǔ)設(shè)備671進(jìn)行通信。
GSI程序630公布了通信協(xié)議列表,以提供消息傳遞的標(biāo)準(zhǔn)化方法。例如,通信協(xié)議可以將不同類型的數(shù)據(jù)的不同表示抽象為序列化的封裝,其允許對(duì)在不同的計(jì)算機(jī)設(shè)備上使用的不同語(yǔ)言的數(shù)據(jù)的公共表示。重要地,這使得能夠與駐留在計(jì)算機(jī)上的未知客戶端應(yīng)用進(jìn)行通信,該未知客戶端應(yīng)用的編程語(yǔ)言對(duì)于GSI程序是未知的。
通信協(xié)議可以包括用于序列化或解序列化消息的加密規(guī)則和解密規(guī)則,如圖7中所示。利用在不同協(xié)議下處理轉(zhuǎn)換的庫(kù)來(lái)構(gòu)建游戲客戶端應(yīng)用611-613和游戲引擎應(yīng)用621-623。例如,游戲客戶端應(yīng)用611-613和游戲引擎應(yīng)用621-623可以將序列化的分組解碼為其自身的內(nèi)部語(yǔ)言,以理解包含在序列化的封裝中的數(shù)據(jù)。類似地,可以在發(fā)送到GSI程序630之前,使用這些原本存儲(chǔ)的協(xié)議對(duì)到GSI程序630的請(qǐng)求消息進(jìn)行加密。游戲客戶端應(yīng)用611-613和游戲引擎應(yīng)用621-623使用通信協(xié)議來(lái)調(diào)用到GSI程序630的請(qǐng)求,并解譯來(lái)自GSI程序630的應(yīng)答消息。
GSI程序630為來(lái)自所有游戲客戶端應(yīng)用611-613的請(qǐng)求提供單個(gè)進(jìn)入點(diǎn)。該體系結(jié)構(gòu)允許游戲客戶端應(yīng)用611-613捆綁同一HTTP請(qǐng)求(即,boxcar方法)中的多個(gè)異步請(qǐng)求。此外,不同通信協(xié)議中的請(qǐng)求可以捆綁在同一HTTP消息中。之后,GSI程序可以在一個(gè)捆綁的HTTP響應(yīng)中響應(yīng)該捆綁的HTTP請(qǐng)求。boxcar方法允許以較低傳輸障礙進(jìn)行有效的信息傳輸。對(duì)比地,如果想要通過(guò)不同的進(jìn)入點(diǎn)來(lái)接收該請(qǐng)求,則包括用于游戲客戶端應(yīng)用的多個(gè)進(jìn)入點(diǎn)的游戲體系結(jié)構(gòu)不能允許捆綁不同的請(qǐng)求。
GSI程序630將消息序列化與應(yīng)用邏輯分離。消息序列化和解序列化由GSI控制器640處理,而應(yīng)用邏輯由GSI模型650處理。使用包括兩個(gè)應(yīng)用層(GSI控制器640和一個(gè)或多個(gè)GSI模型650)的混合MVC(模型-視圖-控制器)體系結(jié)構(gòu)來(lái)構(gòu)建GSI程序630。GSI控制器640是單個(gè)網(wǎng)關(guān),負(fù)責(zé)控制請(qǐng)求并將請(qǐng)求路由到特定的GSI模型650,并然后將響應(yīng)返回到游戲客戶端應(yīng)用611-613。每個(gè)GSI模型包含用于每個(gè)特定方法呼叫的應(yīng)用邏輯。GSI模型650接受參數(shù)并返回響應(yīng)。GSI模型解譯由游戲客戶端應(yīng)用611-613或游戲引擎應(yīng)用621-623所發(fā)送的解序列化消息,并使用與初始請(qǐng)求相同的協(xié)議對(duì)來(lái)自模型的響應(yīng)進(jìn)行序列化。視圖將由客戶端應(yīng)用所發(fā)送的消息進(jìn)行解序列化,并且然后使用與初始請(qǐng)求相同的協(xié)議對(duì)來(lái)自模型的響應(yīng)進(jìn)行序列化。總之,GSI控制器640控制呼叫哪個(gè)應(yīng)用邏輯。GSI模型650容納該應(yīng)用邏輯。視圖將由GSI模型650所提供的信息格式化。
包括GSI程序630的體系結(jié)構(gòu)包括一個(gè)或多個(gè)優(yōu)點(diǎn)。GSI程序630允許輕量級(jí)客戶端到服務(wù)器側(cè)的應(yīng)用邏輯。GSI程序630允許不使用相同的編程語(yǔ)言(諸如Java、Flash ActionScript和PHP)的兩個(gè)不同服務(wù)器的連接。序列化協(xié)議使得表示根據(jù)各個(gè)服務(wù)器而不同的數(shù)據(jù)結(jié)構(gòu)是可能的。對(duì)于服務(wù)器將使用的接收消息中的數(shù)據(jù),必須解序列化該消息,并且將其轉(zhuǎn)換為其自身語(yǔ)言,使得可以處理數(shù)據(jù)。序列化協(xié)議提供數(shù)據(jù)的只讀表示。一旦數(shù)據(jù)解序列化,則由本機(jī)語(yǔ)言方法處理,直到需要返回?cái)?shù)據(jù)為止。然后進(jìn)行再序列化并發(fā)送??蛻舳藨?yīng)用可以以不同的消息序列化協(xié)議與基于網(wǎng)絡(luò)的系統(tǒng)100中的服務(wù)器進(jìn)行通信。此外,可訪問(wèn)GSI模型650的應(yīng)用邏輯可以分解為一系列用于特定信息的離散請(qǐng)求,并且每個(gè)方法調(diào)用應(yīng)答一個(gè)特定問(wèn)題。
圖8A和圖8B示出用于游戲系統(tǒng)接口應(yīng)用與游戲客戶端應(yīng)用或游戲引擎之間的通信的示例性流程圖。游戲客戶端應(yīng)用200、611-613向URL或其他通信層提交請(qǐng)求,由web服務(wù)器121-124所接收。在步驟810中,web服務(wù)器121-124示例說(shuō)明(instantiate)GSI控制器640處理請(qǐng)求。在步驟820中,GSI控制器640評(píng)估該請(qǐng)求,并確定將使用哪個(gè)通信協(xié)議??梢栽谡?qǐng)求消息中的報(bào)頭中指示通信協(xié)議,或在由URL定義的存儲(chǔ)位置處存儲(chǔ)通信協(xié)議。然后GSI控制器640示例說(shuō)明來(lái)自游戲協(xié)議庫(kù)660的視圖對(duì)象。視圖對(duì)象可以包括針對(duì)該協(xié)議的解密和加密規(guī)則。GSI控制器640請(qǐng)求視圖對(duì)象解序列化該請(qǐng)求。在步驟830中,視圖對(duì)象將該請(qǐng)求解序列化,并將該請(qǐng)求以標(biāo)準(zhǔn)化格式返回給GSI控制器640。在步驟850中,GSI控制器640評(píng)估請(qǐng)求。GSI控制器640示例說(shuō)明GSI模型650處理請(qǐng)求的不同部分。在步驟860中,GSI模型650接受由GSI控制器640所傳遞的參數(shù),并返回響應(yīng)。GSI控制器640獲取這些操作的結(jié)果并將它們傳遞到視圖對(duì)象。在步驟870中,視圖對(duì)象將響應(yīng)序列化。GSI控制器640將序列化的響應(yīng)返回到游戲客戶端應(yīng)用200、611-613。GSI程序630關(guān)閉請(qǐng)求。來(lái)自游戲客戶端應(yīng)用200、611-613的消息常常包括需要存儲(chǔ)在參與者的帳戶中的游戲狀態(tài)信息,以允許在游戲會(huì)話結(jié)束之后這些信息是可用的。游戲狀態(tài)信息可以包括游戲參與者的游戲分?jǐn)?shù)、參與者所積累的財(cái)富和金錢、游戲裝備和游戲位置。在步驟880中示例說(shuō)明DAO(數(shù)據(jù)訪問(wèn)對(duì)象)。在步驟890中,示例說(shuō)明數(shù)據(jù)庫(kù)查詢(例如SQL查詢),以更新數(shù)據(jù)庫(kù)150、670。在步驟895中,將請(qǐng)求中的游戲狀態(tài)信息寫入存儲(chǔ)設(shè)備671中。在游戲引擎應(yīng)用300、621-623和GSI程序400、650之間的請(qǐng)求/響應(yīng)通信周期可以以如上所述的類似方式進(jìn)行。
盡管已在所附附圖中圖解并在前面的詳細(xì)描述中描述了本發(fā)明的特定實(shí)施例,但可以理解,本發(fā)明不限于這里所描述的特別的實(shí)施例,而是能夠在不偏離本發(fā)明的范圍的情況下,進(jìn)行大量的重新配置、修改和替換。以下權(quán)利要求書(shū)旨在包括多種這樣的修改。
權(quán)利要求
1.一種基于網(wǎng)絡(luò)的游戲系統(tǒng),包括計(jì)算機(jī)網(wǎng)絡(luò),配置為與在多個(gè)計(jì)算機(jī)設(shè)備上運(yùn)行的游戲客戶端應(yīng)用進(jìn)行通信,其中所述游戲客戶端應(yīng)用中的至少兩個(gè)加入同一游戲室內(nèi);連接到所述計(jì)算機(jī)網(wǎng)絡(luò)的第一服務(wù)器,配置為存儲(chǔ)能夠與多個(gè)游戲客戶端應(yīng)用進(jìn)行通信的游戲引擎應(yīng)用;連接到所述計(jì)算機(jī)網(wǎng)絡(luò)的計(jì)算機(jī)存儲(chǔ)設(shè)備,配置為存儲(chǔ)用于消息加密和消息解密的協(xié)議;以及連接到所述計(jì)算機(jī)網(wǎng)絡(luò)的第二服務(wù)器,配置為存儲(chǔ)游戲系統(tǒng)接口(GSI)程序,所述GSI程序可以接收來(lái)自所述多個(gè)游戲客戶端應(yīng)用的多個(gè)第一加密消息,并使用存儲(chǔ)在所述計(jì)算機(jī)存儲(chǔ)設(shè)備上的協(xié)議對(duì)所述第一加密消息進(jìn)行解密。
2.根據(jù)權(quán)利要求1所述的基于網(wǎng)絡(luò)的游戲系統(tǒng),其中所述第一服務(wù)器配置為存儲(chǔ)能夠在持續(xù)的網(wǎng)絡(luò)連接中與所述多個(gè)游戲客戶端應(yīng)用進(jìn)行通信的游戲引擎應(yīng)用。
3.根據(jù)權(quán)利要求1所述的基于網(wǎng)絡(luò)的游戲系統(tǒng),其中所述計(jì)算機(jī)存儲(chǔ)設(shè)備配置為存儲(chǔ)用于消息加密和消息解密的多個(gè)協(xié)議,并且所述游戲系統(tǒng)接口(GSI)程序可以使用所述多個(gè)協(xié)議中的一個(gè)或多個(gè)來(lái)對(duì)所述第一加密消息進(jìn)行解密。
4.根據(jù)權(quán)利要求1所述的基于網(wǎng)絡(luò)的游戲系統(tǒng),其中所述游戲引擎應(yīng)用配置為向同一游戲室內(nèi)的所述多個(gè)客戶端應(yīng)用進(jìn)行廣播。
5.根據(jù)權(quán)利要求1所述的基于網(wǎng)絡(luò)的游戲系統(tǒng),其中所述游戲引擎應(yīng)用配置為接收來(lái)自所述游戲客戶端應(yīng)用的請(qǐng)求,并即時(shí)響應(yīng)所述請(qǐng)求。
6.根據(jù)權(quán)利要求1所述的基于網(wǎng)絡(luò)的游戲系統(tǒng),其中所述第一加密消息包括游戲狀態(tài)信息,所述游戲狀態(tài)信息包括與所述游戲客戶端應(yīng)用中的至少一個(gè)相關(guān)聯(lián)的游戲統(tǒng)計(jì)資料和游戲配置中的一個(gè)或多個(gè)。
7.根據(jù)權(quán)利要求1所述的基于網(wǎng)絡(luò)的游戲系統(tǒng),其中所述第一加密消息中的至少一個(gè)包括可以由所述協(xié)議進(jìn)行序列化的序列化消息。
8.根據(jù)權(quán)利要求1所述的基于網(wǎng)絡(luò)的游戲系統(tǒng),其中所述第一加密消息包括與所述游戲客戶端應(yīng)用相關(guān)聯(lián)的用戶識(shí)別、會(huì)話識(shí)別和游戲室信息中的一個(gè)或多個(gè)。
9.根據(jù)權(quán)利要求1所述的基于網(wǎng)絡(luò)的游戲系統(tǒng),還包括連接到所述計(jì)算機(jī)網(wǎng)絡(luò)的數(shù)據(jù)存儲(chǔ)設(shè)備,配置為從所述GSI程序接收與所述第一加密消息相關(guān)聯(lián)的信息,并存儲(chǔ)與所述第一加密消息相關(guān)聯(lián)的所述信息。
10.根據(jù)權(quán)利要求1所述的基于網(wǎng)絡(luò)的游戲系統(tǒng),其中所述GSI程序配置為接收所述第一加密消息中的來(lái)自所述游戲客戶端應(yīng)用的請(qǐng)求,并通過(guò)向所述游戲客戶端應(yīng)用發(fā)送第二加密消息來(lái)響應(yīng)所述請(qǐng)求。
11.根據(jù)權(quán)利要求10所述的基于網(wǎng)絡(luò)的游戲系統(tǒng),其中使用存儲(chǔ)在所述計(jì)算機(jī)存儲(chǔ)設(shè)備上的所述多個(gè)協(xié)議中的一個(gè)或多個(gè)對(duì)所述第二加密消息進(jìn)行加密。
12.根據(jù)權(quán)利要求10所述的基于網(wǎng)絡(luò)的游戲系統(tǒng),其中所述第一加密消息包括認(rèn)證信息,并且所述第二加密消息包括確認(rèn)信息。
13.根據(jù)權(quán)利要求1所述的基于網(wǎng)絡(luò)的游戲系統(tǒng),其中所述GSI程序包括GSI控制器,配置為使用存儲(chǔ)在所述計(jì)算機(jī)存儲(chǔ)設(shè)備上的所述協(xié)議中的一個(gè)或多個(gè)對(duì)所述第一加密消息進(jìn)行解密并對(duì)響應(yīng)消息進(jìn)行加密。
14.根據(jù)權(quán)利要求13所述的基于網(wǎng)絡(luò)的游戲系統(tǒng),其中所述GSI程序包括GSI模型,其存儲(chǔ)游戲應(yīng)用邏輯并配置為根據(jù)所述應(yīng)用邏輯來(lái)形成所述響應(yīng)消息。
15.根據(jù)權(quán)利要求1所述的基于網(wǎng)絡(luò)的游戲系統(tǒng),其中所述游戲客戶端應(yīng)用由安裝在所述計(jì)算機(jī)設(shè)備上的web瀏覽器的插件來(lái)執(zhí)行。
16.根據(jù)權(quán)利要求1所述的基于網(wǎng)絡(luò)的游戲系統(tǒng),其中所述GSI程序配置為在非持續(xù)的網(wǎng)絡(luò)連接中與所述游戲客戶端應(yīng)用進(jìn)行通信。
17.一種基于網(wǎng)絡(luò)的游戲系統(tǒng),包括計(jì)算機(jī)網(wǎng)絡(luò),配置為與在多個(gè)計(jì)算機(jī)設(shè)備上運(yùn)行的游戲客戶端應(yīng)用進(jìn)行通信,其中所述游戲客戶端應(yīng)用中的至少兩個(gè)加入同一游戲室內(nèi);連接到所述計(jì)算機(jī)網(wǎng)絡(luò)的第一服務(wù)器,配置為存儲(chǔ)游戲引擎應(yīng)用,其可以a)在接收來(lái)自所述游戲客戶端應(yīng)用的請(qǐng)求之后,即時(shí)響應(yīng)于所述游戲客戶端應(yīng)用,以及b)向所述游戲客戶端應(yīng)用發(fā)送請(qǐng)求,并且即時(shí)接收來(lái)自所述游戲客戶端應(yīng)用的響應(yīng);連接到所述計(jì)算機(jī)網(wǎng)絡(luò)的計(jì)算機(jī)存儲(chǔ)設(shè)備,配置為存儲(chǔ)用于消息加密和消息解密的多個(gè)協(xié)議;以及連接到所述計(jì)算機(jī)網(wǎng)絡(luò)的第二服務(wù)器,配置為存儲(chǔ)游戲系統(tǒng)接口(GSI)程序,所述GSI程序可以接收來(lái)自所述多個(gè)游戲客戶端應(yīng)用的多個(gè)第一加密消息,并使用所述多個(gè)協(xié)議中的一個(gè)或多個(gè)對(duì)所述第一加密消息進(jìn)行解密。
18.根據(jù)權(quán)利要求17所述的基于網(wǎng)絡(luò)的游戲系統(tǒng),其中所述游戲引擎應(yīng)用配置為向同一游戲室內(nèi)的所述多個(gè)客戶端應(yīng)用進(jìn)行廣播。
19.根據(jù)權(quán)利要求17所述的基于網(wǎng)絡(luò)的游戲系統(tǒng),其中所述第一加密消息包括游戲狀態(tài)信息,所述游戲狀態(tài)信息包括與所述游戲客戶端應(yīng)用中的至少一個(gè)相關(guān)聯(lián)的游戲統(tǒng)計(jì)資料和游戲配置中的一個(gè)或多個(gè)。
20.一種基于網(wǎng)絡(luò)的游戲系統(tǒng),包括計(jì)算機(jī)網(wǎng)絡(luò),配置為與在多個(gè)計(jì)算機(jī)設(shè)備上運(yùn)行的游戲客戶端應(yīng)用進(jìn)行通信,其中所述游戲客戶端應(yīng)用中的至少兩個(gè)加入同一游戲室內(nèi);連接到所述計(jì)算機(jī)網(wǎng)絡(luò)的第一服務(wù)器,配置為存儲(chǔ)游戲引擎應(yīng)用,其可以a)在接收來(lái)自所述游戲客戶端應(yīng)用的請(qǐng)求之后,即時(shí)響應(yīng)于所述游戲客戶端應(yīng)用,以及b)向所述游戲客戶端應(yīng)用發(fā)送請(qǐng)求,并且即時(shí)接收來(lái)自所述游戲客戶端應(yīng)用的響應(yīng);連接到所述計(jì)算機(jī)網(wǎng)絡(luò)的計(jì)算機(jī)存儲(chǔ)設(shè)備,配置為存儲(chǔ)用于消息加密和消息解密的多個(gè)協(xié)議;以及連接到所述計(jì)算機(jī)網(wǎng)絡(luò)的第二服務(wù)器,配置為存儲(chǔ)游戲系統(tǒng)接口(GSI)控制器和GSI模型,其中所述GSI控制器可以接收來(lái)自所述多個(gè)游戲客戶端應(yīng)用的多個(gè)第一加密消息,使用存儲(chǔ)在所述計(jì)算機(jī)存儲(chǔ)設(shè)備上的所述協(xié)議中的一個(gè)或多個(gè)對(duì)所述第一加密消息進(jìn)行解密,并對(duì)待發(fā)送給所述游戲客戶端應(yīng)用的第二加密消息進(jìn)行加密,以及所述GSI模型可以存儲(chǔ)游戲應(yīng)用邏輯,并根據(jù)所述應(yīng)用邏輯來(lái)形成所述第二加密消息中待加密的響應(yīng)消息。
21.一種基于網(wǎng)絡(luò)的游戲系統(tǒng),包括計(jì)算機(jī)網(wǎng)絡(luò);連接到所述計(jì)算機(jī)網(wǎng)絡(luò)的計(jì)算機(jī)存儲(chǔ)設(shè)備,配置為存儲(chǔ)用于消息加密和消息解密的多個(gè)協(xié)議;以及連接到所述計(jì)算機(jī)網(wǎng)絡(luò)的第一服務(wù)器,配置為存儲(chǔ)游戲系統(tǒng)接口(GSI)程序,所述GSI程序配置為接收來(lái)自在與所述計(jì)算機(jī)網(wǎng)絡(luò)進(jìn)行通信的計(jì)算機(jī)設(shè)備上運(yùn)行的游戲客戶端應(yīng)用的第一加密消息,并使用所述多個(gè)協(xié)議中的一個(gè)或多個(gè)對(duì)所述第一加密消息進(jìn)行解密。
22.根據(jù)權(quán)利要求21所述的基于網(wǎng)絡(luò)的游戲系統(tǒng),其中所述第一加密消息包括序列化消息,并且所述協(xié)議中的至少一個(gè)包括用于對(duì)消息進(jìn)行序列化和對(duì)序列化的消息進(jìn)行解序列化的規(guī)則。
23.根據(jù)權(quán)利要求21所述的基于網(wǎng)絡(luò)的游戲系統(tǒng),其中所述第一加密消息捆綁從所述游戲客戶端應(yīng)用到所述GSI程序的多個(gè)請(qǐng)求。
24.根據(jù)權(quán)利要求23所述的基于網(wǎng)絡(luò)的游戲系統(tǒng),其中使用不同的協(xié)議對(duì)所述第一加密消息中捆綁的至少兩個(gè)請(qǐng)求進(jìn)行加密。
25.根據(jù)權(quán)利要求21所述的基于網(wǎng)絡(luò)的游戲系統(tǒng),其中所述第一加密消息包括與在所述計(jì)算機(jī)設(shè)備上運(yùn)行的游戲客戶端應(yīng)用相關(guān)聯(lián)的用戶識(shí)別、會(huì)話識(shí)別和游戲室信息中的一個(gè)或多個(gè)。
26.根據(jù)權(quán)利要求21所述的基于網(wǎng)絡(luò)的游戲系統(tǒng),其中所述第一加密消息包括游戲狀態(tài)信息,所述游戲狀態(tài)信息包括與在所述計(jì)算機(jī)設(shè)備上運(yùn)行的游戲客戶端應(yīng)用相關(guān)聯(lián)的游戲統(tǒng)計(jì)資料和游戲配置中的一個(gè)或多個(gè)。
27.根據(jù)權(quán)利要求21所述的基于網(wǎng)絡(luò)的游戲系統(tǒng),還包括連接到所述計(jì)算機(jī)網(wǎng)絡(luò)的數(shù)據(jù)存儲(chǔ)設(shè)備,配置為從所述GSI程序接收與所述第一加密消息相關(guān)聯(lián)的信息,并存儲(chǔ)與所述第一加密消息相關(guān)聯(lián)的所述信息。
28.根據(jù)權(quán)利要求21所述的基于網(wǎng)絡(luò)的游戲系統(tǒng),其中所述GSI程序配置為接收所述第一加密消息中的來(lái)自所述游戲客戶端應(yīng)用的請(qǐng)求,并通過(guò)向所述游戲客戶端應(yīng)用發(fā)送第二加密消息來(lái)響應(yīng)所述請(qǐng)求。
29.根據(jù)權(quán)利要求28所述的基于網(wǎng)絡(luò)的游戲系統(tǒng),其中使用存儲(chǔ)在所述計(jì)算機(jī)存儲(chǔ)設(shè)備上的多個(gè)協(xié)議中的一個(gè)或多個(gè),對(duì)所述第二加密消息進(jìn)行加密。
30.根據(jù)權(quán)利要求28所述的基于網(wǎng)絡(luò)的游戲系統(tǒng),其中所述第一加密消息包括認(rèn)證信息,并且所述第二加密消息包括驗(yàn)證信息。
31.根據(jù)權(quán)利要求21所述的基于網(wǎng)絡(luò)的游戲系統(tǒng),其中所述GSI程序包括GSI控制器,配置為使用存儲(chǔ)在所述計(jì)算機(jī)存儲(chǔ)設(shè)備上的所述協(xié)議中的一個(gè)或多個(gè)對(duì)所述第一加密消息進(jìn)行解密和對(duì)響應(yīng)消息進(jìn)行加密。
32.根據(jù)權(quán)利要求31所述的基于網(wǎng)絡(luò)的游戲系統(tǒng),其中所述GSI程序包括GSI模型,所述GSI模型包括預(yù)存儲(chǔ)的應(yīng)用邏輯,其中所述GSI模型配置為根據(jù)應(yīng)用邏輯形成所述響應(yīng)消息。
33.根據(jù)權(quán)利要求21所述的基于網(wǎng)絡(luò)的游戲系統(tǒng),其中所述游戲客戶端應(yīng)用由安裝在所述計(jì)算機(jī)設(shè)備上的web瀏覽器的插件執(zhí)行。
34.根據(jù)權(quán)利要求33所述的基于網(wǎng)絡(luò)的游戲系統(tǒng),其中所述游戲客戶端應(yīng)用配置為獨(dú)立于所述web瀏覽器的類型而顯示矢量圖形動(dòng)畫(huà)。
35.一種基于網(wǎng)絡(luò)的游戲系統(tǒng),包括計(jì)算機(jī)網(wǎng)絡(luò),配置為與多個(gè)計(jì)算機(jī)設(shè)備進(jìn)行通信,每個(gè)所述計(jì)算機(jī)設(shè)備運(yùn)行一個(gè)或多個(gè)游戲客戶端應(yīng)用;連接到所述計(jì)算機(jī)網(wǎng)絡(luò)的計(jì)算機(jī)存儲(chǔ)設(shè)備,配置為存儲(chǔ)用于消息加密和消息解密的多個(gè)協(xié)議;以及連接到所述計(jì)算機(jī)網(wǎng)絡(luò)的第一服務(wù)器,配置為存儲(chǔ)游戲系統(tǒng)接口(GSI)程序,所述GSI程序配置為接收來(lái)自在所述計(jì)算機(jī)設(shè)備上運(yùn)行的所述游戲客戶端應(yīng)用的多個(gè)第一加密消息,并使用所述多個(gè)協(xié)議中的一個(gè)或多個(gè)對(duì)所述第一加密消息進(jìn)行解密。
36.根據(jù)權(quán)利要求35所述的基于網(wǎng)絡(luò)的游戲系統(tǒng),其中由所述游戲客戶端應(yīng)用使用所述多個(gè)協(xié)議對(duì)所述第一加密消息進(jìn)行加密。
37.根據(jù)權(quán)利要求35所述的基于網(wǎng)絡(luò)的游戲系統(tǒng),其中所述協(xié)議中的至少一個(gè)包括用于對(duì)所述第一加密消息進(jìn)行解序列化的規(guī)則。
38.根據(jù)權(quán)利要求35所述的基于網(wǎng)絡(luò)的游戲系統(tǒng),其中所述第一加密消息中的至少一個(gè)捆綁從所述游戲客戶端應(yīng)用之一到所述GSI程序的多個(gè)請(qǐng)求。
39.一種在計(jì)算機(jī)網(wǎng)絡(luò)上提供游戲的方法,包括通過(guò)計(jì)算機(jī)網(wǎng)絡(luò),從在計(jì)算機(jī)設(shè)備上運(yùn)行的游戲客戶端應(yīng)用接收第一加密消息中的請(qǐng)求;由存儲(chǔ)在第一服務(wù)器上的游戲系統(tǒng)接口(GSI)控制器,使用存儲(chǔ)在存儲(chǔ)設(shè)備上的一個(gè)或多個(gè)協(xié)議,對(duì)所述第一加密消息進(jìn)行解密,其中所述第一服務(wù)器和所述存儲(chǔ)設(shè)備連接到所述計(jì)算機(jī)網(wǎng)絡(luò);根據(jù)由游戲系統(tǒng)接口(GSI)模型可訪問(wèn)的游戲應(yīng)用邏輯,由所述GSI模型形成響應(yīng)消息;由所述GSI控制器使用與所述第一加密消息相同的協(xié)議,對(duì)所述響應(yīng)消息進(jìn)行加密,以產(chǎn)生第二加密消息;以及由所述GSI控制器將所述第二加密消息發(fā)送給所述游戲客戶端應(yīng)用。
40.根據(jù)權(quán)利要求39所述的方法,還包括從在計(jì)算機(jī)設(shè)備上運(yùn)行的多個(gè)游戲客戶端應(yīng)用接收多個(gè)第一加密消息中的請(qǐng)求;由存儲(chǔ)在第一服務(wù)器上的游戲系統(tǒng)接口(GSI)控制器,使用存儲(chǔ)在存儲(chǔ)設(shè)備上的多個(gè)協(xié)議,對(duì)所述第一加密消息進(jìn)行解密,其中所述計(jì)算機(jī)設(shè)備、所述第一服務(wù)器和所述存儲(chǔ)設(shè)備連接到所述計(jì)算機(jī)網(wǎng)絡(luò);根據(jù)由游戲系統(tǒng)接口(GSI)模型可訪問(wèn)的游戲應(yīng)用邏輯,由所述GSI模型形成對(duì)所述請(qǐng)求的響應(yīng)消息;由所述GSI控制器使用與對(duì)所述第一加密消息中的相應(yīng)請(qǐng)求進(jìn)行加密的協(xié)議相對(duì)應(yīng)的協(xié)議,對(duì)所述響應(yīng)消息進(jìn)行加密,以產(chǎn)生多個(gè)第二加密消息;以及由所述GSI控制器將所述第二加密消息發(fā)送給所述游戲客戶端應(yīng)用。
全文摘要
一種基于網(wǎng)絡(luò)的游戲系統(tǒng),包括計(jì)算機(jī)網(wǎng)絡(luò),配置為與在多個(gè)計(jì)算機(jī)設(shè)備上運(yùn)行的游戲客戶端應(yīng)用進(jìn)行通信,其中游戲客戶端應(yīng)用中的至少兩個(gè)加入同一游戲室內(nèi);連接到計(jì)算機(jī)網(wǎng)絡(luò)的第一服務(wù)器,配置為存儲(chǔ)能夠與多個(gè)游戲客戶端應(yīng)用進(jìn)行通信的游戲引擎應(yīng)用;連接到計(jì)算機(jī)網(wǎng)絡(luò)的計(jì)算機(jī)存儲(chǔ)設(shè)備,配置為存儲(chǔ)用于消息加密和消息解密的協(xié)議;以及連接到計(jì)算機(jī)網(wǎng)絡(luò)的第二服務(wù)器,配置為存儲(chǔ)游戲系統(tǒng)接口(GSI)程序,其可以從多個(gè)游戲客戶端應(yīng)用接收多個(gè)第一加密消息,并使用存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)設(shè)備上的協(xié)議對(duì)該第一加密消息進(jìn)行解密。
文檔編號(hào)H04L29/08GK1949778SQ200610132259
公開(kāi)日2007年4月18日 申請(qǐng)日期2006年10月13日 優(yōu)先權(quán)日2005年10月14日
發(fā)明者德里克·劉, 約翰·洛赫埃 申請(qǐng)人:吉亞互動(dòng)公司