3D游戏开发大全——高级篇

3D游戏开发大全——高级篇"

作者:徐明亮
ISBN:9787302162582
定价:¥58
字数:千字
页数:
出版时间:2007.11.01
开本:
版次:1-1
装帧:
出版社:清华大学出版社
简介

前言

  

  

  “Finney,我买了您的书(本书的姊妹篇《3D游戏开发大全》,译者注),觉得它好棒啊!但是在那本书中您为什么只是简短地涉及了一些方面,而没有介绍更多的主题呢?”

  我收到了很多对《3D游戏开发大全》(以下简称为3DGPAI1)一书感到满意的读者向我发来的表示赞美的电子邮件。但是,也有不少热心读者提出了批评,抱怨我没有在3DGPAI1中包含他们所关心的这个或那个主题。对于我来说,万幸的是, 他们并没有组织起来—— 我可不希望发生这样的事情:当我眺望窗外时,却发现一群手持干草叉、高举火把的人们向我聚拢而来。

  但是,他们并非暴民,而是一群和您一样热爱电脑游戏的人,而且他们相信自己能比游戏软件开发巨头制作出更好的游戏作品,他们正在影响着游戏开发行业的发展。

  那么您知道吗,您(以及他们)的想法可能是正确的。但直到最近仍存在这样一个问题:许多富有创造力和天赋的人缺乏开发资金和其他资源的支持,而这些又是刚刚开始制作游戏时支付开发成本和获得游戏引擎的授权所必需的。

  这种局面正在发生改变。就像本书和3DGPAI1,以及诸如Torque之类的游戏引擎都是这些改变得以发生的原因。

0.1  关于本书的姊妹篇——《3D游戏开发大全》

  如果您尚未看过3DGPAI1这本书,那么请允许我先在这里对它简要地介绍一下:3DGPAI1可以全面地教会您如何使用Torque 游戏引擎开发3D游戏。它涵盖了程序设计基础、使用Torque引擎进行编程、3D图形学基础、使用MilkShape 3D和 QuArK进行3D建模、使用Audacity进行音频处理、使用Paint Shop Pro进行纹理处理,它还给出了TorqueScript(Torque引擎提供的一种脚本语言,译者注)脚本语言的大量使用技巧。尽管3DGPAI1已经比较全面地介绍了关于游戏开发的众多主题,但仍不要奢望那本区区600多页的书能够涵盖游戏开发所涉及的全部内容,所以引来一群举着火把的示威者也就不足为奇了。

0.2  关于本书

  这本书将引导您进一步学习,它将涉及许多更难的技术领域:诸如人工智能、动态皮肤以及对游戏引擎运行机制的更深入剖析等。我们还将通过研究TorqueScript脚本语言的goodie-box来揭示它的实现机制,从而使您的游戏开发水平有一个较大的提升。

0.2.1  您需要准备什么

  学习本书,您需要安装一个合适的计算机操作系统。假定您现在使用的是Windows XP系统,当然,您也可以使用其他Windows版本。

  这并不是一本如3DGPAI1那样适合初学者学习的书。如果您已经购买了3DGPAI1,并且在使用它后获得了不错的学习效果,那么您一定也可以在本书中获得同样的体验,当然,这也不是绝对的。

  1. 技能

  如果您是一名非常全面的程序员(不管用什么编程语言),或者您有过使用Valve’s Hammer 或3D Max等工具建模的工作经验,那么您不用参考3DGPAI1一书中的基础内容部分,也可以很好地跟上本书。

  阅读本书时您应该比较熟悉以下计算机相关操作:找到Windows文件夹和硬盘上某一位置的路径、使用 Windows的shell 命令(cmd.exe)、创建快捷方式和编辑它们的属性。

  2. 系统 

  您需要一台基于Windows系统的计算机来配合学习这本书(以下给出系统的最低配置要求)。如果您使用的是Macintosh或者 Linux系统,也可以使用本书来制作一款游戏,因为本书中所使用的Torque游戏引擎也适用于这些操作系统。但是,并不是所有要用到的开发工具在Mac 和Linux 系统下都可用,因此这本书将主要以基于Intel系列的Windows 操作系统作为开发平台。

  系统需求

  处理器 最低配置为Pentium III/800MHz

  操作系统 Windows 98/ME /2000/XP

  显卡 三维加速器卡,NVidia GeForce2-32MB或者更好的

  显示器 推荐17英寸的显示器

  输入设备 键盘和鼠标

  内存 最低配置为128MB,推荐256MB

  硬盘 最低配置为4GB

  光驱    最低配置为CD-R

  并且,我还建议您使用好一点的新型声卡,并且能够使用宽带上网。

