总结

漫长的一章和漫长的一本书。但考虑到这是我写的第一本书,我还是希望你能喜欢它,并从游戏示例中学到东西。我很喜欢本书的游戏示例,我认为编写游戏的实践方法能帮助初学者,对于高级读者可以跳过简单的部分,并看看游戏编程世界中的更复杂的东西。

这本书几乎涵盖所有学习XNA和游戏的知识,但每个专题分布在不同章节中。例如,物理学一章对于一些普通物理计算也是有用的,但把它与赛车游戏联系在一起能更容易地思考问题。即使你想使用其他物理计算开发一个完全不同的游戏,您也会从中受益,你测试物理引擎时可能会形成一些解决物理问题早期构思。

祝贺你读完了这本书,但你不应该停下来。希望您急于开始编写自己的图形引擎项目或以本书的一个游戏为基础编写自己的游戏。

以下是本书所有议题的一个简单列表:

  • 在第1章之后只介绍了XNA框架和第一个简单的游戏项目,您在第2章创建了一个Pong游戏。在这里您学习了正确使用单元测试、规划整个项目和并写下一个好的游戏构思的基本知识。在技术方面你学会了如何使用精灵,处理输入,播放声音,并做了一些基本的二维碰撞检测。这个游戏可以在同一个屏幕上处理多个玩家。

  • 第3章中,讨论了几个非常重要的辅助类,但只有辅助类还不能制作出一个有趣的游戏,所以本章有创建了一个新:Breakout,它使用了Pong的一些游戏逻辑,但可以挑战自己而不是Pong游戏中的其他选手或愚蠢的人工智能。

  • 第4章讨论了游戏组件,并介绍了如何制作经典游戏:俄罗斯方块。这里制作了一些游戏组件并一直用到了本书最后,但使用游戏组件做一切事情的常规思路并没有没此书的任何游戏采用,这没有任何意义。
  • 第二部分(5-8章)专注于为后面的游戏项目开发一个基本的图形引擎。第5章介绍了如何使模型,为3D代码、材质、字体和线条进行单元测试,最后还在Xbox 360游戏机上做了一些测试。章6至8关注与shader,一个大而复杂的问题,但每章你都会更深入了解shader。第8章以Rocket Commander游戏结束,借助于开发的图形引擎现在已经移植到XNA框架。
  • 第三部分(9-11章)是有关改善游戏引擎的知识。你学会了如何正确使用XACT,如何处理所有的游戏屏幕类、游戏引擎、用户界面和用户输入类。为了让事情更有趣,介绍了XNA Shooter游戏,它看起来真的很棒,玩起来也很有趣。一些较先进的议题如阴影映射也首次被提及,但这些难的东西留到了第四部分。

  • 最后,第四部分(12-14章)的重点是赛车游戏,复杂的地貌和赛道生成代码和游戏中使用的物理引擎。您也学习了游戏屏幕和游戏逻辑的知识以及如何进行测试和调整如赛车游戏一样的较大的游戏项目。最后编写了Speedy Racer改编版本以及如何在现有游戏引擎的基础上创建自己的改编版本。

本章还讨论了很多关于游戏开发进程的最后阶段的东西,但不幸的是大部分游戏项目在发表alpha版本前就已经取消了。许多初学者在遇到一些无法解决的问题时放弃了游戏开发。希望这本书可以给他们一个参考,帮助他们知道编写游戏整个过程,或至少重用一些现有的游戏引擎,而不是重新发明轮子并太早放弃。

也许将来本书还会有后继版本,我也将不断更新我的博客,如果你想阅读更多的内容可去我的博客看看。我也总是乐于接受来自于新的游戏程序员的电子邮件,看到以我的游戏引擎为基础开发的新游戏项目或更多的改编游戏。