亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

在線(xiàn)角色扮演網(wǎng)絡(luò)游戲的視野處理系統(tǒng)和方法

文檔序號(hào):6374277閱讀:155來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):在線(xiàn)角色扮演網(wǎng)絡(luò)游戲的視野處理系統(tǒng)和方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種圖像處理技術(shù),特別是一種在線(xiàn)角色扮演網(wǎng)絡(luò)游戲的視野處理系統(tǒng)和方法。
背景技術(shù)
隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)游戲逐漸取代單機(jī)游戲成為電腦游戲的主流,并且仍在高速發(fā)展中。其中大型多人在線(xiàn)角色扮演網(wǎng)絡(luò)游戲(MMORPG,Massive Multiplayer Online Role-Playing Game)是目前最受廣大玩家推崇的網(wǎng)絡(luò)游戲形式。在MMORPG中通常會(huì)有很多游戲場(chǎng)景,在游戲場(chǎng)景中,每個(gè)玩家可以看到他附近的其他玩家的很多游戲行為,比如其他玩家的移動(dòng)和戰(zhàn)斗。舉例如玩家扮演的角色Henry (相對(duì)于該玩家是主角)可以在場(chǎng)景中可以看到其他玩家,有的玩家在打坐有的玩家在奔跑,有的玩家騎著龍,有的玩家騎著虎。一個(gè)游戲場(chǎng)景要比玩家的顯示屏大得多,玩家所能看到的只是他附近的這些玩家,而不是整個(gè)游戲場(chǎng)景。通常將玩家所能看到的范圍稱(chēng)為玩家的視野。主角Henry自己位于自己視野的中心,每當(dāng)主角Henry移動(dòng)位置之后,玩家所能看到的視野可能將發(fā)生變化,有的玩家扮演的角色從自己的視野中消失了,而又有其他的玩家扮演的角色進(jìn)入了玩家的視野(也就是Henry的視野)。作為網(wǎng)絡(luò)游戲,MMORPG包括服務(wù)器和客戶(hù)端,客戶(hù)端負(fù)責(zé)將游戲場(chǎng)景的展現(xiàn)給玩家,服務(wù)器負(fù)責(zé)控制所有在線(xiàn)的玩家以及游戲邏輯的計(jì)算和處理,也就是說(shuō),玩家所能看到各種玩家角色和非玩家角色均是由該網(wǎng)絡(luò)游戲的服務(wù)器控制的,服務(wù)器控制并管理著各玩家的視野??蛻?hù)端和服務(wù)器之間通過(guò)收發(fā)游戲的數(shù)據(jù)消息,相互傳遞游戲的控制邏輯。目前MMORPG中的玩家的視野處理的慣用流程如圖I所示,在玩家進(jìn)入場(chǎng)景之前,先由客戶(hù)端向服務(wù)器發(fā)送進(jìn)入場(chǎng)景請(qǐng)求,服務(wù)器收到該請(qǐng)求信息后向客戶(hù)端發(fā)送批準(zhǔn)信息,即告訴玩家所在客戶(hù)端可以進(jìn)入場(chǎng)景;當(dāng)玩家進(jìn)入游戲場(chǎng)景后,服務(wù)器會(huì)告之該玩家的客戶(hù)端,有哪些角色目前可以看到,如顯示玩家A、顯示玩家B以及顯示玩家A攜帶的坐騎,客戶(hù)端收到消息后,將這個(gè)角色顯示出來(lái),當(dāng)有角色走遠(yuǎn)離開(kāi)或下線(xiàn)不在游戲中時(shí),服務(wù)器會(huì)通知客戶(hù)端將已經(jīng)顯示的這個(gè)角色刪除,如服務(wù)器向客戶(hù)端發(fā)送玩家A下線(xiàn)需將其從視野中刪除的信息。服務(wù)器控制著客戶(hù)端的顯示,因此可以理解為是客戶(hù)端的眼睛。在MMORPG中,角色移動(dòng)是游戲中最頻繁的處理業(yè)務(wù)之一。角色移動(dòng)會(huì)引發(fā)玩家自己的視野區(qū)域的變化,而玩家的視野區(qū)域如果變化,又會(huì)引發(fā)一系列的角色進(jìn)入與角色離開(kāi)的通知消息,服務(wù)器需要對(duì)角色移動(dòng)后的玩家的視野區(qū)域重新進(jìn)行計(jì)算和處理,這對(duì)服務(wù)器性能的影響是比較大的。采用這種玩家的視野的處理技術(shù)存在的弊端是,在MMORPG中,單臺(tái)服務(wù)器的同時(shí)在線(xiàn)人數(shù)超過(guò)千人,服務(wù)器控制并管理著上千玩家的視野,或者說(shuō)是管理著上千人的眼睛,并且需要實(shí)時(shí)的根據(jù)每個(gè)玩家位置的移動(dòng)重新進(jìn)行其視野的計(jì)算和處理,并及時(shí)告之客戶(hù)端什么時(shí)候有角色進(jìn)入,什么時(shí)候有角色離開(kāi),這種計(jì)算量和處理量是十分龐大的,尤其在線(xiàn)人數(shù)越多,服務(wù)器的計(jì)算量和數(shù)據(jù)處理量更大,使得服務(wù)器負(fù)荷過(guò)重造成其運(yùn)算處理速度逐漸緩慢,從而導(dǎo)致服務(wù)器性能下降,進(jìn)一步影響了各在線(xiàn)玩家在游戲時(shí)整體的視覺(jué)感受,造成玩家在游戲時(shí)畫(huà)面不流暢、無(wú)法順利進(jìn)行游戲任務(wù),使得玩家無(wú)法體驗(yàn)順暢游戲的樂(lè)趣。為避免這些問(wèn)題,通常在MMORPG中提高服務(wù)器配置以提升其綜合性能,但這無(wú)疑提高了成本。

