編輯:Android游戲開發
上回說到我對一個五子棋游戲開發的分析,通過這個分析,是否說明在好多時候問題總是會變得越來越多,越來越嚴重呢?這些問題就算在美國也經常見到碰到,而且這個問題,總是會變得越來越嚴重。
接著上一集,回到我現在的問題。
我們根據分析出來的總題綱,進行問題分解。
1. 棋盤的管理
2. 棋子的管理
3. 游戲控制的管理
4. 游戲的AI
5. 游戲分數的管理
由於還沒打算進行更細粒度的劃分,所以基本上劃分五個管理模塊。
XML/HTML代碼棋盤在一個15X15的棋盤,主要負責控制游戲棋盤的顯示與棋子的顯示。棋盤由可以自適應。
XML/HTML代碼主要負責保存棋子的坐標信息,如 qizhi('黑',3, 4),代表黑子在x=3,y=4的坐標上。
XML/HTML代碼游戲的控制主要是將游戲的顯示與游戲的AI進行合成,產生交互效果,設計叫這個為MVC(MVC這概念面試的時候,專門考初級程序員的題目)。
XML/HTML代碼游戲的AI使用玩家與電腦進行對戰。
XML/HTML代碼在游戲總結時,贏的一方得到分數,並保存為數分和顯示排名。
好了,分析到這步,是不是開始寫代碼了,在很多時候,我們在做項目的時候,通常進行了需求分析,數據庫設計,流程設計,詳細設計後,我們就進行程序開發,但通常一邊開發,又一邊發現‘沖突’或存在諸多疑問。
我還是用五子棋說明問題。
第一:五子棋的設計,是畫出來呢,還是貼圖貼出來?
第二:五子棋的棋盤的VI如何設計,棋子的圖案是網上抄,還是重新設計,設計成怎麼樣子。
第三:AI部分,究竟用什麼AI呢,是用常用的權值法,還是用遺傳算法?
第四:分數,分數的計法,分數如何計呢?
第五:在開發時,歸案由誰去負責,誰負責哪個模塊,文檔由誰業寫。
……
一連串的問題,使我們通常犯錯卻一次又一次的犯下去。當然我這裡指出的是,並不一定客觀,但我只想通過這個實例說明,做一個項目,所需要的成本,往往比我們想像中的多。如何有效去約束,就是項目經理的水平所在了。在國外,有專門的寫檔案的印度佬,有專門做忽悠人的PA,有專門搞測試的QC/QA, 分得很細,卻都很專業。我們大陸,也是這樣分工的,如分售前,開發,實施,售後的分工。但通常我見得最多的是:‘又是裁判,又是運動員’。這就是我們為什麼生活的很累的原因,一份精力卻要兩倍支出,能不累嗎。特別有些(現在已經好多了,甚至搞上市)的公司(把大蛋糕吃下的那個企業)把項目給了外包公司,外包公司再找幾個‘外援’,來搭個幾千萬的項目,就這樣,這幾個累的要死的‘外援’做出了幾千萬的項目,這就是非常有名的‘二八原理’。
所以我想總結一下:通常設計中,我們做得文檔一般都不夠詳細,所以我們在開發的時候會發現困難重重,對於開發中途加入的開發人員,看那缺頭缺尾的文檔更是要‘努力’(‘要智富就要努力’不知道這句話是誰發明的,總把後面的那一句漏掉了),二是想引用站長的一句話‘珍惜生命,遠離外包’來做作為這一集做的總結。
好,這一集就說到這裡,謝謝。
第18天:外星人圖形與圓形沖突、完美的子彈軌跡 今天我受夠了“射擊月亮”bug。有時候外星人即使在屏幕中出現,也可能射不中
數據庫SQLite介紹 數據庫最經典的四個操作 添加、刪除、修改、查找,在處理大量數據的時候使用
前面幾節主要講了libgdx框架一些基本類的使用方法,還分享了一部分源碼,要進
第21天:Android游戲的商業化 我做這個游戲只是一個嘗試,沒指望它掙很多的錢。游戲可以免費下載,如果你願意可以購買游戲裡的金幣。我喜歡這種類