轉自:http://www.cnblogs.com/nowpaper/archive/2012/09/11/2680852.html
這個世界上各種遊戲引擎林立,其中不乏精品,cocos2d作爲一個大衆引擎非常不錯,尤其是工具齊全,最重要的是免費,加之各種團體對引擎的各種支持,cocos2d也算在移動領域開發比較常用的了,現在各種語言版本均以具備,WindowsPhone未來雖然也有了C++但畢竟C#的獨有特點也會讓支持者很難放棄,cocos2d自從有XNA版本後讓開發WP遊戲更加容易,甚至現在都可以做WinRT的通版本遊戲,呵呵這一點,可以看之前的文章。
那就折騰一個遊戲吧 |
很久沒有實例的文章了,這次從用cocos2d-xna開發一個較爲完整的遊戲,這樣讓大家領略C#的獨有魅力。那麼開發一個什麼遊戲呢?還是一個戰略遊戲吧,這樣基本上都能夠練習到所有的技術要點,遊戲開發第一步是策劃設計,把最終的遊戲形態想好,一般在遊戲公司裏面,這一步就是立項,雖然大多數的情況下,是一個靈光一閃的想法,然後就開幹,但優秀的開發團隊一定會在策劃設計上花上一段時間——但是不要佔據太多時間,一方面因爲不能陷入到無限的YY中,另外一方面因爲好的遊戲是改出來的,開始的設計能實現80%就已經很不錯了。
所以我們簡單的設計一下這個遊戲:
1、風格:三國題材
2、這是一個戰略遊戲,偏向智力延伸
3、兩方對戰遊戲玩法
4、敵我雙方在地圖左右兩邊
5、士兵自動對衝,然後攻擊路上的敵人,士兵有生命值
6、通過一種方式購買士兵:援兵或金錢
7、士兵擊敗主將取得勝利,主將有生命值且不易擊敗
8、士兵分爲:步兵、槍兵、騎兵、弓兵
9、剋制關係爲:步》槍》騎》步;弓兵最弱,但爲遠程攻擊
10、主將具備一些特殊能力,需要金錢使用
Ok這個遊戲的初步的設計出來了,也許你的設計會更好,但不要貪多,現在會發現這個說明實在太簡要了,根本就不能說明一個遊戲,那麼,運起我們的各種設計工具,設計製作一個藍圖,如果有美術設計幫你是一件非常幸福的事,吾輩草根就只能自己搞定啦,下面是一個設計圖,美術素材來自深藍色右手的遊戲教程,好吧,它們都來自網絡,別問我版權問題。
這只是一張非常簡要的預覽圖,大概通過它來了解遊戲是什麼玩的,更多的細節在後面邊做邊改。
主體結構 |
在搞這樣的一個遊戲之前,還要想想都需要什麼功能,尤其是需要多少個界面,有必要的最好規劃一下:
通過上面的圖我們大概能看出具體是什麼形態,相比之前的想法階段是不是更進一步了呢?然後再細緻一點的話,可能還要做更詳細的需求分析,比如說基本角色、技能體系、地圖邏輯等,一般來說由策劃提供詳細的策劃書,然後主程序依據策劃設計完成程序架構,定義好各種接口,
那麼下面就做一下這樣的嘗試,也許有一些地方不太理解,沒有關係,在將來逐步的講解,而且第一次的架構一般來說都會遺漏,逐步的補齊就行。
第一步先建立一個簡單的cocos2d-xna的工程,在這裏,我使用WindowsPhone作爲開發平臺,通過之前的文章《Win8 Metro App裏玩XNA:如何使用和移植cocos2d-xna遊戲》,也可以輕鬆的移植到Win8上,如果你安裝了最新的cocos2d-xna工程模板,那麼可以新建工程裏見到下面的界面。
如果對這一部分有疑問的話,可以參看這篇:《Cocos2d-x for WindowsPhone:萬丈高樓亦可不需平地起》。
現在開始建立整個遊戲的架構,這個時候很容易迷茫,不知道該如何下手,在初步的階段,想到什麼就做什麼就好了,想得過細也不好,早些進入早些開始,我寫了一個簡單的遊戲架子:
從Game入口點進入到AppDelegate類中跳轉場景到開始界面,如果有載入的話,一般會加入到Loading中,好吧,咱們不需要這個,對於這些類做一下簡單的說明:
SceneStart:遊戲開始的場景
SceneSetting:設置場景
SceneSelect:地圖選擇場景
SceneGame:遊戲場景
SceneOver:遊戲結束場景
對照之前的流程,我們在這幾個場景中跳來跳去即可,但是一個遊戲要有演員,在這裏表現的是Actor的類,而角色分細一點有利於開發,其中有處理數據的ActorData在這裏處理數據,一般邏輯的ActorBase在這裏處理動畫,Actor在這裏處理遊戲的邏輯,有必要的話,未來可以繼承出來英雄什麼的,那麼在這裏咱們就不要浪費精力。
本框架代碼在:https://github.com/Nowpaper/SanguoCommander_cocos2dxna_Sample
好了,今天就折騰到這裏,在下一篇中,將會處理場景的切換和跳轉,以及對資源的處理操作。