用于在網(wǎng)絡(luò)多玩家游戲中隱藏時(shí)延的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本公開涉及多玩家游戲,且更具體地涉及用于在網(wǎng)絡(luò)多玩家游戲中隱藏時(shí)延的方法。
【背景技術(shù)】
[0002]實(shí)時(shí)多用戶分布式應(yīng)用程序(如在線多玩家游戲)由于寬帶互聯(lián)網(wǎng)接入的迅速發(fā)展而變得日益普及。即使在線多玩家游戲的普及度提高,仍然存在許多需要解決的缺點(diǎn)。主要缺點(diǎn)之一涉及可能極大地影響游戲體驗(yàn)的網(wǎng)絡(luò)性能和數(shù)據(jù)傳輸速度。
[0003]在線多玩家游戲允許處于廣泛分布的地理位置的玩家同時(shí)在同一游戲環(huán)境內(nèi)玩同一游戲。多玩家特征允許玩家享受與其他個(gè)體的交互,不論是以合作、競(jìng)爭(zhēng)還是以對(duì)抗的形式,并且還為玩家提供一種社交通信形式。在各種不同的在線多玩家游戲類型中,玩家可單獨(dú)與兩個(gè)或更多個(gè)人類參賽者競(jìng)爭(zhēng)、與人類合作者協(xié)同工作以便實(shí)現(xiàn)共同目標(biāo)、監(jiān)視其他玩家的活動(dòng)、或參加結(jié)合以上內(nèi)容的任何可能組合的游戲。
[0004]目前,每個(gè)在線多玩家游戲應(yīng)用程序都涉及網(wǎng)絡(luò)性能,如網(wǎng)絡(luò)帶寬。然而,在進(jìn)行在線多玩家游戲期間建立或使用的網(wǎng)絡(luò)質(zhì)量和帶寬方面存在限制。這些限制可導(dǎo)致數(shù)據(jù)傳輸?shù)难舆t,并且因此產(chǎn)生游戲設(shè)置的緩慢或不連續(xù)的動(dòng)畫。例如,在基于近戰(zhàn)戰(zhàn)斗的游戲中,當(dāng)?shù)谝煌婕夜舻诙婕視r(shí),數(shù)據(jù)從第一玩家計(jì)算機(jī)到第二玩家計(jì)算機(jī)的傳輸可能存在時(shí)延,這可導(dǎo)致游戲設(shè)置動(dòng)畫不一致。延遲的動(dòng)畫可影響玩家的反應(yīng)時(shí)機(jī)。因此,玩家可能覺得游戲不公平。例如,在第一玩家側(cè),由第一玩家控制的虛擬化身可在由第二玩家控制的虛擬化身能夠用盾攔截桿之前向由第二玩家控制的虛擬化身揮桿。然而,在第二玩家側(cè),當(dāng)由第一玩家控制的虛擬化身開始揮桿時(shí),第二玩家的虛擬化身已經(jīng)舉起了他的盾,但無論如何仍被殺死,這是因?yàn)樵诘谝煌婕覀?cè),第二玩家仍然是無保護(hù)的。
[0005]本發(fā)明的各個(gè)方面正是在此背景下產(chǎn)生。
【附圖說明】
[0006]圖1是根據(jù)本公開一方面的用于攻擊者、防御者和觀察者通過網(wǎng)絡(luò)進(jìn)行通信的客戶端設(shè)備平臺(tái)的示意圖。
[0007]圖2A-2C是描繪在攻擊者、防御者和觀察者的客戶端設(shè)備平臺(tái)之間存儲(chǔ)和傳輸襲擊事件和襲擊回復(fù)的框圖。
[0008]圖3A是描繪在不利用任何調(diào)整的動(dòng)畫模式的攻擊動(dòng)畫期間出現(xiàn)的不同時(shí)段的時(shí)間軸。
[0009]圖3B-3D是根據(jù)本公開的各個(gè)方面的時(shí)間軸,其描繪在攻擊動(dòng)畫期間出現(xiàn)的包括一個(gè)或多個(gè)調(diào)整的動(dòng)畫模式的不同時(shí)段。
[0010]圖4是示出根據(jù)本公開一方面的隱藏時(shí)延的方法的流程圖。
[0011]圖5A-5C是描述根據(jù)本公開各個(gè)方面的對(duì)攻擊者、防御者和觀察者如何隱藏時(shí)延的說明的框圖。
【具體實(shí)施方式】
[0012]雖然出于說明目的,以下詳細(xì)說明包含許多具體細(xì)節(jié),但是本領(lǐng)域的普通技術(shù)人員將會(huì)了解,以下細(xì)節(jié)的許多變化和更改在本公開的范圍內(nèi)。因此,在闡明以下所描述的本公開的各個(gè)方面時(shí),此描述的隨附權(quán)利要求書的概括性沒有任何損失,并且不對(duì)此權(quán)利要求書施加任何限制。
[0013]本公開的各個(gè)方面描述用于在通過網(wǎng)絡(luò)進(jìn)行的多玩家游戲中隱藏時(shí)延的裝置和方法。多玩家游戲可包括攻擊者和防御者。攻擊者可在第一客戶端設(shè)備平臺(tái)上玩游戲,并且防御者可在第二客戶端設(shè)備平臺(tái)上玩游戲。兩個(gè)客戶端設(shè)備平臺(tái)可通過網(wǎng)絡(luò)連接。根據(jù)本公開的方面,攻擊者可發(fā)起一個(gè)或多個(gè)攻擊動(dòng)畫。第一客戶端設(shè)備平臺(tái)可預(yù)測(cè):一個(gè)或多個(gè)攻擊動(dòng)畫將對(duì)防御者造成成功襲擊。當(dāng)做出了積極預(yù)測(cè)時(shí),攻擊者的客戶端設(shè)備平臺(tái)可生成襲擊事件。襲擊事件可包括一個(gè)或多個(gè)發(fā)起的攻擊動(dòng)畫和唯一的襲擊標(biāo)識(shí)符(ID),唯一的襲擊標(biāo)識(shí)符將用于跟蹤一個(gè)或多個(gè)攻擊動(dòng)畫的結(jié)果。隨后襲擊事件可被存儲(chǔ)在攻擊者的客戶端設(shè)備平臺(tái)上的襲擊表中,并且通過網(wǎng)絡(luò)連接被傳送到防御者的客戶端設(shè)備平臺(tái)??稍诠粽叩目蛻舳嗽O(shè)備平臺(tái)上減慢一個(gè)或多個(gè)攻擊動(dòng)畫的回放速率,以便加長其中攻擊者的客戶端設(shè)備平臺(tái)可從防御者的客戶端設(shè)備平臺(tái)接收響應(yīng)的可用時(shí)間,所述響應(yīng)指示攻擊是否確實(shí)是如所預(yù)測(cè)的成功攻擊。
[0014]在接收襲擊事件后,防御者的客戶端設(shè)備平臺(tái)將信息存儲(chǔ)在襲擊表中,并且隨后確定一個(gè)或多個(gè)攻擊動(dòng)畫是否對(duì)防御者造成成功攻擊。舉例來說,防御者的客戶端設(shè)備平臺(tái)可確定:攻擊是命中、未命中或被阻攔攻擊。防御者的客戶端設(shè)備平臺(tái)隨后生成襲擊響應(yīng),所述襲擊響應(yīng)包括適當(dāng)?shù)囊粋€(gè)或多個(gè)響應(yīng)動(dòng)畫和與襲擊事件相關(guān)聯(lián)的同一襲擊ID。襲擊響應(yīng)被存儲(chǔ)在襲擊表中,并且還通過網(wǎng)絡(luò)連接被傳送到攻擊者的客戶端設(shè)備平臺(tái)。一旦攻擊者的客戶端設(shè)備平臺(tái)接收到襲擊響應(yīng),所述襲擊響應(yīng)也將被存儲(chǔ)在攻擊者的襲擊表中。攻擊者的客戶端設(shè)備平臺(tái)隨后可執(zhí)行襲擊回復(fù)中所識(shí)別的回復(fù)動(dòng)畫。
[0015]本公開的各個(gè)方面描述裝置和方法如何對(duì)時(shí)延的長度差異作出響應(yīng)。在攻擊者的客戶端設(shè)備平臺(tái)傳送襲擊事件之前,攻擊者不知道時(shí)延將會(huì)有多長,并且因此需要能夠適應(yīng)任何可能的后果。之后由攻擊者的客戶端設(shè)備平臺(tái)實(shí)施的步驟取決于攻擊者是:(I)在襲擊前時(shí)段期間;(2)在襲擊前時(shí)段之后;(3)還是在延長的襲擊暫停時(shí)段之后接收到襲擊回復(fù)(或從未接收到)。
[0016]根據(jù)本公開的例子,如果在襲擊前時(shí)段期間接收到襲擊響應(yīng),那么攻擊者的客戶端設(shè)備平臺(tái)緩沖響應(yīng)動(dòng)畫,以便在攻擊者與防御者之間發(fā)生撞擊的時(shí)刻進(jìn)行播放。根據(jù)本公開的某些例子,如果在襲擊前時(shí)段之后接收到襲擊響應(yīng),那么攻擊者的客戶端設(shè)備平臺(tái)可實(shí)施延長的襲擊暫停時(shí)段,所述延長的襲擊暫停時(shí)段可持續(xù)預(yù)先確定的時(shí)間長度。這允許有更多時(shí)間來允許攻擊者的客戶端設(shè)備平臺(tái)接收襲擊回復(fù)。一旦攻擊者的客戶端設(shè)備平臺(tái)已接收到襲擊回復(fù),所述襲擊回復(fù)可被存儲(chǔ)在攻擊者的襲擊表中,并且可在至少標(biāo)準(zhǔn)的襲擊暫停時(shí)段已結(jié)束之后實(shí)施回復(fù)動(dòng)畫。
[0017]根據(jù)本公開的某些例子,如果在預(yù)先確定的最大時(shí)間長度之前尚未接收到襲擊響應(yīng),那么攻擊者的客戶端設(shè)備平臺(tái)可能超時(shí)。當(dāng)攻擊者的客戶端設(shè)備平臺(tái)超時(shí)時(shí),可移除襲擊表中與未接收襲擊回復(fù)的襲擊ID相關(guān)的所有數(shù)據(jù)。另外,可用超時(shí)動(dòng)畫替換回復(fù)動(dòng)畫。超時(shí)動(dòng)畫可描繪未命中攻擊。
[0018]本公開的各個(gè)方面進(jìn)一步描述在一個(gè)或多個(gè)攻擊動(dòng)畫與一個(gè)或多個(gè)回復(fù)動(dòng)畫之間的過渡期間提供無縫動(dòng)畫的裝置和方法。這是至關(guān)重要的,因?yàn)楣魴C(jī)器和防御機(jī)器可能由于機(jī)器之間的時(shí)延而在不同時(shí)間執(zhí)行動(dòng)畫。為了確保攻擊者的動(dòng)畫與防御者的動(dòng)畫保持同步,攻擊者的客戶端設(shè)備平臺(tái)利用來自攻擊者的襲擊表的信息。首先,在讀取所述表后,如果客戶端設(shè)備平臺(tái)檢測(cè)到他由于任何襲擊事件而應(yīng)處于襲擊暫停時(shí)段,那么客戶端設(shè)備平臺(tái)將在回復(fù)動(dòng)畫的第一幀處插入暫停。此后,一旦攻擊者的客戶端設(shè)備平臺(tái)確定以下兩者:(1)根據(jù)攻擊者的客戶端設(shè)備平臺(tái),襲擊暫停結(jié)束;以及(2)攻擊者的客戶端設(shè)備平臺(tái)已接收到防御者也取消暫停的指示,暫停就將結(jié)束(并且回復(fù)動(dòng)畫將繼續(xù)。
[0019]換句話說,如果回復(fù)動(dòng)畫是可得的,那么所述回復(fù)動(dòng)畫被緩沖并且在撞擊的時(shí)刻(例如,襲擊前結(jié)束)在攻擊者機(jī)器和防御者機(jī)器兩者上播放。在常見情況下,回復(fù)動(dòng)畫可在這個(gè)動(dòng)畫的第一幀上保持暫停。隨后在襲擊回復(fù)之后,回復(fù)動(dòng)畫可“取消暫?!辈⑶依^續(xù)播放。這是重要的,因?yàn)槿绻u擊回復(fù)動(dòng)畫沒有在襲擊的時(shí)刻播放第一幀,那么游戲看起來可能相當(dāng)糟糕。
[0020]本公開的另外方面描述添加觀察者和觀察者的客戶端設(shè)備平臺(tái)的與上述類似的裝置和方法。觀察者的添加要求也將襲擊事件和襲擊回復(fù)發(fā)送到觀察者。另外,觀察者可以與攻擊者的客戶端設(shè)備平臺(tái)的方式基本上類似的方式在攻擊動(dòng)畫與回復(fù)動(dòng)畫之間實(shí)施無縫過渡。
[0021]圖1是描繪可能夠通過網(wǎng)絡(luò)160彼此通信的三個(gè)不同客戶端設(shè)備平臺(tái)102、103和104的框圖。每個(gè)客戶端設(shè)備平臺(tái)可在任何給定時(shí)間由一個(gè)或多個(gè)游戲玩家使用。為簡單起見,本公開的各個(gè)方面將會(huì)將每個(gè)客戶端設(shè)備平臺(tái)描繪為具有單個(gè)游戲玩家,但對(duì)于本領(lǐng)域技術(shù)人員顯而易見的是,兩個(gè)或更多個(gè)玩家可從單個(gè)客戶端設(shè)備平臺(tái)玩游戲。根據(jù)圖1,存在與攻擊玩家相關(guān)聯(lián)的客戶端設(shè)備平臺(tái)102、與防御玩家相關(guān)聯(lián)的客戶端設(shè)備平臺(tái)103和與觀察玩家相關(guān)聯(lián)的客戶端設(shè)備平臺(tái)104。如本文所使用,客戶端設(shè)備平臺(tái)102可被稱為“攻擊者”,客戶端設(shè)備平臺(tái)103可被稱為“防御者”,并且客戶端設(shè)備平臺(tái)104可被稱為“觀察者”。在兩個(gè)或更多個(gè)游戲玩家在單個(gè)客戶端設(shè)備平臺(tái)上玩游戲的例子中,標(biāo)簽“攻擊者”、“防御者”和“觀察者”可專用于個(gè)體游戲玩家而不用于定義整個(gè)客戶端設(shè)備平臺(tái)。
[0022]攻擊玩家的平臺(tái)102可包括中央處理器單元(CPU) 131。舉例來說,CPU 131可包括一個(gè)或多個(gè)處理器,所述一個(gè)或多個(gè)處理器可根據(jù)例如雙核、四核、多核、或單元處理器架構(gòu)來配置。攻擊者102還可包括存儲(chǔ)器132(例如,RAM、DRAM、R0M等)。CPU 131可執(zhí)行過程控制程序133,所述過程控制程序133中的部分可存儲(chǔ)在存儲(chǔ)器132中。攻擊者102還可包括眾所周知的支持電路140,如輸入/輸出(I/O)電路141、電源(P/S)142、時(shí)鐘(CLK) 143和高速緩存144。攻擊者102可任選地包括大容量存儲(chǔ)設(shè)備134,如磁盤驅(qū)動(dòng)器、⑶-ROM驅(qū)動(dòng)器、磁帶驅(qū)動(dòng)器等,以便存儲(chǔ)程序和/或數(shù)據(jù)。攻擊者102還可任選地包括顯示單元137。顯示器單元137可呈顯示文本、數(shù)字、或圖形符號(hào)的陰極射線管(CRT)或平板屏幕的形式。控制器145可通過I/O電路141來連接至攻擊者102,或它可直接集成到攻擊者102中??刂破?45可促進(jìn)攻擊者102與可控制游戲設(shè)置的游戲玩家之間的交互。控制器145可包括鍵盤、鼠標(biāo)、操縱桿、光筆、手持控制設(shè)備、或其它設(shè)備。攻擊者102可包括網(wǎng)絡(luò)接口 139,所述網(wǎng)絡(luò)接口 139被配置來使得能夠使用W1-F1、以太網(wǎng)端口或其它通信方法。
[0023]網(wǎng)絡(luò)接口 139可并入有合適硬件、軟件、固件、或這些中的兩個(gè)或更多個(gè)的某個(gè)組合來促進(jìn)通過電子通信