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

            MMORPG游戲服務(wù)器設(shè)計(jì)隨想

            在開發(fā)完一個(gè)游戲后,看了一些文章和當(dāng)前一些流行的技術(shù)后,感觸頗深,所以隨筆聊聊。

            游戲服務(wù)器的設(shè)計(jì)比較復(fù)雜,這里也不打算寫出每個(gè)細(xì)節(jié),只是講一下框架方面的想法。

            1、實(shí)體系統(tǒng)和功能子系統(tǒng)

            在服務(wù)器的框架部分,主要寫些基本的服務(wù)器功能模塊,可以實(shí)現(xiàn)一個(gè)實(shí)體系統(tǒng),游戲中的實(shí)體主要指那些生物對(duì)象,如角色,怪物,NPC等,其實(shí)在游戲中沒有必要寫具體的角色類,怪物類,NPC類,我們可以將他們統(tǒng)稱為實(shí)體,從游戲服務(wù)器的角度看,他們沒有什么不同,當(dāng)策劃將這些實(shí)體對(duì)象進(jìn)行配置后就成了具有類型差異的各種各樣的對(duì)象,如角色,怪物。功能子系統(tǒng)指MMORPG游戲中一些必不可少的相對(duì)獨(dú)立的功能集,如運(yùn)動(dòng)系統(tǒng),財(cái)產(chǎn)系統(tǒng),社交系統(tǒng),聲望系統(tǒng)等,每個(gè)實(shí)體具有自己的屬性集,一些功能子系統(tǒng),一些特性集(決定了生物的類型),這些屬性集、特性集和子系統(tǒng)可依賴配置文件進(jìn)行配置。這樣的好處是不會(huì)存在通過實(shí)現(xiàn)各種對(duì)象的類來人為的增大類結(jié)構(gòu)的復(fù)雜性,通過具體的類(或繼承類)實(shí)現(xiàn)各種生物甚至有時(shí)候會(huì)存在沖突,因?yàn)橛械膶?duì)象既是A類型又是B類型。

            2、基于服務(wù)的構(gòu)建思想

            游戲服務(wù)器除了上面的實(shí)體和子系統(tǒng)外,其他有好多東西可以借鑒現(xiàn)在的SOA思想,如聊天系統(tǒng),好友系統(tǒng),師徒系統(tǒng)等是否都可以看作是一種游戲服務(wù)呢?當(dāng)開啟了這些服務(wù),那么相應(yīng)的功能就能表現(xiàn),關(guān)閉則隱藏。

            3、封閉的數(shù)據(jù)管理層

            服務(wù)器的數(shù)據(jù)管理比較復(fù)雜,如果我們講所有(或大部分)的數(shù)據(jù)交由一個(gè)獨(dú)立的數(shù)據(jù)管理層進(jìn)行管理,那么上層開發(fā)人員或者上層應(yīng)用模塊就不直接關(guān)心數(shù)據(jù)在哪個(gè)地方,怎么更新,怎么存儲(chǔ)等。基于前面的實(shí)體系統(tǒng),整個(gè)服務(wù)器的程序架構(gòu)已經(jīng)比較抽象,在這個(gè)抽象的類對(duì)象的基礎(chǔ)上構(gòu)建封閉的數(shù)據(jù)管理應(yīng)該比散亂的大量不同對(duì)象的系統(tǒng)中構(gòu)建數(shù)據(jù)管理層來得更方便,比如實(shí)體對(duì)象的屬性集,基本可以涵蓋一個(gè)實(shí)體對(duì)象大部分的數(shù)據(jù),那么數(shù)據(jù)管理層只要管好屬性集就可以帶來不少的方便,而屬性集中的大部分屬性是通過配置而來的(至少很多需持久化的屬性肯定是配置的),除了實(shí)體系統(tǒng)的數(shù)據(jù),還有那些子系統(tǒng)和基于服務(wù)的那些對(duì)象都可以納入數(shù)據(jù)管理層進(jìn)行管理。

            4、腳本化支持

            對(duì)于游戲服務(wù)器那些核心的模塊,通過腳本封裝(如Lua封裝)后,可以讓上層應(yīng)用層進(jìn)行很好的擴(kuò)展和開發(fā),所以游戲服務(wù)器應(yīng)該也必須支持腳本編程。像那些AI,任務(wù),聊天等等大多數(shù)應(yīng)用模塊中的大部分代碼都是可以拿腳本編寫的。考慮到腳本性能問題,一些對(duì)性能影響比較大的地方還是建議用c/c++實(shí)現(xiàn),腳本里面進(jìn)行調(diào)控即可。

            還有一些亂七八糟的東西,考慮到怕不小心泄密,這里就不多講了。

            posted on 2006-06-10 16:28 PeakGao 閱讀(2233) 評(píng)論(2)  編輯 收藏 引用 所屬分類: 游戲開發(fā)

            評(píng)論

            # re: MMORPG游戲服務(wù)器設(shè)計(jì)隨想 2008-04-24 10:29 goldou

            本著共享的精神,樓主應(yīng)該多學(xué)學(xué)云風(fēng)。  回復(fù)  更多評(píng)論   

            # re: MMORPG游戲服務(wù)器設(shè)計(jì)隨想 2008-12-26 13:49 jj

            說得很有道理,我的msn :hanshaojin@msn.com 希望能夠溝通,交流。  回復(fù)  更多評(píng)論   

            <2006年6月>
            28293031123
            45678910
            11121314151617
            18192021222324
            2526272829301
            2345678

            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            留言簿(9)

            隨筆分類(67)

            隨筆檔案(65)

            搜索

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            国产精品久久久久久久久软件| 久久无码高潮喷水| 久久99精品久久久久婷婷| 久久久久人妻一区二区三区vr| 久久综合狠狠综合久久综合88| 国产精品久久网| 波多野结衣久久一区二区| 国产精品久久久久久| 精品国产日韩久久亚洲| 99久久精品国内| 久久婷婷五月综合色奶水99啪| 国产精品久久精品| 一级做a爰片久久毛片免费陪| 国产亚洲精久久久久久无码| 欧美日韩中文字幕久久久不卡| 久久久国产精品亚洲一区| 午夜视频久久久久一区| 嫩草影院久久国产精品| 久久亚洲欧美国产精品| 精品久久久久成人码免费动漫| 狠狠精品久久久无码中文字幕| 97超级碰碰碰久久久久| 性色欲网站人妻丰满中文久久不卡| 国产精自产拍久久久久久蜜| 99久久精品国产高清一区二区| 久久笫一福利免费导航| 久久久无码精品午夜| 久久99国产精品一区二区| 久久午夜羞羞影院免费观看| 国产精品99久久久精品无码| 亚洲欧美日韩久久精品| 欧美无乱码久久久免费午夜一区二区三区中文字幕| 久久精品国产亚洲AV香蕉| 久久男人Av资源网站无码软件| 亚洲人成网亚洲欧洲无码久久 | 国内精品伊人久久久久网站| 久久久无码精品亚洲日韩蜜臀浪潮| 狠狠色婷婷久久综合频道日韩| 性做久久久久久久久浪潮| 精品久久久久久久久免费影院| 久久婷婷色综合一区二区|