最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

MMORPG如何設(shè)計(jì)背包系統(tǒng)

2023-04-04 17:24 作者:游戲創(chuàng)業(yè)之路  | 我要投稿

MMORPG游戲中背包系統(tǒng)是很重要的一個(gè)模塊, 大部分的背包系統(tǒng)的講解,都是講如何設(shè)計(jì)UI,如何顯示這些,其實(shí)這些東西并不是背包系統(tǒng)的核心,接下來我們來分析一下背包系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)如何設(shè)計(jì),能讓策劃和程序很好的工作,以及非常方便的擴(kuò)展。

?

1: 設(shè)計(jì)好背包系統(tǒng)的關(guān)鍵是什么?

背包其實(shí)就是描述一個(gè)玩家在游戲世界當(dāng)中擁有哪些物品,一個(gè)大型的MMORPG游戲會(huì)有很多的裝備和物品, 這些裝備和物品以及數(shù)值經(jīng)常會(huì)修改,增加,減少, 甚至裝備上可以鑲嵌各種寶石來實(shí)現(xiàn)不同的攻擊和防御。所以如何設(shè)計(jì)一套數(shù)據(jù)組織的方式能方便程序和策劃溝通,才是做好背包系統(tǒng)的關(guān)鍵,并不是如何做好背包系統(tǒng)的UI界面。

?

2: 背包系統(tǒng)物品需求分析

背包系統(tǒng)中的物品分為2個(gè)部分,第一部分是物品的屬性描述,第二部分是玩家在游戲里面擁有物品的數(shù)量,第一個(gè)部分就是策劃要填寫的內(nèi)容,有哪些物品,這些物品會(huì)有哪些屬性等,同時(shí)程序在使用裝備的時(shí)候, 去讀取里面的數(shù)據(jù)屬性值來參與程序計(jì)算。第二部分就是程序要做的事情,當(dāng)玩家在游戲中獲得了某個(gè)物品或裝備的時(shí)候,就更新裝備的數(shù)量到數(shù)據(jù)庫,程序負(fù)責(zé)維護(hù)好這個(gè)數(shù)據(jù)邏輯。

?

3: 如何設(shè)計(jì)好背包物品的數(shù)據(jù)屬性配置

背包物品的數(shù)據(jù)屬性一般是由策劃來處理的,我們要設(shè)計(jì)好一種方式來讓程序和策劃很好的工作。

策劃負(fù)責(zé)填寫表格,程序負(fù)責(zé)使用表格。如何設(shè)計(jì)好呢?我們可以把物品分成一些類型,比如藥水類型,紅藍(lán)藥水能夠增加玩家的HP與MP。又如裝備類型,某個(gè)裝備有攻擊力,防御力等。這么多物品,很容易讓程序員懵逼,這么多類型與復(fù)雜數(shù)據(jù)屬性如何設(shè)計(jì)呢?其實(shí)仔細(xì)分析一下,我們很容易把內(nèi)在的邏輯設(shè)計(jì)清楚。

先來分析一個(gè)物品的描述,一個(gè)物品在邏輯上包含了兩個(gè)部分,第一部分是文字描述,如"紅藥水可以增加玩家的200HP",第二部分屬于數(shù)值描述比如藥水類物品的數(shù)值[HP, MP, 售價(jià)等]。那么我們就可以設(shè)計(jì)藥水的屬性配置表如下:

物品id desic(文本描述) HP, MP, BuyPrice[購買價(jià)格], SellPrice[出售價(jià)格]

那么如果是裝備呢?裝備是防御力,攻擊力等屬性,藥水的描述就不適用了,我們就要建立另外的描述表如下:

物品id desic(文本描述) Attack Define BuyPrice[購買價(jià)格], SellPrice[出售價(jià)格]

這樣我們很自然的按照物品的數(shù)值屬性進(jìn)行物品分類,把每一類物品做成屬性描述表,例如藥水描述表,裝備描述表,武器描述表, 可以根據(jù)游戲的需求,定義一類物品的屬性。

這些屬性配置表在做背包顯示的時(shí)候,能提示物品的屬性和特點(diǎn),在計(jì)算數(shù)據(jù)的時(shí)候能疊加他們的數(shù)值到游戲中。策劃隨時(shí)可以增加物品類型,修改物品的屬性,增加后馬上就可以使用,這樣程序和策劃就能很好的溝通,策劃做數(shù)值也方便。

物品id 是對(duì)應(yīng)的此物品唯一的ID號(hào),背包里面, 我們都是以id號(hào)來標(biāo)識(shí)物品的,那么給特定一個(gè)ID號(hào),如何知道到底是那種類型呢?這里有一個(gè)技巧,就是我們把每種類型的物體的ID劃分一個(gè)范圍,比如藥水, [100001~199999], 武器[200001~299999], 衣服裝備[300001~399999]。這樣規(guī)定好以后,當(dāng)知道某個(gè)物品的ID,我們就可以通過 ID整除100000 類型, 300001/ 100001 = 3 所以300001屬于衣服裝備。

?

4: 程序如何存放玩家擁有的物品?

一般游戲里面會(huì)做一個(gè)數(shù)據(jù)表存在服務(wù)器上, 這個(gè)數(shù)據(jù)表描述了某個(gè)玩家有哪些物品以及物品的數(shù)目。數(shù)據(jù)表的設(shè)計(jì)如下:

PlayerID(玩家ID) ItemID(物品ID) Count(物品數(shù)目)

00001 300001 5

00001 200005 15

當(dāng)我們要顯示00001玩家背包數(shù)據(jù)的時(shí)候,可以通過查詢語句把所有的 00001玩家的所有的物品以及數(shù)量拉取下來(Select * from 背包數(shù)據(jù)表 whre PlayerID = 00001 and Count > 0) ,再加上配置表的屬性描述等,這樣背包就做好了。

這里還有一個(gè)問題, 有些特殊的裝備,可以鑲嵌不同的寶石,得到不同的攻擊力和防御力, 這種我們?cè)趺醋瞿??而鑲嵌寶石,是玩家操作處理的,這個(gè)時(shí)候,我們可以在后面再加一個(gè)屬性表, 用來存放我們配置好的寶石等數(shù)據(jù) json文本或二進(jìn)制數(shù)據(jù),如 { 卡槽1: 寶石1, 卡槽2: 寶石3 }。

數(shù)據(jù)表變成:

PlayerID(玩家ID) ItemID(物品ID) Count(物品數(shù)目) Props(JSON or 二進(jìn)制)

?

這樣設(shè)計(jì)后,我們游戲的物品與背包設(shè)計(jì)就變得非常的簡單和清晰,希望今天的分享對(duì)大家有所幫助。

我的學(xué)習(xí)交流Q群425-908-678 ,里面有更多學(xué)習(xí)資料與素材源碼,歡迎進(jìn)群領(lǐng)取


MMORPG如何設(shè)計(jì)背包系統(tǒng)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
思茅市| 临汾市| 田林县| 临江市| 昌邑市| 平凉市| 镇平县| 定南县| 无棣县| 永昌县| 襄樊市| 乌兰察布市| 山东省| 禹城市| 闸北区| 长丰县| 保定市| 新宾| 敦化市| 巴林左旗| 澜沧| 峨山| 盐城市| 南溪县| 武汉市| 古交市| 横山县| 获嘉县| 盖州市| 阳西县| 疏勒县| 高阳县| 邹平县| 绥江县| 岐山县| 绥滨县| 苏尼特右旗| 平江县| 卓资县| 新野县| 乐山市|