• <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>

            3d Game Walkman

            3d圖形渲染,網(wǎng)絡(luò)引擎 — tonykee's Blog
            隨筆 - 45, 文章 - 0, 評論 - 309, 引用 - 0
            數(shù)據(jù)加載中……

            服務(wù)器端無限大地圖的構(gòu)想

            有了客戶端的無限大地圖,服務(wù)器端也可以做做嘗試了,服務(wù)器比客戶端單純了很多,不用做裁減等復雜的計算工作,但是要維護大量的信息通訊,最棘手的問題就是,如何讓“身邊”其他玩家知道你在哪里,player數(shù)量那么巨大,如果所有的player的狀態(tài)通知所有的人那就是n的n次方的通訊,可以看來這樣的通訊方式是完全不合理的,所以如何確定“身邊”這個概念就至關(guān)重要了。

            有了客戶端無限大地圖的實現(xiàn),這個思路就豁然開朗了,有個圖例:

            把服務(wù)器打上格子,把整個地形來個定義                            

            定義為 blocks_Tx_Ty_Bx_By                            

            Tx Ty 代表的是 Tile的第幾行第幾列                            
            Bx By 代表的是該Tile下Block的第幾行第幾列                            

            把每個block的范圍給筐定,這個可以事先計算出來的,很簡單                            
            人物一旦發(fā)生了移動就會發(fā)出udp的信號,服務(wù)器改變每個人物所在的位置

            那么客戶端的Role(玩家所操縱的角色)最關(guān)心的是周圍9個tile里面活動的其他玩家的信息
            因為客戶端要進行視錐剪裁,

            反過來說,角色A移動了,就要通知周圍9個tile里面所有的角色,你當前的位置
            另外,移動的時候還要看你所在的block發(fā)生了改變沒有,如果發(fā)生了改變,這個信息也要發(fā)出去
            那么客戶端可以更新所觀測的角色所在的block,這樣客戶端的tile作culling和rending以及collising的時候就方便了
            客戶端要作的只是簡單的terrain.AddSenceModel 和 terrain.RemoveSenceModel就能動態(tài)更新block中的角色模型了
            一個block好歹也有33x33,被觀測對象只有block改變了才會做(terrain.AddSenceModel terrain.RemoveSenceModel)這樣的操作
            這樣的操作應(yīng)該不會特別頻繁,客戶端應(yīng)該開銷的起

            客戶端,應(yīng)該存在一個可觀測的9個tile的rolelist,每次發(fā)過來的其他玩家的udp positionpack還是要作即時更新的。


            目前根據(jù)這個思路我就要開展工作了,效率是至關(guān)重要的。
            按照這個工作實現(xiàn)了再來測試效率,預(yù)計本周之內(nèi)搞定角色之間位置信息的相互通訊。

            激動人心的時刻就要到來了。。。。。。
            目前只是嘗試,更多的細節(jié)和感受我會逐步發(fā)放上來。

            posted on 2008-01-03 19:41 李侃 閱讀(2030) 評論(6)  編輯 收藏 引用 所屬分類: 設(shè)計思路

            評論

            # re: 服務(wù)器端無限大地圖的構(gòu)想[未登錄]  回復  更多評論   

            加油加油,每天都看你弄得那么晚,很心疼啊,不過,只要出結(jié)果,就是開心事,對吧~!堅持,要一起分享成功的喜悅啊~!嘿嘿~!
            2008-01-04 13:18 | vicky

            # re: 服務(wù)器端無限大地圖的構(gòu)想[未登錄]  回復  更多評論   

            恩, 不錯。 我最近也再做這方面的研究。 希望可以互相交流一下。
            mail: idm_163@163.com
            2008-04-14 14:55 | kevin

            # re: 服務(wù)器端無限大地圖的構(gòu)想  回復  更多評論   

            支持
            2008-07-16 03:09 | 放屁阿狗

            # re: 服務(wù)器端無限大地圖的構(gòu)想  回復  更多評論   

            其實 真的無限大是不可能的 還是有邊界的,呵呵
            另外 你做的 還是 2D的吧,沒見你講空間概念嘛?
            呵呵 像魔獸那樣超大地圖 現(xiàn)在實現(xiàn)技術(shù)比較成熟了
            但全3D 的還是有難度的
            2008-11-26 17:04 | 死亡之美

            # re: 服務(wù)器端無限大地圖的構(gòu)想  回復  更多評論   

            我的無限大是指:想要多大就多大,也就是說無論多大就可以。

            我已經(jīng)實現(xiàn)了從一頭走到另一頭走1天也走不到頭的地形,無論多大運行速度都不受影響,場景所有數(shù)據(jù)全部實時動態(tài)加載和釋放,而且已經(jīng)研發(fā)了配套的地圖編輯器,全部采用可視化編輯的支持

            目前地形編輯器已經(jīng)很好的支持室外場景編輯
            室內(nèi)場景也整合到了地形上,正在完善

            所有的已經(jīng)全部按計劃實現(xiàn)了,目前在做符合游戲引擎要求的進一步完善
            比如AI所需要的數(shù)據(jù)設(shè)置等等一些東西,地貌的渲染部分是下一個階段的目標

            另外:我只搞3D
            2008-11-27 16:09 | 李侃

            # re: 服務(wù)器端無限大地圖的構(gòu)想  回復  更多評論   

            建議樓主這個簡短可以參閱Mangos
            2009-08-07 11:03 | yisa
            97精品国产97久久久久久免费| 国产精品久久久久9999| 日本免费久久久久久久网站| 久久国产AVJUST麻豆| 久久亚洲中文字幕精品一区四 | AAA级久久久精品无码区| 久久国产精品成人片免费| 天堂久久天堂AV色综合| 久久婷婷五月综合色高清| 亚洲精品乱码久久久久久按摩| 亚洲色婷婷综合久久| 国内精品久久久久久久97牛牛| 国产成人精品久久一区二区三区| 婷婷久久香蕉五月综合加勒比| 久久精品国产99久久无毒不卡| 狠狠干狠狠久久| 久久天天躁狠狠躁夜夜2020 | 久久国产精品-久久精品| 狠狠狠色丁香婷婷综合久久俺| 99久久国产亚洲高清观看2024 | 久久婷婷五月综合色高清| 亚洲国产成人久久精品影视| 国产精品久久久香蕉| 久久99精品久久久久久久久久| 久久这里只有精品首页| 天堂无码久久综合东京热| 欧美大香线蕉线伊人久久| 久久久精品久久久久特色影视| 国产偷久久久精品专区| 热久久这里只有精品| 久久91精品国产91| 中文字幕一区二区三区久久网站| 欧美久久久久久| 国产婷婷成人久久Av免费高清 | 青青国产成人久久91网| 亚洲а∨天堂久久精品| 精品久久人妻av中文字幕| 久久亚洲AV成人无码| 欧美精品一本久久男人的天堂| 久久综合九色综合网站| 91精品国产91久久久久久蜜臀|