伍的戰(zhàn)斗回放等。
[0024]在場(chǎng)景回放時(shí),可以動(dòng)態(tài)伸縮時(shí)間軸。這主要是為了實(shí)現(xiàn)快進(jìn)和慢進(jìn)。狀態(tài)和/或事件消息的執(zhí)行速度快于錄像時(shí)間軸的處理速度,則表現(xiàn)為快進(jìn);狀態(tài)和/或事件消息的執(zhí)行速度慢于錄像時(shí)間軸的處理速度,則表現(xiàn)為慢進(jìn)。通過動(dòng)態(tài)伸縮場(chǎng)景回放時(shí)間軸,可以達(dá)到快進(jìn)和慢進(jìn)的效果。畫面的時(shí)間軸也應(yīng)該同步伸縮。當(dāng)以非正常速度播放的時(shí)候,場(chǎng)景中的特效、動(dòng)畫等都應(yīng)該改變播放速度。場(chǎng)景對(duì)象采用的游戲時(shí)間都應(yīng)該以場(chǎng)景時(shí)間為基準(zhǔn)。而前述的數(shù)據(jù)包發(fā)送時(shí)間戳也應(yīng)該采用場(chǎng)景時(shí)間。
[0025]優(yōu)選地,在回放游戲時(shí),當(dāng)游戲角色離開預(yù)定的場(chǎng)景時(shí),使角色恢復(fù)到在該場(chǎng)景中的初始狀態(tài)。具體地,在線狀態(tài)下觀戰(zhàn),當(dāng)離開觀戰(zhàn)場(chǎng)景后,使角色恢復(fù)到觀戰(zhàn)前所處的狀態(tài)。若角色在場(chǎng)景中,應(yīng)同步原場(chǎng)景中的場(chǎng)景對(duì)象。作為一種優(yōu)選的實(shí)現(xiàn)方案,當(dāng)離開觀戰(zhàn)模式后,角色將在其所處游戲的場(chǎng)景中還原,及恢復(fù)初始位置或狀態(tài)。
[0026]可選地,對(duì)于客戶端鏡頭綁定主角的游戲,進(jìn)入觀戰(zhàn)模式后,鏡頭應(yīng)調(diào)整為自由模式,或隨機(jī)綁定到一個(gè)角色身上。所述方法還包括,通過將客戶端場(chǎng)景獨(dú)立封裝設(shè)計(jì)成一個(gè)庫文件,以便于在未登陸服務(wù)器的時(shí)候(即離線狀態(tài)),也能正常播放錄像。
[0027]下面針對(duì)一個(gè)場(chǎng)景的一次錄像錄制和回放過程,描述根據(jù)本發(fā)明的另一個(gè)實(shí)施例,其實(shí)施步驟如下。
[0028]I)錄制開始。用戶選擇開始錄制后,首先需要保存一次場(chǎng)景的全局狀態(tài),并把關(guān)卡標(biāo)記為錄制狀態(tài)。場(chǎng)景當(dāng)前時(shí)間被記錄下來。在錄制狀態(tài)下,場(chǎng)景中發(fā)生的事件及事件時(shí)間戳都會(huì)被記錄下來。
[0029]這里所講的事件一般包含了創(chuàng)建場(chǎng)景對(duì)象,場(chǎng)景對(duì)象移動(dòng),場(chǎng)景對(duì)象之間、場(chǎng)景對(duì)象與環(huán)境之間的交互等指令信息。這些信息一般以數(shù)據(jù)包的方式同步給客戶端,是驅(qū)動(dòng)場(chǎng)景對(duì)象交互的指令來源。通過重新執(zhí)行這些指令,可以再現(xiàn)場(chǎng)景對(duì)象的交互過程與效果。
[0030]這里所講的事件信息,還包括了按照用戶需求記錄額外的屬性信息,包括場(chǎng)景對(duì)象所處的勢(shì)力等,主要是為了回放時(shí)方便用戶篩選感興趣的信息。
[0031]除了記錄事件信息外,還需要定期將場(chǎng)景的全局狀態(tài)記錄下來。這主要是因?yàn)槭录仨殘?zhí)行在事件原本發(fā)生時(shí)的上下文中。而在回放時(shí),為了快速定位,應(yīng)該找到離當(dāng)前位置最近的上下文全局狀態(tài),然后從定位點(diǎn)開始往后執(zhí)行后續(xù)的事件。
[0032]2)錄制結(jié)束。錄制過程中記錄的所有數(shù)據(jù)都被保存起來以被重播。另外應(yīng)在記錄文件中記錄一些說明信息。優(yōu)選的,可以記錄:錄制于哪個(gè)場(chǎng)景、錄制時(shí)長(zhǎng)等信息。
[0033]3)回放開始。用戶從錄制文件列表中選擇一個(gè)自己感興趣的,然后根據(jù)錄制文件信息,創(chuàng)建一個(gè)與錄制場(chǎng)景一樣的場(chǎng)景。場(chǎng)景創(chuàng)建結(jié)束后就可以按照數(shù)據(jù)包的時(shí)間戳逐步處理數(shù)據(jù)包,再現(xiàn)原先場(chǎng)景中場(chǎng)景對(duì)象的交互過程與效果。
[0034]回放文件的數(shù)據(jù)既可以從存儲(chǔ)服務(wù)器以數(shù)據(jù)流的方式逐步同步到回放客戶端,也可以先下載到本地,從本地文件加載。從遠(yuǎn)端下載時(shí),有可能因?yàn)橄螺d速度過慢導(dǎo)致播放停頓,應(yīng)該事先預(yù)下載一些到本地緩沖,以確保流暢播放。
[0035]播放過程中,用戶可以根據(jù)需要篩選哪些數(shù)據(jù)可以執(zhí)行,或哪些數(shù)據(jù)執(zhí)行的效果可被顯示出來。這都是因?yàn)閿?shù)據(jù)包上記錄了相關(guān)信息。用戶也可以向前或向后定位到某個(gè)位置開始播放。這時(shí)只需要先把所有場(chǎng)景對(duì)象刪除,然后把全局狀態(tài)快照恢復(fù),更新本地場(chǎng)景時(shí)間戳,再往后處理數(shù)據(jù)包即可。當(dāng)然用戶也可以選擇暫停、慢速或快速播放,只需要把本地時(shí)間戳做伸縮變換即可。
[0036]播放過程中,用戶可以選擇自由鏡頭模式,或把鏡頭綁定到任一場(chǎng)景對(duì)象身上。
[0037]4)回放結(jié)束?;胤沤Y(jié)束后,刪除回放場(chǎng)景和所有場(chǎng)景對(duì)象。
[0038]以上所述,只是本發(fā)明的較佳實(shí)施例而已,本發(fā)明并不局限于上述實(shí)施方式,只要其以相同的手段達(dá)到本發(fā)明的技術(shù)效果,都應(yīng)屬于本發(fā)明的保護(hù)范圍。在本發(fā)明的保護(hù)范圍內(nèi)其技術(shù)方案和/或?qū)嵤┓绞娇梢杂懈鞣N不同的修改和變化。
【主權(quán)項(xiàng)】
1.一種基于數(shù)據(jù)同步的網(wǎng)游錄像與回放的方法,其特征在于,所述方法包括如下步驟: A、在網(wǎng)游服務(wù)端的游戲程序的運(yùn)行過程中獲取包含游戲同步的狀態(tài)信息、事件信息和時(shí)間信息的同步數(shù)據(jù)包; B、根據(jù)用戶選擇的游戲的目標(biāo)對(duì)象,從同步數(shù)據(jù)包中將與所選的目標(biāo)對(duì)象對(duì)應(yīng)的狀態(tài)信息、事件信息和時(shí)間信息的數(shù)據(jù)儲(chǔ)存為錄像數(shù)據(jù)文件;C、通過游戲客戶端程序讀取錄像數(shù)據(jù)文件,并且依照時(shí)間信息處理相應(yīng)的狀態(tài)信息和事件信息,生成游戲場(chǎng)景的狀態(tài)和事件,從而能夠有選擇地回放游戲過程和游戲場(chǎng)景效果。2.根據(jù)權(quán)利要求1所述的方法,其中,同步數(shù)據(jù)包的同步方式包括: 同步場(chǎng)景對(duì)象的所有狀態(tài)信息的狀態(tài)同步; 在處理場(chǎng)景對(duì)象的事件所對(duì)應(yīng)的狀態(tài)信息保持一致的情況下對(duì)該事件信息進(jìn)行的事件同步。3.根據(jù)權(quán)利要求1所述的方法,其中所述步驟A還包括: 在數(shù)據(jù)包中記錄游戲的全局狀態(tài)信息,以便在游戲回放時(shí)能夠根據(jù)時(shí)間信息來定位任意時(shí)間點(diǎn)所對(duì)應(yīng)的狀態(tài)信息。4.根據(jù)權(quán)利要求1所述的方法,其中所述步驟B還包括: 存儲(chǔ)同步數(shù)據(jù)包的額外屬性信息,其中,所述額外屬性信息包括數(shù)據(jù)包發(fā)送時(shí)間戳和數(shù)據(jù)包同步目標(biāo)屬性,所述的數(shù)據(jù)包發(fā)送時(shí)間戳是指數(shù)據(jù)包發(fā)送時(shí)刻相對(duì)于預(yù)定的開始時(shí)刻的相對(duì)時(shí)間,所述的數(shù)據(jù)包同步目標(biāo)屬性是指滿足預(yù)設(shè)的游戲?qū)傩约s束的目標(biāo)對(duì)象。5.根據(jù)權(quán)利要求4所述的方法,其中,所述的數(shù)據(jù)包發(fā)送時(shí)間戳采用游戲場(chǎng)景時(shí)間。6.根據(jù)權(quán)利要求1所述的方法,其中所述步驟B還包括: 在生成數(shù)據(jù)文件時(shí),添加狀態(tài)信息和事件信息的分類信息。7.根據(jù)權(quán)利要求1所述的方法,其中所述步驟C還包括: 在游戲場(chǎng)景回放時(shí),動(dòng)態(tài)伸縮由所述時(shí)間信息組成的時(shí)間軸,從而當(dāng)狀態(tài)和/或事件消息的執(zhí)行速度快于所述時(shí)間軸的處理速度時(shí)實(shí)現(xiàn)回放快進(jìn),當(dāng)狀態(tài)和/或事件消息的執(zhí)行速度慢于所述時(shí)間軸的處理速度時(shí)實(shí)現(xiàn)回放慢進(jìn)。8.根據(jù)權(quán)利要求1所述的方法,其中所述步驟C還包括: 在回放游戲時(shí),當(dāng)游戲角色離開預(yù)定的場(chǎng)景時(shí),使角色恢復(fù)到在該場(chǎng)景中的初始狀態(tài)。9.根據(jù)權(quán)利要求1所述的方法,其中所述步驟C還包括: 回放結(jié)束后,刪除回放場(chǎng)景和所有場(chǎng)景對(duì)象。10.根據(jù)權(quán)利要求1所述的方法,還包括: 將包含處理游戲同步的狀態(tài)信息和事件信息數(shù)據(jù)的邏輯獨(dú)立封裝為離線的庫文件,以便在不啟動(dòng)客戶端程序或不聯(lián)機(jī)時(shí)播放錄像文件。
【專利摘要】本發(fā)明公開了一種基于數(shù)據(jù)同步的網(wǎng)游錄像與回放的方法,通過截取和復(fù)制游戲過程中的同步數(shù)據(jù)包,然后用游戲客戶端回放出來。網(wǎng)絡(luò)數(shù)據(jù)包所占的存儲(chǔ)極小,與一般的錄像方式相比極具優(yōu)勢(shì)。而且游戲客戶端重放網(wǎng)絡(luò)數(shù)據(jù)包和模擬游戲過程是無損的,不用擔(dān)心圖像的質(zhì)量。
【IPC分類】G06F19/00
【公開號(hào)】CN104915542
【申請(qǐng)?zhí)枴緾N201510231507
【發(fā)明人】張明, 胡翌, 高勇, 吳越
【申請(qǐng)人】珠海金山網(wǎng)絡(luò)游戲科技有限公司, 廣州西山居世游網(wǎng)絡(luò)科技有限公司
【公開日】2015年9月16日
【申請(qǐng)日】2015年5月8日