.net程序員轉行做手游開發經歷(三)


  這次就主要講講我們開發的過程。

  策划是我們團隊的一個人成員專門負責,我們幾個算是出謀划策。我這邊的理解是,策划首先需要對所做的事情一定要有一定的把握,意思是盡可能的想到這件事情的影響范圍,類似項目管理里的確定項目的范圍,知道了范圍了,就可以很好的制定相應的目標了。

  畫原型這個我覺得也是很有必要的,我們做的時候,就沒有制定很明確的原型,以至於在開發的時候就現討論一些界面是什么樣子,交互是怎么樣的,影響項目的進度。

  計划是我制定的,從開發到上線定的是25天,包括美術設計、程序開發、制作音頻素材、測試、上線、宣傳這幾個步驟。雖然后面計划在開發的時候有變動,但是這個計划也是很有必要的。

  計划制定好了一定要嚴格的執行。我們執行中也是遇到了一些問題,比如美術方面的,因為我們美術不是專業的美術,還是兼職,所以美術的工作相應就有很大的挑戰,這邊也是一直的積極幫助美術尋找素材,商量美術的風格,也下了很多的游戲,做學些和參考,64G空間的手機硬是把應用給裝滿了。這段時間我還要負責整個項目的進度把控,還有一部分技術的實現,確實壓力挺大的,這時候就是多多想想上線后的樣子。推薦個國外的開源游戲素材網:http://opengameart.org/,可以找到一些免費的設計素材和聲音素材。

  代碼管理用的國內的開源中國的Git方式進行托管,因為兩個開發不在一起,挺方便的。

  開發的時候確實也遇到了很多問題,比如尋路算法比較慢、精靈刪除內存沒有釋放、播放聲音內存一直升高導致閃退、子彈軌跡導致沒法選中寶石等等。接下來詳細的講下我們怎么解決的,這個可能技術會比較關心。

  1、尋路算法效率慢是因為用了swift自帶的數組,就是直接用[]生成的數組,里面放的對象,我是覺得蘋果對swift的數組查詢效率還沒有很好的優化,在數組里數量達到上萬的時候,每次查詢的效率在幾十毫秒,因為A*算法的每次節點的判斷,都需要進行查詢的操作,當查找節點數量比較多的時候,有可能需要幾十秒鍾,這樣肯定沒法滿足需求的,偶然間的嘗試用了object-c的數組對象 NSMutableArray,發現效率明顯提升,每次尋路都不會超過一秒鍾。比較方便的是swift里是可以直接使用之前object-c有的對象的。

  2、精靈刪除內存沒有釋放的這個問題,是這樣的,子彈對象有攻擊目標這個屬性,當把攻擊的對象的精靈移除的,相應子彈的引用的這個攻擊目標的這個對象並不等於nil,這是因為swift也是根據引用計數來進行內存的自動釋放的,但swift默認就是強引用,只要在引用的對象的時候前面加weak關鍵字,就是可以表示我不持有這個對象了,這個還是多虧看了swift的官方教程里有寫到,有印象才知道這么解決的。

  3、播放聲音內存一直升高導致閃退這個問題,一開始用的這個方法SKAction.playSoundFileNamed(),我覺得是SpriteKit的一個bug,就是用這個方法在多聲音一直播放的時候,內存會不斷的盤升,直到閃退,這個問題我也是各個網站去找解決辦法,去了Stackoverflow網站和蘋果的官方論壇,也看到有相應類似的問題,但是都沒有找到很好的回答,我也是在這兩個論壇都發了帖子,也是在Stackoverflow上跟國外朋友第一次用英語進行交流。這個問題也試了其他的一些辦法,最后是還是用了Swift底層播放聲音庫AVAudioPlayer來實現多聲音的播放。

  4、子彈軌跡導致沒法選中寶石的問題,這個問題因為用到了粒子效果做子彈,當子彈多的時候蓋住相應的寶石,導致寶石沒法選中,這個最后解決的辦法是根據觸摸的坐標來尋找選中的寶石,而不是直接用nodeAtPoint(location)這個方法根據點擊直接獲取節點了。

  其實還有其他的一些問題在這就不說了,就覺得這幾個還比較印象深刻,記得當時解決的時候,有時候折騰一天,一直到晚上凌晨幾點了還很有精神,就是覺得這個問題一定要給解決了,這個心態可能跟很多做技術的人員一樣吧。

  下面來講講測試吧,由於沒有專業的測試,就是有我們策划負責測試了,測試我覺得最后別自己程序自己測試了,盡量找其他人來測試,這樣可以多角度的發現一些問題。

  還有就是多人開發的時候有什么問題,盡量及時的溝通。

  我們項目計划執行上,總體來說一致的,不過中間也會根據實際執行情況有一些變動,比如美術的問題,更改了計划,延遲了2天,還有考慮到測試完直接上線的話,也是有風險的,因為畢竟我們只是小范圍的測試,沒有進行大范圍的進行測試,肯定還是有一些問題沒有想到的。所以計划上又增加了內測環節,上線日期再往后延遲。

  內測我們從各個途徑成功邀請到了200位玩家,內測階段確實發現了很多的問題,玩家們也給了很多的合理的建議,游戲性和穩定性都有了很大的提升。下期我再詳細講下內測的我們如何操作,還有線上發布的一些事情。

  開發的事情今天就先寫到這里吧,歡迎大家的閱讀。

  最近應用排名從付費總榜200多名降到了總榜500多名,確實有點力不從心哈。

  上次小伙伴讓我建的群,方便大家的溝通交流,我建好了,大家可以加了,以后大家可以在里面討論技術,探討人生了。群號: 372385920

  還有上次很多小伙伴想玩下我們做的這款游戲,先簡單介紹下,這是一款益智游戲,上手稍微有點難度,但是確實非常考驗想象力和智商的一款游戲,需要建築狹長的迷宮和合成高等級的特殊寶石,才能通關。目前已經上架了iOS平台,下載地址:寶石塔防,或者在AppStore里搜索寶石塔防,第一個就是。

  未完待續,敬請期待!

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM