§5.0概览
在本书的第一部分你学习了所有关于XNA Framework、借助于SpriteBatch 类渲染 2D 图像, 你也制造了一些有趣的游戏。 现在是探索3D图像编程世界的时候了,这令人兴奋得多。创建3D游戏比起仅仅装配一款2D游戏是繁重多多的工作,不过许多游戏不可能离开3D 图像技术中的长足进步。一些游戏也可能是2D的,像策略游戏,历来最成功的策略游戏(StarCraft、WarCraft、Command & Conquer、Age of Empires) 表明2D 游戏还是非常流行。不过如果你看一看射击游戏,没有3D图像就不可能了,更好的更真实化的图像常常给游戏带来更多的乐趣。其他游戏类型像beat-them-ups、探险、体育游戏等等,也受益于最近几年的图像进步。当然,Pong 和早期的网球游戏在10或20年前很有趣,不过和今天的体育游戏不能相提并论。
对于快速创建2D游戏,XNA是一个好框架,即使你只是一个人,你能够快速汇总一个游戏创意、制作一些图像或者找到某人为你的游戏制作一些图像,然后就是花几个星期或者几个月来编写整个游戏的事。
可是,最多的游戏程序员对创建3D游戏感兴趣得多,几乎每个人会犯一个共同的错误,就是把它们自己的游戏和最成功的游戏做对比,那些游戏是花了大型游戏工作室多年时间所创作的。如果你是一个人,可能不能和下一个EA游戏竞争,它有一个超过100人为之工作的有经验的游戏工作室,即使你认为他们的游戏没有你想象中的好。
但是不要紧,我们中大多数人进入游戏开发只是因为喜欢创作游戏,并且通常因为我们认为自己能做出比所有其它家伙好得多的游戏。一个好消息:虽然很难创建一款完全成熟的3D游戏,你必须从某处开始,正如我们所说的进入3D编程世界正变得越来越容易。许多大网站、指南、框架、书籍可以获得,快速指导那些甚至没有经验的的程序员进入创建3D游戏图像的第一步。
因为已经有如此多的资源可以获得,我不再关注于数学基础、如何使用矩阵、或者其它3D图像基础。它只会令许多已经了解它的程序员生厌,本书将拿出更多的篇幅给更有趣的工程项目。在第一章我用同样的方式告诉你应该从阅读一本C#书籍开始,如果你没有C#经验,我建议如果你真的想知道所有3D图形的基础,为之拾起一本书。如果你之前和Direct3D或者OpenGL打过交道,你很好入门,应该已经知道所有的基础了(但愿这里的大多数读者是)。
本章以首先写下必要条件,为之创建单元测试,然后对于每一个你需求的新类深入细节的经典路线进行。正如本章名称所示,你的目标是为本书余下的所有项目和游戏,创建你自己的图像引擎和基本框架。来自上一章的Tetris游戏也有许多有用的辅助类和一些新的图像类 在本章中它们将被重构,并且你将添加一些新的类。重构意味着这些类要重新编写以适应你的新需求。
发布时间:2008/6/30 上午11:36:59 阅读次数:6021