演算法加資料等於程式。這個遊戲開發計畫至少到目前為止還沒有什麼關鍵的演算法問題,估計要到做ai的時候才會遇到了。截至目前,主要的問題都是資料。今天的這篇只是個概況,詳細的內容需要慢慢寫。沒辦法,時間有限,而做東西的優先順序總要高於寫部落格。
我認為,作為乙個策略戰棋遊戲,最關鍵的資料就是部隊,而實現部隊最關鍵的就是兵種。至於說什麼人物、裝備、法術等等,其實都是錦上添花的內容。最極端的例子就是panzer general系列,幾乎可以看作是只有兵種的遊戲,但是照樣很好玩。
我的部隊設計計畫更類似於曹操傳的系統,包括人物和兵種兩個部分。這其中的乙個原因是對曹操傳的資料系統了解比較清楚,公升級系統也比較完備。而且象英雄無敵那樣複雜的兵種資料平衡性調整實在是太難了,我恐怕不會有那麼多時間去做。但是曹操傳的資料系統也有一些缺點,需要改進。
我的設計是這樣的:
其它的屬性還有:
實現方式
從資料檔案(data.e5)來看,曹操傳的資料定義方式確實太麻煩了,每乙個兵種的資料都是單獨定義的,而且每出現乙個部隊,就要有乙個單獨的人物定義,所以就有了n個同樣的步兵、騎兵、弓兵等等。兵種資料單獨定義的缺點是在修改的時候很麻煩,難以保證相關資料全都改對了;而人物的單獨定義就更麻煩了,要改全都得改。
為了解決這些問題,我打算這樣做:
兵種和人物資料都通過繼承實現,同時可以對繼承的資料進行修改。修改可以是在繼承資料的基礎上增減,也可以是指定新的值。這樣做的好處是可以方便地實現聯動修改,比方說實現類似曹操傳的兵種,可以讓重步兵的資料繼承輕步兵,只要修改了輕步兵的資料,重步兵也就同時修改了。
另一方面,我們可以把人物資料看作是類定義,而部隊可以看作是類例項。這樣,一種小兵定義乙個人物就足夠了。當然,從實現的角度來看,這種方式同樣支援大將的副本,只要願意就可以在劇本裡新增。
目前,這些屬性大部分已經實現了,剩下的等有時間再新增,不過就是一些列舉值而已,很簡單的。另外,技能和法術的資料定義也已經做好了,有時間再寫。
放一張圖,資料編輯器的樣子。
顯而易見,這其實就是vs標準的乙個sdi應用程式,左邊的class view顯示已經新增的資料,右邊的屬性視窗顯示最終的結果。很多的字元並沒有改,因為自己知道那是個什麼東西,省時間了。
在這個例子中,當前的兵種「重步兵」繼承了輕步兵的屬性,並且hp額外加1,移動改為6。所有的兵種/人物都是這樣繼承的。
遊戲開發計畫 資料元素設計(人物)
人物的設計也類似曹操傳,但是同樣採取繼承的方法實現,額外新增了人物特殊屬性增強 特殊技能增強以及特殊公升級的功能。另外,對人物屬性也做了一點小修改。在曹操傳中,人物的攻擊 防禦等屬性在0級的初始值就是人物相應屬性的一半。為了靈活起見,我把這些初始值單獨定義出來。這樣進行資料調整的時候比較方便。從實現...
遊戲專案開發計畫的制定
乙個遊戲專案,無論是以大家的遊戲夢想出發,還是以純商業目的,只要這個專案制定了計畫,這個計畫往往被延期。id software的牛人們可以用 when it done 作為專案的期限,可是作為普通人的你我,我們不可能這樣回答玩家 下屬 老闆 資人 所以制定專案計畫對於我們至關重要。乙個不可能完成的計...
中國象棋遊戲開發計畫
新 中國象棋開發計畫 一 系統特點 1 實體象棋,絕非普通的象棋遊戲 2 玩家手感好,棋子採用 實木 象牙 製作。3 具備自動擺棋,無須人工干預 4 可以進行 人 機 人 人 隊長 5 系統自動計時 評分 6 二 系統設計思路 三 擺棋 實現自動擺棋是本系統成功的關鍵,只有系統可以正確的擺放棋子,才...