• <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>
            OldJiang.com

            浩毛的博客

            OldJiang.com
            posts - 14, comments - 81, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
             

            1、 游戲世界由很多個游戲?qū)ο蠼M成(游戲角色、物品、NPC、技能等);

             

            2、 一個游戲?qū)ο蟮挠行?shù)據(jù)主要存放在客戶端、游戲服務(wù)器和持久性數(shù)據(jù)庫中;

             

            3、 游戲?qū)ο蟮奶幚砜蓜澐譃榕c位置有關(guān)的和與位置無關(guān)的,如公會處理、物品處理等主要行為可以看作是與位置無關(guān)的處理,而NPCAI)、戰(zhàn)斗、移動這類的主要行為可以看成是與位置有關(guān)的。

             

            4、 從客戶端的角度來看,游戲行為可分為四類動作:

            a)         來自服務(wù)器端的動作,如另外一個玩家跳起來。

            b)        本地動作。僅僅發(fā)生在本地客戶端的動作,不需要與服務(wù)器端或其他客戶端通訊。

            c)         先執(zhí)行后驗證的可撤銷的動作。客戶端先執(zhí)行,再提交服務(wù)器端驗證,驗證不成功通知客戶端將執(zhí)行的動作撤銷。比如玩家控制的游戲角色執(zhí)行移動處理。

            d)        嚴格服務(wù)器端驗證的動作。客戶端執(zhí)行動作前必須經(jīng)過服務(wù)器端驗證后才能執(zhí)行。如交易行為、攻擊其他玩家/NPC

             

            5、 客戶端和服務(wù)器,服務(wù)器進程之間的相互的通信從邏輯上看就是就是向RemoteObject 發(fā)起的遠程過程調(diào)用(RPC),RPC主要有兩種類型:

            a)         通知(Notify)。只通知對方,而不關(guān)心和需要對方返回結(jié)果。

            b)        請求(Request)。向?qū)Ψ桨l(fā)起請求,對方處理請求后返回結(jié)果,發(fā)起請求和返回結(jié)果這個過程可以是同步或異步。游戲服務(wù)器中絕大部分RPC請求都是異步的。

             

            6、 響應(yīng)延遲主要是由于網(wǎng)絡(luò)帶寬和服務(wù)器處理效率引起的。應(yīng)盡可能的通過一些技巧來隱藏和減少玩家的響應(yīng)延遲。但不是所有的最新消息都能立刻發(fā)送出去(或接收處理到),因此,要在服務(wù)器端采用優(yōu)先隊列來減少重要消息的響應(yīng)時間。延遲也會由客戶端產(chǎn)生,如收到消息后的對消息的處理速度。

             

             

            7、 服務(wù)器負載,除了升級硬件設(shè)備外,可以通過一些方式來提高服務(wù)器負載。

             

            a)         保證足夠的網(wǎng)絡(luò)帶寬。

            b)        分布式運算,合理的集群式架構(gòu)。

            c)         游戲策劃從游戲內(nèi)容上避免設(shè)計高并發(fā),高消耗的游戲行為。

             

             

             

            8、 從服務(wù)器的可伸縮性,穩(wěn)定性和高效率方面來考慮,要試著避免所有事情都在一個地方處理,盡量讓系統(tǒng)分布式運行,但是過多的劃分功能到不同的進程/機器上運行,又會帶來數(shù)據(jù)的大量同步的問題。因此可以將游戲?qū)ο蟮奶幚碇饕獎澐譃榕c位置無關(guān)和有關(guān)兩種。像公會,玩家信息,物品信息,組隊,拍賣等等這類與位置無關(guān)的但是占用CPU資源較少的處理可以盡可能的放在一個進程中,避免進程間對象同步,而像NPC,尋路,AOI運算,戰(zhàn)斗處理等與位置有關(guān)的,處理過程中特別關(guān)心對象坐標(biāo)位置的、運算量特別大的,但是進程間對象同步較少的,都可以單獨劃分成多個進程。

             

            每類進程服務(wù)的功能盡量單一。負責(zé)路由的就盡量只負責(zé)網(wǎng)絡(luò)包轉(zhuǎn)發(fā),而不再承擔(dān)其他繁重的任務(wù),負責(zé)游戲處理的就盡量讓網(wǎng)絡(luò)包流向簡單。

            Feedback

            # re: 游戲服務(wù)器架構(gòu)設(shè)計中的一些思考  回復(fù)  更多評論   

            2010-04-22 17:49 by expter
            不錯,學(xué)習(xí)以下。

            # re: 游戲服務(wù)器架構(gòu)設(shè)計中的一些思考  回復(fù)  更多評論   

            2010-04-22 23:49 by Sunshine Alike
            期待更多內(nèi)容~~ 嘿嘿

            # re: 游戲服務(wù)器架構(gòu)設(shè)計中的一些思考  回復(fù)  更多評論   

            2010-04-23 13:10 by 羅萊家紡
            馬薩馬上到那時

            # re: 游戲服務(wù)器架構(gòu)設(shè)計中的一些思考  回復(fù)  更多評論   

            2010-04-23 17:20 by billow
            期待下文。。

            # re: 游戲服務(wù)器架構(gòu)設(shè)計中的一些思考  回復(fù)  更多評論   

            2010-04-23 17:45 by k9982874
            大規(guī)模應(yīng)用服務(wù)器(不只包含游戲服務(wù)器)是否成功主要看架構(gòu)師對問題的解構(gòu)能力。
            問題是什么?
            問題的邊界在哪里?
            功能粒度劃分多細?
            解決這些問題都需要經(jīng)驗。

            # re: 游戲服務(wù)器架構(gòu)設(shè)計中的一些思考  回復(fù)  更多評論   

            2010-04-24 09:14 by 99書城官方網(wǎng)站
            交換機按時到那時
            OldJiang.com
            亚洲精品蜜桃久久久久久| 久久精品国产亚洲av影院| 国产精品久久久久久一区二区三区| 久久亚洲国产成人影院| 亚洲AV无码1区2区久久| 久久亚洲国产欧洲精品一| 久久精品中文字幕第23页| 久久精品国产亚洲av麻豆色欲| 精品久久久久中文字| 浪潮AV色综合久久天堂| 久久久久国色AV免费观看| 亚洲中文字幕无码久久2020| 99久久婷婷国产综合亚洲| 色婷婷久久综合中文久久一本| 日韩精品久久久久久久电影蜜臀| 99久久夜色精品国产网站| 无码人妻久久一区二区三区免费| 国产成人精品久久亚洲高清不卡| 久久精品国产亚洲AV忘忧草18 | 99re久久精品国产首页2020| 69久久精品无码一区二区| 一本色道久久88综合日韩精品 | 久久夜色撩人精品国产| 久久久无码精品亚洲日韩蜜臀浪潮| 日日狠狠久久偷偷色综合免费| 日本精品一区二区久久久| 91精品国产91久久久久久蜜臀| 久久精品中文闷骚内射| 中文字幕久久精品无码| 伊人精品久久久久7777| 国产精品成人久久久| 青青久久精品国产免费看| 99久久久国产精品免费无卡顿| 无码人妻久久一区二区三区 | 久久精品国内一区二区三区| 伊人久久精品无码二区麻豆| 一本一道久久a久久精品综合| 久久精品一区二区影院| 欧美大战日韩91综合一区婷婷久久青草 | 91视频国产91久久久| 久久精品国产亚洲AV电影|