偶然的机会发现XNA写2D游戏很方便,当然也可以写3D的,正好现在放寒假了,我想系统地、仔细地学习一下XNA,这里有一个对此书的翻译http://www.cnblogs.com/eros/archive/2009/04/09/1432142.html,而我想看看英文的,希望这个寒假坚持把书看完吧。好了,现在开始翻译序言吧。(声明:版权属于作者,我只是出于学习的目的,不得用于商业用途)
序言
最近几年我在Neumont大学教授DirectX和XNA游戏开发课程,并且我一再地因不能找到合适这些课程的书而沮丧。这方面有很多书,但我觉得没有一本适用于我的课程(面向熟悉C#的读者介绍大学层次的游戏开发课程),或者以一种我感到合适的方式和顺序写的教材。
许多书要求太多先修的游戏或图像开发知识。其它的书假定了太少的无游戏无关的开发概念。还有一些书依赖太多的第三方库,或者是以一种与游戏开发新手的直观想反的顺序写的。
我发现自己从一本书的第3章左右跳到了另外一本书第18章,然后又回到原先那本书的第8章和第2章,如此等等,当我用幻灯片、代码例子和文档填补那些空白时,我创造出我自己的书了。
最后,我决定采用我已为我的XNA游戏开发的内容并为课堂的使用写了一些有关这个主题的材料。最初,我打算仅仅创造些论文和文章给这些学生们,然后我意识到大学外的许多人也可能从这些材料中受益。我联系了O‘Reilly出版社,接下来的事大家已知道了。
通过我教授XNA游戏开发的经历,我能知道哪些点常常难倒学生,哪些点常常容易理解。我也发展了一种我觉得相当直接的方式,以容易理解的顺序来写这些材料。这本书就被设计成这种顺序,用有助于读者全面理解每个主题的方式来介绍各种概念。
本书读者
对于那些有基础的.NET和C#知识的人来说,本书是一本相当好的介绍游戏开发的书。不需要先前有XNA或其他游戏或图像开发经历或知识。
本书组织结构
本书介绍XNA游戏开发的各种概念同时使读者经历三个不同的XNA游戏开发。虽然大多数材料一般都可应用于各种平台的开发,但第8章和16章分别是专门讨论Zune和Xbox 360上游戏开发的。
本书第一部分带领读者进行一个2D游戏的开发。这里是组成这部分的几章:
第1章,开始
使你遨游下XNA的简短介绍、开发XNA游戏的工具、XNA Game Studio3.0的安装。
第2章,Sprites的乐趣
介绍2D的sprites、透明、排序、运动、帧率、sprite表和动画。
第3章,用户输入和碰撞检测
覆盖的输入设备有键盘、各类鼠标和X box 360手柄,还有碰撞检测的实现。
第4章,应用一些面向对象设计
讨论和实现游戏组件并应用了一个面向对象的类层次来进行你的游戏设计
第5章,声音效果和Audio
介绍Microsoft跨平台音频制作工具(XACT),还有用新简化的音频API方法来添加声音到你PC、Xbox360和Zune上的游戏里。
第6章,基础人工智能
解释人工智能科学的性质并引进基本人工智能概念;也涉及在你的类层次中创建自定义派生类来实现不同的Sprites行为
第7章,综合
把学会的技巧放入2D游戏中,包括2D文本、得分、加入不同类型的Sprite(精灵)、背景图像、游戏状态和电源管理。
第8章,部署到MicrosoftZune
把之前章节中创作的2D游戏转换到Zune上。大部分代码适用,但是要变动音频和用户输入,还要处理Zune上的小屏幕尺寸。这样就部署到Zune上了。
本书的下一部分使读者经历一个PC上的3D游戏开发。在本节最后,游戏会被调整以部署到Xbox360上。这里是这部分的章节:
第9章,3D游戏开发
讨论坐标系统、摄相机和绘制基本对象,还有3D空间中对象的移动、旋转和伸缩。裁剪和纹理表面也被讨论了。
第10章,3D模型
介绍3D模型并讨论绘制、旋转和移动3D模型。
第11章,创建第一人称摄像机
使读者涉及3D中基于向量的第一人称摄像机的创建;实现向前和向后运动,strafing,和巡航角、俯仰角、横滚角的旋转。
第12章,3D碰撞检测和Shooting
在对移动的敌人的代码后探寻,创建一个射击物体,在3D空间中移动,并用有界球处理碰撞检测;一个3D的十字星HUD和音频效果也被加到游戏里。
第13章,HLSL基础
介绍高级着色语言(HLSL)语法和实现,还有XNA中使用HLSL效果需要的代码;很多图像操作特效用HLSL实现。
第14章,粒子系统
使读者涉及到自定义顶点和用于创建爆炸特效的粒子的实现。
第15章,包装你的3D游戏
使用覆盖屏幕、游戏状态、得分和电源管理来调整3D游戏
第16章,部署到Xbox360
使读者了解连接Xbox360和PC,并部署到Xbox360;讨论在PC和Xbox360中用户输入和屏幕解析的差异。
这本书的最后一部分使你涉及到在XNA中创建网络游戏。这个部分假定之前所有章节的知识并由一章组成,这章集中于一个新的XNA游戏创建时XNA中的网络功能。
第17章,多玩家游戏
通过分屏和网络来介绍多玩家概念;话题包括网络架构、网络状态、通过包通信和游戏服务。
最后在附录,你会发现在每章后面的小测验的答案。