發(fā)明內(nèi)容
本發(fā)明針對(duì)現(xiàn)有的MMORPG中的玩家的視野處理技術(shù)由于服務(wù)器的計(jì)算量和數(shù)據(jù)處理量龐大導(dǎo)致服務(wù)器性能下降而提高服務(wù)器配置又會(huì)導(dǎo)致成本高的問(wèn)題,提供一種在線(xiàn)角色扮演網(wǎng)絡(luò)游戲的視野處理系統(tǒng),通過(guò)在玩家的視野區(qū)域變化的基礎(chǔ)上進(jìn)行視野的計(jì)算處理,能夠減少服務(wù)器計(jì)算量和數(shù)據(jù)處理量,提高服務(wù)器性能,本發(fā)明還提供一種在線(xiàn)角色扮演網(wǎng)絡(luò)游戲的視野處理方法。本發(fā)明的技術(shù)方案如下一種在線(xiàn)角色扮演網(wǎng)絡(luò)游戲的視野處理系統(tǒng),包括服務(wù)器和客戶(hù)端,其特征在于,所述服務(wù)器包括依次連接的分配和存儲(chǔ)模塊、視野區(qū)域計(jì)算模塊、檢測(cè)模塊、視野變化計(jì)算 模塊以及服務(wù)器數(shù)據(jù)發(fā)送和處理模塊,所述服務(wù)器還包括服務(wù)器數(shù)據(jù)庫(kù),所述服務(wù)器數(shù)據(jù)庫(kù)分別與分配和存儲(chǔ)模塊、視野區(qū)域計(jì)算模塊以及服務(wù)器數(shù)據(jù)發(fā)送和處理模塊相連;所述客戶(hù)端包括終端數(shù)據(jù)接收和處理模塊,所述終端數(shù)據(jù)接收和處理模塊與服務(wù)器數(shù)據(jù)發(fā)送和處理模塊相連;所述分配和存儲(chǔ)模塊將整個(gè)場(chǎng)景劃分為若干相同大小的視野單元格并進(jìn)行標(biāo)識(shí),所述視野單元格存儲(chǔ)位于其內(nèi)的角色集合,所述視野區(qū)域計(jì)算模塊將主角放入當(dāng)前位置所屬的視野單元格并根據(jù)客戶(hù)端坐標(biāo)觸發(fā)位置計(jì)算玩家的視野區(qū)域,所述檢測(cè)模塊檢測(cè)主角的移動(dòng)是否帶來(lái)其所在視野單元格的變化,當(dāng)存在變化時(shí),視野變化計(jì)算模塊計(jì)算得到增加和減少的視野單元格區(qū)域,所述服務(wù)器數(shù)據(jù)發(fā)送和處理模塊根據(jù)增加和減少的視野單元格區(qū)域內(nèi)的角色變化情況向客戶(hù)端的終端數(shù)據(jù)接收和處理模塊發(fā)送控制指令,所述終端數(shù)據(jù)接收和處理模塊接收所述控制指令并執(zhí)行相應(yīng)動(dòng)作。所述分配和存儲(chǔ)模塊按照二維坐標(biāo)系的坐標(biāo)的方式標(biāo)示各視野單元格;當(dāng)所述視野單元格內(nèi)的角色位于兩相鄰視野單元格的公共側(cè)邊時(shí),所述角色屬于兩相鄰視野單元格中處于左側(cè)或上側(cè)的視野單元格內(nèi)。所述視野區(qū)域計(jì)算模塊計(jì)算玩家的視野區(qū)域的大小是預(yù)設(shè)固定值并且所述玩家的視野以玩家所在位置為中心。所述視野變化計(jì)算模塊根據(jù)主角移動(dòng)前后所在的兩視野單元格進(jìn)行坐標(biāo)差的幾何計(jì)算得到增加和減少的視野單元格區(qū)域。所述服務(wù)器數(shù)據(jù)發(fā)送和處理模塊調(diào)用服務(wù)器數(shù)據(jù)庫(kù)后將增加的視野單元格區(qū)域內(nèi)的角色進(jìn)入的消息和減少的視野單元格區(qū)域內(nèi)的角色離開(kāi)的消息發(fā)送至客戶(hù)端的終端數(shù)據(jù)接收和處理模塊。所述視野區(qū)域計(jì)算模塊與服務(wù)器數(shù)據(jù)發(fā)送和處理模塊相連以進(jìn)行玩家的視野初始化,在主角剛進(jìn)入場(chǎng)景時(shí),所述視野區(qū)域計(jì)算模塊將計(jì)算的玩家的視野區(qū)域傳輸至服務(wù)器數(shù)據(jù)發(fā)送和處理模塊,所述服務(wù)器數(shù)據(jù)發(fā)送和處理模塊從服務(wù)器數(shù)據(jù)庫(kù)中查找所述玩家的視野區(qū)域內(nèi)的視野單元格內(nèi)的角色,并向客戶(hù)端的終端數(shù)據(jù)接收和處理模塊發(fā)送查找到的角色進(jìn)入玩家的視野的控制指令。一種在線(xiàn)角色扮演網(wǎng)絡(luò)游戲的視野處理方法,其特征在于,所述方法通過(guò)服務(wù)器先將整個(gè)場(chǎng)景劃分為若干相同大小的視野單元格并進(jìn)行標(biāo)識(shí),以將整個(gè)場(chǎng)景中的各角色集合存儲(chǔ)于所述視野單元格內(nèi),再將主角放入當(dāng)前位置所屬的視野單元格并根據(jù)客戶(hù)端坐標(biāo)觸發(fā)位置計(jì)算玩家的視野區(qū)域,然后檢測(cè)主角的移動(dòng)是否帶來(lái)其所在視野單元格的變化,當(dāng)存在變化時(shí)就計(jì)算得到增加和減少的視野單元格區(qū)域,并根據(jù)增加和減少的視野單元格區(qū)域內(nèi)的角色變化情況向客戶(hù)端發(fā)送控制指令,客戶(hù)端接收控制指令并執(zhí)行相應(yīng)動(dòng)作。所述服務(wù)器按照二維坐標(biāo)系的坐標(biāo)的方式標(biāo)示各視野單元格;當(dāng)所述視野單元格內(nèi)的角色位于兩相鄰視野單元格的公共側(cè)邊時(shí),所述角色屬于兩相鄰視野單元格中處于左側(cè)或上側(cè)的視野單元格內(nèi)。所述服務(wù)器計(jì)算玩家的視野區(qū)域的大小是預(yù)設(shè)固定值并且所述玩家的視野以玩家所在位置為中心。所述服務(wù)器根據(jù)主角移動(dòng)前后所在的兩視野單元格進(jìn)行坐標(biāo)差的幾何計(jì)算得到增加和減少的視野單元格區(qū)域。 所述服務(wù)器調(diào)用自身數(shù)據(jù)庫(kù)后將增加的視野單元格區(qū)域內(nèi)的角色進(jìn)入的消息和減少的視野單元格區(qū)域內(nèi)的角色離開(kāi)的消息發(fā)送至客戶(hù)端。在主角剛進(jìn)入場(chǎng)景時(shí)先進(jìn)行玩家的視野初始化,服務(wù)器在計(jì)算的玩家的視野區(qū)域后查找所述玩家的視野區(qū)域內(nèi)的視野單元格內(nèi)的角色,并向客戶(hù)端發(fā)送查找到的角色進(jìn)入玩家的視野的控制指令。本發(fā)明的技術(shù)效果如下本發(fā)明提供的在線(xiàn)角色扮演網(wǎng)絡(luò)游戲的視野處理系統(tǒng),在服務(wù)器中設(shè)置分配和存儲(chǔ)模塊、視野區(qū)域計(jì)算模塊、檢測(cè)模塊、視野變化計(jì)算模塊以及服務(wù)器數(shù)據(jù)發(fā)送和處理模塊,通過(guò)分配和存儲(chǔ)模塊將整個(gè)場(chǎng)景劃分為若干相同大小的視野單元格并通過(guò)調(diào)用服務(wù)器數(shù)據(jù)庫(kù)中的數(shù)據(jù)使得場(chǎng)景中的各玩家扮演的角色被存儲(chǔ)到各視野單元格中,設(shè)置檢測(cè)模塊檢測(cè)主角的移動(dòng)是否帶來(lái)所在視野單元格的變化,只有當(dāng)檢測(cè)到視野單元格存在變化時(shí)才通過(guò)視野變化計(jì)算模塊計(jì)算得到增加和減少的視野單元格區(qū)域,這樣,服務(wù)器數(shù)據(jù)發(fā)送和處理模塊只需要將增加和減少的視野單元格區(qū)域中的角色變化情況向客戶(hù)端發(fā)送控制指令即可。本發(fā)明的視野處理系統(tǒng)通過(guò)分配和存儲(chǔ)模塊劃分視野單元格,視野區(qū)域計(jì)算模塊計(jì)算玩家的視野區(qū)域,檢測(cè)模塊、視野變化計(jì)算模塊以及服務(wù)器數(shù)據(jù)發(fā)送和處理模塊配合工作,使得玩家移動(dòng)引發(fā)視野單元格的變化時(shí)僅針對(duì)變化的視野單元格區(qū)域的角色變化情況進(jìn)行計(jì)算和處理,而當(dāng)主角移動(dòng)不會(huì)引發(fā)視野單元格的變化時(shí),視野變化計(jì)算模塊不工作即不進(jìn)行視野單元格區(qū)域的變化計(jì)算,這樣,在主角短距離移動(dòng)不會(huì)引發(fā)視野單元格變化時(shí)服務(wù)器無(wú)需考慮其他角色是否進(jìn)入和離開(kāi)玩家的視野,也無(wú)需向客戶(hù)端發(fā)送消息通知,而當(dāng)主角長(zhǎng)距離移動(dòng)引發(fā)視野單元格變化時(shí)服務(wù)器只需計(jì)算變化的視野單元格區(qū)域內(nèi)的角色變化情況即可,避免了現(xiàn)有技術(shù)中在玩家移動(dòng)時(shí)需實(shí)時(shí)計(jì)算玩家視野區(qū)域內(nèi)的所有角色變化情況帶來(lái)的計(jì)算量和數(shù)據(jù)處理量龐大的問(wèn)題,本發(fā)明在主角長(zhǎng)距離移動(dòng)時(shí)未變化的視野單元格區(qū)域以及主角短距離移動(dòng)時(shí)服務(wù)器都不進(jìn)行角色變化的計(jì)算和處理,所以能夠減少服務(wù)器計(jì)算量和數(shù)據(jù)處理量,有效優(yōu)化服務(wù)器的性能,并可提升MMORPG中同時(shí)在線(xiàn)人數(shù),故降低了對(duì)服務(wù)器性能的要求,也無(wú)需再配備高成本高配置的服務(wù)器,使玩家順暢網(wǎng)游。分配和存儲(chǔ)模塊按照二維坐標(biāo)系的坐標(biāo)的方式標(biāo)示各視野單元格,使得分配和存儲(chǔ)模塊工作快速簡(jiǎn)單直觀地完成視野單元格的標(biāo)記,也使得后續(xù)的視野區(qū)域計(jì)算模塊的工作變得簡(jiǎn)單易行,降低了其計(jì)算難度和計(jì)算量,提高了玩家的視野處理的效率。視野區(qū)域計(jì)算模塊以玩家所在位置為中心并按照預(yù)設(shè)的固定值計(jì)算玩家的視野區(qū)域的大小,這樣使得視野區(qū)域計(jì)算模塊計(jì)算原理簡(jiǎn)單,提高了視野區(qū)域計(jì)算模塊的工作效率,減少服務(wù)器計(jì)算量,同時(shí)也更符合了游戲設(shè)置時(shí)玩家自己位于自己視野的中心的原則。視野變化計(jì)算模塊根據(jù)主角移動(dòng)前后所在的兩視野單元格進(jìn)行坐標(biāo)差的幾何計(jì)算得到增加和減少的視野單元格區(qū)域,由于視野單元格是按照二維坐標(biāo)系的坐標(biāo)的方式表示,故主角移動(dòng)前后所在視野單元格具有不同的坐標(biāo),只需將兩視野單元格的坐標(biāo)簡(jiǎn)單的 幾何計(jì)算即可得到視野單元格變化的部分,即得到增加和減少的視野單元格區(qū)域,該計(jì)算簡(jiǎn)單快速,提高了視野變化計(jì)算模塊的計(jì)算速度和信息處理速度,進(jìn)一步提高了視野處理的效率。服務(wù)器數(shù)據(jù)發(fā)送和處理模塊接收到視野變化計(jì)算模塊得到的增加和減少的視野單元格區(qū)域后,調(diào)用服務(wù)器數(shù)據(jù)庫(kù),得到在增加的視野單元格區(qū)域內(nèi)的角色進(jìn)入的消息以及在減少的視野單元格區(qū)域內(nèi)的角色離開(kāi)的消息,并將該角色進(jìn)入和角色離開(kāi)的消息發(fā)送至客戶(hù)端,這種只計(jì)算變化的視野單元格區(qū)域的處理方式減少了服務(wù)器計(jì)算量和數(shù)據(jù)處理量,使得服務(wù)器簡(jiǎn)單高效地實(shí)行視野的處理,并可以取得良好的視野處理效果,提高了服務(wù)器的性能。本發(fā)明涉及的在線(xiàn)角色扮演網(wǎng)絡(luò)游戲的視野處理方法,通過(guò)服務(wù)器將整個(gè)場(chǎng)景劃分為若干相同大小的視野單元格以支持在整個(gè)場(chǎng)景中選擇一定區(qū)域的玩家,各玩家扮演的角色集合存儲(chǔ)在所劃分的各視野單元格內(nèi),通過(guò)檢測(cè)主角的移動(dòng)是否帶來(lái)其所在視野單元格的變化,以決定是否進(jìn)行視野單元格區(qū)域變化的計(jì)算,只有在視野單元格發(fā)生變化時(shí),才進(jìn)行視野單元格區(qū)域變化的計(jì)算,計(jì)算得到增加和減少的視野單元格區(qū)域并根據(jù)這些視野單元格區(qū)域內(nèi)的角色變化情況向客戶(hù)端發(fā)送控制指令,避免了玩家扮演的主角在移動(dòng)時(shí)實(shí)時(shí)計(jì)算玩家全部視野區(qū)域內(nèi)的角色的情況造成的計(jì)算處理量龐大的問(wèn)題,玩家扮演的主角在移動(dòng)但沒(méi)發(fā)生視野單元格變化時(shí)不進(jìn)行視野范圍的計(jì)算,故玩家的視野內(nèi)的角色的信息不變,即不會(huì)對(duì)自己和其他玩家扮演的角色產(chǎn)生角色進(jìn)入或角色離開(kāi)的信息,所以減少了信息傳遞量,玩家扮演的主角在移動(dòng)并發(fā)生視野單元格變化時(shí)僅進(jìn)行變化的視野單元格區(qū)域內(nèi)的角色變化情況的處理,即僅對(duì)增加和減少的視野單元格區(qū)域內(nèi)的角色變化產(chǎn)生信息,同樣減少了信息傳遞量,本發(fā)明的所述方法減少服務(wù)器計(jì)算量和數(shù)據(jù)處理量,有效優(yōu)化服務(wù)器的性能,并可提升MMORPG中同時(shí)在線(xiàn)人數(shù)。


