可曾想象,有朝一日你会自己写一个计算机游戏然后靠它赚钱?有了Apple的iTunes App Store及其配套移动设备,如iPhone、iPod Touch和iPad,要实现这个梦想不再是一件难事。当然,这并不表示开发一个游戏有多简单,你仍然需要学习很多游戏开发和编程的知识。不过,既然你选择了阅读本书,我就有理由相信你已经下定决心踏上这条游戏开发之路了。恭喜你你选择了一个可能是全世界最有趣的游戏开发引擎——iPhone版cocos2d。
使用cocos2d的开发者可能有很多不同的专业背景,来自不同的领域。有些人(比如我)可能是已经从事游戏开发好几年甚至几十年的专业人士,还有一些人可能是刚开始接触iOS平台游戏开发,甚至有些人是刚转行加入这一充满激情的游戏开发领域。不管你属于哪一类人,我保证,看完这本书一定能够有所收获。
是这样一种信念让我们走到一起:我们都热爱游戏,也热爱设计和编写游戏。本书十分推崇这种信念,并会向读者介绍一些能够帮助简化游戏开发过程的工具。最重要的是,这本书会教大家写一些很有借鉴意义的小游戏,从中你可以学会如何把一些理论知识运用到现实的游戏开发中。
有些书会整页整页地教读者怎样用一些特定的游戏编程API来写一个无聊的战机类太空游戏(Asteroids),我读到这种书的时候总是觉得特别没劲。我觉得一本好书应该向大家介绍游戏编程的理念和开发工具,因为这些东西是永恒的,不会随着API或编程喜好的变化而变化。我读编程书籍和游戏开发书籍已经有20多年了,我认为最有价值的书是那些高于技术本身的,是能够让我明白为什么这个地方会这样设计、这样编程、这样做有什么好处的书。所以本书不仅会关注游戏代码的含义,更会关注它的工作原理以及在哪些处理上需要根据情况权衡利弊。
我希望你能学着写出一些有价值的、能在App Store上热卖并且受玩家欢迎的游戏。我会介绍这本书里的示例游戏背后深藏的思想和技术理念,当然,我也会告诉你在游戏编程中如何使用cocos2d和Objective-C。本书源代码中有大量注释,它们可以帮助你正确地理解代码的含义。
学习别人的源代码并且根据注释去关注一些重要设计对我来说是学习新知识的最好方法(我想它对你来说也会是一个很棒的方法)。你可以对这本书的随书源代码加以修改,进而做出自己的游戏。我非常期待在不久的将来能够玩到你的游戏!完成你的游戏千万别忘了告诉我!你可以通过我的邮箱(steffen@learn-cocos2d.com)联系我,也可以登录我的网站(http://www.learn-cocos2d.com)来给我留言。
1.1 选择iPhone版cocos2d的理由
游戏开发者在选择游戏引擎时首先会对他们要选择的产品做一些评估。综合以下因素,我认为cocos2d对许多开发者来说会是一个非常棒的选择。
1.1.1 免费
首先,cocos2d是免费的。不需要花钱就可以用它来进行开发。其次,你可以随心所欲地开发iPhone、iPod和iPad应用,无论免费还是收费都可以。说真的,这是完全没有附加限制的。
cocos2d几乎是由Ricardo Quesada一个人开发出来的。假如你想资助他对cocos2d进行一些后续开发,或者想购买他的一些收费源码工程项目,可以登录http://www.cocos2d-iphone. org/store访问cocos2d Store。
1.1.2 开源
cocos2d的第二个好处就是它是开源的,这就意味着你可以自由地学习游戏引擎的源代码,或者在需要时对引擎作些改动。可以从http://www.cocos2d-iphone.org/download下载源代码。
1.1.3 Objective-C
另外,cocos2d是用Objective-C编写而成的,Objective-C是苹果公司用于开发iPhone应用程序的本地编程语言(native programming language)。由于iPhone SDK也是用Objective-C编写而成的,因此对于使用cocos2d的开发者来说,要理解苹果公司的官方文档和使用iPhone SDK提供的API并不困难。
其他很多有用的API,如Facebook Connect和OpenFeint,也是用Objective-C编写而成的,所以要集成它们也非常容易。