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

            Error

            C++博客 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
              217 Posts :: 61 Stories :: 32 Comments :: 0 Trackbacks
            星座物語(yǔ)客戶端分析---01物品編輯器
            一、整體設(shè)計(jì)思路猜測(cè)
            1.前期目標(biāo)數(shù)據(jù)結(jié)構(gòu)盡可能單一化,配置化。
            2.盡可能讓程序和策劃的接口無(wú)人化,工具化,歸納需求以后程序提供工具給策劃人員。
            二、數(shù)據(jù)結(jié)構(gòu)分析
            所有的道具都被冗余到同一個(gè)數(shù)據(jù)結(jié)構(gòu)中了。
            優(yōu)勢(shì):編碼、和配置文件的制作上非常方便
            劣勢(shì):內(nèi)存略高,后期編碼肯能會(huì)有負(fù)擔(dān)
            *所有游戲世界中任何道具都可以用_ITEM_TABLE結(jié)構(gòu)體來(lái)描述
            三、類型邏輯分析
            目前分析到的代碼,可以看出來(lái),道具是“二級(jí)”分類,前期考慮也不夠充分,后面添加的代碼略顯混亂。
            第一級(jí):醫(yī)療道具、裝備道具、輔助道具、任務(wù)道具(道具觸發(fā)任務(wù)、道具觸發(fā)技能、道具觸發(fā)循環(huán)任務(wù))
            第二級(jí):
              醫(yī)療道具二級(jí)分類:HP、MP、HPMP、Fealty(寵物忠誠(chéng)度)、Health
              裝備道具二級(jí)分類:武器、頭部、衣服、手套、鞋子、項(xiàng)鏈、戒子、肩部
              *任務(wù)道具二級(jí)分類(實(shí)際代碼被卸載一級(jí)分類中了):道具觸發(fā)任務(wù)、道具觸發(fā)循環(huán)任務(wù)
              *輔助道具二級(jí)分類(實(shí)際代碼被卸載一級(jí)分類中了):道具觸發(fā)技能、ect.
            四、細(xì)節(jié)分析:
            1.對(duì)武器強(qiáng)化(打?qū)毷蚩?的支持不夠好。
            猜測(cè)_ITEM_TABLE.nNextLevel用于支持強(qiáng)化。實(shí)際使用可能強(qiáng)化前,和強(qiáng)化后是完全不同的兩個(gè)物品,通過(guò)nNextLevel關(guān)聯(lián)起來(lái)。這種設(shè)計(jì)中每個(gè)武器只要是同一類型,那么一定是統(tǒng)一屬性的。
            一個(gè)更好的方案是,給每個(gè)武器一個(gè)GUID,然后可以為武器添加全局唯一的屬性,方便“小極品”,允許更多個(gè)性化的存在,同時(shí)也可以更好的追蹤物品的交易流轉(zhuǎn)。這樣需要一個(gè)查詢效率足夠高的數(shù)據(jù)庫(kù)來(lái)保存游戲中每一個(gè)物品的數(shù)據(jù)。目測(cè)可以用KV來(lái)解決。如果查詢壓力太大,可以允許數(shù)據(jù)冗余,將道具的GUID數(shù)據(jù)和持有玩家綁定起來(lái),一個(gè)玩家ID可以批量查詢出其對(duì)應(yīng)的所有道具的GUID數(shù)據(jù),直接用blob字段保存起來(lái),同時(shí)GUID字段作為日志表保持,只在發(fā)生更改的時(shí)候才會(huì)有寫操作。或者這部分?jǐn)?shù)據(jù)用KV數(shù)據(jù)庫(kù)系統(tǒng)保存。
            2.有沒有辦法把_ITEM_TABLE結(jié)構(gòu)體拆分,或者把道具做的靈活一點(diǎn),變成組建系統(tǒng)或者屬性系統(tǒng)。
            比如:道具看成是一個(gè)組建/屬性容器,放了一個(gè)裝備組建進(jìn)去他就具有裝備的功能,放了一個(gè)醫(yī)療屬性就是一個(gè)醫(yī)療物品。這樣道具可以更加靈活,比如:將一個(gè)裝備作為藥品吃掉。(這個(gè)時(shí)候一級(jí)類型不再是類型,而是屬性,具有裝備道具屬性同時(shí)具有道具類型屬性)
            3.降內(nèi)存
            使用protobuf代替直接使用結(jié)構(gòu)體會(huì)不會(huì)好一點(diǎn)?_ITEM_TABLE中還使用了std::string作為字段,一個(gè)不小心memset就會(huì)掛掉。此外protobuf的優(yōu)勢(shì)還有支持optional等配置,可能會(huì)有優(yōu)勢(shì),比如不用更具一級(jí)類型去復(fù)用二級(jí)類型的字段,而是將不同的部分獨(dú)立出來(lái)作為optional字段。
            五、道具屬性
            基礎(chǔ)屬性(三圍數(shù)據(jù)):力量(Strength)、敏捷(Agility)、耐力(Stamina)、精神(Energy)、智力(Intellect)、物攻(Attack)、魔攻(Magic)、物防(Recovery)、魔防(Mrecovery)、攻速(AckSpeed)、準(zhǔn)確(Nicety)、躲閃(Dodge)
            MP、HP
            體力消耗
            磨損
            價(jià)格
            職業(yè)
            ect.待續(xù),改天直接分析策劃案子,這個(gè)樣子太累
            posted on 2015-03-16 17:43 Enic 閱讀(319) 評(píng)論(1)  編輯 收藏 引用 所屬分類: 從零開始寫棋牌游戲平臺(tái)

            評(píng)論

            # re: 星座物語(yǔ)客戶端分析---01物品編輯器 2015-03-16 18:35 Enic
            后續(xù)的技能工具,寵物工具都沒有本質(zhì)變化,不再這樣分析了。
            整個(gè)的思路都是以配置表填充游戲世界,細(xì)節(jié)上沒有其他亮點(diǎn),沒有特別出彩的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì),大部分都是大一統(tǒng)的配置表格。
            后續(xù)出一個(gè)客戶端整個(gè)表格設(shè)計(jì)的概覽,然后分析其他的東東  回復(fù)  更多評(píng)論
              

            热99RE久久精品这里都是精品免费| 人妻少妇久久中文字幕一区二区 | 久久久久国产一级毛片高清版| AV无码久久久久不卡网站下载| 国产精品美女久久久久av爽| 亚洲国产一成久久精品国产成人综合| 狠狠色婷婷久久综合频道日韩 | 久久WWW免费人成—看片| 久久综合久久综合亚洲| 精品久久久久中文字幕日本| 久久精品国产精品亚洲艾草网美妙| 久久久噜噜噜久久中文字幕色伊伊 | 香蕉99久久国产综合精品宅男自 | 国产成年无码久久久久毛片| 国产精品久久久久久久久久免费| 亚洲精品NV久久久久久久久久| 久久久久久亚洲精品成人| 99久久精品国产一区二区三区| 99久久精品免费看国产一区二区三区| 国产999精品久久久久久| 久久精品国产2020| 久久精品无码一区二区三区免费| 99久久国产综合精品麻豆| 亚洲va久久久久| 久久久久亚洲精品男人的天堂| 久久久av波多野一区二区| 无码八A片人妻少妇久久| 久久久久黑人强伦姧人妻| 久久精品国产91久久综合麻豆自制 | 久久精品国产WWW456C0M| 久久99精品国产99久久| 人妻无码αv中文字幕久久琪琪布| 思思久久99热只有频精品66 | 久久亚洲AV成人无码| 久久精品国产99久久丝袜| 久久久久免费精品国产| 久久99国产精一区二区三区| 国产精品一区二区久久不卡| 久久婷婷五月综合97色| 人妻精品久久久久中文字幕一冢本| 久久人妻无码中文字幕|