玩玩webgame開發(4) 遊戲資料結構設計

2021-08-29 19:13:01 字數 1626 閱讀 4348

很久沒做更新了。最近比較忙碌,手頭的webgame也都放下。最近很想念我的小webgame了,回來繼續寫。

上篇玩玩webgame開發(3):自動戰鬥實現以及一些遊戲細節(下) 在高峰期時候發表的,結果被火速沉底了。。。汗

好了,不小心有說了好多廢話,言歸正傳。

**********===

資料結構設計是門高深的學問,而遊戲的資料結構設計,那顯然,也是一門很高深的學問(--||好廢話。。),資料結構應該是整個遊戲的骨架所在,而遊戲資料平衡,(另一門高深的學問。。)跟這遊戲的資料結構息息相關。本文只是從自己做的乙個小遊戲出發,簡要的介紹一下我的乙個簡單的遊戲的資料結構設計思路。

乙個遊戲幾個基本的要素:

遊戲都在地圖上進行的。地圖的基本要素包括:地圖元素(即每乙個地圖座標格仔上的元素),不可進入的位置等。其他的還包括一些基本資訊。我的地圖資料結構設計如下:

var defaultmap = ;
這是個很簡單的地圖結構,包括的幾個資訊:地圖名稱,地圖等級,地圖元素,不可移動的位置。最後生成的展示效果如下(實際介面大很多,這裡只是部分):

var bobo = ,

name : '拉拉',

money : 0, //新增加金錢

hp : 100, //full hp

curhp : 100, //current hp

level : 0,

exp : 19,

ap : 15, //attack power

def : 1, //defence

speed : 3,

luck : 15,

eyeshot : 2, //視野

type : 'bobo',

file : 'baozi',

img : $('

};

pos指角色在地圖上的座標,其它的就是一些常見的資料了,包括名稱,金錢,滿血hp,當前的hp,等級,經驗,攻擊,防禦,速度,幸運,視野,其它的型別,檔案,img屬於我自己定義的一些結構,用於獲得特定狀態下的包子的。

設計乙個這樣的資料結構並不難,自己愛怎麼設定就怎麼設定,呵呵。不過關鍵的問題在於資料平衡,設定得很bt的資料可以開始玩的時候很爽,但是一結束玩家馬上就會失去興趣,所以,合適的數值以及成長曲線才會保證耐玩度。我個人是喜歡很小的資料,這樣玩家自己計算的時候簡單,而且資料平衡比較好做。我平時很經常玩一些war3的rpg,只要進去裡面的人物或者是物品設定數字都是按百的,alt+q。順便廢話一下我喜歡的元素魔法之戰這個。

var monsters = [

],img : $('}];

和遊戲角色的資料結構不同,它有額外新增1個id以及乙個items陣列,id表示怪物型別,因為怪物會在地圖上出現很多不同種類的怪物,通過id來區分不同的怪物。items陣列,表示這個怪物身上有多大的概率會掉那種型別物品。items陣列內的id表示物品的id。

乙個怪物需要分布在地圖上的各個位置,我目前覺得最簡單的方式就是:

var mapmonsters = [

, id : 0

},, id : 0

},, id : 0

} ];

哪個位置上哪個怪物,簡單明瞭。

====未完待續,明晚繼續

遊戲開發面試總結4

今天面了一家遊戲公司,感覺自己每次面試的時候都會有好多東西表達不出來。唉,做個記錄吧 1 這個是面試時候出的第二個筆試題,我覺得挺好的,可能是因為緊張吧 直播敲 沒寫出來。題目是這樣 給定乙個二叉樹,節點包含有左子樹,右子樹和父節點指標。讓在o 1 的空間複雜度下遍歷這個二叉樹。思路就是,中序遍歷吧...

iOS開發 Swift開發數獨遊戲(一)

包括9 9的數獨格仔還有填數的按鈕,以及填標記 就是說我這個地方不確定填哪個數,我都先標記上供參考 按鈕 標記功能效果如圖所示 1 繪製數獨格仔要考慮到標記功能 所以要在每個格仔內預先塞入9個標記數字,僅數獨格仔算下來就有9 9 9 729個格仔且存在大量巢狀 這導致我在操作storyboard時每...

iOS開發數獨小遊戲例項

如下圖。圖1是使用者開啟程式後的主頁面,點選 開始遊戲 後進入遊戲頁面 圖2,圖3 遊戲介面上方是顯示條,顯示玩家當前選中的按鈕。當玩家想要在九宮格中填入數字時,只需點選下方1 9的數字控制項,顯示條上會自動顯示玩家當前選中的數字編號,再點選玩家想要填入的位置,就可以填入控制項了。最下方三個按鈕分別...