前言

     直到最近,把Xbox 360当作一个平台来开发家用游戏才成为可能。对于大多数人来说,创建控制台游戏是绝对不可能的,不仅因为SDK很贵,还因为根本就得不到这样的SDK,或者没有任何的开发信息可以使用。

     这一切都已经改变了。微软新发布的XNA Framework使得开发家用跨平台(Windows和Xbox 360)游戏成为了可能。XNA不仅仅是一个新的框架,而且是现今最好的游戏开发框架,您不需要使用其他的语言或工具就可以轻松创建功能强大的游戏,当您看了本书中包含的所有游戏之后就会明白为什么我敢这么说。如果没有XNA,我不可能在这么短的时间内开发出一个像Racing Game这样好的游戏。

本书面向的读者

     本书面向的读者很广泛。首先您要对C#编程有所了解,如果您使用C++或者Java的话也可以轻松地转到这个开发语言。如果您之前没有任何高级编程语言的开发经验,我建议您先找一本好的C#教程看看。即使没有编程经验,本书还是为即将成为游戏编程人员的读者列举了很多提示和技巧。但是,为了更好地使用本书,您要理解所有的示例并进行实际的编码。本书大多数章节的组织编排顺序,无论是对初学者,还是有经验的人都是适用的。要写出成功的游戏,您所需要的就是乐意去学习本书介绍的游戏编程技术,以及探索电脑游戏世界并不断前进的欲望。

本书内容以及组织结构

     第一部分——“XNA Framework基础”,主要介绍XNA的基础,您将学习与XNA Framework和XNA Game Studio Express有关的一切。即使您已经知道了一些基础知识,第1章还是介绍了很多有用的提示和技巧。第2章介绍了您的第一个游戏的创作过程,虽然这个游戏很简单,但这里所学的东西对您后面的学习很有帮助。第3章和第4章将创建更多的游戏,不过更重要的是这里将创建您的游戏引擎的基础结构。

     借助第一部分创建的一些辅助类(helper class),在第二部分——“基本图像引擎”中写游戏引擎将非常容易,可以把重点集中在3D模型和Shader处理部分。因为XNA中的一切都是基于Shader的(因为没有固定的功能渲染-fixed function rendering),所以大部分时间都会在讨论Shader、正规映射(normal mapping)、屏幕特效(post-screen effects)等等。在第二部分的最后将介绍游戏Rocket Commander XNA,它融合了前面章节介绍的所有Shader以及游戏引擎。

     第三部分——“改进您的游戏引擎”,又返回到基础部分讨论声音、UI、用户输入处理以及用一种更好的方式管理您的游戏引擎。基于XNA图像引擎以及游戏Rocket Commander,您将创建一个新的游戏叫做“XNA Shooter”,它是一个非常好玩的老游戏,支持3D图像和高级Shader特效。

     第四部分——“写一个Racing Game”,您将使用学到的所有知识在XNA中创建一个竞速游戏。这一部分重点讨论一些高级主题,像landscape、3D track rendering、创建并处理物理引擎以及很多新的Shader技术,比如shadow mapping、detail mapping和使用最优化的方式来渲染以达到最佳性能。

     如果您已经准备好了开始学习XNA游戏开发,我建议您继续往下读并从第1章“XNA简介”开始。祝您好运能写出自己的第一个游戏,最重要的是要玩得开心!我希望您能享受到本书带给您的快乐,就像我写本书时享受到的一样。

源代码

     在您使用本书示例的时候,您可以把所有代码都手工输入一遍,或者下载本书附带的源代码。本书使用的所有源代码,包括在XNA中创建Racing Game的所有代码,可以在这个地方下载:http://www.wrox.com(译者注:本书的介绍页面是http://www.wrox.com/WileyCDA/WroxTitle/productCd-0470126779.html)。当您进入站点以后,找到书的标题,在书的详细信息页面点击“Download Code”链接就可以获取本书的所有代码了。

     提示:由于很多书的标题都非常相像,您可以使用本书的ISBN号来快速查询,本书的ISBN是:978-0-470-12677-6。

     下载代码之后,使用您最喜欢的解压缩工具把它解压。另外,您也可以到Wrox的代码下载页面http://www.wrox.com/dynamic/books/download.aspx 查看本书以及其他所有Wrox图书的源代码。

勘误表

     尽管我们已经尽了各种努力来保证文章或代码不出现错误,但人无完人,错误还是会出现。如果您在我们的本书中发现了错误,像拼写错误或者代码错误,请反馈给我们,我们会非常感激。通过勘误表,可以让其他读者避免受挫,同时您也在帮助我们提供更高质量的信息。

     访问http://www.wrox.com,找到本书标题,在本书详细页面点击“Book Errata”链接,就可以进入本书的勘误表页面,在该页面中您将看到所有本书的勘误信息列表。

     如果在这个勘误列表中没有列出您发现的错误,可以访问www.wrox.com/contact/techsupport.shtml ,填写其中的表单把错误发给我们。我们会检查这些信息,如果核实的话,会把它添加到勘误列表页面,并在后续版本中修正这些错误。

P2p.Wrox.com

     P2P论坛是为作者和读者之间的交流而建立的,您可以到p2p.wrox.com加入P2P论坛。这个论坛是一个基于Web的系统,您可以在上面发布与Wrox出版的书籍或者与相关技术有关的信息,还可以和其他读者以及技术人员接触交流。它还提供了订阅功能,当有新内容发布的时候,它会通过Email的方式给您发送您感兴趣的话题。Wrox的作者、编辑以及其他业界专家,还有您的读者伙伴都会出现在这个论坛上。

     在http://p2p.wrox.com您会发现很多不同的版块都可以帮助您,不仅仅是帮助您阅读本书,还可以帮助您开发自己的应用程序。要加入该论坛,请按照下面的步骤进行:
          (1) 访问p2p.wrox.com 点击“注册(Register)”链接
          (2) 阅读用户使用条款(Terms Of Use),并点击“同意(Agree)”
          (3) 填写必要的注册信息以及您愿意提供的选填信息,并点击“提交(Submit)”
          (4) 您会收到一封Email来确认您的注册帐户并完成注册过程

提示:您可以在这个论坛中阅读信息而不必注册,但如果要发布您自己的信息,则必须注册并登录。

     加入论坛之后,您就可以发布新的信息,还可以回复其他人发布的信息,您可以随时访问站点获取信息。如果您想通过Email的方式获取某个版块的最新信息,可以订阅该版块。

     有关如何使用Wrox P2P的更多信息,可以查看P2P FAQs,而且可以了解和P2P和Wrox图书有关的常见问题。要查看FAQs,在每个P2P页面上点击“FAQ”链接即可。