转自木木二进制_Learning_XNA_3_0 译文

来源:互联网 发布:网络信息收集组织 编辑:程序博客网 时间:2024/04/27 10:48

 

序言

  过去的几年我一直在纽蒙特大学教授DirectXXNA游戏开发课程,并且我再三的对自己没能找到适合这些课程的书籍而觉得失落。有关这个主题的书籍有许多,但是没有一本让我觉得适合我的课程目标(面向熟悉C#的听众的大学水平游戏开发入门课),或者说那些书的内容没有以一种我觉得合适的风格和顺序来呈现。

  许多书籍要求太多游戏或图形开发的预备知识,不然就是假定读者具有非游戏开发相关的极少量知识,再者就是对第三方库依赖太多,或者以一种让新接触游戏开发的读者违背直觉的顺序来组织书中的内容。

  我发现从一本书的第3章跳到另一本书的第18章,然后跳回原来的书看第8章和第2章,等等。期间我用自己创作的幻灯片,示例代码和文档来弥补书上的不足。

  最后,我决定用一些我为XNA游戏开发课程所创作的内容,以这些为题材写一些材料在课堂上使用。最初我只是简单的写一些文章和随笔给学生。后来我意识到学校以外的大量读者或许也能从这些材料中受益。我联系了O'Relly出版,然后就有了大家手上的这本书。

  从我的XNA游戏开发教学经验中我能够察觉到哪些知识点对学生来说是障碍,哪些又很容易理解。同样我也创造了一种简单易懂的方法以合理和容易接受的顺序来呈现书中的内容。这本书既是遵照这样一种顺序,并且以一种能帮助读者充分理解各个独立话题的方式来讲述。

本书为谁而写

  本书为掌握.Net FrameworkC#(或相关技术)基础的读者介绍游戏开发,不要求读者之前有XNA,图形或游戏方面的开发经验或知识。

本书如何组织

  本书在带领读者漫步三个不同的XNA游戏的开发过程中向读者介绍XNA游戏开发的相关概念。但是大部分内容对其他平台的游戏开发也是适用的。第8章和第16章分别集中讲述微软Zune多媒体播放器和Xbox360游戏机的游戏开发。

  本书第一部分带领读者用XNA开发一个2D游戏,下面是组成这个部分的章节:

1 起步

  简单的为你介绍XNA,开发XNA游戏需要的工具和XNA Game Stduio 3.0的安装。

2 精灵的乐趣

  介绍2D精灵,透明度,排序次序,移动,帧速率,精灵层还有动画。

3 用户输入和碰撞检测

  涵盖键盘,鼠标和Xbox360手柄的输入处理和实现简单的碰撞检测。

4 使用面向对象设计

  讨论并实现游戏组件,将面向对象类层次结构应用到您的游戏设计中。

5 声音和音效

  介绍Microsoft Cross-Platform Audio Creation Tool (XACT),还有使用新的简化的声音API为您的游戏(PC,Xbox360, Zune)添加声音。

6章人工智能基础

    介绍人工智能学科的种类和人工智能基础概念,并且类层次中使用自己定义的派生类来为您的精灵实现不同的行为。

7 整合

   完成2D游戏的最后一步,包括2D文本,分数,添加不同类型的精灵,背景图片,游戏状态和宝物(power-ups)

8 部署到Microsoft Zune

   将前面章节开发的2D游戏转换并部署到Zune上。大多数代码是Zune适用的,需要改变的是声音部分,输入部分和图像的分辨率以适用于Zune,这样部署就完成了。

   下一个部分将带领读者走过一个3D PC游戏的开发。在这部分的末尾,会将游戏部署到Xbox360上。

9 3D游戏开发

   讨论坐标系统,摄像机,图元的绘制,3D空间中物体的平移,旋转和缩放。另外也将谈到表面的裁剪和贴图。

10 3D模型

   介绍3D模型,3D模型在3D空间的绘制,旋转和移动。

11 创建一个第一人称摄像机

   带领读者实现一个基于第一人称的摄像机;实现向前向后的移动,平移,偏航(yaw),俯仰(pitch)和翻滚(roll)

12 3D碰撞检测和射击

   深入研究射击移动中敌人的代码,创建一个射击目标,在3D空间中移动它,并且用包围球处理3D空间中的碰撞检测;为游戏添加一个3D准星HUD和音效。

13 HLSL基础

   介绍高级着色语言(High Level Shader Language)语法和在XNA中使用HLSL所需要编写的代码;用HLSL实现多种图像处理效果。

14 粒子系统

   带领读者实现一个用来创造爆炸粒子效果的自定义顶点和粒子。

15 完成您的3D游戏

   微调您的3D游戏,包括启动画面,游戏状态,分数和宝物。

16 部署到Xbox360

   带领读者将Xbox360连接到PC,并且谈论了XBoxPC用户输入与分辨率的差异。

   本书的最后一部分带领读者用XNA开发一个网络游戏。这一部分只有一章,以之前所有的章节为基础,在开发一个新的XNA游戏的过程中专注于讨论XNA的网络功能。

17 多人游戏

   通过分屏功能来介绍多人游戏的概念和网络;包括网络体系结构,网络状态,通过消息包通信和游戏玩家服务。