內容簡介
有瞭精巧的遊戲構思,卻苦於無法實現?
讓這本《iOS遊戲開發:從創意到實現》完全DIY編程指南來幫助你!通過《iOS遊戲開發:從創意到實現》的教程,你將親手開發一款真正的iOS遊戲,並全麵瞭解Xcode和Objective-C的相關內容,同時還能學到如何實現遊戲邏輯、精美的圖像效果、遊戲物理仿真效果、音效以及電腦AI。
在完全不瞭解蘋果開發工具的情況下,作者Todd Moore僅靠自學就在一個星期內創建瞭一款iPhone遊戲。如今,他正全職開發智能手機應用和遊戲。有瞭本書的佐助,每個人都可以實現自己的遊戲開發構思,讓作品順利打入App Store。
· 一開始先創建隻有20行代碼的簡單小程序
· 從零開始,創建一款完整的桌上冰球遊戲
· 使用動畫循環並建立碰撞檢測
· 使用所需工具創建漂亮的遊戲圖像
· 添加物理學仿真效果,讓遊戲更真實
· 錄製並編輯逼真的音效,自定製背景音樂
· 設計具有多個難度等級的電腦玩傢
作者簡介
Todd Moore,創立瞭TMSOFT,緻力於創建精彩絕倫的智能手機應用和遊戲。他最受歡迎的遊戲應用《21點算牌器》得到瞭Engadget、《洛杉磯時報》和CNET TV的推薦,而他最受歡迎的應用《催眠白噪音》得到瞭iTunes、美國《健康雜誌》、《華盛頓郵報》、《個人電腦雜誌》和《Jimmy Fallon深夜脫口秀》的推薦。
目錄
第1章 Xcode簡介
1.1 開發者注冊
1.2 安裝
1.3 Xcode
1.3.1 項目類型
1.3.2 Xcode界麵
1.3.3 構建和運行
1.3.4 代碼結構
1.3.5 應用程序狀態
1.4 Interface Builder
1.5 連接
1.6 遊戲邏輯
第2章 Hello Pong
2.1 項目創建
2.1.1 目標設置
2.1.2 App Info
2.2 設計遊戲組件
2.2.1 Interface Builder
2.2.2 連接
2.3 多點觸控
2.3.1 處理觸摸的4個方法
2.3.2 開啓多點觸控
2.3.3 移動球拍
2.3.4 多點觸控的問題:在遊戲桌上的第三根手指
2.3.5 正確的觸摸方式
2.4 動畫
2.5 碰撞
2.6 計分
2.7 最後的修飾
2.7.1 顯示消息
2.7.2 遊戲結束
2.7.3 增加難度
2.7.4 暫停和恢復
2.7.5 搖動手勢
2.8 聲音
第3章 圖像
3.1 簡介
3.2 位圖和矢量圖
3.3 圖像格式
3.4 Retina顯示
3.5 為Air Hockey遊戲創建圖像
3.5.1 製作冰球圖像
3.5.2 製作球拍圖像
3.5.3 製作冰球桌
3.5.4 按鈕
3.5.5 檢查遊戲圖像
3.5.6 應用程序圖標
3.6 應用程序整閤
3.6.1 項目創建
3.6.2 Interface Builder和圖像
3.7 構建和運行
第4章 物理學
4.1 球拍物理學
4.2 冰球物理學
第5章 聲音
5.1 什麼是聲音
5.1.1 數字錄音
5.1.2 文件格式
5.2 創建聲音
5.3 下載聲音
5.4 錄製聲音
5.5 編輯聲音
第6章 電腦AI
6.1 電腦玩傢菜單
6.2 電腦玩傢
6.2.1 基礎
6.2.2 人類模型
6.2.3 防守
6.2.4 進攻
6.3 電腦難度
第7章 App Store
7.1 屏幕截圖
7.2 創建應用程序簡介和關鍵字
7.3 嚮iTunes Connect提交元數據
7.4 歸檔和提交
7.5 應用審核
7.6 應用市場營銷
7.6.1 社交網絡
7.6.2 iTunes推薦
7.6.3 免費的網絡評論
7.6.4 精簡版
7.6.5 付費廣告
7.6.6 追蹤銷售和排名
7.7 總結
前言/序言
獨立開發者都想要嚮世人展示他們的創意,而App Store為他們提供瞭一種全新的方式。你可能聽說過許多關於開發者利用空閑時間開發iPhone遊戲從而發傢緻富的故事。錢當然是一個不錯的動力來源,也是為什麼會有如此多的開發者競相發布應用的原因。你是否有一個宏偉的遊戲構想?本書是一份完全靠自己動手開發遊戲應用的指導手冊,為任何想要將遊戲構思實現為App Store上應用的人們提供幫助。
我從未見過如此眾多的人對於創建應用和遊戲有現在這樣濃厚的興趣。無論是全職員工還是玩iPod touch的孩子,幾乎每個人都會停下來問我同樣的問題:“你在App Store上有發布過遊戲?”、“創建一款遊戲要多久?”,而我被問到最多的是“我能做到嗎?”。似乎每個人都躍躍欲試,想在這一新的平颱上創建遊戲,但大部分人還是不知道要怎樣纔能入門。
我於2008年的8月進入應用開發領域,當時我準備開發一款名叫BubblePop的遊戲,你必須快速打爆移動中的氣泡,每個氣泡中都有一個隨機數,必須按正確的順序弄爆氣泡。我希望我的第一款遊戲足夠簡單,以讓我快速熟悉這一平颱,但同時又希望遊戲充滿瞭挑戰,讓那些幫我測試的朋友樂在其中。
當我開始開發遊戲時,我對Mac、Xcode以及Objective-C都還一無所知,而且我隻能利用晚上和周末的時間來開發遊戲。當時,還沒有任何相關的書籍,而在網上找到的內容大多都是關於為“越獄”的iPhone創建應用,以及非官方的SDK。雖然有很多東西要學,而且白天也要工作,但我仍然能夠在一星期內完成遊戲開發。
經過反復嘗試,我終於將我的遊戲投放到App Store瞭。現在需要一段時間的等待,我的賬號和遊戲都需要讓蘋果審核。審核過程感覺相當漫長,這真是一種摺磨。但所有閤約都審核通過的那天終於到來瞭,蘋果為我的遊戲亮瞭綠燈,當時我就好像是過聖誕節的孩子那樣興奮。當我看到遊戲在iTunes上發布,全世界都可以來購買它時,這種感覺真是太不可思議瞭。
我創建第一款遊戲的目的並不是成為百萬富翁,我隻是想學習這一平颱,為我的iPhone創建一款有趣的遊戲,以及賺足夠的錢來支付之前買的24英寸iMac。但最終我賺的比我想要的多得多,尤其是其中的兩款應用——《催眠白噪音》和《21點算牌器》,讓我賺得盆滿鉢滿。在2009年2月,這兩款應用同時進入瞭付費下載應用的Top 20。當銷售報告齣來時,我感覺就像中瞭大奬一樣,報告顯示我賺到瞭相當於我當前工資10倍的錢。當時,我就決定把這個有趣的小愛好變成全職工作,從此我一直都在創建應用和遊戲。我希望你也能這樣。
——Todd Moore
本書讀者對象
我遇到過許多有著遊戲創意但不知道如何著手開始的人。如果你有資金,那麼你可以雇一隊開發人員和美工來創建遊戲。我發現雇用有經驗的智能手機開發人員和美工,費用並不便宜。作為獨立的開發者,有一點很關鍵,你需要學習所有必要的技能以便自己動手完成,隻在迫不得已時纔雇彆人來做。
本書是為那些有一點點編程經驗,但從沒有在iOS平颱上做過開發的人編寫的。你是否在PC或Mac平颱上創建過應用程序?你是否使用過ASP.NET、PHP或Perl做過服務端網絡開發,而現在想要嘗試創建原生的應用?你是否已經熟悉C或C++,但對Objective-C還知之甚少?或者你隻是想盡可能快地創建一款iPhone遊戲?如果你正好就是以上這些人,那麼請繼續閱讀本書。我寫這本書是作為一份指導手冊(我很希望當時在我創建自己第一款遊戲時也能有這麼一份參考手冊)。
本書主要內容
我想要教會你創建一款有著iPhone硬件特色的、與其他平颱相比獨一無二的遊戲。大部分遊戲通常在操作上都會用到方嚮鍵、模擬操縱杆以及各種按鈕。iPhone和iPad給予我們一種全新的輸入方式——多點觸控。iPhone和iPod touch屏幕上可同時追蹤5個獨立的觸控點,而在iPad上的觸控點可達11個之多。這就開啓瞭一種之前從未有過的、全新的遊戲類型。所以,你要從頭開始學習怎樣處理屏幕上的多個觸控點。
本書會教你快速創建一個運用多點觸控的雙人遊戲,而更激動人心的是,所有的這些隻編寫瞭20行左右的代碼!但是,它看上去已經很像1972齣現的Pong遊戲瞭。這可能不會令你激動萬分,除非你從小玩著雅達利公司的傢用Pong遊戲機成長的,就像我這樣。值得注意的是,就遊戲元素而言,過去的技術也可以拿到現在來用。
我們來思考一下。Pong這款老遊戲和3D第一人稱射擊遊戲如《使命召喚:現代戰爭》有什麼共通之處呢?誠然,Pong的圖像錶現不會太好,但這兩款遊戲都有著同樣的元素——控製一個玩傢,這個玩傢位於特定的世界中,需要達成一定的目標,並且通過計分來描繪遊戲過程。無論你是通過球拍擊球還是在高度仿真的世界中擊殺敵人,以此來獲得經驗,整個遊戲的元素都彆無二緻。所以,我將以一個非常簡單的概念開始,然後嚮你展示如何一步步擴展成更時髦的遊戲。
遊戲開發的下一階段是創造華麗的圖像和真實的音效。我將嚮你展示一些通常隻有美工和音響師纔會知道的秘訣。作為獨立開發者,學習這些技巧是非常重要的,這可以幫助你節省不少時間和成本。本書中設有專門關於創建圖像和聲音的章節。我將嚮你展示如何使遊戲在視覺和聽覺上都和真實的桌上冰球遊戲沒什麼兩樣。
在開發並測試這款新遊戲的過程中,你可能會注意到,遊戲的外觀與真實的桌上冰球遊戲很相近,而遊戲體驗卻天差地彆。感覺不到冰球是在冰麵上移動,桌麵也沒有一點摩擦力,球拍擊打冰球後會造成錯誤的角度和速度。因此,你需要關心這些潛在的遊戲物理學,並將它們添加到你的遊戲中。我將嚮你展示如何將你在學校中所學的,認為再也用不到的數學知識應用到遊戲中,以讓我們的桌上冰球遊戲有更真實的體驗。
最後,遊戲另外創建瞭一個與電腦對戰的單人模式。在任何單人遊戲中,電腦AI應該是最復雜、最重要的部分瞭,本書盡可能簡化整個過程。第一步,創建一種算法使電腦的行為接近完美並無法戰勝。如果你無法獲勝,那麼遊戲將會毫無樂趣可言,因此,我們引進瞭失誤因素,這讓電腦玩傢的錶現更像人一些,偶爾也會犯錯。利用某種機製可以降低電腦的智能程度,並提供多個難度等級的選擇,從簡單到睏難。
遊戲完成之後,你將瞭解一些嚮App Store發布應用的準備工作。你需要寫一份産品描述,創建引人注目的截圖以及嚮蘋果提交審核。
讓我們開始開發之旅吧!
本書中的約定
以下是本書中所使用的排版約定。
楷體:錶明新的術語。
等寬字體:用於程序清單,也用於段落中指定程序元素,如變量或函數名、數據庫、數據類型、環境變量、聲明以及關鍵字。
粗體:顯示命令,或那些需要用戶照著輸入的文本。
等寬斜體:顯示瞭那些需要用戶提供的或根據上下文決定的值。
這一框體錶示提醒、建議、一般注解、警告以及注意信息。
本書代碼實例
這本書可以幫助你完成工作。一般來說,你可以直接在程序和文檔中使用本書中的代碼,而無需獲得我們的許可,除非你復製代碼中最核心的部分。例如,你寫瞭一個程序,用到瞭幾塊本書中的代碼,這不需要獲得許可。但齣售或發布本書中例子的CD-ROM,則是需要獲得許可的。通過引用本書中的實例代碼來迴答問題,不需要獲得許可。將本書中大量的核心代碼整閤到你的産品文檔則需要獲得許可。
我們很感謝你在代碼中注明齣處,但並不強製要求。齣處通常包括標題、作者、齣版社和ISBN。例如:“Tap, Move, Shake by Todd Moore (O’Reilly). Copyright 2012 Todd Moore, 978-1-449-30345-7”。
如果你覺得你所使用的代碼實例超齣瞭閤理使用或以上的許可範圍,請按permissions@ oreilly.com這個地址聯係我們。
Safari·在綫圖書
Safiri在綫圖書是一個在綫的數字圖書館,從這裏可以輕鬆搜索到超過7500種技術性創新性參考書以及視頻,以便快速找到需要的答案。
通過訂閱,你可以瀏覽在綫數字圖書館中的所有頁麵,觀看所有視頻。你可以在手機和移動設備上閱讀書籍。你可以閱讀還未齣版的新書,看到正在創作的手稿並嚮作者提齣反饋意見。復製粘貼代碼實例,收藏最喜歡的書籍,下載部分章節,在關鍵部分做標記,創建筆記,打印頁麵等功能可以節省大量時間。
iOS遊戲開發:從創意到實現 [Tap,Move,Shake: Turning Your Game] 開啓你的遊戲開發之旅,將遊戲夢想變為觸手可及的現實。 你是否曾構思過一款獨具匠心、能讓玩傢沉浸其中的iOS遊戲?是否曾對那些在App Store中脫穎而齣的遊戲創意感到心馳神往,並好奇它們是如何從零散的靈感一步步轉化為精緻可玩的産品?《iOS遊戲開發:從創意到實現 [Tap,Move,Shake: Turning Your Game]》正是為你量身打造的指南,它將帶領你穿過迷人的遊戲開發世界,從最初的創意萌芽,到最終在App Store中與全球玩傢見麵,每一步都詳實細緻,助你將腦海中的遊戲藍圖變成觸手可及的現實。 本書並非一本泛泛而談的教程,它深入淺齣,聚焦於iOS平颱特有的開發環境和工具,為你提供一套完整、係統且極具實踐性的遊戲開發方法論。無論你是擁有豐富編程經驗的老手,還是初涉遊戲開發領域的新人,都能從中獲益匪淺。我們相信,任何偉大的遊戲都始於一個卓越的創意,而本書將首先聚焦於如何捕捉、梳理和打磨你的遊戲創意,讓它具備成功的基石。 第一部分:創意煉金術——從靈感到原型 遊戲開發的起點,往往是那一閃而過的靈感火花。然而,將抽象的創意轉化為具體可行的遊戲設計,需要一套科學的方法。本部分將引導你深入探索創意産生的機製,學習如何識彆和評估遊戲創意的潛力。我們將探討各種創意激發技巧,例如頭腦風暴、用戶故事映射、競品分析以及從生活經曆中汲取靈感。 創意發掘與篩選: 你將學習如何係統地記錄和整理你的遊戲想法,並掌握一套評估標準,來判斷哪些創意最具商業價值和可實現性。這包括對目標受眾、核心玩法、市場趨勢以及技術可行性的初步分析。 核心遊戲循環設計: 任何成功的遊戲都擁有一個引人入勝的核心遊戲循環。我們將深入剖析核心遊戲循環的構成要素,並指導你如何設計一個既簡潔又富有深度的循環,確保玩傢能夠持續地從中獲得樂趣。 玩法機製的創新與打磨: 瞭解如何設計獨特且令人興奮的玩法機製是遊戲脫穎而齣的關鍵。我們將從“Tap”(點擊)、“Move”(移動)、“Shake”(搖晃)這三種iOS設備上最直觀的交互方式齣發,探討如何巧妙地將它們融入你的遊戲設計中,創造齣新穎的遊戲體驗。例如,基於“Tap”的精準控製,基於“Move”的物理模擬,以及基於“Shake”的感官互動。 遊戲原型製作: 理論終究要迴歸實踐。我們將指導你如何利用低保真度的原型工具(如紙質原型、故事闆,甚至簡單的邏輯流程圖),快速驗證你的核心玩法和設計思路,在投入大量開發資源之前,及時發現並修正潛在的問題。 第二部分:技術基石——Swift與SpriteKit的深度融閤 一旦你的遊戲創意成型,便需要強大的技術來支撐。本書將以Apple官方推薦的Swift語言為核心,並深入講解SpriteKit——一個專為2D遊戲設計的強大而靈活的框架。 Swift語言的精髓: 我們不會止步於Swift的語法介紹,而是側重於講解在遊戲開發中常用的Swift特性,例如協議導嚮編程、泛型、閉包的應用,以及如何利用Swift的並發特性來優化遊戲性能。你將學會編寫清晰、高效、易於維護的代碼。 SpriteKit的構建模塊: SpriteKit提供瞭豐富的節點(Nodes)來構建遊戲世界。本部分將詳細講解SKNode的層級結構、SKScene的管理、SKPhysicsBody的碰撞檢測與響應、SKTexture的紋理應用、SKActions的動畫控製等核心概念。 高效的渲染與性能優化: 遊戲流暢運行是玩傢體驗的生命綫。我們將深入探討SpriteKit的渲染機製,學習如何優化紋理加載、節點管理以及物理模擬,確保你的遊戲在各種iOS設備上都能流暢運行。 圖像與音效的集成: 視覺和聽覺是構成遊戲沉浸感的重要元素。你將學習如何有效地導入、管理和播放遊戲中的圖像資源,以及如何集成背景音樂和音效,為你的遊戲增添生動的色彩。 第三部分:交互藝術——捕捉玩傢的每一個指令 iOS設備的觸控屏幕和傳感器提供瞭豐富的交互可能性。本書將深入探討如何設計和實現直觀、響應迅速的用戶交互。 多點觸控與手勢識彆: 從簡單的點擊、滑動到復雜的多指操作,我們將教你如何準確地捕獲和處理用戶的觸控輸入,並利用iOS內置的手勢識彆器(如UITapGestureRecognizer, UIPanGestureRecognizer等)來實現更豐富的交互。 利用加速度計與陀螺儀: “Shake”(搖晃)不僅僅是一種動作,它代錶著iOS設備獨特的交互潛力。我們將詳細講解如何使用Core Motion框架訪問設備的加速度計和陀螺儀,並將其轉化為遊戲中的各種玩法,例如傾斜控製、觸發特殊技能等。 UI元素的構建與管理: 除瞭核心遊戲玩法,用戶界麵(UI)的設計和實現同樣至關重要。你將學習如何使用SpriteKit的SKLabelNode, SKSpriteNode等節點來創建按鈕、得分顯示、生命值條等UI元素,並實現它們與遊戲邏輯的聯動。 遊戲狀態的邏輯管理: 遊戲通常包含多種狀態,如主菜單、遊戲進行中、暫停、遊戲結束等。我們將探討如何設計一個清晰、可擴展的遊戲狀態管理係統,確保遊戲的流程順暢且易於控製。 第四部分:打磨與升華——從可用到卓越 一個優秀的遊戲,絕不僅僅是功能的堆砌,它需要在細節處打磨,方能散發齣耀眼的光芒。 動畫的生命力: 動態的畫麵能極大地增強遊戲的錶現力和趣味性。你將學習如何利用SpriteKit的SKAction係統創建豐富多樣的動畫,從角色行走、攻擊到場景變換,讓你的遊戲“活”起來。 物理引擎的精妙運用: SpriteKit強大的物理引擎能夠模擬真實世界的物理規律,為遊戲增添可信度和趣味性。我們將深入探討碰撞、重力、摩擦等物理屬性的設置,以及如何通過精妙的物理模擬創造齣令人驚嘆的遊戲效果。 關卡設計與挑戰性: 好的關卡設計是吸引玩傢、留住玩傢的關鍵。我們將分享關卡設計的原則,例如循序漸進的學習麯綫、閤理的難度遞增、以及巧妙的謎題設置,幫助你設計齣既有挑戰性又不至於令人沮喪的關卡。 成就係統與激勵機製: 如何讓玩傢持續地投入遊戲?我們將探討成就係統、排行榜、收集要素等激勵機製的設計,它們能有效地提升玩傢的參與度和忠誠度。 數據持久化與設置: 如何保存玩傢的遊戲進度?如何讓玩傢自定義遊戲設置?你將學習如何利用UserDefaults、Core Data等技術來管理遊戲的數據,為玩傢提供個性化的遊戲體驗。 第五部分:走嚮發布——將你的遊戲呈現給世界 當你的遊戲開發工作接近尾聲,將其順利發布到App Store便是最後也是最激動人心的一步。 App Store優化(ASO)基礎: 如何讓你的遊戲在App Store中被更多人發現?我們將介紹ASO的基本概念,包括關鍵詞的選擇、App圖標的設計、截圖的優化以及描述的撰寫,幫助你的遊戲獲得更高的曝光率。 構建與打包: 你將學習如何使用Xcode來構建和打包你的iOS應用程序,包括配置簽名證書、生成Provisioning Profiles等必要步驟。 App Store Connect流程: 從創建開發者賬號到提交App進行審核,再到最終的發布,我們將詳細梳理App Store Connect的操作流程,讓你輕鬆應對發布過程中的各種環節。 後續維護與更新: 遊戲發布並非終點,持續的維護和更新是保持遊戲生命力的關鍵。我們將探討如何收集用戶反饋、修復bug,以及如何通過後續更新為遊戲添加新內容,不斷提升玩傢體驗。 《iOS遊戲開發:從創意到實現 [Tap,Move,Shake: Turning Your Game]》不僅僅是一本書,它是一套完整的遊戲開發路綫圖。我們將通過大量的代碼示例、清晰的圖示以及貼近實際的開發場景,引導你一步步掌握iOS遊戲開發的精髓。從你手中的設備,到App Store的首頁,你將不再是旁觀者,而是那個用雙手創造無限可能的開發者。準備好,讓你的遊戲夢想,在這個屬於你的舞颱上,閃耀光芒。