圖I為現(xiàn)有的在線(xiàn)角色扮演網(wǎng)絡(luò)游戲中的玩家的視野處理的流程圖。圖2為本發(fā)明在線(xiàn)角色扮演網(wǎng)絡(luò)游戲的視野處理系統(tǒng)的優(yōu)選結(jié)構(gòu)示意圖。圖3為本發(fā)明視野處理系統(tǒng)中的分配和存儲(chǔ)模塊以及視野區(qū)域計(jì)算模塊的工作示意圖。圖4為本發(fā)明視野處理系統(tǒng)初始化流程圖。圖5為本發(fā)明視野處理系統(tǒng)中的檢測(cè)模塊檢測(cè)主角的移動(dòng)不會(huì)引起視野單元格變化時(shí)的工作示意圖。
圖6為本發(fā)明視野處理系統(tǒng)中的檢測(cè)模塊檢測(cè)主角的移動(dòng)引起視野單元格變化時(shí)的工作示意圖。圖7為本發(fā)明視野處理系統(tǒng)中的視野變化計(jì)算模塊以及服務(wù)器數(shù)據(jù)發(fā)送和處理模塊在圖6所示狀態(tài)發(fā)生時(shí)的工作流程圖。圖8為本發(fā)明在線(xiàn)角色扮演網(wǎng)絡(luò)游戲的視野處理方法的流程圖。圖9為本發(fā)明在線(xiàn)角色扮演網(wǎng)絡(luò)游戲的視野處理方法的優(yōu)選流程圖。圖中各標(biāo)號(hào)列示如下I 一整個(gè)場(chǎng)景;2 —玩家的視野;3 —視野單元格;4 一減少的視野單元格區(qū)域;5 —增加的視野單元格區(qū)域。
具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明進(jìn)行說(shuō)明。本發(fā)明涉及一種在線(xiàn)角色扮演網(wǎng)絡(luò)游戲的視野處理系統(tǒng),其優(yōu)選結(jié)構(gòu)示意圖如圖2所示,該視野處理系統(tǒng)包括服務(wù)器和客戶(hù)端,其中,服務(wù)器包括分配和存儲(chǔ)模塊、視野區(qū)域計(jì)算模塊、檢測(cè)模塊、視野變化計(jì)算模塊、服務(wù)器數(shù)據(jù)發(fā)送和處理模塊以及服務(wù)器數(shù)據(jù)庫(kù),分配和存儲(chǔ)模塊、視野區(qū)域計(jì)算模塊、檢測(cè)模塊、視野變化計(jì)算模塊以及服務(wù)器數(shù)據(jù)發(fā)送和處理模塊依次連接,服務(wù)器數(shù)據(jù)庫(kù)分別與分配和存儲(chǔ)模塊、視野區(qū)域計(jì)算模塊以及服務(wù)器數(shù)據(jù)發(fā)送和處理模塊相連,視野區(qū)域計(jì)算模塊還優(yōu)選與服務(wù)器數(shù)據(jù)發(fā)送和處理模塊相連;客戶(hù)端包括終端數(shù)據(jù)接收和處理模塊,該終端數(shù)據(jù)接收和處理模塊與服務(wù)器數(shù)據(jù)發(fā)送和處理模塊相連。圖3為分配和存儲(chǔ)模塊以及視野區(qū)域計(jì)算模塊的工作示意圖,圖中標(biāo)示為A、B、C、D、E、F、G和H等的人物均為MMORPG中的角色,其中標(biāo)示D代表的人物是玩家扮演的角色,即主角D,其他人物是非玩家扮演的角色。整個(gè)場(chǎng)景I所示的區(qū)域塊是單個(gè)游戲場(chǎng)景的區(qū)域大小。分配和存儲(chǔ)模塊將整個(gè)場(chǎng)景I劃分為若干相同大小的視野單元格3并進(jìn)行標(biāo)識(shí),各視野單元格3如圖3所示的在整個(gè)場(chǎng)景I中用虛線(xiàn)劃分的眾多小格,分配和存儲(chǔ)模塊調(diào)用服務(wù)器數(shù)據(jù)庫(kù)使得劃分的視野單元格3存儲(chǔ)當(dāng)前位于視野單元格3內(nèi)的角色集合,該實(shí)施例中的分配和存儲(chǔ)模塊按照二維坐標(biāo)系的坐標(biāo)的方式標(biāo)示視野單元格3,比如整個(gè)場(chǎng)景I中最左上角的視野單元格在二維坐標(biāo)系中標(biāo)示為(1,I ),該視野單元格中存儲(chǔ)兩個(gè)角色A和B,而主角D位于(4,2)坐標(biāo)的視野單元格中。如果有角色恰巧位于兩相鄰視野單元格的公共側(cè)邊的時(shí)候,則可設(shè)定此時(shí)該角色屬于兩相鄰視野單元格中處于左側(cè)或上側(cè)的視野單元格內(nèi),以使得每個(gè)角色所屬視野單元格是唯一確定的。

