《iPhone游戲開發(fā)實踐指南》前言
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:國際域名空間、網(wǎng)頁空間、營銷軟件、網(wǎng)站建設、雷山網(wǎng)站維護、網(wǎng)站推廣。編寫游戲不是一項輕松的任務,即使你是個經(jīng)驗豐富的程序員,游戲的設計模式、術(shù)語和思考過程看上去也會有點奇怪和不合常規(guī)。由于我的大部分工作時間都投入到了創(chuàng)建商業(yè)應用程序上,因此編寫游戲只能算是一項業(yè)余愛好,這些年來我的孩子們享受著玩我編寫的游戲的樂趣。隨著iPod touch和iPhone的發(fā)布,我覺得是時候?qū)⑽业囊豢钣螒蚬加谑懒恕?/p>
我的首要任務是找一本開發(fā)iPhone游戲方面的優(yōu)秀書籍。經(jīng)過大量搜尋,我認為我想找的書并不存在。由于從我寫的大量在線教程上獲得了很多反饋,我決定自己寫一本書。對于我來說,這是一個絕佳的機會,去編寫一本我一直想要的游戲編程方面的書。
這些年來,我閱讀了許多游戲開發(fā)方面的書籍,但還是覺得不夠。盡管它們提供了許多創(chuàng)建游戲需要的各個部分的知識,也包含了許多小例子,但是從未包括編寫出一個足夠發(fā)布的完整的程序的全過程。我一直認為,一本好書應該告訴讀者創(chuàng)建游戲需要什么,同時也應該展示在一個完整的游戲項目中應該如何實現(xiàn)每個組件。
所以,《iPhone游戲開發(fā)實踐指南》不只是介紹在iPhone上編寫游戲需要的組件和技術(shù),也會介紹創(chuàng)建一個完整的游戲Sir Lamorak's Quest: The Spell of Release的全過程。從App Store上可以免費下載此游戲,你可以通過它來學習如何編寫游戲。
下載游戲
可以通過如下網(wǎng)址從AppStore中下載游戲Sir Lamorak's Quest:http://itunes.apple.com/us/app/sir-lamoraks-quest-the-spell /id368507448?mt=8。此游戲是免費的,下載后就可以開始玩了,試著幫助Sir Lamorak逃出城堡!
本書介紹了創(chuàng)建二維游戲的必要組件,涵蓋了諸如OpenGL ES和OpenAL的技術(shù),以及必要的關(guān)鍵游戲引擎組件,如精靈表、動畫、觸摸輸入和聲音等。
《iPhone游戲開發(fā)實踐指南》的每一章都詳細介紹該游戲中的一個特定組件,以及支持該組件的技術(shù),例如貼圖地圖編輯器,或者嘗試用OpenGL ES創(chuàng)建的一些特效。介紹完功能和技術(shù)后,緊接著會介紹在游戲Sir Lamorak's Quest中實現(xiàn)這些組件的細節(jié)。這種理論和實現(xiàn)相結(jié)合的方式,有助于填補其他開發(fā)書籍留下的空白。
關(guān)于游戲Sir Lamorak's Quest
1982年我得到了48KB的Sinclair Spectrum游戲電腦作為圣誕禮物,由此開始了玩游戲的經(jīng)歷。從那刻開始我沉迷于計算機,并從此與之結(jié)緣。
一想到要為此書開發(fā)的游戲,我就想到了20世紀80年代玩的那些游戲。這些游戲當初給我留下深刻的印象,盡管它們在視覺上并不是很炫目,但是玩起來還是很有意思的。
我在游戲設計上花了很多時間,不僅包括游戲中人物的設計,還包括如何在iPhone上實現(xiàn)游戲設計。游戲的一個關(guān)鍵方面在于它應該玩起來自然隨意—即其觀念應該簡單并易于學習,而且玩家可以在不丟失進度的前提下隨意開始和停止游戲。
同時我希望游戲的控件能很輕易地被玩家識別出來,因此我決定實現(xiàn)一個屏幕上的手柄來控制主要角色。然而讓玩家能移動手柄位置也很重要,那樣的話慣用左手和右手的玩家都能覺得舒適。
對于游戲情景本身,我決定采取我在20世紀80年代玩的那些游戲中的設計觀念,即玩家被困在一個廢棄的城堡中,他需要找到一個魔咒幫助他逃離城堡。
本書的組織結(jié)構(gòu)
《iPhone游戲開發(fā)實踐指南》總共分16章,每章具體講解創(chuàng)建游戲Sir Lamorak's Quest的一個特定領域,各章簡介如下:
第1章“游戲設計”—本章描述設計游戲Sir Lamorak's Quest時的設計因素。本章會深入講解開始創(chuàng)建游戲時的想法。雖然本章并不涵蓋每個類別的游戲需要的所有可能的游戲設計決定,但確實會講解最重要的設計決定。
第2章“術(shù)語、技術(shù)和工具”—即使資深程序員也會被這3個單詞搞混。本章介紹創(chuàng)建游戲Sir Lamorak's Quest和其他游戲時使用的基本技術(shù)、術(shù)語和工具。本章將幫助讀者了解貫穿本書的術(shù)語和技術(shù)。
第3章“開始探索旅程”—從本章開始我們將正式關(guān)注代碼并往iPhone屏幕上渲染點東西。本章涉及用Xcode中的OpenGL ES樣例項目創(chuàng)建第一個項目的過程,詳細講解該樣例并為下一章設置好場景。
第4章“游戲循環(huán)”—任何游戲的核心都是游戲循環(huán)。循環(huán)負責確保所有的游戲元素(諸如AI和渲染)在正確的時間按正確的步驟執(zhí)行。這聽起來很簡單,但是由于有很多種涉及游戲循環(huán)的方法,所以也不是那么簡單。本章將介紹這些方法,并詳細介紹游戲Sir Lamorak's Quest使用的方法。
第5章“圖像渲染”—將圖像繪制到屏幕上是任何游戲的基本要求。本章簡單介紹OpenGL ES,運行一些已經(jīng)創(chuàng)建好的類來簡化圖像的創(chuàng)建和渲染過程。
第6章“精靈表”—精靈表是包含很多小圖像的大圖像。精靈表用于減少內(nèi)存中存儲的獨立圖像的數(shù)目,并減少OpenGL ES需要綁定以改善性能的紋理數(shù)目。創(chuàng)建動畫精靈時也會用到精靈表。本章介紹創(chuàng)建精靈表(其中包括游戲中要使用的圖像)的過程,無論其維度是固定或可變的。
第7章“動畫”—用精靈表存儲了動畫中需要的不同幀后,本章描述如何將單獨的圖像組合成動畫,如玩家角色跑動的動畫。
第8章“點陣字”—與游戲玩家進行交互比較常見的方法是使用文本信息。能將操作指南和信息(例如玩家的分數(shù)或如何使用游戲的指導)渲染到屏幕上十分重要。本章描述如何用開源工具將任何字型轉(zhuǎn)換成點陣字。創(chuàng)建好點陣字后,本章會介紹如何創(chuàng)建精靈表,用來存儲渲染字型的字符時用到的圖像。同時本章詳細介紹游戲 Sir Lamorak's Quest中用到的Bitmap字型類,它提供了一個簡單的API用于渲染文本信息到屏幕上。
第9章“貼圖地圖”—使用貼圖地圖可以用一系列小圖像創(chuàng)建出大型游戲世界。開發(fā)人員經(jīng)常在內(nèi)存有限時使用這種方法來創(chuàng)建大型游戲世界(想想任天堂的超級馬里奧兄弟吧),在早期的家庭游戲系統(tǒng)中尤為如此。 直到現(xiàn)在,貼圖地圖技術(shù)還是很受歡迎的,本章將描述使用開源貼圖編輯工具來創(chuàng)建貼圖地圖,同時也會介紹將這些地圖渲染到屏幕上的類。
第10章“粒子發(fā)射器”—許多游戲都有令人難以忘懷的特效,如火、爆炸、煙霧和火花等。這些特效通常是用粒子系統(tǒng)創(chuàng)建出來的。粒子系統(tǒng)負責創(chuàng)建和控制很多粒子;每個粒子都有自己的諸如大小、形狀、方向、顏色和生命周期等屬性。在其生命周期中,粒子的位置、速度、顏色和大小都會基于其設置發(fā)生變化。本章將詳細介紹如何創(chuàng)建粒子系統(tǒng),并用此來產(chǎn)生許多基本特效。
第11章“聲音”—即使在現(xiàn)在的現(xiàn)代游戲中,將聲音反饋給玩家依然是十分重要的。本章將介紹iPhone的媒體播放器功能和OpenAL,以及介紹如何用這些技術(shù)在游戲中播放酷酷的音跡和3D音效。
第12章“用戶輸入”—本章將介紹如何用iPhone的獨特觸控技術(shù)和加速器功能來控制游戲。本章詳細描述如何同時獲取和處理多點觸控,以及如何在游戲中獲取和使用加速器的數(shù)據(jù)。
第13章“游戲界面”—本章著眼于游戲Sir Lamorak's Quest中游戲界面的實現(xiàn),包括如何處理旋轉(zhuǎn)事件以確保正確顯示用戶界面,以及如何混合使用OpenGL ES和UIKit界面控件等。
第14章“游戲?qū)ο蠛蛯嶓w”—當玩家在游戲Sir Lamorak's Quest的城堡中走動時,我們希望他能找到和撿起對象并能和壞人進行戰(zhàn)斗。本章描述如何實現(xiàn)游戲Sir Lamorak's Quest中的對象和實體。
第15章“碰撞檢測”—如果玩家和壞人能穿過墻壁和門,游戲就看起來很糟糕,所以有必要檢測玩家和對象間,或者玩家與游戲中的對象和實體間的碰撞。本章描述不同類型的碰撞檢測,并介紹如何在游戲Sir Lamorak's Quest中實現(xiàn)它們。
第16章“組裝起來”—到此時為止,本書已經(jīng)介紹了很多基礎內(nèi)容。然而,讀者還可以為自己的游戲錦上添花。本章介紹在手機來電導致玩家退出游戲時如何保存游戲狀態(tài)。同時介紹使用儀表進行的單元檢測以及如何對游戲進行β測試等內(nèi)容。
本書的目標讀者
《iPhone游戲開發(fā)實踐指南》是為那些有程序開發(fā)經(jīng)驗但沒有開發(fā)過計算機游戲的開發(fā)人員準備的。盡管本書假設讀者已經(jīng)有利用Objective-C編程的經(jīng)驗,但每章都會提供Objective-C和其他技術(shù)的相關(guān)知識,以供讀者了解其概念和實現(xiàn)。
讀者閱讀完本書后,能掌握如下知識:對于游戲Sir Lamorak's Quest的游戲引擎的深度認識,以及創(chuàng)建2D游戲引擎需要的關(guān)鍵能力和需要考慮的事項。本書將使你具備使用本書中的游戲引擎進行自己的游戲開發(fā)的能力,或者簡單利用創(chuàng)建游戲的知識來使用其他可用的iPhone游戲引擎(例如Cocos2D)的能力。
如果你已經(jīng)開發(fā)過iPhone應用,但想將注意力從實用應用轉(zhuǎn)到游戲上,那么本書就是為你準備的。本書建立在讀者已有的開發(fā)知識之上,通過描述需要的術(shù)語、技術(shù)和工具以及提供實際的實現(xiàn)例子,帶領讀者進入游戲開發(fā)的領域。
不適合本書的讀者
《iPhone游戲開發(fā)實踐指南》講的是二維平面游戲,如果你的興趣不在這里,比如說你感興趣的是用OpenGL ES來應用三維圖形,那么本書并不適合你。
在閱讀本書之前,希望你已經(jīng)對Objective-C、C、Xcode和Interface Builder有了一定的了解。盡管本書中描述的實現(xiàn)已經(jīng)盡量簡化,并且限制在C語言下進行開發(fā),對于其他語言的堅實基礎也是很有必要的。
如下書籍會提供一些基礎:
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).
這些圖書和其他一些網(wǎng)上的資源可以幫助你了解更多如何為Mac和iPhone編程的信息,并加深對Objective-C和Cocoa框架的理解。
下載源代碼
除了《iPhone游戲開發(fā)實踐指南》之外你還可以了解很多信息。游戲Sir Lamorak's Quest的完整的帶有注釋的源代碼可以從InformIT.com下載。
本書通篇穿插了大量的代碼,并為讀者準備了很多練習,但是讀者仍然很有必要閱讀蘋果為開發(fā)者準備的工具,諸如Xcode和iPhone SDK等。可以從Apple iPhone Dev Center下載這些資源。
作者簡介
白天,Micheal Daley在為世界上大的商業(yè)軟件公司工作,該公司的主要顧客為大型企業(yè)。晚上,Micheal學習如何為iPhone手機構(gòu)建游戲。Micheal最開始用BASIC在Sinclair Spectrum 48KB上編寫歷險游戲,后來進一步發(fā)展到在Commodore 64和Amiga A500上寫游戲。他從未停止對游戲編程的熱愛,自iPhone問世后,Micheal開始學習Objective-C和如何為iPhone創(chuàng)建游戲。
許多年來Micheal為自己的孩子編寫了很多游戲,iPhone的發(fā)布讓他想為更多的人編寫游戲,而不僅僅是為自己的孩子。對于學習并應用新的技術(shù),Micheal很有熱情。同時他也是個Apple粉絲,在最新的Apple設備上投入了大量時間和金錢。
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡助力業(yè)務部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統(tǒng)配攻擊溯源,準確進行流量調(diào)度,確保服務器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務器買多久送多久。