0.2.2  本书将提供什么

  为了能使您最大限度地利用好本书,建议购买Torque 游戏引擎的使用授权,现在您只需付100美元就可获得它的使用授权。如果您已获得该授权,就可以去GarageGames网站(www.garagegames.com) 下载最新版本的社区资源,其中包含很多本书没有涉及到的技术。

  本书所使用的Torque版本是Torque Release v1.3。在您下载Torque引擎演示demo的网址http://www.garagegames.com/makegames/上,您也能找到Torque Release v1.3的可执行文件和demo的代码。本书所有的章节练习都使用了TorqueScript脚本语言,但并没有讨论和涵盖任何关于Torque引擎的核心代码或者集成于该引擎中的C/C++代码模块。

0.2.3  本书附带的CD

  本书所附带的CD中包含了大量的资源:Torque引擎及几种自定义构件(custom build)、基于TorqueScript脚本语言的游戏源代码和艺术作品资源、开发工具和使用Torque引擎开发的一些游戏的demo版本。

  1. 源代码

  本书附带的CD中包含了所有示例和答案的TorqueScript脚本代码。示例文件按每章的内容排列,完整demo的脚本文件都包含在它所在章节的对应文件夹里。

  2. 游戏引擎

  本书附带的CD中包含一个完整的Torque游戏引擎:可执行文件、动态链接库(DLL)、所有需要的GUI组件和相关支持文件。Torque 游戏引擎功能全面,具有高级网络通信处理能力,支持动画融合技术,具有内置于服务器端的防作弊能力,支持BSP技术,提供一个强大且完全面向对象的脚本语言(类似于C++),以及许多其他高级功能。

  3. 工具

  大多数标准工具集(正如在3DGPAI1中所建立的)在本书附带的CD中都提供了。尽管我们不可能面面俱到地介绍这些工具的使用细节,但是它们确实可以为您开发游戏带来方便。这些工具包括最新版本的MilkShape 3D、QuArK和UltraEdit-32。

  4. 其他内容

  在本书附带的CD中,还有一个名为 EXTRAS的文件夹,它包含了使用Torque引擎制作的demos和游戏,它们面向Windows、Macintosh和Linux操作系统。此外, Macintosh 和Linux系统下的Torque 游戏引擎v1.3版本中demo的安装文件也包含在此。

0.3  现在就动手吧!

  我一直这样告诉人们:如果您想成为一个不因人成事的成功者,则需要对自己正在做的事情投入极大的热情。如果您总是原地不动不停地做那些缺乏热情、斤斤计较、功利而盲目的商业决定的话,就不可能成为一个有所成就的独立开发者。随时随地都会出现一个满腔热情,目光敏锐的家伙准备超越您!

  那么,现在您应该知道自己该做什么了吧!

  首先,赶上那个家伙或者和他结成强有力的联盟,以本书所提供的知识作为强大武器,那么机会就是您的啦。

  

  

  

  

  

  

  

  

目录

 

第Ⅰ部分  高级脚本编程

第1章  多目标环境 3

1.1  TorqueScript脚本语言 3

1.2  3D数学预览 4

1.3  可玩性 5

1.4  制作‘Bots 7

 1.4.1  AI概念 7

 1.4.2  继续上一个话题 8

 1.4.3  群体动力学 9

1.5  艺术性 9

 1.5.1  细节 10

 1.5.2  入口 11

 1.5.3  光照 12

 1.5.4  外皮脱卸 12

1.6  本章小结 13

