專利名稱:用于將動態(tài)內(nèi)容引入合成環(huán)境中的分布式網(wǎng)絡(luò)架構(gòu)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明的實施例大體上涉及基于計算機的模擬以及合成環(huán)境產(chǎn)生,且更明確地說, 涉及用于以分布式架構(gòu)產(chǎn)生合成環(huán)境以尤其引入動態(tài)內(nèi)容的系統(tǒng)、計算機可讀媒體、方 法和設(shè)備。
背景技術(shù):
傳統(tǒng)的用于設(shè)計和模擬計算機產(chǎn)生的環(huán)境(例如大型多玩家在線("MMO")游戲 中的虛擬世界)的技術(shù)并不容易便于新的或經(jīng)修改的虛擬世界的高效開發(fā)和制作。而且, 常規(guī)的用于產(chǎn)生虛擬世界的游戲平臺進一步阻礙了尤其是相對于大型多玩家在線游戲 的虛擬世界的開發(fā)和制作。通常,常規(guī)游戲平臺使用一組游戲服務(wù)器來創(chuàng)建虛擬世界, 其中每一額外組的游戲服務(wù)器用于創(chuàng)建虛擬世界的副本。此些副本通常被稱為"碎片 (shard)"。常規(guī)的游戲平臺以例行方式將每一虛擬世界的地理范圍劃分成若干分區(qū),且 分配一個游戲服務(wù)器來產(chǎn)生每一單個分區(qū)。經(jīng)配置以產(chǎn)生虛擬世界的分區(qū)的游戲服務(wù)器 通常被稱為"區(qū)域服務(wù)器"。此外, 一些常規(guī)游戲服務(wù)器是單片的,這意味著用于為虛 擬世界產(chǎn)生分區(qū)的所有游戲進程是在單個進程和/或服務(wù)器中創(chuàng)立的。雖然常規(guī)游戲平臺 以及開發(fā)計算機產(chǎn)生的世界的傳統(tǒng)方法是有作用的,但存在與之相關(guān)聯(lián)的多種缺陷。
某些常規(guī)游戲平臺的缺陷在于,其為虛擬世界的分區(qū)分配一個游戲服務(wù)器。由此, 游戲服務(wù)器及其功能性通常直接與分區(qū)及其活動聯(lián)系起來。地理上相連的游戲服務(wù)器的 性能因此依據(jù)所述分區(qū)處的玩家數(shù)目以及該處正在執(zhí)行的活動的種類而變。此外,使用 單片游戲服務(wù)器的常規(guī)游戲平臺因為其無法調(diào)整其硬件能力以滿足需求的增長而在某 種程度上是受限的。因此,隨著更多玩家移動到特定分區(qū),支持所述分區(qū)的游戲服務(wù)器 的負擔(dān)變得越來越重。這又限制了可與對應(yīng)的虛擬世界分區(qū)互動的玩家的數(shù)目。作為補 救,某些大型多玩家在線游戲操作以將玩家從人數(shù)過多的游戲服務(wù)器遷移到人數(shù)相對較 少的游戲服務(wù)器。這可能顯著影響玩家體驗。
傳統(tǒng)游戲平臺的又一缺點在于,每一游戲服務(wù)器與同一虛擬世界中的其它游戲服務(wù) 器相比,通常具有單獨的用于產(chǎn)生虛擬世界分區(qū)的進程空間。玩家越過為兩個虛擬世界 部分劃定界線的地理邊界而互動是常見的。由此,難題由于分區(qū)邊界的緣故而出現(xiàn),且 常規(guī)游戲平臺通常需要計算資源來嘗試管理越分區(qū)互動。舉例來說,與一個分區(qū)中的一
7個玩家相關(guān)聯(lián)的游戲服務(wù)器通常需要某一種類的跟蹤功能性來跟蹤所述玩家與其它虛 擬世界分區(qū)中的其它玩家的互動。作為另一實例,考慮通常需要計算資源來維持玩家作 為不同進程空間中的代理。傳統(tǒng)上,將玩家實施為代理要求將用于一個虛擬世界分區(qū)的 玩家特有信息的一種表示(例如,角色識別符)轉(zhuǎn)換成用于和另一虛擬世界分區(qū)的單獨 進程空間一起使用的另一表示。此外,游戲服務(wù)器通常使用(例如)遠程程序調(diào)用來在 游戲服務(wù)器自己之間就玩家互動進行通信,這增加了通信的復(fù)雜性以及越分區(qū)互動的等 待時間。
常規(guī)游戲平臺的進一步缺點在于,越過不同虛擬世界分區(qū)而互動的玩家(或玩家代 理)可容易中斷交易以不正當(dāng)?shù)貫槠渥陨慝@利。為了說明,考慮一個虛擬世界分區(qū)處的 第一玩家提出用武器來交換另一虛擬世界分區(qū)處的第二玩家所擁有的金幣。接下來,考 慮第一玩家接收到金幣,但在交出武器之前,第一玩家斷開位于不同虛擬世界分區(qū)的游 戲服務(wù)器之間的連接。因此,第一玩家將接收到金幣但沒有交換武器。
使用單片游戲服務(wù)器的一個缺陷在于,如果單片游戲服務(wù)器的游戲子進程中的一者 (例如物理學(xué)進程)不穩(wěn)定或關(guān)閉,那么所述游戲子進程駐存在其中的整個游戲服務(wù)器 也容易經(jīng)受不穩(wěn)定或關(guān)閉。
使用當(dāng)前的客戶端-服務(wù)器架構(gòu)來設(shè)計和模擬用于大型多玩家在線游戲的計算機產(chǎn) 生環(huán)境存在其它缺陷??紤]連同為新的或經(jīng)修改的虛擬世界創(chuàng)建新內(nèi)容所需的開發(fā)活動 一起,游戲設(shè)計者和開發(fā)者還定期修改可執(zhí)行指令以適應(yīng)所述新內(nèi)容及其數(shù)據(jù)。修改可 執(zhí)行指令通常增加了開發(fā)時間,尤其是在用以剔除程序錯誤和其它問題的質(zhì)量保證和可 靠性測試期間。此外,大型多玩家在線游戲通常要求在與新內(nèi)容互動之前,將經(jīng)修改的 可執(zhí)行代碼下載到客戶端。舉例來說,對于大型多玩家在線游戲平臺,實施可包含經(jīng)修 改的可執(zhí)行代碼的大數(shù)據(jù)下載(例如,250 MB)是常見的。
鑒于上述內(nèi)容,將需要提供用于以分布式架構(gòu)產(chǎn)生合成環(huán)境以尤其將動態(tài)內(nèi)容引入 合成環(huán)境中的系統(tǒng)、計算機可讀媒體、方法和設(shè)備,且需要進一步為高效開發(fā)和制作新 的或經(jīng)修改的合成環(huán)境作準(zhǔn)備。
發(fā)明內(nèi)容
本發(fā)明的實施例大體上涉及基于計算機的模擬和合成環(huán)境產(chǎn)生,且更明確地說,涉 及用于以分布式架構(gòu)產(chǎn)生合成環(huán)境以尤其引入動態(tài)內(nèi)容的系統(tǒng)、計算機可讀媒體、方法 和設(shè)備。在一個實施例中,合成環(huán)境產(chǎn)生平臺可實施通用數(shù)據(jù)結(jié)構(gòu)和消息接發(fā)系統(tǒng)以便 利合成環(huán)境的產(chǎn)生。
8
連同以下結(jié)合附圖而進行的詳細描述將更全面地了解本發(fā)明,在附圖中
圖1A描繪根據(jù)本發(fā)明至少一個實施例的用于產(chǎn)生合成環(huán)境的系統(tǒng)。
圖IB是根據(jù)本發(fā)明至少一個實施例的相對于準(zhǔn)聚合進程空間而整體或部分產(chǎn)生合
成環(huán)境的游戲管理服務(wù)器的圖解。
圖2是展示根據(jù)本發(fā)明至少一個實施例的消息接發(fā)系統(tǒng)的實例的圖。 圖3描繪根據(jù)本發(fā)明至少一個實施例的用于產(chǎn)生實施通用消息接發(fā)接口的合成環(huán)境
的系統(tǒng)。
圖4A描繪根據(jù)本發(fā)明至少一個實施例的用于將動態(tài)內(nèi)容引入合成環(huán)境中的方法。 圖4B描繪根據(jù)本發(fā)明至少一個實施例的經(jīng)配置以將動態(tài)內(nèi)容引入合成環(huán)境中的合 成環(huán)境產(chǎn)生平臺。
圖5是根據(jù)本發(fā)明至少一個實施例的用于在產(chǎn)生合成環(huán)境時使用的準(zhǔn)聚合進程空間 的圖解。
圖6是展示根據(jù)本發(fā)明至少一個實施例的實施經(jīng)壓縮通用消息的消息接發(fā)系統(tǒng)的一 部分的實例的圖。
圖7描繪根據(jù)本發(fā)明至少一個實施例的用于產(chǎn)生實施主縮放服務(wù)器的合成環(huán)境的系統(tǒng)。
圖8是展示根據(jù)本發(fā)明至少一個實施例的添加可縮放游戲子進程服務(wù)器的主縮放服 務(wù)器的實例的圖。
圖9是根據(jù)本發(fā)明至少一個實施例的實施游戲子進程服務(wù)器的特定實施方案的合成
環(huán)境產(chǎn)生平臺的圖解。
圖IO是展示根據(jù)本發(fā)明至少一個實施例的物理學(xué)進程的實施方案的圖。 圖11是展示根據(jù)本發(fā)明至少一個實施例的用于確定能見度的技術(shù)的圖。 圖12是根據(jù)本發(fā)明至少一個實施例的實施額外類型的游戲子進程服務(wù)器的合成環(huán)
境產(chǎn)生平臺的圖解。
圖13是展示根據(jù)本發(fā)明至少一個實施例的用于在打補丁期間允許玩游戲的技術(shù)的圖。
圖14是根據(jù)本發(fā)明至少一個實施例的實施事件服務(wù)器和事件編輯器的合成環(huán)境產(chǎn) 生平臺的圖解。
圖15描繪根據(jù)本發(fā)明至少一個實施例的用于創(chuàng)建用于引入各種程度的動態(tài)內(nèi)容的事件的流程。
圖16是展示根據(jù)本發(fā)明至少一個實施例的通用數(shù)據(jù)結(jié)構(gòu)的特定實施方案的圖。 圖17是描繪根據(jù)本發(fā)明至少一個實施例的特性類系統(tǒng)的要素的圖。 圖18描繪根據(jù)本發(fā)明至少一個實施例的用于創(chuàng)建通用消息的流程。 圖19說明根據(jù)本發(fā)明至少一個實施例的用于創(chuàng)建通用消息的特性類系統(tǒng)的要素。 圖20說明根據(jù)本發(fā)明至少一個實施例的用于創(chuàng)建插接物的特性類系統(tǒng)的要素。 圖21是展示根據(jù)本發(fā)明至少一個實施例的實施經(jīng)壓縮通用消息的消息接發(fā)系統(tǒng)的 一部分的實例的圖。
圖22是根據(jù)本發(fā)明至少一個實施例的實施用以與合成環(huán)境產(chǎn)生平臺互動的通用消 息接發(fā)接口的若干客戶端的圖解。
相同參考標(biāo)號在附圖的這幾張圖中始終指代對應(yīng)的部分。請注意,大多數(shù)參考標(biāo)號 的一個或兩個最左邊的數(shù)字通常識別第一次引入所述參考標(biāo)號的圖。
具體實施例方式
圖1A描繪根據(jù)本發(fā)明至少一個實施例的用于產(chǎn)生合成環(huán)境的系統(tǒng)。此系統(tǒng)的一個 實例是合成環(huán)境產(chǎn)生平臺100,其包含聯(lián)網(wǎng)在一起以產(chǎn)生客戶端150與之互動的合成環(huán) 境的節(jié)點(和節(jié)點進程)。合成環(huán)境產(chǎn)生平臺100表示客戶端-服務(wù)器網(wǎng)絡(luò)架構(gòu)中的服務(wù) 器側(cè)結(jié)構(gòu)和/或功能性,且客戶端150表示客戶端側(cè)結(jié)構(gòu)和/或功能性。所述節(jié)點包含游 戲子進程服務(wù)器104、數(shù)據(jù)庫112和游戲管理服務(wù)器122,其全部通過網(wǎng)絡(luò)115耦合在 一起,以分別實施游戲子進程102、數(shù)據(jù)庫進程110以及游戲管理進程120。游戲子進 程102可包含多于或少于子進程102a、 102b和102c的子進程。如圖所示,游戲子進程 服務(wù)器104至少相對于游戲管理服務(wù)器122以分布式布置而布置,從而使游戲子進程102 與游戲管理進程120分離。在至少一個實施例中,游戲子進程服務(wù)器104a、游戲子進程 服務(wù)器i04b以及游戲子進程服務(wù)器104c可經(jīng)配置以分別作為物理學(xué)服務(wù)器、人工智能 服務(wù)器以及交易服務(wù)器而操作,或作為任何其它游戲相關(guān)子進程而操作。此外,根據(jù)各 種實施例,合成環(huán)境產(chǎn)生平臺IOO經(jīng)配置以實施準(zhǔn)聚合進程空間152,其可在游戲管理 服務(wù)器122之間或在合成環(huán)境產(chǎn)生平臺IOO與其它類似的合成環(huán)境產(chǎn)生平臺100 (未圖 示)之間共享,或兩種情況均可。
通過與游戲管理進程120分離地分布游戲子進程102a、 102b和102c,游戲管理服 務(wù)器122獨立地操作,從而使得其較不容易受游戲子進程服務(wù)器104中的任一者的性能 惡化影響。因此,可將硬件和軟件故障定位到特定的游戲服務(wù)器子進程102,從而允許問題識別和解決加速,且常常不會中斷游戲管理進程120。這允許客戶端150 (例如, 客戶端150a和客戶端150b)繼續(xù)與合成環(huán)境互動,而不會被游戲子進程服務(wù)器104所 發(fā)生的問題中斷。另外,分布式游戲子進程102a、 102b和102c促進了可聯(lián)機以充分提 供適當(dāng)量的游戲子進程102a、 102b和102c的游戲子進程服務(wù)器104的量的獨立縮放。 舉例來說,如果合成環(huán)境需要額外的人工智能,那么可獨立于其它游戲子進程102 (例 如物理學(xué)進程)的需要而使額外的人工智能服務(wù)器聯(lián)機。因此,可實施適當(dāng)量的硬件和 軟件以便于合成環(huán)境產(chǎn)生,以供任一數(shù)目的客戶端150與合成環(huán)境產(chǎn)生平臺100所產(chǎn)生 的合成環(huán)境互動。此外,與其它類似的合成環(huán)境產(chǎn)生平臺共享的準(zhǔn)聚合進程空間152便 于平臺間(即,越碎片(cross-shard))互動,從而尤其為經(jīng)改進的通信和更安全的交易 作準(zhǔn)備。
游戲管理服務(wù)器122每一者經(jīng)配置以與游戲子進程102和數(shù)據(jù)庫進程110合作以產(chǎn) 生參與者與之互動的合成環(huán)境。由此,游戲管理服務(wù)器122經(jīng)配置以對與客戶端150相 關(guān)聯(lián)的若干參與者與合成環(huán)境的互動進行管理。請注意,可相應(yīng)地縮放游戲子進程102 以支持客戶端150的數(shù)目。在各種實施例中,客戶端150可越過多個游戲管理服務(wù)器122 而分布,而不是限于一個游戲產(chǎn)生進程。為了說明,考慮客戶端150a可與游戲管理服 務(wù)器122a互動,且客戶端150b可與游戲管理服務(wù)器122c互動。雖然客戶端150a和150b 與不同的游戲管理進程互動,但它們可共享準(zhǔn)聚合進程空間152,不管客戶端150a和 150b與之互動的合成環(huán)境如何。在一個實施例中,客戶端150a和150b可共享準(zhǔn)聚合進 程空間152作為共用進程空間。由此,越合成環(huán)境互動可容易發(fā)生。在一些實施例中, 游戲管理服務(wù)器122可操作以批準(zhǔn)特定參與者所請求的動作,從而驗證所述參與者有權(quán) 修改游戲數(shù)據(jù)。在至少一個實施例中,游戲管理服務(wù)器122a到122n以只讀形式保存表 示客戶端150與合成環(huán)境的互動的游戲數(shù)據(jù)。由此,無法操縱游戲數(shù)據(jù)來破壞交易,所 述交易否則可能會不正當(dāng)?shù)厥箙⑴c者獲利。
在一個實施例中,游戲子進程服務(wù)器104a可為物理學(xué)服務(wù)器,其可經(jīng)配置以處理 例如合成環(huán)境中的參與者的移動和碰撞活動。舉例來說,物理學(xué)服務(wù)器104a可處理物 理學(xué)相關(guān)事件,例如碰撞檢測、剛性身體移動等。根據(jù)至少一個實施例,游戲子進程服 務(wù)器i04b可為人工智能服務(wù)器,其可經(jīng)配置以提供人工智能以模擬(例如)合成環(huán)境 中的非玩家角色("NPC")的移動。
在各種實施例中,游戲子進程服務(wù)器104c可為交易服務(wù)器,其可經(jīng)配置以管理參 與者之間的交易以確保交易是原子形式的。也就是說,游戲子進程服務(wù)器104c可操作 以確保交易的所有部分均發(fā)生,或所有部分均 發(fā)生,從而保證存儲在數(shù)據(jù)庫進程110中的游戲數(shù)據(jù)不被更新,除非交易的所有部分均成功,從而減少供參與者尋求不正當(dāng)獲 利的漏洞。交易服務(wù)器是游戲授權(quán)方,其確?;顒訉蓚€參與者均正確地完成,或?qū)?個參與者均失敗。在一個實施例中,合成環(huán)境產(chǎn)生平臺ioo中的所有服務(wù)器均為只讀除 外(read-only except)游戲子進程服務(wù)器104c (作為交易服務(wù)器)。因此,交易服務(wù)器 (如游戲子進程服務(wù)器104c)可作為用于交易游戲數(shù)據(jù)的單個授權(quán)方(即,其被授權(quán)修 改游戲數(shù)據(jù))而操作。在至少一個實施例中,構(gòu)成游戲子進程服務(wù)器104的交易服務(wù)器 可經(jīng)配置以實施準(zhǔn)聚合進程空間152作為一元進程空間,從而使參與者能夠加入用于不 同合成環(huán)境的游戲管理服務(wù)器,同時在準(zhǔn)聚合進程空間152所提供的模仿共用進程空間 內(nèi)進行交易。
在操作中,客戶端150a和150b產(chǎn)生致使參與者的表示(例如,化身)修改游戲管 理進程120中的游戲數(shù)據(jù)的請求。如本文所使用,至少在一個實施例中,術(shù)語"游戲管 理服務(wù)器"指代管理參與者與合成環(huán)境的互動的計算裝置和/或進程。舉例來說,游戲管 理服務(wù)器可接受來自客戶端150的輸入,且作為響應(yīng),與游戲子進程102和數(shù)據(jù)庫進程 110合作以產(chǎn)生經(jīng)修改的游戲數(shù)據(jù)(其表示基于客戶端互動的經(jīng)修改的合成環(huán)境),以供 傳回到客戶端150a和150b。如本文所使用,至少在一個實施例中,術(shù)語"游戲子進程 服務(wù)器"指代執(zhí)行一游戲進程的子集的計算裝置和/或進程(例如物理學(xué)服務(wù)器和人工智 能服務(wù)器),其結(jié)果由游戲管理服務(wù)器使用。
如本文所使用,至少在一個實施例中,術(shù)語"節(jié)點"指代影響合成環(huán)境的產(chǎn)生的計 算裝置和/或進程,例如服務(wù)器、客戶端、數(shù)據(jù)庫等。如本文所使用,至少在一個實施例 中,術(shù)語"游戲數(shù)據(jù)"指代與合成環(huán)境的產(chǎn)生有關(guān)的數(shù)據(jù)的至少一子集。游戲數(shù)據(jù)可包 含用以(例如)產(chǎn)生合成環(huán)境的地形的地圖數(shù)據(jù)。游戲數(shù)據(jù)還可包含參與者的狀態(tài),包 含角色數(shù)據(jù)、庫存數(shù)據(jù)(例如,武器數(shù)據(jù))、銀行數(shù)據(jù)、合成家庭數(shù)據(jù)、獎品數(shù)據(jù)等。 如本文所使用,至少在一個實施例中,術(shù)語"合成環(huán)境"可指代作為既定供其參與者經(jīng) 由(例如)化身而居住和互動的基于計算機的模擬環(huán)境的虛擬世界(或其一部分)。合 成環(huán)境也可指代碎片或永恒世界(或其一部分),永恒世界是在具有或不具有參與者互 動的情況下均在進行的虛擬世界。如本文所使用,至少在一個實施例中,術(shù)語"參與者" 指代玩家,或玩家的二維或三維圖形表示(例如,化身)表示,或上述兩者。參與者也 可指代玩家與之互動的客戶端。如本文所使用,至少在一個實施例中,術(shù)語"準(zhǔn)聚合進 程空間"指代為應(yīng)用程序分配的且/或為供處理器(例如, 一個或一個以上中央處理單元 ("CPU"))執(zhí)行指令而實施的存儲器空間,藉此所述存儲器空間經(jīng)配置以起用于某些類 型的數(shù)據(jù)的經(jīng)聚合的共用進程空間的作用,且進一步經(jīng)配置以起用于一種或一種以上其它類型數(shù)據(jù)的單獨進程空間的作用。
請注意,根據(jù)其它實施例,游戲子進程服務(wù)器104和游戲子進程102可經(jīng)配置以實 施任何其它游戲相關(guān)進程,以便于(例如)大型多玩家在線游戲("MMO")。此外,一 個或一個以上數(shù)據(jù)庫112a到112c可經(jīng)配置以存儲(例如)用以尤其產(chǎn)生合成環(huán)境的數(shù) 據(jù)。由此, 一個或一個以上數(shù)據(jù)庫112a到112c可存儲與參與者賬戶、統(tǒng)計數(shù)據(jù)、審計 數(shù)據(jù)、游戲數(shù)據(jù)等有關(guān)的賬戶數(shù)據(jù)。在特定實施例中,合成環(huán)境產(chǎn)生平臺IOO經(jīng)配置以 經(jīng)由鏈路140交換數(shù)據(jù),鏈路140可通過(例如)若干網(wǎng)絡(luò)(未圖示)中的任一者(包 含因特網(wǎng))來傳達通信信號。在一個實施例中,鏈路140經(jīng)配置以便以至少從約5 Kbs 到約10 Kbs或更高的速率來傳輸和/或接收數(shù)據(jù)。由此,鏈路140可尤其大體上同時支 持5Kbs上游和5Kbs下游。在其它實施例中,鏈路140是相對較高帶寬鏈路,其可(例 如)使用數(shù)字訂戶線("DSL")技術(shù)、電纜技術(shù)、衛(wèi)星技術(shù)等而實施為寬帶連接。而且, 鏈路140可為無線鏈路。在一個實施例中,高帶寬鏈路140可以比10Kbs快的速率傳輸 和/或接收數(shù)據(jù),且由此,鏈路140可實施高于10Kbs的數(shù)據(jù)傳送速率。此外,網(wǎng)絡(luò)115 經(jīng)配置以便以每秒至少1到16千兆位或更快的速率輸送消息和/或包。在一個實施例中, 網(wǎng)絡(luò)115是IO千兆位以太網(wǎng)("10GbE")網(wǎng)絡(luò)。
圖1B是根據(jù)本發(fā)明至少一個實施例的整體或部分產(chǎn)生與進程空間相連的合成環(huán)境 的游戲管理服務(wù)器的圖解。合成環(huán)境產(chǎn)生平臺160經(jīng)配置以產(chǎn)生用于客戶端150a和150b 的合成環(huán)境162。在此實例中,合成環(huán)境162包含四個區(qū) 一區(qū)("R1") 163、 二區(qū)("R2") 165、三區(qū)("R3") 167、四區(qū)("R4") 169。接下來,考慮參與者170和參與者172分 別與客戶端150a和150b相關(guān)聯(lián)。合成環(huán)境產(chǎn)生平臺160包含由游戲("mgmt")管理服 務(wù)器122a到122d實施的游戲管理進程120。合成環(huán)境產(chǎn)生平臺160還包含可用其產(chǎn)生 合成環(huán)境162的準(zhǔn)聚合進程空間161。
根據(jù)本發(fā)明的各種實施例,準(zhǔn)聚合進程空間161經(jīng)配置以在某些實例中作為共用進 程空間而操作,且在其它實例期間作為單獨進程的集合而操作。明確地說,準(zhǔn)聚合進程 空間161經(jīng)配置以充當(dāng)?shù)谝挥螒驍?shù)據(jù)子集的共用進程空間,且經(jīng)配置以充當(dāng)?shù)诙?shù)據(jù)子 集的單獨進程空間。舉例來說,交易服務(wù)器190經(jīng)配置以實施準(zhǔn)聚合進程空間161,作 為(例如)非幾何相關(guān)數(shù)據(jù)和交易相關(guān)數(shù)據(jù)的共用進程空間,而游戲管理服務(wù)器122經(jīng) 配置以實施準(zhǔn)聚合進程空間161,作為(例如)幾何相關(guān)數(shù)據(jù)的單獨進程空間。在至少 一個實施例中,合成環(huán)境產(chǎn)生平臺160包含交易服務(wù)器190以整體或部分實施準(zhǔn)聚合進 程空間161。明確地說,交易服務(wù)器190具有共用進程空間,其用以處理參與者170c的 第一數(shù)據(jù)子集192和參與者172的第一數(shù)據(jù)子集194兩者。第一數(shù)據(jù)子集192和194的
13實例包含表示參與者希望進行貿(mào)易的物品的數(shù)據(jù)。舉例來說,參與者170c和172的第 二數(shù)據(jù)子集可與例如游戲管理服務(wù)器122b和122d處理的幾何數(shù)據(jù)有關(guān)。
在操作中,當(dāng)參與者170登入時,合成環(huán)境產(chǎn)生平臺160將所述參與者指派給游戲 管理服務(wù)器122b。作為對比,當(dāng)參與者172登入時,合成環(huán)境產(chǎn)生平臺160將參與者 172指派給游戲管理服務(wù)器122d。參與者170和172在會話期間保持分別與游戲管理服 務(wù)器122b和122d相關(guān)聯(lián)。接下來,考慮兩者均希望加入二區(qū)165處的活動,如同未圖 示的許多其它參與者所做的那樣。參與者170a在一區(qū)163處進入合成環(huán)境162,且接著 移動到二區(qū)165作為參與者170b。由于一區(qū)163和二區(qū)165兩者均與準(zhǔn)聚合進程空間 161有關(guān),因此當(dāng)(例如)準(zhǔn)聚合進程空間161被作為共用進程空間而接入時,不需要 原本將需要的用來管理越分區(qū)互動的計算資源。參與者170c可進一步移動到三區(qū)167, 且接著移動到四區(qū)169作為參與者170d。請注意,隨著更多的參與者進入二區(qū)165,增 加的數(shù)目并不會對應(yīng)地使服務(wù)器停頓。這是因為根據(jù)本發(fā)明的各種實施例,產(chǎn)生合成環(huán) 境162的游戲相關(guān)進程并未鏈接到地理位置。在此實例中,沒有一個游戲管理服務(wù)器122 承受全部負擔(dān),負擔(dān)可作為整體分?jǐn)傇谟螒蚬芾磉M程120上。因此,大量參與者可聚集 在一個區(qū)處,而不會顯著傾覆單個游戲管理服務(wù)器122的性能。
圖2是展示根據(jù)本發(fā)明至少一個實施例的消息接發(fā)系統(tǒng)的實例的圖。圖2展示合成 環(huán)境產(chǎn)生平臺200,其實施消息接發(fā)系統(tǒng)250的至少一部分,所述消息接發(fā)系統(tǒng)250經(jīng) 配置以經(jīng)由網(wǎng)絡(luò)230將數(shù)據(jù)庫進程201、服務(wù)器進程206和客戶端進程240 (全部為節(jié) .點)耦合在一起。網(wǎng)絡(luò)230可為計算機網(wǎng)絡(luò)或任何其它類型的通信網(wǎng)絡(luò)。數(shù)據(jù)庫進程201 包含數(shù)據(jù)庫("d/B") 202和數(shù)據(jù)庫管理系統(tǒng)("DBMS") 204,數(shù)據(jù)庫管理系統(tǒng)204控 制數(shù)據(jù)庫202中的數(shù)據(jù)的組織、存儲和檢索。在操作中,消息接發(fā)系統(tǒng)250經(jīng)配置以傳 播消息(例如,消息220a和220b),其包含通用數(shù)據(jù)結(jié)構(gòu)260以將數(shù)據(jù)整合到例如服務(wù) 器進程206的節(jié)點(或節(jié)點進程)中。明確地說,消息接發(fā)系統(tǒng)250經(jīng)配置以便以可由 所述進程中的每一者使用的數(shù)據(jù)布置在數(shù)據(jù)庫進程201、服務(wù)器進程206和客戶端進程 240之間交換數(shù)據(jù)。在一個或一個以上實施例中,與消息220a和220b相關(guān)聯(lián)的數(shù)據(jù)布 置可直接由所述進程中的每一者使用。舉例來說,服務(wù)器進程206可使用根據(jù)消息220a 所使用的通用數(shù)據(jù)結(jié)構(gòu)("UDS") 260a而布置的數(shù)據(jù)。由此,數(shù)據(jù)庫進程201、服務(wù)器 進程206和客戶端進程240無需要求從與消息220a和220b相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)到特定節(jié) 點原本可能要求的不同(或?qū)S?形式的轉(zhuǎn)換。因此,不存在原本可能需要的用來為此 轉(zhuǎn)換作準(zhǔn)備的可執(zhí)行代碼。
如圖2所示,消息接發(fā)系統(tǒng)250可包含若干通用消息接口,例如通用消息接口 210a、通用消息接口 210b和通用消息接口 210c,其每一者可經(jīng)配置以產(chǎn)生消息220a和220b, 以供在整個合成環(huán)境產(chǎn)生平臺中且以客戶端進程240傳輸。通用消息接口 210a、 210b 和210c每一者可經(jīng)配置以接收消息220a和220b,以用于將其數(shù)據(jù)整合到節(jié)點進程中。 此外,當(dāng)開發(fā)通用數(shù)據(jù)結(jié)構(gòu)260時,不需要重新編譯可執(zhí)行代碼,原本將需要重新編譯 可執(zhí)行代碼以將一種類型的數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換成不同的數(shù)據(jù)結(jié)構(gòu)。如本文所使用,至少在一 個實施例中,術(shù)語"通用數(shù)據(jù)結(jié)構(gòu)"指代可由節(jié)點通用的數(shù)據(jù)的表示,以及消息220a 和220b,其不需要轉(zhuǎn)換成某一不同(或?qū)S?數(shù)據(jù)結(jié)構(gòu)。
在各種實施例中,圖2的通用消息接口 210a、 210b和210c可相同或者可不同以適 應(yīng)其與之有關(guān)的節(jié)點。通用消息接口210a、 210b和210c可在節(jié)點內(nèi)部實施,或者通用 消息接口210a、 210b和210c可安置在合成環(huán)境產(chǎn)生平臺內(nèi)的任何地方。在至少一個實 施例中,通用消息接口210a、 210b和210c每一者可經(jīng)配置以向任一或所有其它節(jié)點廣 播出消息,例如消息220a。由此,通用消息接口210a、 210b和210c每一者可經(jīng)配置以 檢測消息中的每一者是否既定用于通用消息接口與之有關(guān)的節(jié)點。在另一實施例中,通 用消息接口210a、 210b和210c每一者可經(jīng)配置以傳輸以一目的地為目標(biāo)的消息。在一 個實施例中,客戶端與合成環(huán)境產(chǎn)生平臺之間的消息(例如消息220b)可以一個或一個 以上用戶數(shù)據(jù)報協(xié)議("UDP")或因特網(wǎng)協(xié)議("IP")包的形式實施。在一個實施例中, 服務(wù)器進程206與數(shù)據(jù)庫進程201之間的消息可以一個或一個以上傳輸控制協(xié)議 ("TCP")包的形式實施。在一個實施例中,網(wǎng)絡(luò)230支持合成環(huán)境產(chǎn)生平臺200的平臺 內(nèi)通信。在至少一個實施例中,客戶端進程240經(jīng)由網(wǎng)絡(luò)232耦合到合成環(huán)境產(chǎn)生平臺 200。在至少一個實施例中,網(wǎng)絡(luò)232包含因特網(wǎng)或任何其它通信網(wǎng)絡(luò)。在一些實例中, 客戶端進程240經(jīng)由中間進程(未圖示)與數(shù)據(jù)庫進程201和/或服務(wù)器進程206交換消 息。將此中間進程的實例展示為圖12的用戶服務(wù)器。
在一個實施例中,通用數(shù)據(jù)結(jié)構(gòu)260是屬于面向?qū)ο蟮木幊陶Z言的類別,例如C+十 或任何其它編程語言。在另一實施例中,所有類型的通用數(shù)據(jù)結(jié)構(gòu)260可涉及單個類別。 通用消息接口 210a、 210b和210c可確定經(jīng)配置以使節(jié)點能夠以通用數(shù)據(jù)結(jié)構(gòu)260來實 施(例如,直接實施)數(shù)據(jù)的實例管理綱要。在一個實施例中,節(jié)點可包含對指導(dǎo)節(jié)點 如何實施通用數(shù)據(jù)結(jié)構(gòu)260的綱要的參考。在另一實施例中,通用消息220a包含所述 參考。在一些實施例中,通用消息接口210a、 210b和210c每一者可經(jīng)配置以用與平臺 無關(guān)的格式來格式化通用數(shù)據(jù)結(jié)構(gòu),所述格式可獨立于處理器和/或操作系統(tǒng)而使用。與 平臺無關(guān)的格式的一個實例是由(例如)可擴展標(biāo)記語言(例如XML)定義的格式。 XML由萬維網(wǎng)聯(lián)盟("W3C")主張。
15圖3描繪根據(jù)本發(fā)明至少一個實施例的用于產(chǎn)生實施通用消息接發(fā)接口的合成環(huán)境 的系統(tǒng)。在此實例中,合成環(huán)境產(chǎn)生平臺300包含通用消息接口 ("UMI") 302、 304和 306,其經(jīng)配置以傳輸和/或接收基于通用數(shù)據(jù)結(jié)構(gòu)的消息。如圖所示,通用消息接口 302a、 302b和302c分別安置于游戲進程102a、 102b和102c處或附近。通用消息接口 302a、 302b和302c中的每一者均與游戲子進程服務(wù)器104相關(guān)聯(lián)。在一些情況下,通用消息 接口 302a、 302b和302c每一者可具有等效的結(jié)構(gòu)和/或功能性,且在其它情況下,通用 消息接口 302a、 302b和302c可具有不同的結(jié)構(gòu)和/或功能性。舉例來說,物理學(xué)服務(wù)器 可能需要與(例如)人工智能服務(wù)器不同的通用消息接口。圖3還展示合成環(huán)境產(chǎn)生平 臺300包含分別安置于數(shù)據(jù)庫112a、 112b和112c處或附近的通用消息接口 304a、 304b 和304c,以及分別安置于游戲管理服務(wù)器122a、 122b、 122c和122n處或附近的通用消 息接口 306a、306b、306c和306n。通用消息接口 308a和308b相對于客戶端150a和150b 而實施。請注意,304a、 304b、 304c、 306a、 306b、 306c、 306n、 308a和308b可相對 于彼此具有等效或不同的結(jié)構(gòu)和/或功能性。還請注意,圖3的類似命名的元件在某些情 況下可具有與圖2中所陳述的那些元件等效的結(jié)構(gòu)和/或功能性。
圖4A描繪根據(jù)本發(fā)明至少一個實施例的用于將動態(tài)內(nèi)容引入合成環(huán)境中的方法。 圖401描繪根據(jù)一個實施例使用合成環(huán)境產(chǎn)生平臺開發(fā)(例如)大型多玩家在線 ("MMO")游戲。在代碼開發(fā)和編譯階段431期間,游戲開發(fā)者可產(chǎn)生并編譯源代碼, 以形成對象代碼421作為可執(zhí)行代碼。在開發(fā)源代碼中,可產(chǎn)生并編譯套接字代碼423。 套接字代碼423包含經(jīng)配置以從插接物數(shù)據(jù)(plug data) 425接入數(shù)據(jù)的可執(zhí)行指令和/ 或輸入。由此,作為質(zhì)量保證("QA")過程的一部分,可與套接字代碼423和對象代 碼421兩者配合開發(fā)插接物數(shù)據(jù)425。在滿足質(zhì)量保證度量之后,可發(fā)布對象代碼421 (包含套接字代碼423)和插接物數(shù)據(jù)425以用于在線游戲。在代碼開發(fā)和編譯階段433 之后,內(nèi)容開發(fā)者可在后代碼編譯階段433期間實施合成環(huán)境產(chǎn)生平臺以創(chuàng)建其它插接 物數(shù)據(jù)427。在階段433期間,可創(chuàng)建插接物數(shù)據(jù)427以與套接字代碼423 —起使用, 而無需修訂對象代碼421。舉例來說,內(nèi)容開發(fā)者可用作為插接物數(shù)據(jù)427的神盾巡洋 艦(Aegis Cruiser)來代替由插接物數(shù)據(jù)425形成的皮艇(kayak),而不修改可執(zhí)行代 碼。通過前面的對象代碼的重新編譯,開發(fā)者可更快速地將新的動態(tài)內(nèi)容傳遞到合成環(huán) 境實施套接字代碼423中。此外,可創(chuàng)建未來插接物數(shù)據(jù)470而不影響對象代碼,從而 便于相對迅速的內(nèi)容開發(fā)。如本文所使用,至少在一個實施例中,術(shù)語"動態(tài)內(nèi)容"指 代可作為計算機產(chǎn)生的視覺和/或聲音內(nèi)容引入合成環(huán)境中的內(nèi)容數(shù)據(jù),藉此可獨立于內(nèi) 容數(shù)據(jù)與之互動的可執(zhí)行代碼的修改而創(chuàng)建內(nèi)容數(shù)據(jù)。由此,可在不影響對象代碼的情況下開發(fā)內(nèi)容數(shù)據(jù)。
圖4B描繪根據(jù)本發(fā)明至少一個實施例的經(jīng)配置以將動態(tài)內(nèi)容引入合成環(huán)境中的合 成環(huán)境產(chǎn)生平臺。在此實例中,系統(tǒng)400包含合成環(huán)境產(chǎn)生平臺450,其經(jīng)配置以產(chǎn)生 參與者與之互動且動態(tài)內(nèi)容422被引入其中的合成環(huán)境420。系統(tǒng)400包含數(shù)據(jù)存儲庫 402、 430和460。明確地說,數(shù)據(jù)存儲庫402經(jīng)配置以存儲插接物對象410a和410b, 其包含用于分別引入皮艇和神盾巡洋艦作為動態(tài)內(nèi)容422的內(nèi)容數(shù)據(jù)。插接物對象410a 和410b可實施與各種實施例的通用數(shù)據(jù)結(jié)構(gòu)類似或相同的數(shù)據(jù)布置。插接物對象410a 和410b還可包含表示位置、定位、速度和小船可沿著其航行的路徑424的數(shù)據(jù)。數(shù)據(jù) 存儲庫430經(jīng)配置以存儲用于運行(例如)大型多玩家在線游戲的對象代碼434。數(shù)據(jù) 存儲庫430還經(jīng)配置以存儲可形成對象代碼434的一部分的套接字代碼432。套接字代 碼423包含經(jīng)配置以從(圖4A的)插接物數(shù)據(jù)425接入數(shù)據(jù)的可執(zhí)行指令和/或輸入, 以由對象代碼434用于實現(xiàn)動態(tài)內(nèi)容422的產(chǎn)生。數(shù)據(jù)存儲庫460經(jīng)配置以存儲世界數(shù) 據(jù)462以形成合成環(huán)境420。世界數(shù)據(jù)462和套接字代碼432可共享用于界定套接字代 碼423將引入動態(tài)內(nèi)容422的位置的關(guān)系464。
合成環(huán)境產(chǎn)生平臺450包含事件服務(wù)器452,其經(jīng)配置以將動態(tài)內(nèi)容422引入合成 環(huán)境420的至少一部分中。可大體上與對象代碼指令的執(zhí)行一致地引入動態(tài)內(nèi)容422以 產(chǎn)生合成環(huán)境420。由此,合成環(huán)境產(chǎn)生平臺450可經(jīng)配置以初始化插接物插入進程440, 在此期間,插接物對象410a和410b中的一者被插入套接字代碼432中以例示動態(tài)內(nèi)容 422。在特定實施例中,事件服務(wù)器452經(jīng)配置以在不修改對象代碼434的情況下引入 動態(tài)內(nèi)容422。在一個實施例中,插接物對象410a和410b屬于包含至少一個通用數(shù)據(jù) 結(jié)構(gòu)的通用對象系統(tǒng)。此外,插接物對象410a和410b以及通用對象系統(tǒng)免除了為引入 動態(tài)內(nèi)容422而重新編譯對象代碼指令434。通過實施插接物對象410和套接字代碼432, 至少一個游戲管理服務(wù)器可經(jīng)配置以在不重新啟動的情況下,例如在實施經(jīng)修改的對象 代碼之后,產(chǎn)生動態(tài)內(nèi)容422。
圖5是根據(jù)本發(fā)明至少一個實施例的供產(chǎn)生合成環(huán)境時使用的進程空間的圖解。這 里,合成環(huán)境產(chǎn)生平臺500經(jīng)配置以產(chǎn)生用于客戶端550a和550b的合成環(huán)境。合成環(huán) 境產(chǎn)生平臺500包含由游戲管理("mgmt")服務(wù)器522a到522n實施的游戲管理進程 520。合成環(huán)境產(chǎn)生平臺500還包含準(zhǔn)聚合進程空間502,其中可將交易(例如交易504) 實施為原子形式交易。由此,執(zhí)行交易的所有部分或不執(zhí)行其任何部分。為了說明,考 慮以下實例,其中第一參與者("參與者l") 506與客戶端550a相關(guān)聯(lián),且第二參與者 ("參與者2") 510與客戶端550b相關(guān)聯(lián)。第一參與者506和第二參與者510分別擁有物品("物品A") 508和物品("物品B") 512。接下來,考慮參與者506和510安排交 換物品508和512,但仍須確認其意愿。 一旦兩個參與者506和510同意交換,則交易 被最后定下來。在例如此情況的交易期間,準(zhǔn)聚合進程空間502經(jīng)配置以起共用進程空 間的作用,從而使交易504較不容易受到操縱。在一個實施例中,交易服務(wù)器(未圖示) 操作以與準(zhǔn)聚合進程空間502互動或提供準(zhǔn)聚合進程空間502。根據(jù)一個實施例,準(zhǔn)聚 合進程空間502模仿共用進程空間,且由此,使參與者能夠容易在由不同的合成環(huán)境產(chǎn) 生平臺500創(chuàng)建的不同合成環(huán)境之間轉(zhuǎn)移。如本文所使用,至少在一個實施例中,術(shù)語 "交易"指代構(gòu)成涉及與合成環(huán)境互動的一個或一個以上參與者的活動的一組任務(wù)。
圖6是展示根據(jù)本發(fā)明至少一個實施例的實施經(jīng)壓縮通用消息的消息接發(fā)系統(tǒng)的一 部分的實例的圖。這里,消息系統(tǒng)部分600包含服務(wù)器進程606和客戶端進程650,其 兩者經(jīng)由網(wǎng)絡(luò)630而耦合以尤其用于交換消息。在此實例中,消息系統(tǒng)部分600可(例 如)響應(yīng)于指示對合成環(huán)境的修改的客戶端進程650而輸送與服務(wù)器側(cè)(或客戶端側(cè)) 通用數(shù)據(jù)結(jié)構(gòu)660相關(guān)聯(lián)的數(shù)據(jù)子集。服務(wù)器進程606和客戶端進程650分別包含通用 消息接口 610a和通用消息接口 610b。服務(wù)器進程606可使用根據(jù)通用數(shù)據(jù)結(jié)構(gòu)("UDS") 660而布置的數(shù)據(jù),以響應(yīng)于從客戶端進程650傳輸?shù)挠螒驍?shù)據(jù)修改而整體或部分地產(chǎn) 生合成環(huán)境。經(jīng)修改游戲數(shù)據(jù)的實例是由客戶端進程650產(chǎn)生的指示化身的移動的游戲 數(shù)據(jù)。在至少一個實施例中,服務(wù)器進程606和/或客戶端進程650可交換消息,作為經(jīng) 壓縮通用消息620。由于服務(wù)器進程606和客戶端進程650兩者均可實施用以交換數(shù)據(jù) 的通用數(shù)據(jù)結(jié)構(gòu)660,因此可在經(jīng)壓縮通用消息620中交換減少量的數(shù)據(jù)。明確地說, 僅與通用數(shù)據(jù)結(jié)構(gòu)622相關(guān)聯(lián)的經(jīng)修改游戲數(shù)據(jù)624需要在通用消息中輸送。在一個實 施例中,經(jīng)壓縮通用消息620還包含指定經(jīng)修改游戲數(shù)據(jù)624與哪一屬性有關(guān)的鍵628。 使用此信息,服務(wù)器進程606可修改合成環(huán)境。
圖7描繪根據(jù)本發(fā)明至少一個實施例的用于產(chǎn)生實施主縮放服務(wù)器的合成環(huán)境的系 統(tǒng)。合成環(huán)境產(chǎn)生平臺700包含進程間消息接發(fā)網(wǎng)絡(luò)750和主縮放服務(wù)器752,其兩者 經(jīng)配置以縮放游戲子進程能力,以滿足用于游戲子進程(例如物理學(xué)進程和人工智能進 程)的需求變化。合成環(huán)境產(chǎn)生平臺700還包含各種游戲子進程702、數(shù)據(jù)庫進程710 以及游戲管理進程720。在操作中,主縮放服務(wù)器752經(jīng)配置以在適當(dāng)時添加或移除游 戲子進程服務(wù)器。舉例來說,如果需要更多物理學(xué)處理,那么主縮放服務(wù)器752可添加 額外的物理學(xué)服務(wù)器。但如果需要較少的人工智能,那么主縮放服務(wù)器752可使人工智 能服務(wù)器離線。
主縮放服務(wù)器752經(jīng)配置以監(jiān)視服務(wù)器列表,所述列表還包含關(guān)于服務(wù)器類型(例 18如,服務(wù)器是否為物理學(xué)服務(wù)器、人工智能服務(wù)器等)、游戲子進程服務(wù)器702所屬的 合成環(huán)境等的信息。主縮放服務(wù)器752還經(jīng)配置以監(jiān)視經(jīng)由進程間消息接發(fā)網(wǎng)絡(luò)750來 自(例如) 一個或一個以上需要額外服務(wù)或容量的游戲管理服務(wù)器的對額外游戲子進程 的請求消息。作為響應(yīng),主縮放服務(wù)器752可協(xié)調(diào)新添加的游戲子進程服務(wù)器(例如游 戲子進程服務(wù)器704a、 704b和704c中的任一者)和發(fā)出請求的服務(wù)器(例如游戲管理 服務(wù)器)之間的連接的建立。
在一個實施例中,可縮放游戲子進程服務(wù)器在聯(lián)機時經(jīng)配置以將其身份和其它相關(guān) 信息傳送到主縮放服務(wù)器752。其它相關(guān)信息可包含服務(wù)器類型、服務(wù)器所屬的相關(guān)聯(lián) 的合成環(huán)境等。作為響應(yīng),主縮放服務(wù)器752將可縮放游戲子進程服務(wù)器動態(tài)地分配給 (例如)需要此服務(wù)器類型的游戲管理服務(wù)器。明確地說,主縮放服務(wù)器752將命令和 連接信息(例如,主機和端口信息)發(fā)送到可縮放游戲子進程服務(wù)器,以連接到發(fā)出請 求的游戲管理服務(wù)器。在一些情況下,主縮放服務(wù)器752將連接信息(例如,主機和端 口信息)傳送到發(fā)出請求的游戲管理服務(wù)器,以接收來自可縮放游戲子進程服務(wù)器的連 接。在至少一個實施例中,主縮放服務(wù)器752可經(jīng)配置以監(jiān)視游戲管理服務(wù)器的加載, 且自動添加或移除游戲子進程服務(wù)器。在一個實施例中,進程間消息接發(fā)網(wǎng)絡(luò)750與經(jīng) 由網(wǎng)絡(luò)715實施的通用消息接發(fā)系統(tǒng)共生或相同。
圖8是展示根據(jù)本發(fā)明至少一個實施例的添加可縮放游戲子進程服務(wù)器的主縮放服 務(wù)器的實例的圖。明確地說,圖800描繪游戲子進程服務(wù)器804,其提供由游戲管理服 務(wù)器(未圖示)使用的游戲子進程802。還展示,主縮放服務(wù)器852正在添加可縮放物 理學(xué)服務(wù)器810以提升物理學(xué)處理能力。在一個實施例中,可縮放物理學(xué)服務(wù)器810和 游戲子進程服務(wù)器804每一者是同類硬件平臺。使用同類硬件平臺,主縮放服務(wù)器852 可在必要時增加按比例放大和按比例縮小的靈活性。
圖9是根據(jù)本發(fā)明至少一個實施例的實施特定類型的游戲子進程服務(wù)器的合成環(huán)境 產(chǎn)生平臺的圖解。合成環(huán)境產(chǎn)生平臺900包含游戲子進程901、經(jīng)配置以存儲游戲數(shù)據(jù) 的游戲數(shù)據(jù)庫910,以及游戲管理進程920,其包含游戲管理服務(wù)器922a到922n。在此 實例中,游戲子進程901包含以下特定類型的游戲子進程服務(wù)器物理學(xué)服務(wù)器902a、 人工智能("AI")服務(wù)器902b以及交易服務(wù)器902c。通過在單獨的服務(wù)器中實施這些 游戲子進程,合成環(huán)境產(chǎn)生平臺900較不容易經(jīng)受與游戲子進程相關(guān)聯(lián)的問題。此外, 可適當(dāng)縮放某些游戲子進程,以滿足與其它游戲子進程需要無關(guān)的需求。
物理學(xué)服務(wù)器902a表示一個或一個以上經(jīng)配置以處理針對合成環(huán)境的移動和碰撞 檢測活動的物理學(xué)服務(wù)器。在各種實施例中,物理學(xué)服務(wù)器902a還可執(zhí)行以下各項中
19的任一者能見度確定、實例化、移動批準(zhǔn)和/或路徑分段以用于人工智能NPC。在做 出能見度確定時,物理學(xué)服務(wù)器902a計算合成世界中的對象和/或其它參與者對一參與 者來說是否為可見。當(dāng)一實體在參與者的能見度范圍內(nèi)時,所述實體對所述參與者來說 是可見的,其中物理學(xué)服務(wù)器902a確定所述實體是否在能見度范圍內(nèi)。圖ll說明根據(jù) 本發(fā)明實施例的用于確定能見度的替代技術(shù)。返回參看圖9,物理學(xué)服務(wù)器902a還可經(jīng) 配置以提供"實例化",藉此參與者的集合(以及相關(guān)聯(lián)的物理學(xué)處理)在合成環(huán)境的 一部分內(nèi)執(zhí)行活動,例如在虛擬房間中,或在所述參與者將組隊在一起與NPC (例如首 領(lǐng)怪物)戰(zhàn)斗的區(qū)域中。
移動批準(zhǔn)是批準(zhǔn)參與者在合成環(huán)境的范圍中的移動的動作。物理學(xué)服務(wù)器902a可 經(jīng)配置以批準(zhǔn)相對于虛擬地形和位于所要移動的路徑中的任何實體(即,其它角色和/ 或?qū)ο?的移動?;趨⑴c者的化身相對于虛擬地形移動的速率,可修改參與者的位置 以反映其在合成環(huán)境中的位置。物理學(xué)服務(wù)器902a可在將經(jīng)修改的游戲數(shù)據(jù)發(fā)送到客 戶端之前,運行模擬以證實所述位置是正確的。物理學(xué)服務(wù)器902a還可經(jīng)配置以批準(zhǔn) 參與者的移動,以確保參與者被許可加入某些活動或在合成環(huán)境的某些區(qū)域內(nèi)移動。在 一個實施例中,物理學(xué)服務(wù)器902a每單位時間批準(zhǔn)參與者的子組,且隨著時間的過去 而循環(huán)通過不同的子組。對于未經(jīng)授權(quán)在合成環(huán)境的某些區(qū)域附近或所述區(qū)域處移動的 任何參與者,可將所述參與者標(biāo)記為被懷疑正在執(zhí)行開拓。此外,物理學(xué)服務(wù)器902a 可將向人工智能("AI")服務(wù)器902b提供路徑區(qū)段,使得NPC可避開其它由于地形和 /或靜態(tài)對象而阻擋NPC的移動的對象。在各種實施例中,可將上文所論述的物理學(xué)進 程中的一者或一者以上實施為單獨服務(wù)器中的單獨進程。
人工智能("AI")服務(wù)器902b表示一個或一個以上人工智能服務(wù)器,其經(jīng)配置以 向計算機實施的非玩家角色("NPC")等提供人工智能以確定NPC的行為。可添加額外 的人工智能服務(wù)器902b以在對人工智能的需求增加期間支持合成環(huán)境。舉例來說,如 果一事件要求大量的NPC,那么可添加額外的人工智能服務(wù)器902b。在一個實施例中, 參與奢可取得對NPC "扮演怪物"的控制權(quán)。
交易服務(wù)器902c表示一個或一個以上交易服務(wù)器,其經(jīng)配置以尤其處理運行時參 與者游戲數(shù)據(jù),不管參與者的位置如何。由此,交易服務(wù)器902c包含高速緩沖存儲器 903,以便于角色(即,參與者)在(例如)永恒世界(即,合成環(huán)境)與實例(即, 合成環(huán)境的一部分,例如虛擬建筑)之間的移動。使用高速緩沖存儲器903避免了當(dāng)參 與者在合成環(huán)境與其部分之間移動時必須從數(shù)據(jù)庫重新加載游戲數(shù)據(jù)。在一些實施例 中,在除交易服務(wù)器902c以外的進程中,將游戲數(shù)據(jù)的表示標(biāo)記為只讀,以(例如)
20避免對交易的操縱。此外,交易服務(wù)器902c便于準(zhǔn)聚合進程空間內(nèi)的原子形式交易。 在交易服務(wù)器902c執(zhí)行交易的同時,游戲管理服務(wù)器922a到922n可經(jīng)配置以批準(zhǔn)參 與者在交易服務(wù)器902c響應(yīng)于交易而修改數(shù)據(jù)之前確認其身份。
圖IO是根據(jù)本發(fā)明至少一個實施例的展示物理學(xué)進程的實施的圖。圖1000展示能 見度進程和實例化進程正從物理學(xué)服務(wù)器1002分別卸載到單獨的能見度服務(wù)器1004和 實例服務(wù)器1006中。能見度服務(wù)器1004經(jīng)配置以確定合成世界中的對象和/或其它參與 者對一參與者來說是否為可見的。實例服務(wù)器1006經(jīng)配置以提供"實例化",藉此參與 者集合以及相關(guān)聯(lián)的物理學(xué)處理用于在合成環(huán)境的一部分內(nèi)執(zhí)行群組或局部化活動。通 過能見度進程和實例化進程與用于合成環(huán)境的物理學(xué)進程分離,物理學(xué)服務(wù)器1002的 負擔(dān)減小。此外,能見度服務(wù)器1004和實例服務(wù)器1006較不容易經(jīng)受與物理學(xué)服務(wù)器 1002有關(guān)的問題。
圖11是展示根據(jù)本發(fā)明至少一個實施例的用于確定能見度的技術(shù)的圖。圖1100說 明用于為參與者1104確定能見度的技術(shù)的實例。在一種情況下,能見度服務(wù)器首先定 義用于界定參與者1104的能見度范圍1102。由此,參與者可看見距離1106處的對象。 在至少一個實施例中,對象、NPC和其它玩家每一者與一 "可被看見"范圍相關(guān)聯(lián)。較 大的對象(例如山脈1114)可具有比具有"可被看見"范圍1122的較小對象(例如老 鼠1124)大的"可被看見"范圍1112。在一個實施例中,能見度服務(wù)器經(jīng)配置以實施 球面求交測試,其中當(dāng)山脈1114的"可被看見"范圍(例如"可被看見"范圍1112) 與能見度范圍1102相交時,對象變?yōu)閷⑴c者來說可見。可將"可被看見"范圍表示 為圓形(即,2-D)或球體(即,3-D)。請注意,在特定實施例中,參與者1104具有兩 個范圍(1)由球體1102界定的參與者能見度范圍,以及(2)"可被看見"范圍1160, 如果實體或其能見度范圍與"可被看見"范圍1160相交,那么其它實體可在"可被看 見"范圍1160處看見參與者1104。接下來,考慮巨人1150具有距所述巨人距離1154 的能見度范圍1152,且具有距所述巨人距離1155的"可被看見"范圍1153。此外,參 與者1104具有距參與者1104距離1158的"可被看見"范圍1160。因此當(dāng)巨人1150接 近參與者1104,且其能見度范圍1152與"可被看見"范圍1160相交時,那么巨人1150 可看見參與者1104。但當(dāng)能見度范圍1152在能見度間隙1160內(nèi)時,參與者無法看見巨 人1154。請注意, 一旦能見度范圍1152與能見度范圍1102相交,那么參與者1104就 可看見巨人1150。鑒于上述內(nèi)容,圖1100說明用以確定能見度的技術(shù)的實例,其減少 了當(dāng)僅使用能見度范圍來確定能見度時可能發(fā)生的不自然的視覺效應(yīng)(例如,實體在越 過能見度范圍1102時看起來像是"突然出現(xiàn)"的)。雖然未圖示,但老鼠1124也可具有能見度范圍。在各種實施例中,非玩家角色("NPC")和參與者每一者可具有一能見 度范圍和一 "可被看見"范圍。
圖12是根據(jù)本發(fā)明至少一個實施例的實施額外類型的游戲子進程服務(wù)器的合成環(huán) 境產(chǎn)生平臺的圖解。合成環(huán)境產(chǎn)生平臺1200包含游戲子進程1202、經(jīng)配置以存儲游戲 數(shù)據(jù)的游戲數(shù)據(jù)庫1212a、經(jīng)配置以存儲審計數(shù)據(jù)(即,每一參與者做出的所有或大多 數(shù)互動的記錄)和統(tǒng)計數(shù)據(jù)的審計數(shù)據(jù)庫1212b,以及游戲管理進程1220,其包含游戲 管理服務(wù)器1222a到1222n。另外,合成環(huán)境產(chǎn)生平臺1200包含用戶服務(wù)器1270、補 丁程序服務(wù)器1272以及狀態(tài)/審計服務(wù)器1274。
用戶服務(wù)器1270可經(jīng)配置以在游戲管理服務(wù)器1222a到1222n中的任一者與客戶 端1250之間路由消息。然而, 一旦參與者登入以與合成環(huán)境互動,用戶服務(wù)器1270就 將參與者及其客戶端1250指派給游戲管理服務(wù)器1222a到1222n中的一者。其后,用 戶服務(wù)器1270可將消息中繼到游戲管理服務(wù)器1222中的一者和所述參與者且中繼來自 其的消息。在會話期間,參與者可與同一游戲管理服務(wù)器保持關(guān)系。用戶服務(wù)器1270 還可經(jīng)配置以便以使客戶端連接均勻分布在游戲管理服務(wù)器1222a到1222n上的方式連 接客戶端1250,從而實現(xiàn)負載平衡。在一些情況下,用戶服務(wù)器1270還可經(jīng)配置以在 參與者注冊后驗證參與者。在至少一個實例中,用戶服務(wù)器1270可選擇性地對在游戲 管理服務(wù)器1222a到1222n與客戶端1250之間交換的數(shù)據(jù)進行加密。在一個實施例中, 用戶服務(wù)器1270先行加密移動相關(guān)消息,移動相關(guān)消息是量上占優(yōu)勢的消息。由此, 與加密相關(guān)聯(lián)的延遲減少。補丁程序服務(wù)器1272可經(jīng)配置以(例如)在逐文件基礎(chǔ)上 將補丁程序以遞增方式傳輸?shù)娇蛻舳?250。在至少一個實施例中,補丁程序服務(wù)器1272 經(jīng)配置以在適宜的時間(例如在登入時)以及在玩游戲期間(即,在參與者與合成環(huán)境 的互動期間)使補丁程序慢慢地移動。狀態(tài)/審計服務(wù)器1274經(jīng)配置以收集和使用對參 與者使用且/或?qū)Y(jié)合事件服務(wù)器的觸發(fā)事件的統(tǒng)計資料。
圖13是展示根據(jù)本發(fā)明至少一個實施例的用于允許在打補丁期間玩游戲的技術(shù)的 圖。圖1300說明作為新的"世界"、"大陸"或合成環(huán)境而添加的區(qū)。合成環(huán)境擴張的 進展由箭頭1330展示??紤]區(qū)("1") 1302是用原先下載的游戲來實施的。接下來,考 慮區(qū)("2") 1312表示參與者為其下載補丁程序的經(jīng)擴張的合成環(huán)境。最后,考慮參與 者仍必須為區(qū)("3") 1322實施下一補丁程序,但希望從區(qū)1302進入?yún)^(qū)1322。在參與 者從區(qū)1302行進到區(qū)1312時,參與者將觀察到樹1304和樹1314。但在參與者越過輪 廓1316時,參與者將在仍待完成的局部中。由此,如果用以渲染樹的打補丁數(shù)據(jù)仍待 完成,那么合成環(huán)境產(chǎn)生平臺將顯示代理資產(chǎn)(即,替代對象)1324。由此,參與者無
22需被禁止進入新的區(qū)1322,而是可體驗填入對象,直到打補丁進程完成為止。
圖14是根據(jù)本發(fā)明至少一個實施例的實施事件服務(wù)器和事件編輯器的合成環(huán)境產(chǎn) 生平臺的圖解。合成環(huán)境產(chǎn)生平臺1400包含游戲子進程1401、經(jīng)配置以存儲游戲數(shù)據(jù) 的游戲數(shù)據(jù)庫1410,以及游戲管理進程1420,其包含游戲管理服務(wù)器1422a到1422n。 合成環(huán)境產(chǎn)生平臺1400還包含事件服務(wù)器1430和事件編輯器1480。事件服務(wù)器1430 經(jīng)配置以依據(jù)(例如)玩家活動(例如觸發(fā)預(yù)定的觸發(fā)物或條件,和/或預(yù)定的調(diào)度)來 控制動態(tài)內(nèi)容向合成環(huán)境中的引入。舉例來說,如果聚集在特定位置的參與者的數(shù)目超 過觸發(fā)點,那么事件服務(wù)器1430可觸發(fā)動態(tài)內(nèi)容的引入。在一些實施例中,事件服務(wù) 器1430可修改大量生產(chǎn)的船或創(chuàng)造物的類型。事件服務(wù)器1430經(jīng)配置以從事件庫數(shù)據(jù) 庫1412接入插接物對象以產(chǎn)生動態(tài)內(nèi)容。在一個實施例中,事件服務(wù)器1430經(jīng)配置以 產(chǎn)生用以驅(qū)動事件服務(wù)器指南1490的數(shù)據(jù),事件服務(wù)器指南1490顯示經(jīng)編程的事件以 供參與者預(yù)覽和加入那些事件。事件編輯器1480經(jīng)配置以聚合與若干套接字相關(guān)聯(lián)的 插接物對象,以引入變化量的動態(tài)內(nèi)容,藉此插接物對象的集合可將創(chuàng)造物、樹、結(jié)構(gòu) 等引入合成環(huán)境中。
圖15描繪根據(jù)本發(fā)明至少一個實施例的用于創(chuàng)建用于引入各種程度的動態(tài)內(nèi)容的 事件的流程。流程1500是使用插接物對象來創(chuàng)建事件的方法的實例,所述插接物對象 包含存儲在事件庫中的通用數(shù)據(jù)結(jié)構(gòu)。在1502處,界定事件且指示要求。在1504處, 游戲設(shè)計者通過(例如)使用預(yù)制插接物對象來創(chuàng)建新事件,直到在1506處建立新事 件為止。在1508處,測試所述事件以確認新事件滿足質(zhì)量保證("QA")規(guī)范。如果事 件在1510處失敗,那么流程1500返回1502以重新界定或校正事件定義和/或?qū)嵤?。?果事件成功,那么在1512處將其存儲在事件庫中。在1522處,調(diào)度所述事件以用于引 入合成環(huán)境中。在1524處,事件服務(wù)器1526經(jīng)配置以在預(yù)定時間觸發(fā)事件。在預(yù)定的 時間,事件服務(wù)器1526從事件庫1512獲取與事件有關(guān)的數(shù)據(jù),且致使合成環(huán)境產(chǎn)生平 臺1528實施所述事件(例如,通過產(chǎn)生動態(tài)內(nèi)容)。接著,在1530處將動態(tài)內(nèi)容釋放 到客戶端以在計算機產(chǎn)生的世界中使用。
在一個實施例中,流程1500為借助于補丁程序服務(wù)器進程(如在補丁程序服務(wù)器 1580中實施)將動態(tài)內(nèi)容引入合成環(huán)境中作準(zhǔn)備。在此實例中,補丁程序服務(wù)器1580 經(jīng)配置以檢測何時在1512處將表示事件的數(shù)據(jù)存放到事件庫中。此外,補丁程序服務(wù) 器1580經(jīng)配置以將事件所需的數(shù)據(jù)作為小文件或數(shù)據(jù)片1582向下推動或"慢慢地向下 移動"到客戶端。因此,補丁程序服務(wù)器1580可在非高峰使用時間推送數(shù)據(jù),且可避 免超過所分派的帶寬容量,超過所分派的帶寬容量的情況在高峰使用期期間發(fā)生較大下載(例如250 MB)時原本可能發(fā)生,其代價較高。在另一實施例中,補丁程序服務(wù)器 1580確定待推送的數(shù)據(jù)量和到達所述事件的剩余時間,且因此計算每單位時間需要推送 的平均量數(shù)據(jù)。由此,補丁程序服務(wù)器1580可改變小文件1582中的數(shù)據(jù)量以實現(xiàn)最佳 輸送。在特定實施例中,補丁程序服務(wù)器1580可經(jīng)配置以接入數(shù)據(jù)庫1584中的高峰閾 值監(jiān)視數(shù)據(jù),以確定何時改變小文件1582的大小,以便避免在高峰使用時間推送大量 的數(shù)據(jù)。
圖16是展示根據(jù)本發(fā)明至少一個實施例的通用數(shù)據(jù)結(jié)構(gòu)的特定實施方案的圖。將 通用數(shù)據(jù)結(jié)構(gòu)1602展示為由識別符1604識別的特性類對象(即,"特性類xxxxxx")。 特性類對象包含包括屬性1606的數(shù)據(jù)布置,所述屬性中的每一者可對應(yīng)于特性類xxxxxx 的特性,例如下文相對于圖16的通用數(shù)據(jù)結(jié)構(gòu)規(guī)范文件1622所描述。此外,屬性1606 可對應(yīng)于特性值(例如,字符串、整數(shù)等),例如相對于圖17的通用數(shù)據(jù)結(jié)構(gòu)1702所 描述。在各種實施例中,通用數(shù)據(jù)結(jié)構(gòu)1602可包含嵌套通用數(shù)據(jù)結(jié)構(gòu)(或?qū)ζ涞膮⒖?。 為了說明,考慮特性類xxxxxx可界定船的特性,例如圖20中所描述。通用數(shù)據(jù)結(jié)構(gòu)1602 于是可包含界定所述船擁有的"定位"特性的嵌套通用數(shù)據(jù)結(jié)構(gòu)。
圖16還展示包含根據(jù)本發(fā)明至少一個實施例的通用數(shù)據(jù)結(jié)構(gòu)規(guī)范文件的實例的圖。 通用數(shù)據(jù)結(jié)構(gòu)規(guī)范文件1622提供實例管理綱要,其使用合成環(huán)境產(chǎn)生平臺中的節(jié)點來 接入通用數(shù)據(jù)結(jié)構(gòu)中所包含的數(shù)據(jù)。通用數(shù)據(jù)結(jié)構(gòu)規(guī)范文件1622可包含用于每一特性 類對象的元數(shù)據(jù),其可經(jīng)配置以為所指派的屬性提供對應(yīng)的特性值。在一些實施例中, 特性類對象或PropertyClass對象(下文為"特性類對象")可為具有用于確定如何在合 成環(huán)境內(nèi)渲染、產(chǎn)生或例示各種類型的對象、信息和其它參數(shù)的數(shù)據(jù)或信息的對象。此 外,特性類對象可經(jīng)配置以提供減少的消息數(shù)據(jù),所述消息數(shù)據(jù)在與(例如)高速或大 容量網(wǎng)絡(luò)連接一起使用時實現(xiàn)迅速或快速玩游戲、合成環(huán)境產(chǎn)生等。舉例來說,特性類 對象可包含用于例示一對象的所有或一部分?jǐn)?shù)據(jù)。合成環(huán)境產(chǎn)生平臺(或其中的節(jié)點) 可實施元數(shù)據(jù)以用于創(chuàng)建、顯示和/或?qū)嵤┯螒驍?shù)據(jù)值。此外,通用數(shù)據(jù)結(jié)構(gòu)規(guī)范文件 1622可由識別符1624 (即,"特性類規(guī)范yyyyy")參考,且可包含對在(例如)位置 "instance.mgmt.schema"處的實例管理綱要的參考1626。在一些實施例中,實例管理綱 要是描述使用節(jié)點來接入特性類對象中的數(shù)據(jù)的數(shù)據(jù)模型。此外,通用數(shù)據(jù)結(jié)構(gòu)規(guī)范文 件1622可包含用于特性類對象1630的特性值(或?qū)ζ涞膮⒖?。
圖17是根據(jù)本發(fā)明至少一個實施例的描繪特性類系統(tǒng)的要素的圖。在一些實施例 中,特性類1704可實施為通用數(shù)據(jù)結(jié)構(gòu)1702,且可具有一個或一個以上特性("Pr叩erty") 1706。這里,特性類1704被配置為指向?qū)?yīng)特性值的特定特性指針的容器。此外,所述一個或一個以上特性1706可包含特性值,例如字符串("PmpertyString") 1708a、整 數(shù)("Pr叩ertylnt") 1708b、大整數(shù)("PropertyBiglnt") 1708c等等。
將通用數(shù)據(jù)結(jié)構(gòu)規(guī)范文件1722展示為包含特性類規(guī)范1724。由此,常見類型的特 性類1704的實例可涉及特性類規(guī)范1724。舉例來說,名為"玩家"的特性類1704可具 有(例如)與特性類規(guī)范1724的關(guān)系,所述特性類規(guī)范1724指定特性以及特性值。此 外,特性類規(guī)范1724可包含指向一個或一個以上特性規(guī)范("PropertySpec") 1726的指 針的向量,所述特性規(guī)范1726中的每一者可含有與特性1706相關(guān)聯(lián)的元數(shù)據(jù)。特性類 管理器("PropertyClassManager") 1742可包含用于將特性類名稱和特性類規(guī)范確定為 鍵與值對的映射表(例如,査找表)。在運行時或執(zhí)行期間,合成環(huán)境產(chǎn)生平臺(或其 中的節(jié)點)可使用特性類管理器1742來管理數(shù)據(jù)結(jié)構(gòu)的實施和來自特性類系統(tǒng)的游戲 數(shù)據(jù)。
圖18描繪根據(jù)本發(fā)明至少一個實施例的用于創(chuàng)建通用消息的流程。流程1800展示 通用數(shù)據(jù)結(jié)構(gòu)編輯器1802經(jīng)配置以編輯或創(chuàng)建一個或一個以上特性類對象文件,例如 基于XML的對象數(shù)據(jù)文件1803。通用數(shù)據(jù)結(jié)構(gòu)編輯器1802可為(例如)提供上下文 友好接口要素的編輯器,所述要素例如是下拉菜單和基于相關(guān)聯(lián)特性類規(guī)范的數(shù)據(jù)范圍 批準(zhǔn)。此外,通用數(shù)據(jù)結(jié)構(gòu)編輯器1802使用XML讀取器1806和XML寫入器1805使 到達和來自來源的數(shù)據(jù)串行化,所述來源可為基于XML的對象數(shù)據(jù)文件1803中的一者 或一者以上。在各種實施例中,通用數(shù)據(jù)結(jié)構(gòu)編輯器1802可經(jīng)配置以編輯根據(jù)可擴展 標(biāo)記語言(即,XML)、超文本標(biāo)記語言(即,HTML)和任何其它標(biāo)記或格式化語言 而格式化的數(shù)據(jù)。在一些實例中,通用數(shù)據(jù)結(jié)構(gòu)編輯器1802可由基于XML的編輯器 1807代替,因為特性類表示呈符合XML的格式?;赬ML的編輯器1807可為若干市 售工具中的任一者,例如馬薩諸塞州貝弗利市的奧托瓦公司(Altova, Inc.)生產(chǎn)的 XMLSpy。
可使用特性系統(tǒng)的串行化或XML讀取器1806設(shè)施將特性類數(shù)據(jù)文件1803帶入運 行時環(huán)境中。此從文件1803獲得基于XML的特性類數(shù)據(jù),且創(chuàng)建"存儲器內(nèi)"C+十特 性類對象表示1809??墒褂肵ML寫入器1805設(shè)施將任何修改反映回到原始來源。
為便于數(shù)據(jù)的串行化和擾亂的速度對比XML表示,可使用二進制讀取器1808和二 進制寫入器1801機制使特性類對象1809串行化為基于磁盤的二進制格式1810。這使開 發(fā)者能夠使用常規(guī)工具來編輯人可讀的格式(即,XML),且在執(zhí)行和擾亂的速度較重 要時將XML轉(zhuǎn)換成二進制格式。
如果C+十對象1809的任何實例需要經(jīng)由網(wǎng)絡(luò)而傳輸,那么將所述特性類對象"打
25包"或"包化"以用于在發(fā)射器1850中輸送。1811處的包化進程將使用二進制寫入器 1801的服務(wù)來創(chuàng)建包,且將在1812處經(jīng)由鏈路1842傳輸所述包。同時接收器1852接 收所述包,且將使用二進制讀取器1801的服務(wù)來將數(shù)據(jù)拆包成存儲器內(nèi)0++特性類對 象表示1809的實例。請注意,根據(jù)本發(fā)明的各種實施例,發(fā)射器1850或接收器1852 或兩者可在通用消息接口中實施。
圖19說明根據(jù)本發(fā)明至少一個實施例的用于創(chuàng)建通用消息的特性類系統(tǒng)的要素。 圖1900描繪通用消息創(chuàng)建進程1940,其使用以下特性類系統(tǒng)要素特性類對象,例如 特性類對象1902、 1904和1906;特性類聲明1910;特性類管理器1920;以及特性類規(guī) 范文件1930。出于說明目的,考慮通用消息創(chuàng)建進程1940經(jīng)配置以產(chǎn)生關(guān)于角色數(shù)據(jù) 的通用消息。由此,通用消息創(chuàng)建進程1940使用特性類對象("玩家")1906,其包含 嵌套特性類對象1902和1904。嵌套特性類對象("咒符")1902包含表示(例如)玩家 擁有的咒符的類型和強度的數(shù)據(jù)的數(shù)據(jù)布置。嵌套特性類對象("武器")1904包含表示 (例如)玩家擁有的武器的種類的數(shù)據(jù)的數(shù)據(jù)布置。
在至少一個實施例中,特性類聲明1910經(jīng)配置以提供用于列出或組合可由特性系 統(tǒng)用來例示特性類對象的信息和數(shù)據(jù)的空間。舉例來說,特性類聲明1910可包含特性 類識別符("ID")、規(guī)范文件(例如,規(guī)范文件1722 (圖17))名稱、用于每一列出以 幫助對特性類對象進行分組的類別標(biāo)簽等等的列表。此外,特性類聲明1910可描述文 件名、特性類對象名以及用于創(chuàng)建通用消息的其它資源(或信息來源)。特性類管理器 1920可包含邏輯和物理資源與數(shù)據(jù)的映射表以管理特性類對象1902、 1904和1906的數(shù) 據(jù)結(jié)構(gòu)和其中的游戲數(shù)據(jù)的實施。特性類規(guī)范文件1930可包含特性值或?qū)μ匦灾档膮?考。
合成環(huán)境產(chǎn)生平臺和/或其節(jié)點可實施通用消息創(chuàng)建進程1940和上文所述的特性類 系統(tǒng)要素以形成通用消息(或通用數(shù)據(jù)結(jié)構(gòu)),其尤其可由例如圖1和3中所示合成環(huán) 境產(chǎn)生平臺的合成環(huán)境產(chǎn)生平臺的節(jié)點使用。當(dāng)一節(jié)點(例如,服務(wù)器、客戶端、同等 裝置(peer)或其它處理器)起始通用消息創(chuàng)建進程1940時,可將通用數(shù)據(jù)結(jié)構(gòu)實施為 通用消息的一部分。接下來考慮進程1950接收所實施的通用消息。由此,進程1950可 使用直接來自消息的數(shù)據(jù)1952而無需對其源代碼進行編譯。
圖20說明根據(jù)本發(fā)明至少一個實施例的用于創(chuàng)建插接物的特性類系統(tǒng)的要素。圖 2000描繪插接物創(chuàng)建進程2040,其使用以下特性類系統(tǒng)要素特性類對象2002到2006、 特性類聲明2010、特性類管理器2020以及特性類規(guī)范文件2030。出于說明目的,考慮 插接物創(chuàng)建進程2040經(jīng)配置以產(chǎn)生插接物以用于渲染船(例如,貨船、郵輪、戰(zhàn)艦(例如,提康德羅加級(Ticonderoga-class)、神盾導(dǎo)彈巡洋艦)、巡航班輪、遠洋班輪等)的 圖像或游戲要素作為進入合成環(huán)境的動態(tài)內(nèi)容。由此,插接物創(chuàng)建進程2040使用插接 物特性類對象("船")2006,其包含嵌套插接物特性類對象2002、 2004和2005。嵌套 特性類對象("定位")2002包含表示(例如)船將擁有的定位和相對運動的數(shù)據(jù)的數(shù)據(jù) 布置。嵌套特性類對象("速度")2004包含表示(例如)船在蒸氣作用下前進(即,移 動)的速度的數(shù)據(jù)的數(shù)據(jù)布置。嵌套特性類對象("作為船出現(xiàn)")2005包含描述(例如) 看起來像所要船形狀的船的出現(xiàn)的數(shù)據(jù)的數(shù)據(jù)布置。在至少一個實施例中,特性類聲明 2010、特性類管理器2020和特性類規(guī)范文件2030可具有如圖19中所述的類似功能和/ 或結(jié)構(gòu)。在一些實施例中,插接物可尤其指代指定(例如)數(shù)據(jù)、資產(chǎn)、程序性動作列 表和條件性觸發(fā)物的表示。數(shù)據(jù)表示的實例是特性類對象2004,其包含指定船的速度的 數(shù)據(jù)。資產(chǎn)表示的實例是插接物特性類對象2006,其包含將船指定為資產(chǎn)的數(shù)據(jù)。程序 性動作列表的表示的實例包含指定插接物對象應(yīng)執(zhí)行的動作的數(shù)據(jù)。舉例來說,程序性 動作列表數(shù)據(jù)可指定船將(1)轉(zhuǎn)向港口, (2)繼續(xù)航行,以及(3)停靠在碼頭。條 件性觸發(fā)物表示的實例包含指定一旦條件性觸發(fā)物在事件Y時激發(fā)X就應(yīng)發(fā)生的數(shù)據(jù)。 舉例來說,條件性觸發(fā)物數(shù)據(jù)可指定一旦船到達碼頭,船就應(yīng)炸毀。
合成環(huán)境產(chǎn)生平臺和/或其節(jié)點可實施插接物創(chuàng)建進程2040和上文所述的特性類系 統(tǒng)要素以形成插接物數(shù)據(jù)2052。接下來考慮進程2050是插接物數(shù)據(jù)2052的接收者。明 確地說,插接物數(shù)據(jù)2052包含一個或一個以上可向進程2050的套接字代碼2054提供 游戲數(shù)據(jù)的通用數(shù)據(jù)結(jié)構(gòu)。由此,進程2050可使用插接物數(shù)據(jù)2052來將動態(tài)內(nèi)容引入 合成環(huán)境,而無需進一步或額外編譯進程2050或套接字代碼2054的源代碼。在一個實 施例中,可將插接物數(shù)據(jù)2052作為船插接物數(shù)據(jù)2061存儲在數(shù)據(jù)庫("d/B") 2060中。 用戶可使用事件編輯器2064來與事件服務(wù)器2062合作以創(chuàng)建船插接物數(shù)據(jù)2061。此外, 用戶可使用事件編輯器2064來調(diào)度船插接物數(shù)據(jù)2061被插接到套接字代碼2054中的 日期和時間,以用于(例如)在預(yù)定的時間產(chǎn)生動態(tài)內(nèi)容。在一些實施例中,事件編輯 器2064可為建置在XML編輯器或特性類編輯器頂部上的應(yīng)用程序。
圖21是展示根據(jù)本發(fā)明至少一個實施例的實施經(jīng)壓縮通用消息的消息接發(fā)系統(tǒng)的 一部分的圖。這里,消息系統(tǒng)部分2100包含服務(wù)器進程2106和客戶端進程2150,其兩 者經(jīng)由網(wǎng)絡(luò)2130耦合以尤其用于交換消息。在此實施例中,消息系統(tǒng)部分2100可輸送 消息作為通用數(shù)據(jù)結(jié)構(gòu),所述消息包含與服務(wù)器側(cè)(或客戶端側(cè))特性類對象('、pco〉") 2160相關(guān)聯(lián)的數(shù)據(jù)子集。此消息的實例是來自客戶端進程2150的指示對合成環(huán)境的修 改的響應(yīng)。服務(wù)器進程2106和客戶端進程2150分別包含通用消息接口 2110a和通用消息接口2110b。服務(wù)器進程2106可使用根據(jù)特性類對象2160布置的數(shù)據(jù),以響應(yīng)于從 客戶端進程2150傳輸?shù)挠螒驍?shù)據(jù)修改而整體或部分地產(chǎn)生合成環(huán)境。經(jīng)修改游戲數(shù)據(jù) 的實例是由客戶端進程2150產(chǎn)生以致使化身在合成環(huán)境中移動的數(shù)據(jù)。在至少一個實 施例中,服務(wù)器進程2106和/或客戶端進程2150可交換作為經(jīng)壓縮的通用消息2120的 消息。由于服務(wù)器進程2106和客戶端進程2150兩者均可實施用以交換數(shù)據(jù)的特性類對 象2160,因此可在經(jīng)壓縮的通用消息2120中交換減少量的數(shù)據(jù)。在一些實施例中,與 特性類對象2122相關(guān)聯(lián)的經(jīng)修改游戲數(shù)據(jù)2124可在通用消息中輸送。舉例來說,考慮 經(jīng)修改的游戲數(shù)據(jù)2124指定某一特性的經(jīng)修改值,其可由索引來識別。由此,經(jīng)壓縮 的通用消息2120可包含索引2128以識別經(jīng)修改游戲數(shù)據(jù)2124的相關(guān)屬性。使用此信 息,服務(wù)器進程2106可經(jīng)配置或?qū)嵤┮孕薷暮铣森h(huán)境。
圖22是根據(jù)本發(fā)明至少一個實施例的實施用以與合成環(huán)境產(chǎn)生平臺互動的通用消 息接發(fā)接口的多個裝置的圖解。合成環(huán)境產(chǎn)生平臺2800包含游戲子進程2282、數(shù)據(jù)庫 進程2284,以及游戲管理進程2286,游戲管理進程2286包含游戲管理服務(wù)器2288a到 2288n。如圖所示,實施通用消息接發(fā)接口 ("UMI") 2292的多種客戶端2290可經(jīng)由網(wǎng) 絡(luò)2289與合成環(huán)境產(chǎn)生平臺2200互動,網(wǎng)絡(luò)2289例如是因特網(wǎng)。在此實例中,尤其 機頂盒2290a、移動裝置2290b、計算裝置2290c、游戲控制臺22卯d、衛(wèi)星接收器("RX") 2290e、手機2290g、個人數(shù)字助理("PDA") 2290h以及電視機2290i可經(jīng)配置以實施 如本文所述的通用消息接發(fā)接口 ("UMI") 2292。在至少一個實施例中,包含邏輯(例 如,處理器和存儲器)的任何裝置2290f可實施各種實施例的通用數(shù)據(jù)結(jié)構(gòu)和/或特性類 以參與合成環(huán)境。
在各種實施例中,特性類系統(tǒng)及其實例可實施為〔++特性類對象,或其它編程語言 中的任何其它特性類。此外,雖然上文的論述在在線游戲的上下文中描述各種特征,但 本發(fā)明的實施例不限于在線游戲。相反,本文所描述的特征和技術(shù)可出于訓(xùn)練目的、教 育目的、社會目的等而應(yīng)用于合成環(huán)境。還請注意,雖然上文的論述是在客戶端-服務(wù)器 架構(gòu)中的分布式服務(wù)器的上下文中,但各種實施例并非如此局限。舉例來說,可將一個 或一個以上節(jié)點進程聚合成單個進程。此外,任何網(wǎng)絡(luò)架構(gòu)和拓撲可與本發(fā)明的實施例 一起實施。舉例來說,合成環(huán)境產(chǎn)生平臺可實施對等網(wǎng)絡(luò)等。
在本發(fā)明實施例的至少一些實施例中,上述特征中的任一者的結(jié)構(gòu)和/或功能可以軟 件、硬件、固件、電路或其組合實施。請注意,上文的結(jié)構(gòu)和組成元件以及其功能性可 與一個或一個以上其它結(jié)構(gòu)或元件聚合?;蛘?,可將元件及其功能性細分成組成子元件 (如果存在的話)。作為軟件,可使用各種類型的編程或格式化語言、框架、語法、應(yīng)用
28程序、協(xié)議、對象或技術(shù)(包含C、對象C、 C++、 C#、 Flex 、 Fireworks 、 Java 、 Javascript 、 AJAX、 COBOL 、 Fortran 、 ADA,、 XML、 HTML、 DHTML、 XHTML、 HTTP、 XMPP等)來實施上文所描述的技術(shù)。這些是可改變的且不限于所提供的實例 或描述。
出于闡釋的目的,上述描述使用特定命名法來提供對本發(fā)明的詳盡理解。然而所屬 領(lǐng)域的技術(shù)人員將明白,為實踐本發(fā)明,無需特定細節(jié)。事實上,此描述內(nèi)容不應(yīng)被解 讀為將本發(fā)明的任何特征或方面限于任何實施例;相反一個實施例的特征和方面可容易 與其它實施例互換。
因此,出于說明和描述的目的而呈現(xiàn)對本發(fā)明的特定實施例的上述描述。不希望所 述描述是詳盡的或?qū)⒈景l(fā)明限于所揭示的精確形式;鑒于上文的教示,許多替代方案、 修改、等效物和變化是可能的。出于清楚的目的,沒有詳細描述與實施例有關(guān)的技術(shù)領(lǐng) 域中已知的技術(shù)材料,以避免不必要地混淆描述內(nèi)容。因此,在所附權(quán)利要求書的范圍 和等效物內(nèi),可修改各種實施例。此外,選擇和描述所述實施例是為了最佳地闡釋本發(fā) 明的原理及其實踐應(yīng)用;它們因此使所屬領(lǐng)域的其它技術(shù)人員能夠以適于預(yù)期特定用途 的各種修改來最好地利用本發(fā)明和各種實施例。應(yīng)注意,并不需要通過本發(fā)明的每一實 施例來實現(xiàn)本文所描述的每個益處;而是任一特定實施例均可提供上文所論述的優(yōu)點中 的一者或一者以上。在權(quán)利要求書中,元件和/或操作并不暗示任何特定的操作次序,除 非在權(quán)利要求書中明確陳述。希望所附權(quán)利要求書及其等效物界定本發(fā)明的范圍。
權(quán)利要求
1.一種用以創(chuàng)建合成環(huán)境中的事件的方法,所述方法包括識別經(jīng)配置以產(chǎn)生可由多個客戶端接入的合成環(huán)境的可執(zhí)行代碼,所述可執(zhí)行代碼包含經(jīng)配置以與插接物數(shù)據(jù)來源互動的套接字代碼;從來自所述插接物數(shù)據(jù)來源中的一插接物數(shù)據(jù)來源選擇插接物數(shù)據(jù);以及建立觸發(fā)點,在所述觸發(fā)點處,所述套接字代碼與所述插接物數(shù)據(jù)互動以將動態(tài)內(nèi)容引入到所述合成環(huán)境。
2. 根據(jù)權(quán)利要求l所述的方法,其進一步包括在所述可執(zhí)行代碼形成之后,創(chuàng)建所述插接物數(shù)據(jù)。
3. 根據(jù)權(quán)利要求1所述的方法,其中選擇所述插接物數(shù)據(jù)包括選擇經(jīng)配置以在不修改所述可執(zhí)行代碼的情況下向所述套接字代碼提供所述插 接物數(shù)據(jù)的數(shù)據(jù)布置。
4. 根據(jù)權(quán)利要求3所述的方法,其中選擇所述數(shù)據(jù)布置包括選擇通用數(shù)據(jù)結(jié)構(gòu)。
5. 根據(jù)權(quán)利要求4所述的方法,其中選擇所述通用數(shù)據(jù)結(jié)構(gòu)包括選擇基于XML的數(shù)據(jù)布置。
6. 根據(jù)權(quán)利要求4所述的方法,其中選擇所述通用數(shù)據(jù)結(jié)構(gòu)包括選擇基于特性類的數(shù)據(jù)布置。
7. 根據(jù)權(quán)利要求l所述的方法,其中建立所述觸發(fā)點包括建立所述動態(tài)內(nèi)容可由所述合成環(huán)境中的所述多個客戶端接入的時間量。
8. 根據(jù)權(quán)利要求l所述的方法,其中建立所述觸發(fā)點包括-建立致使所述動態(tài)內(nèi)容被引入所述合成環(huán)境中的條件。
9. 根據(jù)權(quán)利要求8所述的方法,其中建立所述條件包括建立時間點作為將所述動態(tài)內(nèi)容引入所述合成環(huán)境中的所述條件。
10. 根據(jù)權(quán)利要求l所述的方法,其進一步包括編輯通用數(shù)據(jù)結(jié)構(gòu)以包含所述插接物數(shù)據(jù)。
11. 一種用以創(chuàng)建合成環(huán)境中的事件的方法,所述方法包括選擇用以產(chǎn)生合成環(huán)境的對象代碼,所述對象代碼包含用以將內(nèi)容引入到所述合 成環(huán)境的套接字代碼;根據(jù)通用數(shù)據(jù)結(jié)構(gòu)來例示具有數(shù)據(jù)布置的插接物對象;大體上與所述對象代碼的執(zhí)行同時地配置所述插接物對象以包含表示所述內(nèi)容 被引入所述合成環(huán)境中的位置的數(shù)據(jù);以及調(diào)度在此期間所述內(nèi)容被引入所述合成環(huán)境中的時間。
12. 根據(jù)權(quán)利要求ll所述的方法,其進一步包括獨立于所述對象代碼而根據(jù)所述通用數(shù)據(jù)結(jié)構(gòu)來例示另一插接物對象。
13. 根據(jù)權(quán)利要求ll所述的方法,其中例示所述插接物對象包括例示特性類對象。
14. 根據(jù)權(quán)利要求ll所述的方法,其中例示所述插接物對象包括實施根據(jù)XML而格式化的數(shù)據(jù)布置。
15. 根據(jù)權(quán)利要求14所述的方法,其進一步包括調(diào)用XML編輯器以修改所述插接物 對象的所述數(shù)據(jù)布置。
16. —種用以便利大型多玩家在線游戲的計算機可讀媒體,所述計算機可讀媒體包括用 于以下操作的可執(zhí)行指令識別經(jīng)配置以產(chǎn)生可由多個客戶端接入的合成環(huán)境的可執(zhí)行代碼,所述可執(zhí)行代 碼包含經(jīng)配置以與插接物數(shù)據(jù)來源互動的套接字代碼;從來自所述插接物數(shù)據(jù)來源中的一插接物數(shù)據(jù)來源選擇插接物數(shù)據(jù),所述插接物 數(shù)據(jù)是在所述可執(zhí)行代碼形成之后創(chuàng)建的;以及建立觸發(fā)點,在所述觸發(fā)點處,所述套接字代碼與所述插接物數(shù)據(jù)互動以將動態(tài) 內(nèi)容引入到所述合成環(huán)境。
17. 根據(jù)權(quán)利要求16所述的計算機可讀媒體,其進一步包括用于以下操作的可執(zhí)行指令選擇經(jīng)配置以在不修改所述可執(zhí)行代碼的情況下向所述套接字代碼提供所述插 接物數(shù)據(jù)的數(shù)據(jù)布置。
18. 根據(jù)權(quán)利要求16所述的計算機可讀媒體,其中所述用于建立所述觸發(fā)點的可執(zhí)行指令包括用于以下操作的可執(zhí)行指令建立時間點作為將所述動態(tài)內(nèi)容引入到所述合成環(huán)境的條件。
19. 根據(jù)權(quán)利要求16所述的計算機可讀媒體,其中所述用于建立所述觸發(fā)點的可執(zhí)行指令包括用于以下操作的可執(zhí)行指令在所述合成環(huán)境中在觸發(fā)點處或附近建立玩家活動的等級作為引入所述動態(tài)內(nèi) 容的所述條件。
20. —種用以將內(nèi)容引入合成環(huán)境中的方法,所述方法包括將表示事件的數(shù)據(jù)保存在事件庫數(shù)據(jù)庫中,與插接物對象相關(guān)聯(lián)的所述事件經(jīng)配 置以與執(zhí)行以創(chuàng)建合成環(huán)境的對象代碼互動;檢測觸發(fā)將動態(tài)內(nèi)容引入所述合成環(huán)境中的條件;以及 在所述對象代碼的所述執(zhí)行期間,將所述動態(tài)內(nèi)容引入所述合成環(huán)境中。
21. 根據(jù)權(quán)利要求20所述的方法,其進一步包括確定在此期間所述動態(tài)內(nèi)容持續(xù)與所述合成環(huán)境的至少一部分相關(guān)聯(lián)的時間。
22. 根據(jù)權(quán)利要求20所述的方法,其進一步包括產(chǎn)生經(jīng)配置以顯示在此期間所述動態(tài)內(nèi)容被引入所述合成環(huán)境中的所述時間的 表示的數(shù)據(jù)。
23. 根據(jù)權(quán)利要求22所述的方法,其進一步包括將表示另一事件的數(shù)據(jù)存儲在所述事件庫數(shù)據(jù)庫中; 調(diào)度所述另一事件的另一插接物對象以與所述對象代碼互動;以及 產(chǎn)生經(jīng)配置以顯示在此期間額外動態(tài)內(nèi)容被引入所述合成環(huán)境中的另一時間的 表示的額外數(shù)據(jù)。
24. 根據(jù)權(quán)利要求23所述的方法,其進一步包括顯示與事件服務(wù)器指南相關(guān)聯(lián)的所述另一時間的所述表示。
25. 根據(jù)權(quán)利要求20所述的方法,其進一步包括-在不修改所述對象代碼的情況下產(chǎn)生所述事件以包含所述插接物對象。
26. 根據(jù)權(quán)利要求20所述的方法,其進一步包括用所述插接物對象來開發(fā)源代碼;以及 編譯所述源代碼以形成所述對象代碼。
27. 根據(jù)權(quán)利要求26所述的方法,其進一步包括開發(fā)與另一事件相關(guān)聯(lián)的另一插接物對象; 測試與所述對象代碼相關(guān)聯(lián)的所述另一插接物對象;以及 確定所述另一插接物對象是否滿足一個或一個以上質(zhì)量保證("QA")規(guī)范。
28. 根據(jù)權(quán)利要求27所述的方法,其進一步包括在所述一個或一個以上質(zhì)量保證規(guī)范被滿足的情況下,將與所述另一插接物對象 相關(guān)聯(lián)的插接物數(shù)據(jù)存儲在所述事件庫數(shù)據(jù)庫中。
29. 根據(jù)權(quán)利要求20所述的方法,其進一步包括初始化所述插接物對象借以與所述對象代碼互動的插接物插入進程。
30. 根據(jù)權(quán)利要求29所述的方法,其進一步包括從所述事件庫數(shù)據(jù)庫獲取所述插接物對象的插接物數(shù)據(jù);以及 將所述插接物數(shù)據(jù)與所述對象代碼的套接字代碼合并。
31. —種用以將內(nèi)容引入合成環(huán)境中的方法,所述方法包括執(zhí)行對象代碼以產(chǎn)生合成環(huán)境;監(jiān)視來自特性類對象的數(shù)據(jù)將被插入所述對象代碼的套接字代碼中的時間; 檢測用于所述特性類對象中的一者的預(yù)定的時間;以及 將所述數(shù)據(jù)插入所述套接字代碼中,以使內(nèi)容與所述合成環(huán)境相關(guān)聯(lián)。
32. 根據(jù)權(quán)利要求31所述的方法,其進一步包括接入與所述特性類對象一致的一個或一個以上數(shù)據(jù)布置以獲取所述數(shù)據(jù)。
33. 根據(jù)權(quán)利要求32所述的方法,其進一步包括 確定與所述數(shù)據(jù)相關(guān)聯(lián)的物品的資產(chǎn)表示;以及 相對于所述合成環(huán)境而渲染所述物品。
34. 根據(jù)權(quán)利要求32所述的方法,其進一步包括-確定與所述數(shù)據(jù)相關(guān)聯(lián)的物品的程序性動作列表;以及在所述合成環(huán)境的范圍中依據(jù)所述程序性動作列表來實施針對所述物品的動作。
35. 根據(jù)權(quán)利要求31所述的方法,其中將所述數(shù)據(jù)插入所述套接字代碼中包括產(chǎn)生包含所述數(shù)據(jù)的至少一部分的通用消息;以及 將所述通用消息從事件服務(wù)器傳輸?shù)接螒蚬芾矸?wù)器。
36. 根據(jù)權(quán)利要求35所述的方法,其中傳輸所述通用消息包括傳輸所述通用消息作為XML格式化消息。
37. 根據(jù)權(quán)利要求35所述的方法,其中傳輸所述通用消息包括傳輸所述通用消息作為二進制格式化消息。
38. —種用以便利大型多玩家在線游戲的計算機可讀媒體,所述計算機可讀媒體包括用 于以下操作的可執(zhí)行指令將表示事件的數(shù)據(jù)保存在事件庫數(shù)據(jù)庫中,與插接物對象相關(guān)聯(lián)的所述事件經(jīng)配置以與對象代碼互動;確定動態(tài)內(nèi)容在此期間被調(diào)度以持續(xù)與合成環(huán)境相關(guān)聯(lián)的時間; 顯示所述動態(tài)內(nèi)容在此期間被引入所述合成環(huán)境中的所述時間的表示; 檢測觸發(fā)將所述動態(tài)內(nèi)容引入所述合成環(huán)境中的條件;以及 在所述對象代碼的所述執(zhí)行期間,將所述動態(tài)內(nèi)容引入所述合成環(huán)境中。
39. 根據(jù)權(quán)利要求38所述的計算機可讀媒體,其進一步包括用于以下操作的可執(zhí)行指令在不修改所述對象代碼的情況下產(chǎn)生所述事件以包含所述插接物對象。
40.根據(jù)權(quán)利要求38所述的計算機可讀媒體,其進一步包括用于以下操作的可執(zhí)行指令開發(fā)與另一事件相關(guān)聯(lián)的另一插接物對象; 測試與所述對象代碼相關(guān)聯(lián)的所述另一插接物對象;以及 確定所述另一插接物對象是否滿足一個或一個以上質(zhì)量保證("QA")規(guī)范。
全文摘要
本發(fā)明的實施例大體上涉及基于計算機的模擬和合成環(huán)境產(chǎn)生,且更明確地說,涉及用于以分布式架構(gòu)產(chǎn)生合成環(huán)境以尤其引入動態(tài)內(nèi)容的系統(tǒng)、計算機可讀媒體、方法和設(shè)備。
文檔編號A63F9/24GK101678237SQ200880006983
公開日2010年3月24日 申請日期2008年3月6日 優(yōu)先權(quán)日2007年3月6日
發(fā)明者喬恩·愛德華·范卡內(nèi)蓋, 布賴恩·約瑟夫·法里納, 戴維·奧爾德里奇, 羅伯特·E·李, 賈森·馬爾森 申請人:誠恩環(huán)球網(wǎng)絡(luò)公司