• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            飯中淹的避難所~~~~~

            偶爾來避難的地方~

              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              94 隨筆 :: 0 文章 :: 257 評論 :: 0 Trackbacks

            (1)- 歷史
                  六年前,我剛剛踏入網絡游戲開發這個新奇的領域,在完全沒有經驗的情況下,產生了不少亂七八糟的想法。寫下這些隨筆,只是為了保存下這份記憶。這些方法有些幼稚不堪,有些很無厘頭,雖然用處不大,不過寫出來,可能會對有些人有點作用吧。

            (2)- 要解決的問題
                  因為是網絡MMORPG游戲,所以需要將一個角色的動作告訴周圍他看到的,也是能看到他其他角色知道。這個方法,就是用來解決將動作告訴其他角色知道這個問題的。

            (3)- 工作原理
                  這個想法的工作原理,包括以下幾個要點:
                  A,每個角色從他站得位置開始,螺旋形的遍歷所有格子,直到遍歷夠 M x N 大小的網格,或者找到滿 X  個可視角色之后,將這 X 個可視角色的信息(一般是對象指針,或者ID)緩存到這個角色的服務器對象中。
                  B,當一個動作產生的時候,遍歷這 X 個其他可視角色的緩存,把這個動作告訴他們(發送網絡封包給他們對應的客戶端)。
                  C,每過一段時間,重復執行下A操作,并向從原來的緩存中清理出去的角色發送自己消失的動作,向新加入到緩存中的角色發送自己出現的動作。

                   對螺旋形的遍歷不太明白的朋友,可以參考下面的圖示

                  
                  角色站在1號位置,沿著數字依次遍歷周圍的格子。這樣做是為了保證越靠近角色本身的可視物件擁有越高的優先級。

            (4)- 優點和缺點
                  這個方法的優點還是有的,我總結了下,有以下幾點:
                  A,穩定性高,搜索的范圍固定,而且最大可視數量固定,所以基本保證穩定,不會出現太大的跳躍。
                  B,自動化程度高(^_^),算法自動對周圍人多的情況進行了處理,自動縮小范圍,既不會丟失靠近自己的人的重要信息,也不會因為人多而影響效率。(看起來有點象3D渲染上用霧遮擋來減少繪制的多變形數量)并且自動進行了動作LOD,因為是每過一段時間進行一次遍歷,所以在這段時間內如果有其他角色頻繁在遍歷邊緣做進出的動作,都不會向角色發送任何信息。

                  缺點也不少:
                  A,遍歷的時機無法控制,不能在有角色進入視野的時候主動去遍歷,缺少主動性。
                  B,需要一定的空間來存儲周圍角色的信息(指針,ID等)。
                  C,當周圍可視角色比較多時,可視范圍就小了,會導致一些重要信息無法及時獲知。

            (5)- 后記
                  這個方法作一些優化和修改,還是很實用的方法。最后給它命個名吧,就叫 螺旋網格 吧。

            posted on 2008-04-20 02:14 飯中淹 閱讀(1466) 評論(1)  編輯 收藏 引用

            評論

            # re: 塵封的卷軸(1) - 早期的基于格子的MMORPG服務器角色間可見性處理的想法 2008-10-14 16:54 路人
            不錯~  回復  更多評論
              

            久久精品国产精品亚洲下载| 午夜精品久久久久| 免费国产99久久久香蕉| 国产福利电影一区二区三区,免费久久久久久久精 | 久久国产成人午夜AV影院| 久久精品亚洲男人的天堂| 久久久久亚洲AV无码专区首JN | 久久国产成人精品麻豆| 久久99精品久久久久久噜噜| 亚洲国产视频久久| 91精品婷婷国产综合久久 | 日本久久中文字幕| 99久久婷婷国产综合亚洲| 色综合合久久天天给综看| 久久久久久久久无码精品亚洲日韩| 人人狠狠综合久久亚洲婷婷| 超级97碰碰碰碰久久久久最新 | 99久久精品免费观看国产| 伊人色综合久久天天人手人婷 | 亚洲性久久久影院| 国产精品综合久久第一页| 久久久久亚洲AV无码麻豆| 国产精品99久久久久久宅男小说| 久久青草国产精品一区| 色综合久久无码五十路人妻| 亚洲精品美女久久久久99小说| 99久久精品这里只有精品| 成人免费网站久久久| 久久国产高潮流白浆免费观看| 国产香蕉久久精品综合网| 色天使久久综合网天天| 777久久精品一区二区三区无码 | 久久无码人妻精品一区二区三区| 精品无码久久久久国产| 国产精品女同久久久久电影院| 亚洲午夜久久久| 国产偷久久久精品专区 | 国产精品久久久久久久久久影院| 久久婷婷五月综合成人D啪| 久久久久国产| 久久婷婷五月综合色奶水99啪|