第2章  使用TorqueScript脚本

    语言 15

2.1  Torque 项目的组织 15

2.2  安装Torque 16

2.3  TorqueScript概览 18

2.4  问题解决机制 18

 2.4.1  日志 19

 2.4.2  编译器错误检查 20

 2.4.3  清除字节码模块 21

 2.4.4  调试输出说明 21

 2.4.5  使用trace函数 22

 2.4.6  使用dump函数 23

 2.4.7  使用游戏中的对象

       浏览器 26

 2.4.8  TorqueScript源代码

       调试器 27

2.5  对象 36

 2.5.1  创建对象 36

 2.5.2  操作对象 37

2.6  数据块对象 39

 2.6.1  创建数据块对象 42

 2.6.2  数据块的声明 43

2.7  ScriptObject 43

 2.7.1  创建一个ScriptObject 44

 2.7.2  使用ScriptObject 44

2.8  文件处理 45

 2.8.1  export语句 45

 2.8.2  文件对象 46

2.9  使用字符串 47

 2.9.1  标记字符串 47

 2.9.2  转义序列 48

2.10  本章小结 49

第3章  向量和矩阵 51

3.1  向量 51

 3.1.1  向量的定义 52

 3.1.2  向量的用法 57

3.2  矩阵 64

 3.2.1  使用矩阵的好处 66

 3.2.2  矩阵的用法 66

3.3  TorqueScript的应用技巧 70

 3.3.1  一个变换的小程序 71

 3.3.2  旋转 74

3.4  本章小结 77

第4章  在3D下使用TorqueScript 79

4.1  门的旋转 79

 4.1.1  门资源 80

 4.1.2  门的旋转代码 81

 4.1.3  门的旋转操作测试 92

4.2  门的滑动 94

 4.2.1  门资源 94

 4.2.2  门代码 94

 4.2.3  滑动门的测试 102

4.3  warping 102

 4.3.1  离开任务区 103

 4.3.2  准备工作 103

 4.3.3  脚本代码 105

 4.3.4  warp测试 107

4.4  本章小结 107

第Ⅱ部分  人 工 智 能

第5章  轻松进入人工智能世界 111

5.1  对人工智能的错误理解 112

5.2  人工智能的应用领域 112

 5.2.1  路径查找(searching)

       和路径规划(routing) 113

 5.2.2  规则和专家系统 113

 5.2.3  逻辑和不确定性 114

 5.2.4  自然语言处理 116

 5.2.5  神经网络 116

5.3  群体思想 118

5.4  近期发展趋势展望 119

5.5  本章小结 120

第6章  游戏中的人工智能 121

6.1  行为 121

 6.1.1  感知 121

 6.1.2  行动 123

 6.1.3  反应 123

 6.1.4  学习 124

6.2  ‘Bot的定义 125

 6.2.1  敌对者 127

 6.2.2  同盟者 129

 6.2.3  派别成员 131

 6.2.4  群体行为 132

 6.2.5  cheatbot 133

6.3  本章小结 134

第7章  虚拟敌人 135

7.1  具有静态行为的AI角色 135

 7.1.1  准备工作 137

 7.1.2  代码的修改 141

 7.1.3  aiGuard模块 141

 7.1.4  继续研究守卫 157

7.2  跟踪路径 158

 7.2.1  制定一条路径 158

 7.2.2  应用路径 160

7.3  追逐 162

7.4  本章小结 163

第8章  AI交互技术 165

8.1  步骤 165

8.2  代码 167

 8.2.1  准备工作 167

 8.2.2  AITServer模块 169

 8.2.3  AITClient 模块 175

 8.2.4  AITCommands模块 180

 8.2.5  AITGui模块 183

 8.2.6  AITScript文件 186

 8.2.7  AIT资源 188

 8.2.8  制作AIT脚本 188

8.3  AI角色对话系统的测试 189

8.4  本章小结 191

第9章  群体行为 193

9.1  完美的群体 194

 9.1.1  准备工作 194

 9.1.2  群体的模块 196

 9.1.3  代码测试 202

