開發者經驗談:如何一天時間搞定iOS遊戲開發?
遵循一定的原則可以保證開發順利進行,最大程度避免意外情況的發生。根據我以往的經驗,如果不提前想好運用什麼技術?怎麼組合這些技術?臨時抱佛腳,刷網頁搜資訊將會耗費掉很多精力。
這篇指南會告訴你什麼時候該走哪一步,用蘋果的原生遊戲引擎SpriteKit,讓遊戲從創意轉變為現實。
1. 建立一個Project
有了一個遊戲創意之後,第一步是立刻用蘋果的開發IDE——Xcode,建立一個遊戲Project。為蘋果裝置開發App,為什麼非得用Xcode呢?因為它更簡單,更省事,更方便。
2. 設立Workspace
在Xcode裡,Workspace要求有邏輯體系(logistics),一些準備工作也必不可少,比如決定遊戲在裝置上的orientation,做一些適當的改動——取消選定portrait或landscape view,在project檔案或XCODE編輯器裡進行編輯。
3. 新增Project資源
Project資源即影象音訊檔案或其他要新增到project裡的外部檔案。簡單拖放進project導航器就可以了。
4. 改變背景顏色
這一步才真正是好戲開場。要改變背景顏色的話就得多寫幾行程式碼,保證運轉高效進行,程式設計師也更有動力繼續工作。
這一步看似不起眼,做好了卻能大大提升開發者的積極性,讓他們更加相信自己有能力為Project帶來積極的影響。
5. 為背景新增Sprite
從asset或影象資料夾裡獲取圖片,新增為遊戲背景。瞭解瞭如何新增以及安置背景sprite的位置後,就能為遊戲場景新增sprite了。
6. 新增遊戲Sprite
新增了背景sprite後,同時新增in-game sprites,也是不錯的想法。
遊戲內建sprite也會幫忙節省不少時間,讓你安安心心把注意力放在遊戲邏輯上。
7. 新增玩家控制的Sprite
新增遊戲sprite時,你說不定已經加上了玩家控制的sprite,這一招挺受用的。將兩者分開來操作主要是考慮到多數情況下,玩家控制的sprite按照我們的意願執行一個行為或位置時,可能跟遊戲內建的其他sprite有所不同。
新增遊戲邏輯
建立了自己的遊戲asset之後,就開始為遊戲新增邏輯了。在這篇指南中,我們會用到很多iOS遊戲喜歡用的“拖放”機制。
執行遊戲邏輯時,須採用“分而治之”的方法,也就是將過程分割成最小單位,分別編寫程式碼。
8. “拖放”Sprite——“拖”
I為玩家sprite執行“拖動”機制,要用到touchesBegan功能,該功能現已適用於蘋果產品。這個動作只需要輕點螢幕即可引發。
9.“拖放”Sprite——“放”
這一步會用到touchesMoved和touchesEnded功能,判斷手指什麼時候移開螢幕。
這部分我們建立選單螢幕,按鍵還有遊戲所需的使用者介面工具。
10. 建立主選單(setUp)
要建立主選單螢幕,也就是scene(場景)或一個SKNode,要求有Cocoa Touch檔案。在這篇指南里,我們用scene。
11. 呼叫主選單
建立主選單後,要呼叫主選單,才能開始運作。遊戲啟動後,應立刻呼叫主選單,作為遊戲中出現的第一個場景。
12. 新增背景Sprite
這一步跟新增遊戲場景背景sprite是一樣的。
13. 觸控開始遊戲
主選單載入後,遊戲要真正開始,只要給螢幕新增一個觸控功能就好。觸控的動作檢測到之後,呼叫載入遊戲場景,然後遊戲開始執行直到結束。
14. 返回主選單按鈕
玩家如何從遊戲場景返回主選單呢?方法是重複第13步的touch方法,但這次我們用sprite做按鍵,玩家按下按鍵之後,就能返回主選單。
15. 場景轉換
動畫讓遊戲更引人入勝,可謂錦上添花。雖然跟遊戲內容沒太大關係,但能大大提升遊戲體驗。
16. 新增一個Play按鍵
遊戲完成之後,用Sprite新增一個Play按鍵,很簡單。按下Play鍵,就能開始遊戲了。
App Store上有更多遊戲邏輯和遊戲Demo
我曾開發了一個名為Piggie Penny Pincher的iOS遊戲,App Store上有,接下來,我將和大家分享我在開發該遊戲時用到的一些解決方案。
讓遊戲動起來
18. 動畫&特效
是時候新增動畫和特效了,好讓遊戲看起來更生動一些。
運用動畫製作12條準則的任何一條,都會使你的動畫更為生動。而最簡單常用的是“擠壓與拉伸(Squash and Stretch)”,讓遊戲體驗更上一層樓。
19. 音樂和音效
最後可以為遊戲新增音樂和音效了,雖然並非或不可缺,但能讓你的遊戲更加引人入勝。
原文連結:Medium
相關文章
- 獨立遊戲開發者的Kickstarter眾籌成功經驗談遊戲開發
- 九年遊戲開發經驗談遊戲開發
- Centos安裝FastDFS+Nginx(一天時間搞定)CentOSASTNginx
- 印度博弈遊戲開發者的一天遊戲開發
- 僅花一天時間,開發者重製 32 年前經典 Mac 應用!Mac
- 遊戲開發者談在遭遇產品失敗時如何更理性地看待挫折遊戲開發
- iOS開發經驗談:如何提高應用開發效率?iOS
- 寒哥教你學iOS – 經驗漫談iOS
- MySQL如何獲取當前時間的前一天和後一天時間MySql
- 遊戲開發者依然能從這7款經典街機遊戲中汲取經驗遊戲開發
- ERP經驗談:規劃時如何定義指標(轉)指標
- 經驗談
- 遊戲開發者談遊戲行業融資時常見的五個問題遊戲開發行業
- 知名iOS開發者Matt Gemmell談iOS 7iOS
- 經驗談集
- DBA 經驗談
- 爆破經驗談
- 開發者談:懂得經營是遊戲開發環境的基本技能屬性遊戲開發開發環境
- 開發者經驗:為Android開發比iOS貴4倍AndroidiOS
- 《休閒遊戲開發者指南》釋出,新時期的Ohayoo如何全面助力開發者?遊戲開發
- 《暗影之手》開發者談獨立遊戲專案管理的10點經驗遊戲專案管理
- iOS 經驗分享iOS
- 一份經過時間檢驗的 Laravel PHPUnit 測試經驗分享LaravelPHP
- 使用nfs經驗談NFS
- 大學打架經驗談
- Lotus 經驗談(轉)
- 經驗分享:談談如何多快好省地開發獨立遊戲遊戲
- 資深app開發者的經驗之談:想簡單點,降低風險APP
- 如何用一天時間實現自己的RPC框架RPC框架
- 20條找工作的吐血經驗時間(轉)
- Mixpanel:一天的時間 iOS 7安裝率就已升至33.13%iOS
- FIFO設計驗證經驗談
- Hugo 建站經驗之談Go
- Android MVP經驗談AndroidMVP
- Oracle 學習經驗談Oracle
- Doxygen簡單經驗談。。。
- ERP經驗談(轉)
- SAP學習經驗談