您好,登錄后才能下訂單哦!
《iPhone游戲開發實踐指南》前言
編寫游戲不是一項輕松的任務,即使你是個經驗豐富的程序員,游戲的設計模式、術語和思考過程看上去也會有點奇怪和不合常規。由于我的大部分工作時間都投入到了創建商業應用程序上,因此編寫游戲只能算是一項業余愛好,這些年來我的孩子們享受著玩我編寫的游戲的樂趣。隨著iPod touch和iPhone的發布,我覺得是時候將我的一款游戲公布于世了。
我的首要任務是找一本開發iPhone游戲方面的優秀書籍。經過大量搜尋,我認為我想找的書并不存在。由于從我寫的大量在線教程上獲得了很多反饋,我決定自己寫一本書。對于我來說,這是一個絕佳的機會,去編寫一本我一直想要的游戲編程方面的書。
這些年來,我閱讀了許多游戲開發方面的書籍,但還是覺得不夠。盡管它們提供了許多創建游戲需要的各個部分的知識,也包含了許多小例子,但是從未包括編寫出一個足夠發布的完整的程序的全過程。我一直認為,一本好書應該告訴讀者創建游戲需要什么,同時也應該展示在一個完整的游戲項目中應該如何實現每個組件。
所以,《iPhone游戲開發實踐指南》不只是介紹在iPhone上編寫游戲需要的組件和技術,也會介紹創建一個完整的游戲Sir Lamorak's Quest: The Spell of Release的全過程。從App Store上可以免費下載此游戲,你可以通過它來學習如何編寫游戲。
下載游戲
可以通過如下網址從AppStore中下載游戲Sir Lamorak's Quest:http://itunes.apple.com/us/app/sir-lamoraks-quest-the-spell /id368507448?mt=8。此游戲是免費的,下載后就可以開始玩了,試著幫助Sir Lamorak逃出城堡!
本書介紹了創建二維游戲的必要組件,涵蓋了諸如OpenGL ES和OpenAL的技術,以及必要的關鍵游戲引擎組件,如精靈表、動畫、觸摸輸入和聲音等。
《iPhone游戲開發實踐指南》的每一章都詳細介紹該游戲中的一個特定組件,以及支持該組件的技術,例如貼圖地圖編輯器,或者嘗試用OpenGL ES創建的一些特效。介紹完功能和技術后,緊接著會介紹在游戲Sir Lamorak's Quest中實現這些組件的細節。這種理論和實現相結合的方式,有助于填補其他開發書籍留下的空白。
關于游戲Sir Lamorak's Quest
1982年我得到了48KB的Sinclair Spectrum游戲電腦作為圣誕禮物,由此開始了玩游戲的經歷。從那刻開始我沉迷于計算機,并從此與之結緣。
一想到要為此書開發的游戲,我就想到了20世紀80年代玩的那些游戲。這些游戲當初給我留下深刻的印象,盡管它們在視覺上并不是很炫目,但是玩起來還是很有意思的。
我在游戲設計上花了很多時間,不僅包括游戲中人物的設計,還包括如何在iPhone上實現游戲設計。游戲的一個關鍵方面在于它應該玩起來自然隨意—即其觀念應該簡單并易于學習,而且玩家可以在不丟失進度的前提下隨意開始和停止游戲。
同時我希望游戲的控件能很輕易地被玩家識別出來,因此我決定實現一個屏幕上的手柄來控制主要角色。然而讓玩家能移動手柄位置也很重要,那樣的話慣用左手和右手的玩家都能覺得舒適。
對于游戲情景本身,我決定采取我在20世紀80年代玩的那些游戲中的設計觀念,即玩家被困在一個廢棄的城堡中,他需要找到一個魔咒幫助他逃離城堡。
本書的組織結構
《iPhone游戲開發實踐指南》總共分16章,每章具體講解創建游戲Sir Lamorak's Quest的一個特定領域,各章簡介如下:
第1章“游戲設計”—本章描述設計游戲Sir Lamorak's Quest時的設計因素。本章會深入講解開始創建游戲時的想法。雖然本章并不涵蓋每個類別的游戲需要的所有可能的游戲設計決定,但確實會講解最重要的設計決定。
第2章“術語、技術和工具”—即使資深程序員也會被這3個單詞搞混。本章介紹創建游戲Sir Lamorak's Quest和其他游戲時使用的基本技術、術語和工具。本章將幫助讀者了解貫穿本書的術語和技術。
第3章“開始探索旅程”—從本章開始我們將正式關注代碼并往iPhone屏幕上渲染點東西。本章涉及用Xcode中的OpenGL ES樣例項目創建第一個項目的過程,詳細講解該樣例并為下一章設置好場景。
第4章“游戲循環”—任何游戲的核心都是游戲循環。循環負責確保所有的游戲元素(諸如AI和渲染)在正確的時間按正確的步驟執行。這聽起來很簡單,但是由于有很多種涉及游戲循環的方法,所以也不是那么簡單。本章將介紹這些方法,并詳細介紹游戲Sir Lamorak's Quest使用的方法。
第5章“圖像渲染”—將圖像繪制到屏幕上是任何游戲的基本要求。本章簡單介紹OpenGL ES,運行一些已經創建好的類來簡化圖像的創建和渲染過程。
第6章“精靈表”—精靈表是包含很多小圖像的大圖像。精靈表用于減少內存中存儲的獨立圖像的數目,并減少OpenGL ES需要綁定以改善性能的紋理數目。創建動畫精靈時也會用到精靈表。本章介紹創建精靈表(其中包括游戲中要使用的圖像)的過程,無論其維度是固定或可變的。
第7章“動畫”—用精靈表存儲了動畫中需要的不同幀后,本章描述如何將單獨的圖像組合成動畫,如玩家角色跑動的動畫。
第8章“點陣字”—與游戲玩家進行交互比較常見的方法是使用文本信息。能將操作指南和信息(例如玩家的分數或如何使用游戲的指導)渲染到屏幕上十分重要。本章描述如何用開源工具將任何字型轉換成點陣字。創建好點陣字后,本章會介紹如何創建精靈表,用來存儲渲染字型的字符時用到的圖像。同時本章詳細介紹游戲 Sir Lamorak's Quest中用到的Bitmap字型類,它提供了一個簡單的API用于渲染文本信息到屏幕上。
第9章“貼圖地圖”—使用貼圖地圖可以用一系列小圖像創建出大型游戲世界。開發人員經常在內存有限時使用這種方法來創建大型游戲世界(想想任天堂的超級馬里奧兄弟吧),在早期的家庭游戲系統中尤為如此。 直到現在,貼圖地圖技術還是很受歡迎的,本章將描述使用開源貼圖編輯工具來創建貼圖地圖,同時也會介紹將這些地圖渲染到屏幕上的類。
第10章“粒子發射器”—許多游戲都有令人難以忘懷的特效,如火、爆炸、煙霧和火花等。這些特效通常是用粒子系統創建出來的。粒子系統負責創建和控制很多粒子;每個粒子都有自己的諸如大小、形狀、方向、顏色和生命周期等屬性。在其生命周期中,粒子的位置、速度、顏色和大小都會基于其設置發生變化。本章將詳細介紹如何創建粒子系統,并用此來產生許多基本特效。
第11章“聲音”—即使在現在的現代游戲中,將聲音反饋給玩家依然是十分重要的。本章將介紹iPhone的媒體播放器功能和OpenAL,以及介紹如何用這些技術在游戲中播放酷酷的音跡和3D音效。
第12章“用戶輸入”—本章將介紹如何用iPhone的獨特觸控技術和加速器功能來控制游戲。本章詳細描述如何同時獲取和處理多點觸控,以及如何在游戲中獲取和使用加速器的數據。
第13章“游戲界面”—本章著眼于游戲Sir Lamorak's Quest中游戲界面的實現,包括如何處理旋轉事件以確保正確顯示用戶界面,以及如何混合使用OpenGL ES和UIKit界面控件等。
第14章“游戲對象和實體”—當玩家在游戲Sir Lamorak's Quest的城堡中走動時,我們希望他能找到和撿起對象并能和壞人進行戰斗。本章描述如何實現游戲Sir Lamorak's Quest中的對象和實體。
第15章“碰撞檢測”—如果玩家和壞人能穿過墻壁和門,游戲就看起來很糟糕,所以有必要檢測玩家和對象間,或者玩家與游戲中的對象和實體間的碰撞。本章描述不同類型的碰撞檢測,并介紹如何在游戲Sir Lamorak's Quest中實現它們。
第16章“組裝起來”—到此時為止,本書已經介紹了很多基礎內容。然而,讀者還可以為自己的游戲錦上添花。本章介紹在手機來電導致玩家退出游戲時如何保存游戲狀態。同時介紹使用儀表進行的單元檢測以及如何對游戲進行β測試等內容。
本書的目標讀者
《iPhone游戲開發實踐指南》是為那些有程序開發經驗但沒有開發過計算機游戲的開發人員準備的。盡管本書假設讀者已經有利用Objective-C編程的經驗,但每章都會提供Objective-C和其他技術的相關知識,以供讀者了解其概念和實現。
讀者閱讀完本書后,能掌握如下知識:對于游戲Sir Lamorak's Quest的游戲引擎的深度認識,以及創建2D游戲引擎需要的關鍵能力和需要考慮的事項。本書將使你具備使用本書中的游戲引擎進行自己的游戲開發的能力,或者簡單利用創建游戲的知識來使用其他可用的iPhone游戲引擎(例如Cocos2D)的能力。
如果你已經開發過iPhone應用,但想將注意力從實用應用轉到游戲上,那么本書就是為你準備的。本書建立在讀者已有的開發知識之上,通過描述需要的術語、技術和工具以及提供實際的實現例子,帶領讀者進入游戲開發的領域。
不適合本書的讀者
《iPhone游戲開發實踐指南》講的是二維平面游戲,如果你的興趣不在這里,比如說你感興趣的是用OpenGL ES來應用三維圖形,那么本書并不適合你。
在閱讀本書之前,希望你已經對Objective-C、C、Xcode和Interface Builder有了一定的了解。盡管本書中描述的實現已經盡量簡化,并且限制在C語言下進行開發,對于其他語言的堅實基礎也是很有必要的。
如下書籍會提供一些基礎:
Cocoa Programming for Mac OS X,Third Edition byAaron Hillegass (Addison-Wesley, 2008).
Learning Objective-C 2.0,by Robert Clair (Addison-Wesley,2011).
Programming in Objective-C 2.0,by Stephen G. Kochan(Addison-Wesley,2009).
Cocoa Design Patterns,by Erik M. Buck and Donald A.Yacktman (Addison-Wesley,2009).
The iPhone Developer's Cookbook,Second Edition,by Erica Sadun (Addison-Wesley,2010).
Core Animation: Simplified Animation Techniques for Mac and iPhoneDevelopment, by Marcus Zarra and Matt Long (Addison-Wesley,2010).
iPhone Programming:The Big Nerd Ranch Guide,by AaronHillegass and Joe Conway (Big Nerd Ranch,Inc.,2010).
這些圖書和其他一些網上的資源可以幫助你了解更多如何為Mac和iPhone編程的信息,并加深對Objective-C和Cocoa框架的理解。
下載源代碼
除了《iPhone游戲開發實踐指南》之外你還可以了解很多信息。游戲Sir Lamorak's Quest的完整的帶有注釋的源代碼可以從InformIT.com下載。
本書通篇穿插了大量的代碼,并為讀者準備了很多練習,但是讀者仍然很有必要閱讀蘋果為開發者準備的工具,諸如Xcode和iPhone SDK等。可以從Apple iPhone Dev Center下載這些資源。
作者簡介
白天,Micheal Daley在為世界上最大的商業軟件公司工作,該公司的主要顧客為大型企業。晚上,Micheal學習如何為iPhone手機構建游戲。Micheal最開始用BASIC在Sinclair Spectrum 48KB上編寫歷險游戲,后來進一步發展到在Commodore 64和Amiga A500上寫游戲。他從未停止對游戲編程的熱愛,自iPhone問世后,Micheal開始學習Objective-C和如何為iPhone創建游戲。
許多年來Micheal為自己的孩子編寫了很多游戲,iPhone的發布讓他想為更多的人編寫游戲,而不僅僅是為自己的孩子。對于學習并應用新的技術,Micheal很有熱情。同時他也是個Apple粉絲,在最新的Apple設備上投入了大量時間和金錢。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。