9.2  一个追逐群体 203

9.3  本章小结 206

第Ⅲ部分  强化游戏编程

第10章  损害控制 209

10.1  生命值 210

 10.1.1  player.cs脚本模块中的

         关键特征 212

 10.1.2  添加能量条 224

 10.1.3  损害与能量的关联 226

10.2  打击位置 227

10.3  砰、砰、轰隆隆! 228

 10.3.1  准备工作 229

 10.3.2  代码 230

 10.3.3  惊奇的桶爆炸测试 237

10.4  疯狂的巡逻车 237

 10.4.1  巡逻车的损害处理

         代码 237

 10.4.2  巡逻车的爆炸 240

10.5  在玻璃房子中生活 242

 10.5.1  准备工作 242

 10.5.2  代码 245

 10.5.3  窗户的测试 252

10.6  本章小结 253

第11章  让一切变得更真实 255

11.1  现实世界的地形 256

 11.1.1  DEM文件格式 256

 11.1.2  将DEM转换为高度图

         (Heightmap)格式 257

 11.1.3  Torque的准备工作 259

 11.1.4  游戏地形中的高度图 259

11.2  植被 264

 11.2.1  森林 264

 11.2.2  牧场 266

11.3  本章小结 269

第12章  效果优化 271

12.1  士兵身上的光芒 271

 12.1.1  日升、日落 274

 12.1.2  制作光晕效果 278

12.2  无处不在的水 281

 12.2.1  水的表现形态 281

 12.2.2  水的杀伤力 288

12.3  水中漫步 291

12.4  本章小结 291

第13章  PHP创建联机游戏服务 293

13.1  PHP和Apache 294

 13.1.1  Apache的安装 294

 13.1.2  设置 295

 13.1.3  安装PHP 296

 13.1.4  连接Apache和PHP 299

13.2  使用Web的游戏内部

   服务 300

13.3  游戏内部的信息抢夺者 300

13.4  身份验证 304

 13.4.1  PHP身份验证代码 305

 13.4.2  TorqueScript 代码 306

13.5  本章小结 313

第Ⅳ部分  强化游戏建模

第14章  结构建模 317

14.1  细节层次 318

 14.1.1  示范 318

 14.1.2  细节层次 322

 14.1.3  实现 324

 14.1.4  怪兽角色的操作

         细节 330

14.2  实体 332

 14.2.1  入口 332

 14.2.2  演示 333

 14.2.3  创建与放置入口 334

14.3  光照 335

 14.3.1  静态光照 336

 14.3.2  动画光照 337

 14.3.3  光照测试 338

14.4  本章小结 340

第15章  形体建模 341

15.1  细节层次化 342

 15.1.1  创建板条箱 342

 15.1.2  玩家化身 347

15.2  本章小结 352

第16章  可变外皮 355

16.1  板条箱 357

 16.1.1  资源和准备工作 357

 16.1.2  代码 358

 16.1.3  使用可变外皮的

         板条箱 359

16.2  一切就绪,预备,出发! 362

 16.2.1  就绪…… 362

 16.2.2  预备…… 363

 16.2.3  出发! 365

  

  

  

  

  

  

  

  

  

  

  

16.3  空闲状态时的外皮变换 366

 16.3.1  设置 366

 16.3.2  代码 366

 16.3.3  Mr.Box演示 369

16.4  本章小结 370

16.5  实践! 370

附录A  Torque游戏引擎参考 371

A.1  TorqueScript函数参考 372

A.2  Torque参考表 425

附录B  附加资源 445

B.1  本书中附加的TGE Build 

     代码资源 445

B.2  Internet上的游戏开发

     资源 445

B.2.1  与Torque相关的Web

   站点 446

B.2.2  游戏开发Web站点 446

B.3  游戏开发工具参考 450

B.4  共享软件和免费软件

     工具 451

B.4.1  建模 451

B.4.2  程序编辑 452

B.4.3  音频编辑 452

B.4.4  其他 452

B.5  零售工具 453

B.6  GNU一般公众许可证 454

  

  

  

  

  

  

  

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个