視野區(qū)域計(jì)算模塊將主角放入當(dāng)前位置所屬的視野單元格并根據(jù)客戶(hù)端坐標(biāo)觸發(fā)位置計(jì)算玩家的視野區(qū)域,客戶(hù)端坐標(biāo)觸發(fā)位置即為玩家的位置,也就是主角D所處位置,視野區(qū)域計(jì)算模塊是以玩家所在位置為中心計(jì)算玩家的視野區(qū)域,如標(biāo)示2所示的區(qū)域塊是主角D的視野,即玩家的視野。玩家的視野2的區(qū)域的大小優(yōu)選為預(yù)設(shè)的固定值,該固定值可選擇為通用的客戶(hù)端的顯示屏的大小,如預(yù)設(shè)采用15寸顯示屏的大小作為玩家視野2的區(qū)域大小,此時(shí)如果有在線(xiàn)玩家所在客戶(hù)端采用19寸的顯示屏,則該玩家的視野也僅為15寸顯示屏的視野,特別說(shuō)明的是,所述的玩家的視野僅針對(duì)其他玩家或者玩家的坐騎等,并不包括花園、涼亭等場(chǎng)景背景,因?yàn)閳?chǎng)景背景是靜止不動(dòng)的,玩家看到的場(chǎng)景背景以及玩家的移動(dòng)帶來(lái)的場(chǎng)景背景的變化只需采用簡(jiǎn)單的圖像處理和顯示技術(shù)。故即便客戶(hù)端采用19寸的顯示屏,玩家能夠看到19寸的顯示屏顯示的場(chǎng)景背景,但是看到其他玩家以及其坐騎的情況仍為預(yù)設(shè)的15寸顯示屏的大小的視野范圍。如果主角D所處位置在左上角的視野單元格內(nèi),視野區(qū)域計(jì)算模塊以主角D所在的位置為中心計(jì)算玩家的視野2,則計(jì)算得到的玩家的視野僅為圖3所示玩家的視野區(qū)域大小的四分之一。視野區(qū)域計(jì)算模塊優(yōu)選與服務(wù)器數(shù)據(jù)發(fā)送和處理模塊相連以進(jìn)行玩家的視野初始化,初始化流程圖如圖4所示,客戶(hù)端的終端數(shù)據(jù)接收和處理模塊向服務(wù)器數(shù)據(jù)發(fā)送和處理模塊發(fā)送數(shù)據(jù)信息以告知主角D請(qǐng)求進(jìn)入游戲場(chǎng)景,服務(wù)器數(shù)據(jù)發(fā)送和處理模塊再向客戶(hù)端的終端數(shù)據(jù)接收和處理模塊發(fā)送主角D可以進(jìn)入場(chǎng)景的控制指令,在主角剛進(jìn)入場(chǎng)景時(shí),通過(guò)視野區(qū)域計(jì)算模塊將主角D放入當(dāng)前位置所屬的視野單元格并根據(jù)客戶(hù)端當(dāng)前坐標(biāo)觸發(fā)位置計(jì)算玩家的視野區(qū)域,再由服務(wù)器數(shù)據(jù)發(fā)送和處理模塊從服務(wù)器數(shù)據(jù)庫(kù)中查找所述玩家的視野區(qū)域內(nèi)的各視野單元格內(nèi)的角色,如圖3所示,數(shù)據(jù)發(fā)送和處理模塊查 找玩家的視野區(qū)域內(nèi)的視野單元格,再向查找到的這些視野單元格中的角色C、E和G所代表的玩家(或者說(shuō)是玩家C、E和G)發(fā)送角色D進(jìn)入場(chǎng)景的數(shù)據(jù)信息(對(duì)于玩家而言,自己扮演的角色為主角,主角D是針對(duì)扮演該角色的玩家而言,相對(duì)于扮演角色C、E和G的玩家,則稱(chēng)為角色D),同時(shí)向扮演主角D的客戶(hù)端發(fā)送角色C、E和G進(jìn)入玩家的視野的控制指令。在該流程中,由服務(wù)器向各客戶(hù)端發(fā)送所述控制指令是因?yàn)橐曇笆窍嗷サ?,在角色D能看到角色C時(shí),角色C同樣也能看到角色D。本發(fā)明所述的視野處理系統(tǒng)中的檢測(cè)模塊檢測(cè)主角D的移動(dòng)是否帶來(lái)其所在視野單元格的變化。當(dāng)檢測(cè)模塊檢測(cè)主角D的移動(dòng)不會(huì)引起視野單元格變化時(shí),也就是主角D在自己當(dāng)前所屬的視野單元格內(nèi)移動(dòng),此時(shí)為主角D的短距離移動(dòng),如圖5所示,主角D從位置I移動(dòng)到位置2,在二維坐標(biāo)系中主角D移動(dòng)前后的位置I和位置2均位于坐標(biāo)為(4,
2)的視野單元格中,此時(shí)視野變化計(jì)算模塊不工作即不進(jìn)行視野單元格區(qū)域的變化計(jì)算,由于任何玩家不需要關(guān)注自己的視野變化,因此此時(shí)不會(huì)對(duì)自己和其他玩家產(chǎn)生角色進(jìn)入和離開(kāi)的消息,減少了數(shù)據(jù)消息量。也就是說(shuō),當(dāng)主角D短距離移動(dòng)(在在自己當(dāng)前所屬的視野單元格內(nèi)移動(dòng))不會(huì)引發(fā)視野單元格變化時(shí)服務(wù)器無(wú)需考慮其他角色是否進(jìn)入和離開(kāi)玩家的視野,也無(wú)需向客戶(hù)端發(fā)送消息通知,所以減少了服務(wù)器計(jì)算量和數(shù)據(jù)處理量,有效優(yōu)化服務(wù)器的性能。當(dāng)檢測(cè)模塊檢測(cè)主角D的移動(dòng)引起視野單元格變化時(shí),也就是主角D的移動(dòng)路徑跨躍了不同的視野單元格,此時(shí)為主角D的長(zhǎng)距離移動(dòng),如圖6所示,主角D從位置I移動(dòng)到位置2,在二維坐標(biāo)系中主角D從位置I所在的(4,2)坐標(biāo)的視野單元格移動(dòng)到位置2所在的(5,3)坐標(biāo)的視野單元格中,此時(shí)視野變化計(jì)算模塊計(jì)算得到增加和減少的視野單元格區(qū)域,在該實(shí)施例所示的二維坐標(biāo)系中,視野變化計(jì)算模塊只需將主角D移動(dòng)前后所在的兩視野單元格進(jìn)行坐標(biāo)差的簡(jiǎn)單快速的幾何計(jì)算,如將(4,2)坐標(biāo)的視野單元格與(5,
3)坐標(biāo)的視野單元格直接作差,就可以計(jì)算出視野變化的部分,即得到增加和減少的視野單元格區(qū)域。該實(shí)施例可理解為玩家的視野區(qū)域在二維坐標(biāo)系的兩個(gè)坐標(biāo)軸的方向各移動(dòng)了一個(gè)視野單元格,即向右同時(shí)向下均移動(dòng)了一個(gè)視野單元格。在圖6所示實(shí)施例中,斜線(xiàn)所示區(qū)域即為視野變化計(jì)算模塊計(jì)算得到的主角D離開(kāi)的視野單元格區(qū)域,即減少的視野單元格區(qū)域4,網(wǎng)格所示區(qū)域即為視野變化計(jì)算模塊計(jì)算得到的主角D進(jìn)入的視野單元格區(qū)域,即增加的視野單元格區(qū)域5。服務(wù)器數(shù)據(jù)發(fā)送和處理模塊根據(jù)增加和減少的視野單元格區(qū)域內(nèi)的角色變化情況向客戶(hù)端的終端數(shù)據(jù)接收和處理模塊發(fā)送控制指令,所述終端數(shù)據(jù)接收和處理模塊接收所述控制指令并執(zhí)行相應(yīng)動(dòng)作。具體為,服務(wù)器數(shù)據(jù)發(fā)送和處理模塊調(diào)用服務(wù)器數(shù)據(jù)庫(kù),得到增加的視野單元格區(qū)域內(nèi)的角色進(jìn)入的消息和減少的視野單元格區(qū)域內(nèi)的角色離開(kāi)的消息,該實(shí)施例中,服務(wù)器數(shù)據(jù)發(fā)送和處理模塊得到減少的視野單元格區(qū)域4內(nèi)的角色有角色C,增加的視野單元格區(qū)域5內(nèi)的角色有角色F和H,服務(wù)器數(shù)據(jù)發(fā)送和處理模塊僅對(duì)視野變化部分進(jìn)行角色進(jìn)入離開(kāi)消息的通知以減少了消息量,即對(duì)于主角D移動(dòng)引發(fā)的視野變化,服務(wù)器數(shù)據(jù)發(fā)送和處理模塊只需要告訴角色C所扮玩家的客戶(hù)端(或者說(shuō)是玩家C)角色D離開(kāi),告訴角色F和H所扮玩家的客戶(hù)端(或者說(shuō)是玩家F和H)角色D進(jìn)入即可,對(duì)于玩家所扮的主角D自身而言,服務(wù)器數(shù)據(jù)發(fā)送和處理模塊只需向主角D所扮玩家的客戶(hù)端的終端數(shù)據(jù)接收和處理模塊發(fā)送角色C離開(kāi)以及角色F和H進(jìn)入的消息,即發(fā)送控制指令,該終端數(shù)據(jù)接收和處理模塊接收到服務(wù)器數(shù)據(jù)發(fā)送和處理模塊的控制指令并執(zhí)行相應(yīng)動(dòng)作。 圖7為本發(fā)明視野處理系統(tǒng)中的視野變化計(jì)算模塊以及服務(wù)器數(shù)據(jù)發(fā)送和處理模塊在圖6所示狀態(tài)發(fā)生時(shí)的工作流程圖。客戶(hù)端的終端數(shù)據(jù)接收和處理模塊向服務(wù)器數(shù)據(jù)發(fā)送和處理模塊發(fā)送數(shù)據(jù)信息以告訴服務(wù)器主角D從位置I變化為位置2,服務(wù)器數(shù)據(jù)發(fā)送和處理模塊調(diào)用服務(wù)器數(shù)據(jù)庫(kù)并刷新主角D在視野單元格中的位置,具體是將主角D從原來(lái)的視野單元格中移除同時(shí)將主角D添加到新的視野單元格中;檢測(cè)模塊檢測(cè)到主角D位置的變化引起了視野單元格變化后,服務(wù)器中的視野變化計(jì)算模塊計(jì)算得到增加和減少的視野單元格區(qū)域,即得到減少的視野單元格區(qū)域4和增加的視野單元格區(qū)域5,服務(wù)器數(shù)據(jù)發(fā)送和處理模塊向位于減少的視野單元格區(qū)域4內(nèi)的角色C發(fā)送主角D離開(kāi)的控制指令,向客戶(hù)端(該客戶(hù)端所指為主角D所扮玩家的客戶(hù)端)的終端數(shù)據(jù)接收和處理模塊發(fā)送角色C離開(kāi)的控制指令,即服務(wù)器告訴主角D角色C離開(kāi);服務(wù)器數(shù)據(jù)發(fā)送和處理模塊還向位于增加的視野單元格區(qū)域5內(nèi)的角色F和H發(fā)送主角D進(jìn)入的控制指令,向客戶(hù)端(該客戶(hù)端所指為主角D所扮玩家的客戶(hù)端)的終端數(shù)據(jù)接收和處理模塊發(fā)送角色F和H進(jìn)入的控制指令,即服務(wù)器告訴主角D角色F和H進(jìn)入;所述終端數(shù)據(jù)接收和處理模塊接收到服務(wù)器數(shù)據(jù)發(fā)送和處理模塊的控制指令并執(zhí)行相應(yīng)動(dòng)作。在圖7所示流程中,服務(wù)器數(shù)據(jù)發(fā)送和處理模塊是先處理減少的視野單元格區(qū)域4的角色離開(kāi)的數(shù)據(jù)信息,再處理增加的視野單元格區(qū)域5內(nèi)的角色進(jìn)入的數(shù)據(jù)信息;當(dāng)然,服務(wù)器數(shù)據(jù)發(fā)送和處理模塊也可以更換數(shù)據(jù)信息處理的先后順序,先處理增加的視野單元格區(qū)域5內(nèi)的角色進(jìn)入的數(shù)據(jù)信息,再處理減少的視野單元格區(qū)域4的角色離開(kāi)的數(shù)據(jù)信息。需要說(shuō)明的是,針對(duì)各角色的移動(dòng),月艮務(wù)器在進(jìn)行數(shù)據(jù)處理時(shí)是有先后順序的,當(dāng)進(jìn)行主角D移動(dòng)的視野處理時(shí),其他玩家為靜止?fàn)顟B(tài)。本發(fā)明還涉及一種在線(xiàn)角色扮演網(wǎng)絡(luò)游戲的視野處理方法,該方法的流程圖如圖8所示,通過(guò)服務(wù)器先將整個(gè)場(chǎng)景劃分為若干相同大小的視野單元格并進(jìn)行標(biāo)識(shí),以將整個(gè)場(chǎng)景中的各角色集合存儲(chǔ)于所述視野單元格內(nèi),再將主角放入當(dāng)前位置所屬的視野單元格并根據(jù)客戶(hù)端坐標(biāo)觸發(fā)位置計(jì)算玩家的視野區(qū)域,在主角發(fā)生移動(dòng)時(shí)先調(diào)用服務(wù)器數(shù)據(jù)庫(kù)并更新主角移動(dòng)后在視野單元格中的位置,然后檢測(cè)主角的移動(dòng)是否帶來(lái)其所在視野單元格的變化,當(dāng)存在變化時(shí)就計(jì)算得到增加和減少的視野單元格區(qū)域,并根據(jù)增加和減少的視野單元格區(qū)域內(nèi)的角色變化情況向客戶(hù)端發(fā)送控制指令,客戶(hù)端接收控制指令并執(zhí)行相應(yīng)動(dòng)作。本發(fā)明所述的MMORPG的視野處理方法的優(yōu)選流程圖如圖9所示,在該實(shí)施例中,服務(wù)器在標(biāo)示視野單元格時(shí)優(yōu)選按照二維坐標(biāo)系的坐標(biāo)的方式進(jìn)行標(biāo)示,可參考圖3所示的示意圖,在整個(gè)場(chǎng)景I中用虛線(xiàn)劃分的眾多格子即為標(biāo)示后的視野單元格3,各視野單元格3用于存儲(chǔ)當(dāng)前位于格子內(nèi)的各角色集合,如主角D位于(4,2)坐標(biāo)的視野單元格中,角色C位于(2,2)坐標(biāo)的視野單元格中,角色A和B集合于(I,I)坐標(biāo)的視野單元格中,如果有角色恰巧位于兩相鄰視野單元格的公共側(cè)邊的時(shí)候,為使角色所屬視野單元格唯一確定,則可設(shè)定此時(shí)該角色屬于其中的一個(gè)視野單元格,如設(shè)定該角色屬于兩相鄰視野單元格中處于左側(cè)或上側(cè)的視野單元格內(nèi)。圖9所示流程中,客戶(hù)端向服務(wù)器發(fā)送主角D請(qǐng)求進(jìn)入游戲場(chǎng)景的請(qǐng)求時(shí),服務(wù)器向客戶(hù)端發(fā)送主角D可以進(jìn)入場(chǎng)景的控制指令,在主角剛進(jìn)入場(chǎng)景時(shí)服務(wù)器根據(jù)客戶(hù)端坐 標(biāo)觸發(fā)位置所在的坐標(biāo)計(jì)算出玩家所在的視野單元格,將玩家加入到該視野單元格中并更新服務(wù)器數(shù)據(jù)庫(kù),服務(wù)器將主角D放入當(dāng)前位置所屬的視野單元格后根據(jù)客戶(hù)端坐標(biāo)觸發(fā)位置計(jì)算玩家的視野區(qū)域,如圖3標(biāo)示2所指的區(qū)域即為玩家的視野2的區(qū)域,該區(qū)域的大小可以是預(yù)設(shè)固定值,玩家的視野2以主角D所在位置為中心。服務(wù)器在計(jì)算得到玩家的視野區(qū)域后可以進(jìn)行玩家的視野初始化,即服務(wù)器查找在玩家的視野區(qū)域內(nèi)的視野單元格內(nèi)的角色C、E和G,并向客戶(hù)端發(fā)送查找到的角色C、E和G進(jìn)入玩家的視野的控制指令。當(dāng)然,服務(wù)器也會(huì)向角色C、E和G的各客戶(hù)端發(fā)送角色D進(jìn)入場(chǎng)景的數(shù)據(jù)信息。該視野處理方法若主角D無(wú)移動(dòng)則視野處理技術(shù)結(jié)束,若主角D發(fā)生移動(dòng)時(shí),可以先調(diào)用服務(wù)器數(shù)據(jù)庫(kù)并刷新主角D在視野單元格中的位置,然后本發(fā)明所述視野處理方法需檢測(cè)主角D的移動(dòng)是否帶來(lái)其所在視野單元格的變化,若檢測(cè)模塊檢測(cè)主角D的移動(dòng)不會(huì)引起視野單元格變化時(shí),即主角D在自己當(dāng)前所屬的視野單元格內(nèi)移動(dòng)(短距離移動(dòng)),可以參考圖5,此時(shí)不進(jìn)行視野單元格區(qū)域的變化計(jì)算,由于任何玩家不需要關(guān)注自己的視野變化,因此此時(shí)不會(huì)對(duì)自己和其他玩家產(chǎn)生角色進(jìn)入和離開(kāi)的消息,減少了數(shù)據(jù)消息量。若檢測(cè)模塊檢測(cè)主角D的移動(dòng)引起了視野單元格變化時(shí),即主角D的移動(dòng)路徑跨躍了不同的視野單元格(長(zhǎng)距離移動(dòng)),可以參考圖6,此時(shí)服務(wù)器根據(jù)主角移動(dòng)前后所在的兩視野單元格進(jìn)行坐標(biāo)差的幾何計(jì)算得到玩家的視野變化的部分,即可到減少的視野單元格區(qū)域4和增加的視野單元格區(qū)域5。服務(wù)器調(diào)用自身數(shù)據(jù)庫(kù)后將增加和減少的視野單元格區(qū)域內(nèi)的角色變化情況告訴客戶(hù)端,即向客戶(hù)端發(fā)送角色變化情況的控制指令,圖6所示實(shí)施例是將減少的視野單元格區(qū)域4內(nèi)的角色C離開(kāi)的消息和增加的視野單元格區(qū)域5內(nèi)的角色F和H進(jìn)入的消息發(fā)送至客戶(hù)端,客戶(hù)端接收控制指令并執(zhí)行相應(yīng)動(dòng)作。本發(fā)明的MMORPG的視野處理方法通過(guò)劃分為若干相同大小的視野單元格以支持在整個(gè)場(chǎng)景中選擇一定區(qū)域的玩家,通過(guò)檢測(cè)主角的移動(dòng)是否帶來(lái)其所在視野單元格的變化,以決定是否進(jìn)行視野單元格區(qū)域變化的計(jì)算,減少主角短距離移動(dòng)(不會(huì)帶來(lái)視野單元格的變化)時(shí)玩家的視野的區(qū)域內(nèi)產(chǎn)生的角色進(jìn)入和角色離開(kāi)玩家的視野的數(shù)據(jù)信息的通知,主角長(zhǎng)距離移動(dòng)(發(fā)生視野單元格變化)時(shí)僅對(duì)變化的視野單元格區(qū)域內(nèi)的角色變化情況進(jìn)行處理,即此時(shí)僅對(duì)增加和減少的視野單元格區(qū)域內(nèi)的角色變化產(chǎn)生信息,同樣減少了數(shù)據(jù)信息處理量,本發(fā)明的視野處理方法能夠在很大程度上減少服務(wù)器的計(jì)算量和數(shù)據(jù)處理量,有效優(yōu)化服務(wù)器的性能,并可提升MMORPG中同時(shí)在線(xiàn)人數(shù)。需要特別說(shuō)明的是,在本發(fā)明MMORPG的視野處理系統(tǒng)和方法中,如圖3、圖5和圖6所示的實(shí)施例描述的玩家的視野2的區(qū)域恰好是整數(shù)倍的視野單元格,這是為了更直觀地說(shuō)明本發(fā)明所述的視野處理系統(tǒng)和方法,在實(shí)際情況中,由于玩家的視野是根據(jù)玩家所在客戶(hù)端坐標(biāo)觸發(fā)位置,并以該玩家所在位置為中心,按照預(yù)設(shè)的固定值來(lái)計(jì)算的,所以計(jì)算后的玩家的視野的區(qū)域大小并不一定是整數(shù)倍的視野單元格,但這并不影響服務(wù)器對(duì)后續(xù)的視野單元格區(qū)域的變化的計(jì)算以及對(duì)該變化的視野單元格區(qū)域內(nèi)的角色變化情況的處理。應(yīng)當(dāng)指出,以上所述具體實(shí)施方式
可以使本領(lǐng)域的技術(shù)人員更全面地理解本發(fā)明創(chuàng)造,但不以任何方式限制本發(fā)明創(chuàng)造。因此,盡管本說(shuō)明書(shū)參照附圖和實(shí)施例對(duì)本發(fā)明創(chuàng)造已進(jìn)行了詳細(xì)的說(shuō)明,但是,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,仍然可以對(duì)本發(fā)明創(chuàng)造進(jìn)行修改或者等同替換,總之,一切不脫離本發(fā)明創(chuàng)造的精神和范圍的技術(shù)方案及其改進(jìn),其均應(yīng)涵 蓋在本發(fā)明創(chuàng)造專(zhuān)利的保護(hù)范圍當(dāng)中。
權(quán)利要求
1.一種在線(xiàn)角色扮演網(wǎng)絡(luò)游戲的視野處理系統(tǒng),包括服務(wù)器和客戶(hù)端,其特征在于,所述服務(wù)器包括依次連接的分配和存儲(chǔ)模塊、視野區(qū)域計(jì)算模塊、檢測(cè)模塊、視野變化計(jì)算模塊以及服務(wù)器數(shù)據(jù)發(fā)送和處理模塊,所述服務(wù)器還包括服務(wù)器數(shù)據(jù)庫(kù),所述服務(wù)器數(shù)據(jù)庫(kù)分別與分配和存儲(chǔ)模塊、視野區(qū)域計(jì)算模塊以及服務(wù)器數(shù)據(jù)發(fā)送和處理模塊相連;所述客戶(hù)端包括終端數(shù)據(jù)接收和處理模塊,所述終端數(shù)據(jù)接收和處理模塊與服務(wù)器數(shù)據(jù)發(fā)送和處理模塊相連;所述分配和存儲(chǔ)模塊將整個(gè)場(chǎng)景劃分為若干相同大小的視野單元格并進(jìn)行標(biāo)識(shí),所述視野單元格存儲(chǔ)位于其內(nèi)的角色集合,所述視野區(qū)域計(jì)算模塊將主角放入當(dāng)前位置所屬的視野單元格并根據(jù)客戶(hù)端坐標(biāo)觸發(fā)位置計(jì)算玩家的視野區(qū)域,所述檢測(cè)模塊檢測(cè)主角的移動(dòng)是否帶來(lái)其所在視野單元格的變化,當(dāng)存在變化時(shí),視野變化計(jì)算模塊計(jì)算得到增加和減少的視野單元格區(qū)域,所述服務(wù)器數(shù)據(jù)發(fā)送和處理模塊根據(jù)增加和減少的視野單元格區(qū)域內(nèi)的角色變化情況向客戶(hù)端的終端數(shù)據(jù)接收和處理模塊發(fā)送控制指令,所述終端數(shù)據(jù)接收和處理模塊接收所述控制指令并執(zhí)行相應(yīng)動(dòng)作。
2.根據(jù)權(quán)利要求I所述的視野處理系統(tǒng),其特征在于,所述分配和存儲(chǔ)模塊按照二維坐標(biāo)系的坐標(biāo)的方式標(biāo)示各視野單元格;當(dāng)所述視野單元格內(nèi)的角色位于兩相鄰視野單元格的公共側(cè)邊時(shí),所述角色屬于兩相鄰視野單元格中處于左側(cè)或上側(cè)的視野單元格內(nèi)。
3.根據(jù)權(quán)利要求I所述的視野處理系統(tǒng),其特征在于,所述視野區(qū)域計(jì)算模塊計(jì)算玩家的視野區(qū)域的大小是預(yù)設(shè)固定值并且所述玩家的視野以玩家所在位置為中心。
4.根據(jù)權(quán)利要求2所述的視野處理系統(tǒng),其特征在于,所述視野變化計(jì)算模塊根據(jù)主角移動(dòng)前后所在的兩視野單元格進(jìn)行坐標(biāo)差的幾何計(jì)算得到增加和減少的視野單元格區(qū)域。
5.根據(jù)權(quán)利要求4所述的視野處理系統(tǒng),其特征在于,所述服務(wù)器數(shù)據(jù)發(fā)送和處理模塊調(diào)用服務(wù)器數(shù)據(jù)庫(kù)后將增加的視野單元格區(qū)域內(nèi)的角色進(jìn)入的消息和減少的視野單元格區(qū)域內(nèi)的角色離開(kāi)的消息發(fā)送至客戶(hù)端的終端數(shù)據(jù)接收和處理模塊。
6.根據(jù)權(quán)利要求I至5之一所述的視野處理系統(tǒng),其特征在于,所述視野區(qū)域計(jì)算模塊與服務(wù)器數(shù)據(jù)發(fā)送和處理模塊相連以進(jìn)行玩家的視野初始化,在主角剛進(jìn)入場(chǎng)景時(shí),所述視野區(qū)域計(jì)算模塊將計(jì)算的玩家的視野區(qū)域傳輸至服務(wù)器數(shù)據(jù)發(fā)送和處理模塊,所述服務(wù)器數(shù)據(jù)發(fā)送和處理模塊從服務(wù)器數(shù)據(jù)庫(kù)中查找所述玩家的視野區(qū)域內(nèi)的視野單元格內(nèi)的角色,并向客戶(hù)端的終端數(shù)據(jù)接收和處理模塊發(fā)送查找到的角色進(jìn)入玩家的視野的控制指令。
7.—種在線(xiàn)角色扮演網(wǎng)絡(luò)游戲的視野處理方法,其特征在于,所述方法通過(guò)服務(wù)器先將整個(gè)場(chǎng)景劃分為若干相同大小的視野單元格并進(jìn)行標(biāo)識(shí),以將整個(gè)場(chǎng)景中的各角色集合存儲(chǔ)于所述視野單元格內(nèi),再將主角放入當(dāng)前位置所屬的視野單元格并根據(jù)客戶(hù)端坐標(biāo)觸發(fā)位置計(jì)算玩家的視野區(qū)域,然后檢測(cè)主角的移動(dòng)是否帶來(lái)其所在視野單元格的變化,當(dāng)存在變化時(shí)就計(jì)算得到增加和減少的視野單元格區(qū)域,并根據(jù)增加和減少的視野單元格區(qū)域內(nèi)的角色變化情況向客戶(hù)端發(fā)送控制指令,客戶(hù)端接收控制指令并執(zhí)行相應(yīng)動(dòng)作。
8.根據(jù)權(quán)利要求7所述的視野處理方法,其特征在于,所述服務(wù)器按照二維坐標(biāo)系的坐標(biāo)的方式標(biāo)示各視野單元格;當(dāng)所述視野單元格內(nèi)的角色位于兩相鄰視野單元格的公共側(cè)邊時(shí),所述角色屬于兩相鄰視野單元格中處于左側(cè)或上側(cè)的視野單元格內(nèi)。
9.根據(jù)權(quán)利要求7所述的視野處理方法,其特征在于,所述服務(wù)器計(jì)算玩家的視野區(qū)域的大小是預(yù)設(shè)固定值并且所述玩家的視野以玩家所在位置為中心。
10.根據(jù)權(quán)利要求8所述的視野處理方法,其特征在于,所述服務(wù)器根據(jù)主角移動(dòng)前后所在的兩視野單元格進(jìn)行坐標(biāo)差的幾何計(jì)算得到增加和減少的視野單元格區(qū)域。
11.根據(jù)權(quán)利要求10所述的視野處理方法,其特征在于,所述服務(wù)器調(diào)用自身數(shù)據(jù)庫(kù)后將增加的視野單元格區(qū)域內(nèi)的角色進(jìn)入的消息和減少的視野單元格區(qū)域內(nèi)的角色離開(kāi)的消息發(fā)送至客戶(hù)端。
12.根據(jù)權(quán)利要求7至11之一所述的視野處理方法,其特征在于,在主角剛進(jìn)入場(chǎng)景時(shí)先進(jìn)行玩家的視野初始化,服務(wù)器在計(jì)算的玩家的視野區(qū)域后查找所述玩家的視野區(qū)域內(nèi)的視野單元格內(nèi)的角色,并向客戶(hù)端發(fā)送查找到的角色進(jìn)入玩家的視野的控制指令。
全文摘要
本發(fā)明提供一種在線(xiàn)角色扮演網(wǎng)絡(luò)游戲的視野處理系統(tǒng)和方法,該系統(tǒng)包括服務(wù)器和客戶(hù)端,服務(wù)器包括依次連接的分配和存儲(chǔ)模塊、視野區(qū)域計(jì)算模塊、檢測(cè)模塊、視野變化計(jì)算模塊以及服務(wù)器數(shù)據(jù)發(fā)送和處理模塊,服務(wù)器還包括服務(wù)器數(shù)據(jù)庫(kù),服務(wù)器數(shù)據(jù)庫(kù)分別與分配和存儲(chǔ)模塊、視野區(qū)域計(jì)算模塊以及服務(wù)器數(shù)據(jù)發(fā)送和處理模塊相連;客戶(hù)端包括終端數(shù)據(jù)接收和處理模塊,終端數(shù)據(jù)接收和處理模塊與服務(wù)器數(shù)據(jù)發(fā)送和處理模塊相連。該系統(tǒng)通過(guò)在玩家的視野區(qū)域變化的基礎(chǔ)上進(jìn)行視野的計(jì)算處理,能夠減少服務(wù)器計(jì)算量和數(shù)據(jù)處理量,提高服務(wù)器性能。
文檔編號(hào)G06F19/00GK102819680SQ20121027060
公開(kāi)日2012年12月12日 申請(qǐng)日期2012年7月31日 優(yōu)先權(quán)日2012年7月31日
發(fā)明者劉恒立 申請(qǐng)人:北京天神互動(dòng)科技有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1