下载 >  开发技术 >  其它 > 源代码-游戏编程精粹7-Part3AI

源代码-游戏编程精粹7-Part3AI

源代码-游戏编程精粹7-Part3AI。。。。。。。。。。。。。。
2011-11-18 上传大小:3.41MB
分享
收藏 举报
《设计模式》DELPHI版

)《设计模式》DELPHI版 Areca Chen翻译 内容很不错。

立即下载
游戏编程精粹》合集1-7 清晰扫描版 PDF Part 8

经典著作《游戏编程精粹》系列。我这里收集了1-7卷合集。因为只能上传60M以内的,所以只能分卷上传。

立即下载
虚拟城市游戏

虚拟城市游戏

立即下载
游戏人工智能编程案例精粹 + pdf + 源码

游戏人工智能编程案例精粹 + pdf + 源码( 游戏 人工智能 源码)

立即下载
游戏编程精粹

游戏编程精粹游戏编程精粹游戏编程精粹游戏编程精粹游戏编程精粹游戏编程精粹游戏编程精粹

立即下载
游戏编程精粹1~8 目录

游戏编程精粹系列1~8的目录(word) 其中1~7为中文,8为英文 另我的资源中有1,2,3,4,6,8的电子书下载

立即下载
游戏编程精粹》AI程序设计源代码

《游戏编程精粹》AI程序设计源代码《游戏编程精粹》AI程序设计源代码

立即下载
游戏编程精粹5.(GAME.Programming.Gems.5).(美).Kim.Pallister.扫描版.pdf

游戏编程精粹5.(GAME.Programming.Gems.5).(美).Kim.Pallister.扫描版.pdf

立即下载
游戏编程精粹8

中文名: 游戏编程精粹8 原 名: Game Programming Gems 8 作 者: Adam Lake 内容介绍: 本书为《Game Programming Gems》系列的第八卷。在这一版当中,我们将广泛地探讨重要的实时图形方面,如Larrabee, PlayStation 3, 以及DirectX 11计算着色器。此外在本书中,处在第一线的业内顶级开发商如:Blizzard,id, Bizarre Creations, Nexon,以及Intel's Advanced Visual Computing group,还分享了他们如何以最佳的方式利用图形硬件为游戏创建高品质视觉效果的真知灼见。

立即下载
源代码-游戏编程精粹7

源代码-游戏编程精粹7,源代码.。。。。。。。。。。。

立即下载
游戏编程精粹》光盘源代码

《游戏编程精粹》光盘源代码

立即下载
源代码-游戏编程精粹7-Part2

源代码-游戏编程精粹7-Part2......。。。。。。。。。。

立即下载
游戏人工智能编程案例精粹_全部源代码和exe

经典书籍《游戏人工智能编程案例精粹》配套的源代码,人民邮电出版社官网下载的,给一分带走。

立即下载
[pdf文件] 游戏编程精粹7(中文版).pdf

[pdf文件] 游戏编程精粹7(中文版).pdf

立即下载
游戏编程精粹5--详细书签版

CruiseYoung提供的带有详细书签的电子书籍目录 http://blog.csdn.net/fksec/article/details/7888251 游戏编程精粹5 基本信息 原书名: Game Programming Gems 5 原出版社: Charles River Media 作者: (美)Kim Pallister 译者: 孟宪武 出版社:人民邮电出版社 ISBN:9787115163950 上架时间:2007-8-31 出版日期:2007 年9月 开本:16开 页码:572 版次:1-1 所属分类:计算机 > 游戏 > 游戏编程 编辑推荐   ·秉承“游戏编程精粹”系列的优秀品质。    ·汇集全球数十位游戏游戏开发精英撰写的62篇技术文章。    ·每篇文章针对游戏编程中的某一特定问题给出解决方案游戏,并提供实用算法和源代码。    ·覆盖开发的关键领域。 内容简介   本书是著名技术丛书“游戏编程精粹”系列书的第5卷,由全球60多位优秀游戏开发精英撰写的文章汇集而成。书中每篇文章都针对游戏编辑中的某一特定问题给出解决方案,并提供实用算法和源代码。全书由7章组成,包括通用编程、数学、人工智能、物理、图形图像、音频以及网络和多人游戏,覆盖了当前游戏开发中的所有关键技术领域。本书附光盘一张,提供书中所有的源程序和演示程序。   本书适合游戏开发专业人员阅读。专家级开发人员可以立刻应用书中介绍的技巧,而初中级程序员通过阅读本书将增强其技能和知识。本书是游戏程序员必备的参考资料。 作译者   Kim Pallister英特尔公司软件与解决方案小组中的一名技术市场经理。他现在主要关注的是实时3D图形技术与游戏的开发。他为“游戏编程精粹”撰写了大量文章,并曾担任《游戏编程精粹3》通用编程部分的编辑。. Mark DeLoura“游戏编程精粹”系列书创始人。他现任索尼(美国)计算机娱乐公司开发关系经理,关注于游戏平台和未来娱乐产品。... 目录 封面 -50 内容提要 -49 关于随书光盘 -48 序 -47 关于封面图片 -44 前言 -43 作者简介 -40 翻译和审校员 -25 目录 -16 第1章 通用编程 1 引言 2 1.1 面向编辑器的上下文相关HUD 3 1.1.1 问题 3 1.1.2 解决方案 6 1.1.3 实现 7 1.1.4 用户控制 10 1.1.5 总结 11 1.1.6 参考文献 11 1.2 在游戏中解析文本数据 12 1.2.1 开始之前 12 1.2.2 token到底是什么 12 1.2.3 编写词法分析器 13 1.2.4 工作原理 14 1.2.5 制定自己的格式 15 1.2.6 解析token列表 17 1.2.7 总结 18 1.2.8 参考文献 18 1.3 基于组件的对象管理 19 1.3.1 除旧迎新 19 1.3.2 组件 20 1.3.3 系统的创建 23 1.3.4 总结 29 1.4 用模板实现一个可在C++中使用的反射系统 30 1.4.1 需求 31 1.4.2 第1部分:运行时类型信息 31 1.4.3 在RTTI的实现中使用模板 31 1.4.4 关于RTTI的其他修改建议 35 1.4.5 第2部分:属性对象 36 1.4.6 属性的存储 38 1.4.7 属性类型 38 1.4.8 属性注册钩子(Hook)函数 39 1.4.9 属性的注册 40 1.4.10 脚本应用 41 1.4.11 Tweaker应用 42 1.4.12 其他应用 42 1.4.13 总结 42 1.4.14 参考文献 43 1.5 可加速BSP算法的球体树 44 1.5.1 BSP算法 44 1.5.2 创建BSP树 45 1.5.3 优化最初步骤 46 1.5.4 总结 51 1.5.5 参考文献 51 1.6 改进后的视锥剔除算法 52 1.6.1 视锥剔除 52 1.6.2 传统的六面法 53 1.6.3 雷达法 1.6.4 这个点在视锥内部吗? 54 1.6.5 球体在哪里? 56 1.6.6 其他应用 56 1.6.7 进一步的改造 58 1.6.8 总结 60 1.6.9 参考文献 60 1.7 通用的分页管理系统 61 1.7.1 老式的分页解决方案:一查到底 61 1.7.2 GP分页解决方案:只检查需要的 62 1.7.3 索引是关键 62 1.7.4 GPtile:空间中的块 65 1.7.5 The world:搜索空间 67 1.7.6 窗口:在GPworld中航行 69 1.7.7 多窗口,多用户 70 1.7.8 优化:多线程分页 71 1.7.9 总结 71 1.7.10 参考文献 71 1.8 基于栈的大规模状态机 72 1.8.1 传统状态机编码及相关问题 72 1.8.2 用C++方法解决游戏状态难题 74 1.8.3 状态接口类 75 1.8.4 状态的堆叠管理:为什么三维比二维好用 75 1.8.5 状态对象管理系统 76 1.8.6 总结 78 1.8.7 参考文献 79 1.9 使用BSP树构造CSG几何体 80 1.9.1 CSG的布尔运算 80 1.9.2 为什么要使用BSP树 84 1.9.3 BSP树的实现 85 1.9.4 组合装配 86 1.9.5 总结 88 1.9.6 参考文献 89 1.10 在游戏中集成Lua 90 1.10.1 Lua的概况 90 1.10.2 Lua与C语言的接口 92 1.10.3 在游戏中嵌入Lua 94 1.10.4 实时性方面的考虑 97 1.10.5 脚本管理框架 99 1.10.6 总结 102 1.10.7 参考文献 102 1.11 用基于policy的设计改进Freelist 103 1.11.1 Freelist概述 103 1.11.2 Policy:雷霆救兵 104 1.11.3 分解Freelist 106 1.11.4 实现Freelist:这是它吗? 107 1.11.5 选择最佳的policy 109 1.11.6 可能性 112 1.11.7 总结 113 1.11.8 参考文献 113 1.12 实时远程调试信息日志生成器 114 1.12.1 对标准化的调试日志的需求 114 1.12.2 数据表示:你可看到我所看到的 115 1.12.3 本文提议的解决方案 115 1.12.4 游戏日志模块 117 1.12.5 可能的改进和扩展 118 1.12.6 总结 118 1.12.7 参考文献 118 1.13 透明的类的保存和加载技巧 119 1.13.1 小窍门 119 1.13.2 FreezeMgr的实现 120 1.13.3 其他几个特性 124 1.13.4 如何使用范例 125 1.13.5 总结 126 1.13.6 参考文献 126 1.14 高效且忽略缓存的ABT树实现方法 128 1.14.1 计算机内存结构 128 1.14.2 ABT树 129 1.14.3 确认阶段 134 1.14.4 总结 134 1.14.5 参考文献 134 1.15 状态机的可视化设计 136 1.15.1 为什么需要代码生成 136 1.15.2 让“可视”成为可能 137 1.15.3 状态的管理 138 1.15.4 系统组装 138 1.15.5 总结 141 1.15.6 参考文献 141 1.16 泛型组件库 142 1.16.1 类型识别系统 142 1.16.2 工厂 143 1.16.3 工厂单例与子工厂 145 1.16.4 DLL工厂 145 1.16.5 组件 146 1.16.6 组件接口 1.16.7 接口版本管理 147 1.16.8 定义组件及其接口 149 1.16.9 组件的使用 150 1.16.10 配置组件库 151 1.16.11 总结 151 1.16.12 参考文献 151 1.17 选择自己的路线——菜单系统 152 1.17.1 为什么需要菜单系统 152 1.17.2 菜单系统的对象 153 1.17.3 总结 158 1.17.4 参考文献 159 第2章 数学 161 引言 162 2.1 在计算机图形学中使用几何代数 163 2.1.1 引言 163 2.1.2 几何代数 164 2.1.3 线性代数 169 2.1.4 词典 171 2.1.5 实例 172 2.1.6 总结以及将来的方向 176 2.1.7 参考文献 177 2.2 最小加速度Hermite曲线 178 2.2.1 连接具有C1连续的最小弯曲曲线 180 2.2.2 封闭的最小弯曲的曲线 181 2.2.3 总结 182 2.2.4 参考文献 182 2.3 动画中基于样条的时间控制 183 2.3.1 开始 183 2.3.2 一般的距离-时间函数 184 2.3.3 根据样条构造距离-时间函数 185 2.3.4 接口选择 191 2.3.5 总结 191 2.3.6 参考文献 191 2.4 快速四元数近似插值 193 2.4.1 使用四元数来表示旋转 193 2.4.2 四元数旋转插值 195 2.4.3 近似算法 196 2.4.4 算法之间的比较 206 2.4.5 Squad相关的计算 207 2.4.6 延伸阅读 208 2.4.7 总结 208 2.4.8 参考文献 208 2.5 极小极大数值近似 209 2.5.1 众所周知的优化 209 2.5.2 什么是理想的近似 210 2.5.3 极小极大近似的介绍 211 2.5.4 误差分析 214 2.5.5 进一步改进近似 215 2.5.6 参考文献 216 2.6 应用于镜面和入口的斜视锥 2.6.1 平面的表示 217 2.6.2 投影矩阵 218 2.6.3 裁剪面的修改 219 2.6.4 OpenGL实现 221 2.6.5 Direct3D实现 224 2.6.6 致谢 225 2.6.7 参考文献 第3章 人工智能 237 引言 228 3.1 利用导航网格实现自动掩体寻找 230 3.1.1 导航网格 230 3.1.2 开放目标寻路 231 3.1.3 搜索掩体位置 232 3.1.4 在掩体间行进 233 3.1.5 团队掩护行为 234 3.1.6 其他功能 235 3.1.7 总结 235 3.1.8 参考文献 236 3.2 使用人工势场实现快速目标评级 237 3.2.1 基本思想 237 3.2.2 公式 3.2.3 势值函数的评估 240 3.2.4 可视化 240 3.2.5 方向场的应用 241 3.2.6 多维扩展 242 3.2.7 总结 243 3.3 利用Lanchester损耗模型来预测战斗结果 244 3.3.1 概述 244 3.3.2 场景1:全体混战 245 3.3.3 场景2:狭窄的石阶 247 3.3.4 场景3:炮战 248 3.3.5 场景4:关底Boss 250 3.3.6 关于战斗力的再讨论 251 3.3.7 局限性 252 3.3.8 总结 252 3.3.9 参考文献 252 3.4 为游戏AI实现一个实用的智能规划系统 254 3.4.1 规划系统的框架 255 3.4.2 规划域 255 3.4.3 一个多主体规划器的例子 258 3.4.4 规划的搜索 262 3.4.5 几个应用问题 263 3.4.6 优化 265 3.4.7 总结 266 3.4.8 参考文献 266 3.5 针对多线程架构的决策树查询算法优化 268 3.5.1 概述 268 3.5.2 注意事项 269 3.5.3 优化 270 3.5.4 总结 273 3.5.5 参考文献 273 3.6 利用并行虚拟机实现AI系统的并行开发 275 3.6.1 功能强大,但不白给 275 3.6.2 核心术语及概念 276 3.6.3 任务的创建 277 3.6.4 任务管理 279 3.6.5 PVM的实现 282 3.6.6 实际应用:即时战略游戏 283 3.6.7 强化游戏性 284 3.6.8 总结 285 3.6.9 参考文献 286 3.7 超越A*算法 287 3.7.1 问题的定义 287 3.7.2 算法 288 3.7.3 算法的改进 290 3.7.4 实现的细节 292 3.7.5 应用实例 292 3.7.6 性能方面的考虑 297 3.7.7 几个前沿问题 298 3.7.8 总结 299 3.7.9 参考文献 299 3.8 实现最小重新规划开销的先进寻路算法:动态A*(D*)算法 301 3.8.1 D*算法 302 3.8.2 D*算法的实现细节 302 3.8.3 实例 303 3.8.4 在游戏中又如何呢? 305 3.8.5 总结 305 3.8.6 参考文献 305 第4章 物理学 307 引言 308 4.1 游戏物理中空气动力学的近似计算 310 4.1.1 背景知识 310 4.1.2 钝体上的作用力 313 4.1.3 流线体上的作用力 315 4.1.4 应用实例 318 4.1.5 总结 319 4.1.6 参考文献 320 4.2 动态青草的模拟和其他自然环境特效 321 4.2.1 水面特效 321 4.2.2 青草的模拟 323 4.2.3 变化传播模型 324 4.2.4 树叶的模拟:模型的应用 325 4.2.5 总结 327 4.2.6 参考文献 327 4.3 使用质点-弹簧模型获得真实的布料动画 328 4.3.1 布料的离散表示 328 4.3.2 作用力 330 4.3.3 动态系统方法 333 4.3.4 仿真模拟 334 4.3.5 结论 334 4.3.6 参考文献 335 4.4 适合游戏开发的实用柔体动画技术:受压柔体模型 336 4.4.1 简化的质点-弹簧模型 337 4.4.2 PSB模型背后的物理学 338 4.4.3 PSB模型的实现 339 4.4.4 典型的质点-弹簧模型 340 4.4.5 PSB步骤 341 4.4.6 体积计算 341 4.4.7 采用预估修正法的Heun积分 342 4.4.8 时间步长的计算速度 342 4.4.9 几个仿真实例 343 4.4.10 进一步的发展 4.4.11 总结 344 4.4.12 源代码说明 345 4.4.13 致谢 345 4.4.14 参考文献 345 4.5 使用反馈控制系统让“布娃娃”活起来 347 4.5.1 现有的研究成果 347 4.5.2 仿真过程的控制 348 4.5.3 行为动作的创建 350 4.5.4 总结 351 4.5.5 致谢 4.5.6 参考文献 351 4.6 预定式物理系统的设计 353 4.6.1 什么是预定式物理系统 353 4.6.2 预定式物理引擎 356 4.6.3 打磨上光 360 4.6.4 龙卷风:一个好的开始 363 4.6.5 总结 365 4.6.6 参考文献 366 4.7 预定式物理系统:相关技术及应用 367 4.7.1 为什么要使用预定式物理系统 367 4.7.2 预定式物理系统 368 4.7.3 应用1:RTS游戏中建筑物的毁坏 369 4.7.4 应用2:跳跃 369 4.7.5 应用3:爆炸特效中的物体运动 370 4.7.6 应用4:浮力 371 4.7.7 应用5:伞兵 371 4.7.8 总结 373 4.7.9 参考文献 373 4.8 三维汽车模拟器中真实的摄像机运动 374 4.8.1 我们需要什么?物理法则 374 4.8.2 我们得到的是什么?偶尔不够真实的运动 375 4.8.3 考察摄像机的控制 376 4.8.4 终极决策:实现人类的行为 377 4.8.5 编程中涉及的问题 379 4.8.6 总结 382 4.8.7 关于演示程序 382 第5章 图形图像 383 引言 384 5.1 在现代GPU上渲染逼真的云彩 386 5.1.1 制造噪音 386 5.1.2 云彩的密度 388 5.1.3 云彩的光照处理 389 5.1.4 优化 390 5.1.5 总结 390 5.1.6 参考文献 391 5.2 下雪吧,下雪吧,下雪吧(下雨吧) 392 5.2.1 使用纹理为粒子束建模 393 5.2.2 渲染雪或雨的视差 393 5.2.3 用锥体模拟摄像机的移动 394 5.2.4 合并到一个矩阵中 394 5.2.5 增加美工控制 395 5.2.6 总结 395 5.2.7 参考文献 395 5.3 Widget:快速渲染和持久化小物体 396 5.3.1 Widget的网格 396 5.3.2 高效地绘制widget 397 5.3.3 裁剪widget 401 5.3.4 总结 403 5.3.5 参考文献 404 5.4 逼真的树木和森林的2.5维替用物 405 5.4.1 引言 405 5.4.2 以前的基于图像的方法 406 5.4.3 改进以前的方法 407 5.4.4 算法 408 5.4.5 实现 409 5.4.6 总结 412 5.4.7 参考文献 413 5.5 无栅格的可控火焰 414 5.5.1 建模火焰 415 5.5.2 实时渲染 418 5.5.3 实例和讨论 419 5.5.4 总结 420 5.5.5 参考文献 5.6 使用公告牌粒子构建强大的爆炸效果 422 5.6.1 最初的闪光 422 5.6.2 放射的火苗 423 5.6.3 白色的热核心 424 5.6.4 强烈的火球 424 5.6.5 散发的烟雾 425 5.6.6 碎片 426 5.6.7 效果表 426 5.6.8 额外的感觉 426 5.6.9 效率问题 427 5.6.10 总结 428 5.6.11 参考文献 428 5.7 渲染宝石的简单方法 429 5.7.1 技术概览 429 5.7.2 法线和cubemap采样问题 430 5.7.3 传递的光能 430 5.7.4 反射 432 5.7.5 光斑 433 5.7.6 总结 436 5.7.7 参考文献 436 5.8 体积化的后期处理 437 5.8.1 体积化的后期处理 437 5.8.2 深度知识 438 5.8.3 使用shader作z比较 438 5.8.4 像素完美的裁剪 439 5.8.5 后期处理 440 5.8.6 最后一遍 5.8.7 多个体 440 5.8.8 总结 441 5.8.9 参考文献 441 5.9 过程式关卡生成 442 5.9.1 大致的方法 442 5.9.2 关卡设计 442 5.9.3 使用预制的几何体 443 5.9.4 图的生成 444 5.9.5 把预制件映射到图中 446 5.9.6 可见性和碰撞检测 448 5.9.7 增加关卡内容 448 5.9.8 总结 449 5.9.9 参考文献 449 5.10 重组shader 450 5.10.1 组合效果 450 5.10.2 处理组合爆炸 451 5.10.3 通过HLSL生成shader变体 452 5.10.4 整合重组的shader 454 5.10.5 通过shader建立完整的流水线 5.10.6 其他问题 455 5.10.7 总结 456 5.10.8 参考文献 456 第6章 网络和多玩家 459 引言 460 6.1 保持大型多人在线游戏大型、在线和永存 461 6.1.1 快速浏览 461 6.1.2 大型化 462 6.1.3 保持在线 464 6.1.4 保持永存 465 6.1.5 总结 466 6.1.6 参考文献 466 6.2 实现一个无缝的世界服务器 467 6.2.1 一些定义 467 6.2.2 实现 468 6.2.3 远程控制器,或如何管理服务器的启动时期 468 6.2.4 代理服务器 468 6.2.5 登录服务器 469 6.2.6 节点服务器 469 6.2.7 世界管理器 472 6.2.8 由此而往何处 473 6.2.9 IOCP 473 6.2.10 参考文献 473 6.3 设计一个脏话过滤系统 475 6.3.1 语法与内容 475 6.3.2 字典 475 6.3.3 解析器 476 6.3.4 过滤 476 6.3.5 最好的过滤实践 6.3.6 人工干涉 478 6.3.7 总结 478 6.3.8 参考文献 478 6.4 远程过程调用系统的快速和高效实现 480 6.4.1 RPC:简介 483 6.4.2 RPC:设计 484 6.4.3 RPC:实现 486 6.4.4 RPC:使用 489 6.4.5 样例程序 490 6.4.6 更多特性 490 6.4.7 总结 492 6.4.8 参考文献 492 6.5 在对等通信中克服网络地址转换 493 6.5.1 读者 493 6.5.2 IP地址 6.5.3 套接字使用 494 6.5.4 路由器、点、协议 495 6.5.5 UDP包图 496 6.5.6 什么是NAT 496 6.5.7 NAT是如何破坏客户/服务协议的 499 6.5.8 NAT是如何破坏对等协议的 501 6.5.9 用于游戏的端到端解决方案 503 6.5.10 总结 509 6.5.11 参考文献 509 6.6 一个可靠的消息协议 510 6.6.1 术语定义 510 6.6.2 为什么要可靠的消息 510 6.6.3 传统的可靠消息 511 6.6.4 一个简单的方法 511 6.6.5 总结 514 6.6.6 延伸阅读 515 6.7 安全的随机数系统 516 6.7.1 随机数影响在线游戏 516 6.7.2 网络模型 517 6.7.3 随机数池 517 6.7.4 随机数发生器 518 6.7.5 重载标准的rand()和srand() 520 6.7.6 下一步:记录和调试 520 6.7.7 下一步:即时重放 520 6.7.8 总结 521 6.7.9 参考文献 521 6.8 安全的设计 522 6.8.1 安全问题真的如此重要么? 522 6.8.2 目标 523 6.8.3 术语 523 6.8.4 威胁模型:测试不安全性 524 6.8.5 安全策略:让威胁无效 527 6.8.6 同时修订两个文档 527 6.8.7 该技术的其他优势 6.8.8 延伸阅读 528 6.8.9 总结 6.8.10 参考文献 529 第7章 音频 544 引言 532 7.1 多线程音频编程技巧 533 7.1.1 多线程编程简介 533 7.1.2 线程的术语和机制 534 7.1.3 鉴别适合多线程编程的音频任务 535 7.1.4 Intel的超线程技术是什么 536 7.1.5 线程编程技巧和操作 536 7.1.6 多线程的示例程序 537 7.1.7 实时流数据机制 541 7.1.8 流和线程 541 7.1.9 总结 543 7.1.10 参考文献 543 7.2 基于组的声音管理 544 7.2.1 API包装预览 544 7.2.2 能力 545 7.2.3 定义组 546 7.2.4 实现细节 548 7.2.5 结论 549 7.3 利用三维曲面作为音频发生器 550 7.3.1 方法 550 7.3.2 点发生器 551 7.3.3 线发生器 552 7.3.4 球体发生器 553 7.3.5 方体发生器 554 7.3.6 总结 555 7.3.7 光盘上的内容 555 7.3.8 参考文献 555 7.4 基于回馈延迟网络(FDN)的快速环境反响 556 7.4.1 怎样将FDN作为资源来利用 556 7.4.2 什么是反响 557 7.4.3 回馈延迟网络(Feedback Delay Network) 557 7.4.4 选择正确的回馈矩阵 559 7.4.5 选择正确的延迟长度 560 7.4.6 控制回响时间 561 7.4.7 sweeping和细部延迟问题 561 7.4.8 总结和可能的改进 563 7.4.9 感谢 564 7.4.10 参考文献 564 7.5 单演讲者语音识别简介 566 7.5.1 引言 566 7.5.2 识别系统 567 7.5.3 特征提取 568 7.5.4 即时配对匹配 570 7.5.5 训练 571 7.5.6 局限性 572 7.5.7 总结 572 7.5.8 参考文献 572

立即下载
Game Programming Gems 6

游戏编程精粹系列之游戏编程精粹6的英文原版。

立即下载
游戏编程精粹7

第1章 通用编程 简介 2 Adam Lake, 图形软件架构师,高级视觉计算(AVC)小组,英特尔 1.1 使用年龄和成本指标的高效率缓存替换 3 Colt“MainRoach”McAnlis,微软Ensemble工作室 1.1.1 概述 3 1.1.2 缓存替换算法 4 1.1.3 年龄和成本指标 5 1.1.4 结论 9 1.1.5 致谢 10 1.1.6 参考文献 10 1.2 高性能堆分配器 11 Dimitar Lazarov, Luxoflux 1.2.1 简介 11 1.2.2 相关工作 11 1.2.3 我们的解决方案 12 1.2.4 参考文献 18 1.3 用网络摄像头玩的视频游戏的光流 19 1.3.1 简介 19 1.3.2 OpenCV代码 20 1.3.3 第一种方法:图像差异 21 1.3.4 第二种方法:运动历史 21 1.3.5 第三种方法:Lucas-Kanade算法 22 1.3.6 光流游戏 23 1.3.7 参考文献 25 1.4 一个多平台线程引擎的设计与实现 26 1.4.1 一个实用线程架构的系统设计 26 1.4.2 线程 28 1.4.3 线程分配策略 30 1.4.4 对象的线程 31 1.4.5 线程的安全性、重新进入、对象同步和数据访问 32 1.4.6 使用缓存线(或缓存的一致性) 32 1.4.7 如何使用GLRThreading库 32 1.4.8 结论 34 1.4.9 参考文献 34 1.5 给蜜蜂和游戏玩家:如何处理六边形贴片 35 1.5.1 简介 35 1.5.2 六边形贴片的利弊 35 1.5.3 掌握六边形网格 38 1.5.4 实现技巧 39 1.5.5 应用 40 1.5.6 结论 42 1.5.7 参考文献 42 1.6 服务于即时战略游戏的基于细胞多孔机器(Cellular Automaton)的线条主界面 43 1.6.1 关注上下文的控制等级 44 1.6.2 实现细节 45 1.6.3 结论 49 1.6.4 参考文献 49 1.7 第一人称射击游戏的脚步导航技术 50 1.7.1 介绍 50 1.7.2 用脚来导航 51 1.7.3 一个简单的游戏 55 1.7.4 玩家测试 56 1.7.5 结论 57 1.7.6 以后的工作 57 1.7.7 致谢 57 1.8 推迟函数调用的唤醒系统 58 1.8.1 时间问题 58 1.8.2 案例分析 59 1.8.3 对函数调用分类 60 1.8.4 检视这个系统 60 1.8.5 结论 61 1.8.6 参考文献 61 1.9 多线程任务和依赖系统 62 1.9.1 介绍 62 1.9.2 任务系统 63 1.9.3 依赖性管理器 66 1.9.4 后续的工作 68 1.9.5 结论 69 1.9.6 参考文献 70 1.10 高级调试技术 71 1.10.1 程序崩溃 71 1.10.2 内存泄露 74 1.10.3 Windows错误汇报(WER) 75 1.10.4 框架 76 1.10.5 结论 77 1.10.6 参考文献 78 第2章 数学和物理 简介 80 2.1 随机数生成 82 2.1.1 背景:随机数生成 82 2.1.2 随机性测试 84 2.1.3 软件漂白 84 2.1.4 不加密随机数生成算法 85 2.1.5 加密RNG方法 89 2.1.6 创造随机数生成器的常见错误 90 2.1.7 代码 91 2.1.8 结论 91 2.1.9 参考文献 91 2.2 游戏中的快速通用光线查询 93 2.2.1 光线追踪介绍 93 2.2.2 K维树概念和存储考虑 94 2.2.3 动态物体 101 2.2.4 示例程序 101 2.2.5 结论 102 2.2.6 参考文献 102 2.3 使用最远特性图的快速刚体碰撞检测 103 2.3.1 背景 103 2.3.2 预处理 104 2.3.3 运行时查询 106 2.3.4 性能分析和结束语 107 2.3.5 致谢 107 2.3.6 参考文献 108 2.4 使用投影空间来提高几何计算精度 109 2.4.1 投影空间 109 2.4.2 R2空间中的基本对象 110 2.4.3 RP2空间中的点和直线 110 2.4.4 在RP2空间中的基本运算 111 2.4.5 在RP2空间中使用整数坐标进行精确的几何运算 112 2.4.6 在RP2空间中几何运算的数值范围限制 112 2.4.7 RP2空间运算的例子程序 114 2.4.8 拓展到第三维 116 2.4.9 结论 117 2.4.10 参考文献 117 2.5 使用XenoCollide算法简化复杂的碰撞 118 2.5.1 介绍 118 2.5.2 用支撑映射来表示形体 119 2.5.3 使用闵可夫斯基(Minkowski)差异来简化碰撞检测 121 2.5.4 使用闵可夫斯基入口简化(Minkowski Portal Refinement, MPR)来检测碰撞 122 2.5.5 使用MPR算法得到相交信息 125 2.5.6 结论 126 2.5.7 致谢 126 2.5.8 参考文献 126 2.6 使用变换语义的高效碰撞检测 128 2.6.1 仿射变换和游戏 128 2.6.2 从矩阵中抽取语义 129 2.6.3 在碰撞检测中使用变换语义 131 2.6.4 结论 134 2.6.5 参考文献 135 2.7 三角样条 136 2.7.1 背景知识 136 2.7.2 讨论 139 2.7.3 结论 139 2.7.4 参考文献 140 2.8 使用高斯随机性来拟真发射轨迹的变化 141 2.8.1 高斯分布 141 2.8.2 生成高斯随机性 142 2.8.3 其他应用 144 2.8.4 自然中的高斯分布 144 2.8.5 结论 144 2.8.6 参考文献 145 第3章 人工智能 第4章 音频 第5章 图形学 第6章 网络和多人游戏 第7章 脚本和数据驱动系统

立即下载
游戏编程精粹5

游戏编程精粹 系列之五 更多电子书下载:http://blog.csdn.net/good3651/article/details/53420721

立即下载
游戏编程精粹7--随书光盘源代码

CruiseYoung提供的带有详细书签的电子书籍目录 http://blog.csdn.net/fksec/article/details/7888251 该资料是《游戏编程精粹7》一书的随书光盘代码 游戏编程精粹7 基本信息 原书名: Game Programming Gems 7 原出版社: Charles River Media 作者: (美)Scott Jacobs 译者: 项周臻 陶绍武 出版社:人民邮电出版社 ISBN:9787115229144 上架时间:2010-7-8 出版日期:2010 年7月 开本:16开 页码:411 版次:1-1 所属分类:计算机 > 游戏 > 游戏编程 内容简介   本书是游戏编程精粹系列的最新一本,内容涉及通用编程、数学和物理、人工智能、音频、图形学、网络和多人游戏、脚本和数据驱动系统等内容,具有较强的先进性和通用性。随书附带光盘中提供了本书的源程序、演示程序以及需要的各种游戏开发的第三方工具。    因此,无论你是一个刚刚起步的游戏开发新手,还是资深业界专家,都能够在本书中找到灵感,增强洞察力及开发的技能。将书中介绍的开发经验和技巧应用于实际项目中,将缩短开发时间,提高效率。 作译者   Scott Jacobs从1995年起就在游戏行业工作了。当前他是Destineer的高级软件工程师。在进入Destineer之前,他作为软件工程师在严肃游戏公司VirtuaI Heroes,以及包括Redstorm Entertainment在内的两家Ubisoft工作室工作,并在Interactive Magic正式进入游戏开发行业。他也是《游戏编程精粹6》中网络和多人游戏章节的编辑。他现在与他的妻子以及一些小动物住在北卡罗来纳。   项周臻,hermitab@qq.com,毕业于上海大学计算机工程系。8年网络游戏开发经验,在游戏制作流程管理、游戏质量管理、网络编程、物理、脚本、图形图像、性能优化和人工智能方面有浓厚的兴趣.目前在腾讯公司工作,担任一款网络游戏项目的开发经理兼主程序.本次翻译的主要负责人,翻译第1章的第6~第10节以及第4章和第7章. 目录 封面 -41 扉页 -40 版权 -39 内容提要 -38 前言 -37 关于封面 -34 致谢 -33 译者简介 -32 作者简介 -30 目录 -13 第1章 通用编程 1 简介 2 1.1 使用年龄和成本指标的高效率缓存替换 3 1.1.1 概述 3 1.1.2 缓存替换算法 4 1.1.3 年龄和成本指标 5 1.1.4 结论 9 1.1.5 致谢 10 1.1.6 参考文献 10 1.2 高性能堆分配器 11 1.2.1 简介 11 1.2.2 相关工作 11 1.2.3 我们的解决方案 12 1.2.4 参考文献 18 1.3 用网络摄像头玩的视频游戏的光流 19 1.3.1 简介 19 1.3.2 OpenCV代码 20 1.3.3 第一种方法:图像差异 21 1.3.4 第二种方法:运动历史 21 1.3.5 第三种方法:Lucas-Kanade算法 22 1.3.6 光流游戏 23 1.3.7 参考文献 25 1.4 一个多平台线程引擎的设计与实现 26 1.4.1 一个实用线程架构的系统设计 26 1.4.2 线程 28 1.4.3 线程分配策略 30 1.4.4 对象的线程 31 1.4.5 线程的安全性、重新进入、对象同步和数据访问 32 1.4.6 使用缓存线(或缓存的一致性) 32 1.4.7 如何使用GLRThreading库 32 1.4.8 结论 34 1.4.9 参考文献 34 1.5 给蜜蜂和游戏玩家:如何处理六边形贴片 35 1.5.1 简介 35 1.5.2 六边形贴片的利弊 35 1.5.3 掌握六边形网格 38 1.5.4 实现技巧 39 1.5.5 应用 40 1.5.6 结论 42 1.5.7 参考文献 42 1.6 服务于即时战略游戏的基于细胞多孔机器(Cellular Automaton)的线条主界面 43 1.6.1 关注上下文的控制等级 44 1.6.2 实现细节 45 1.6.3 结论 49 1.6.4 参考文献 49 1.7 第一人称射击游戏的脚步导航技术 50 50 1.7.1 介绍 50 1.7.2 用脚来导航 51 1.7.3 一个简单的游戏 55 1.7.4 玩家测试 56 1.7.5 结论 57 1.7.6 以后的工作 57 1.7.7 致谢 57 1.8 推迟函数调用的唤醒系统 58 1.8.1 时间问题 58 1.8.2 案例分析 59 1.8.3 对函数调用分类 60 1.8.4 检视这个系统 60 1.8.5 结论 61 1.8.6 参考文献 61 1.9 多线程任务和依赖系统 62 1.9.1 介绍 62 1.9.2 任务系统 63 1.9.3 依赖性管理器 66 1.9.4 后续的工作 68 1.9.5 结论 69 1.9.6 参考文献 70 1.10 高级调试技术 71 1.10.1 程序崩溃 71 1.10.2 内存泄露 74 1.10.3 Windows错误汇报(WER) 75 1.10.4 框架 76 1.10.5 结论 77 1.10.6 参考文献 78 第2章 数学和物理 79 简介 80 2.1 随机数生成 82 2.1.1 背景:随机数生成 82 2.1.2 随机性测试 84 2.1.3 软件漂白 84 2.1.4 不加密随机数生成算法 85 2.1.5 加密RNG方法 89 2.1.6 创造随机数生成器的常见错误 90 2.1.7 代码 91 2.1.8 结论 91 2.1.9 参考文献 91 2.2 游戏中的快速通用光线查询 93 2.2.1 光线追踪介绍 93 2.2.2 K维树概念和存储考虑 94 2.2.3 动态物体 101 2.2.4 示例程序 101 2.2.5 结论 102 2.2.6 参考文献 102 2.3 使用最远特性图的快速刚体碰撞检测 103 2.3.1 背景 103 2.3.2 预处理 104 2.3.3 运行时查询 106 2.3.4 性能分析和结束语 107 2.3.5 致谢 107 2.3.6 参考文献 108 2.4 使用投影空间来提高几何计算精度 109 2.4.1 投影空间 109 2.4.2 R2空间中的基本对象 110 2.4.3 RP2空间中的点和直线 110 2.4.4 在RP2空间中的基本运算 111 2.4.5 在RP2空间中使用整数坐标进行精确的几何运算 112 2.4.6 在RP2空间中几何运算的数值范围限制 112 2.4.7 RP2空间运算的例子程序 114 2.4.8 拓展到第三维 116 2.4.9 结论 117 2.4.10 参考文献 117 2.5 使用XenoCollide算法简化复杂的碰撞 118 2.5.1 介绍 118 2.5.2 用支撑映射来表示形体 119 2.5.3 使用闵可夫斯基(Minkowski)差异来简化碰撞检测 121 2.5.4 使用闵可夫斯基入口简化(Minkowski Portal Refinement, MPR)来检测碰撞 122 2.5.5 使用MPR算法得到相交信息 125 2.5.6 结论 126 2.5.7 致谢 126 2.5.8 参考文献 126 2.6 使用变换语义的高效碰撞检测 128 2.6.1 仿射变换和游戏 128 2.6.2 从矩阵中抽取语义 129 2.6.3 在碰撞检测中使用变换语义 131 2.6.4 结论 134 2.6.5 参考文献 135 2.7 三角样条 136 2.7.1 背景知识 136 2.7.2 讨论 139 2.7.3 结论 139 2.7.4 参考文献 140 2.8 使用高斯随机性来拟真发射轨迹的变化 141 2.8.1 高斯分布 141 2.8.2 生成高斯随机性 142 2.8.3 其他应用 144 2.8.4 自然中的高斯分布 144 2.8.5 结论 144 2.8.6 参考文献 145 第3章 人工智能 146 3.1 用行为克隆创建有趣的代理 149 3.1.1 实例:The Demo Game 149 3.1.2 结论 154 3.1.3 参考文献 155 3.2 设计一种真实并且统一的代理感知模型 156 3.2.1 基本视觉模型 156 3.2.2 基本听觉模型 157 3.2.3 用椭圆扩充视觉模型工具箱 158 3.2.4 用确定性模拟人类视觉 159 3.2.5 用确定性模拟人类听觉 161 3.2.6 统一的感知模型 162 3.2.7 为统一感知模型添加记忆 163 3.2.8 结论 163 3.2.9 参考文献 163 3.3 管理AI算法复杂度:泛型编程方法 165 3.3.1 介绍 165 3.3.2 行为选择工作流程 166 3.3.3 实现 172 3.3.4 结论 178 3.3.5 参考文献 178 3.4 有关态度的一切:为意见、声望和NPC个性构建单元 180 3.4.1 简介 180 3.4.2 态度 181 3.4.3 态度里有什么 182 3.4.4 复杂的态度对象 185 3.4.5 态度和行为 187 3.4.6 说服和影响 187 3.4.7 态度的社会交换 188 3.4.8 另一个例子 188 3.4.9 注意事项和结论 189 3.4.10 参考文献 190 3.5 用玩家追踪和交互玩家图来理解游戏AI 191 3.5.1 简介 191 3.5.2 信息的价值 192 3.5.3 交互玩家图 197 3.5.4 行为的更深理解 201 3.5.5 结论 201 3.5.6 参考文献 202 3.6 面向目标的计划合并 204 3.6.1 回顾面向目标的计划系统 204 3.6.2 用于面向目标计划的计划合并 205 3.6.3 结论 208 3.6.4 参考文献 208 3.7 超越A*:IDA*和边缘搜索 209 3.7.1 A*和Dijkstra 210 3.7.2 迭代延伸A*(IDA*) 211 3.7.3 边缘搜索算法 212 3.7.4 结论 213 3.7.5 参考文献 213 第4章 音频 214 简介 215 4.1 基于可编程图形硬件的音频信号处理 216 4.1.1 GPGPU 编程概述 216 4.1.2 音频效果 217 4.1.3 室内效果 218 4.1.4 结论 219 4.1.5 参考文献 219 4.2 多流——编写次世代音频引擎的艺术 221 4.2.1 一切将如何开始 221 4.2.2 理解“次世代”音频 222 4.2.3 环绕声音 228 4.2.4 路由引导 231 4.2.5 结论 231 4.3 听仔细了,你应该不会再有机会听到这个了 233 4.3.1 如何做到?采用不同的理念! 233 4.3.2 前进,砰! 234 4.3.3 旧的不去新的不来 236 4.3.4 称手利器 237 4.3.5 细节管理 238 4.3.6 为什么我们要再做一次 239 4.3.7 更进一步 239 4.3.8 结论 240 4.4 实时音频效果的运用 241 4.4.1 声音系统的概览 242 4.4.2 声音缓存 243 4.4.3 分级缓存 244 4.4.4 效果和滤波器 245 4.4.5 压缩和流 246 4.4.6 结论 247 4.4.7 参考文献 247 4.5 上下文驱动,层叠混合 248 4.5.1 概述 248 4.5.2 实现 249 4.5.3 扩展实时调整的概念 252 4.5.4 效率 252 4.5.5 例子程序 253 4.5.6 结论 253 第5章 图形学 254 简介 255 5.1 先进的粒子沉积 256 5.1.1 为什么使用粒子 256 5.1.2 粒子沉积 256 5.1.3 改进粒子沉积 257 5.1.4 结论 263 5.1.5 参考文献 263 5.2 减少骨骼动画中的累积误差 264 5.2.1 游戏动画系统的快速巡视 264 5.2.2 累积误差 265 5.2.3 结论 268 5.2.4 参考文献 268 5.3 粗糙材料漫反射光着色的另一个模型 269 5.3.1 简介 269 5.3.2 平坦效果 270 5.3.3 后向散射 272 5.3.4 结论 273 5.3.5 参考文献 273 5.4 高效的细分表面 275 5.4.1 细分方案的介绍 275 5.4.2 Loop细分的特征和选项 276 5.4.3 细分数据结构 281 5.4.4 细分算法的细节 283 5.4.5 性能问题 286 5.4.6 结论 288 5.4.7 参考文献 288 5.5 用径向基函数纹理来替代动画浮雕 290 5.5.1 简介 290 5.5.2 图像扭曲 291 5.5.3 径向基函数 292 5.5.4 插值扭曲函数 292 5.5.5 使用着色器评估扭曲函数 293 5.5.6 动画浮雕贴图 294 5.5.7 动画浮雕替代 294 5.5.8 结果 296 5.5.9 结论 297 5.5.10 鸣谢 297 5.5.11 参考文献 297 5.6 SM1.1和更高版本上的裁剪贴图 299 5.6.1 裁剪贴图的基本概念 299 5.6.2 裁剪贴图的实现 300 5.6.3 如果你想节约些时间⋯⋯ 305 5.6.4 参考文献 306 5.7 一个先进的贴花系统 307 5.7.1 要求 307 5.7.2 正常的贴花方法 307 5.7.3 先进的贴花方法 307 5.7.4 这个先进贴花系统的优势 310 5.7.5 性能和实验结果 312 5.7.6 演示 314 5.7.7 结论 314 5.7.8 参考文献 315 5.8 室外地形渲染的大纹理映射 316 5.8.1 简介 316 5.8.2 结构 317 5.8.3 更新缓存的内容 320 5.8.4 渲染问题 321 5.8.5 结果 323 5.8.6 结论 324 5.8.7 参考文献 324 5.9 基于艺术品的嫁接贴图渲染 325 5.9.1 资产 325 5.9.2 运行时 328 5.9.3 感谢 330 5.9.4 结论和未来的工作 330 5.9.5 参考文献 330 5.10 廉价的对话:动态实时口型同步(Lipsync) 331 5.10.1 需求 331 5.10.2 一般过程 333 5.10.3 结论 336 5.10.4 参考文献 336 第6章 网络和多人游戏 337 简介 338 6.1 游戏世界同步的高层抽象 339 6.1.1 HLA用法 340 6.1.2 游戏世界同步剖析 340 6.1.3 HLA组件 341 6.1.4 在HLA运行器中的视口 346 6.1.5 进一步讨论 348 6.1.6 结论 348 6.1.7 参考文献 348 6.2 网络游戏的身份验证 350 6.2.1 介绍 350 6.2.2 游戏登录安全 350 6.2.3 保障游戏时安全 353 6.2.4 结论 354 6.2.5 参考文献 356 6.3 使用智能包嗅探器来调试游戏网络 357 6.3.1 智能包嗅探器概念 357 6.3.2 一个例子 357 6.3.3 传统调试技术的缺陷 358 6.3.4 实现 358 6.3.5 使用WinPcap库 359 6.3.6 降低安全风险 361 6.3.7 一个替代方案 361 6.3.8 例子程序 361 6.3.9 结论 361 6.3.10 参考文献 361 第7章 脚本和数据驱动系统 362 介绍 363 7.1 Lua自动绑定系统 364 7.1.1 介绍 364 7.1.2 特性 364 7.1.3 函数的绑定 365 7.1.4 在Lua里的面向对象 365 7.1.5 在Lua里绑定C++对象 366 7.1.6 扩展绑定系统 371 7.1.7 结论 373 7.1.8 后续工作 374 7.1.9 例子 376 7.1.10 结论 376 7.1.11 参考文献 376 7.2 用内省(introspection)方式把C++对象序列化到数据库中 377 7.2.1 元数据(Metadata) 377 7.2.2 数组 378 378 7.2.3 序列化成文本 378 7.2.4 数据库系统 378 7.2.5 例子 390 7.2.6 问题和将来的改进 390 7.2.7 结论 391 7.2.8 参考文献 391 7.3 数据端口 392 7.3.1 概述 392 7.3.2 类型安全 394 7.3.3 引用计数 394 7.3.4 实践例子 394 7.3.5 问题 395 7.3.6 结论 396 7.4 支持你本地的美术家:为你的引擎增加shader 397 7.4.1 shader专用名词 397 7.4.2 程序、参数和管理器,哦我的老天! 398 7.4.3 灵活性是关键 399 7.4.4 原型 400 7.4.5 shader参数 401 7.4.6 例子——飞艇目标 403 7.4.7 高级技术 405 7.4.8 后续工作 407 7.4.9 结论 407 7.4.10 参考文献 407 7.5 与蟒共舞 用好AST 408 7.5.1 简介 408 7.5.2 背景 408 7.5.3 方案 409 7.5.4 结论 411 7.5.5 参考文献 411 关于本书附带光盘 412 前言   游戏编程精粹丛书出到现在已经有6卷了。每一卷都包含许多有用且实际的思路和技术。根据网上的讨论、好奇读者的期望、业余以及专业游戏开发者的咨询,我相信前作起到了让游戏更富有创意,更富有娱乐性和更加令人满意的促进效果。在第7卷里面,我们投入了大量努力来继承这一传统。   游戏开发的激情   游戏开发正越来越成为一个充满幻想的历程。它是一个真正的能让激情与才华闪耀的知识精英的竞技。学位和经验也许能让你进入这个大门,但最终还是要看结果。你的代码容易维护吗?它的效率达到甚至超过目标了吗?视觉和听觉效果令人震撼吗?游戏玩法有趣吗?在这些方面超越别人的挑战毫无疑问让游戏开发令人兴奋,我猜想这也是激发书中文献作者们分享想法和经验的动机。我希望同样是这种向往超越的渴望把你引向这本书,因为这一卷的意义,同时事实—卜也是这整个系列的意义,就是提供给你提供工具和灵感来做到这一点。   没有几个行业能够像游戏业这样,开发者工作的激情如此之高,以至于在经历了5天的工作后,专业开发者们还会与业余爱好者聚集一起,为了周末的“果酱”继续做和工作日一模一样的事情。也许我在电视上看到的伐木工竞赛和这有点近似。但是有多少伐木工会在家里安排一个伐木计划,却只是为了尝试一些新点子来获得乐趣和经验呢?   专业领域知识的必要性意味着通常游戏开发者被划分到专门的角色上:图形程序员、人工智能程序员之类。这本书的章节也毫无疑问能反映出各方向之间常用的分界线,尽管我必须尊重一些抱怨有个别分类并不总是完全正好属于某一个方向的意见。在我希望专注于某一领域的人能在这些文献里找到他们感兴趣的东西的同时,我十分兴奋于这本书覆盖范围和专业技能的广泛多样,能够展现在对每个方向都充满激情的游戏开发者面前。我希望图形程序员能够阅读音频的文献,反之亦然!   想做游戏的渴望   业内游戏开发者的热情也许可以帮助解释为什么那么多人殷切地想加入游戏开发者行列。虽然独立自学的“勇士”也能踏进游戏行业的大   门(有时候他们甚至制造出他们自己的传奇大门),但对于想把游戏开发作为第一份职业的人来说,合格的教育越来越多的能起到帮助作用。除了传统的数学和计算机科学教育路线和大量高质量对高级出版物的介绍外,全世界的中学和大学里面的专门游戏的开发学位、课程可供使用,有些还是与专业开发工作室紧密合作而设立的。已发行游戏的多种组成都可以被修改,这提供了前所未有的进入使用最前沿技术,价值好几百万美元的游戏引擎,并扩展你的游戏体验或者原型库的机会。不仅如此,对大部分题材的游戏,你都能在高质量的开源游戏或者引擎里面找到灵感、实验方法和扩展方法。   拥有一定量非游戏相关软件开发经验的同时充满热情的业余人士,能够参与游戏开发的机会也相当多的。我们可以使用他们。随着游戏设计、目标硬件和开发团队自身正变得越来越大而且复杂,游戏业继续欢迎来自其他软件开发行业的各种新鲜想法。你的开发团队里面有数据库管理员(DBA)吗(小点声,MMO开发者们)?在这些人里面,你能找到会给出把你的对象系统整合到关系数据库的天才。我们有一个网络达人,他能把一些网络管理员用的工具用到多玩家模块的开发上,但是在业界这种做法还没有流行起来。当认识到广义领域软件开发的趋势和成功后,游戏开发团队正越来越多地引入正式的项目管理和产品方法论,比如敏捷和Scrum,在这些领域我们可以受益于游戏业外的同行们。做游戏和做文字处理软件不同,但是优秀的管理日益增长的团队的方法、增强团队内部交流的途径和管理客户(发行商)关系的方案,一定与业外同行们的解决方案相似,因为他们也遇到同样的问题。多核平台的移植,不论是PC还是今天的家用机平台,要求开发者超越传统C/C++编程语言才能解决并行和同步的问题,我们正积极的从精通Haskei或者Erlang的程序员身上找出能借鉴的经验。   向往快乐的激情   游戏的吸引在于它们充满挑战、恶搞和娱乐。这本书里面的许多文献都是关于幕布背后的灯光道具脚手架,尽管它们并不是制造快乐的直接因素。一个被重定义者(redefiner)一遍又一遍玩弄的类型与一个在打第一个boss前丢掉的战车也许使用的是同一套碰撞检测系统或者C++到脚本语言的接口。真正产生快乐的是玩游戏的体验。所以,除了解决核心难题的文献,书里还有关于直接影响玩家体验的文章,包括音频处理文献和人机互动。人们总是对新的游戏交互方式充满热情且乐于尝试。近来流行乐队(Rock Band)、吉他英雄(Guitar Hero)、劲舞革命(Dance Dance Revolution)当然还有仍天堂的Wii的成功,毫无疑问地显示了这点。新的人机接口让长寿的游戏题材有了新的体验,而且也让那些平时不会被游戏诱惑的人产生了想尝试的冲动,从而给那些人带来全新的娱乐方式,顺便也给我们带来新的市场份额。我很骄傲这本书里面能有3篇文献是关于尚未采用的人机交互的想法,同时也很想知道当这些点子被尝试并进一步完善后会有什么东西出来。   在这充满激情的开发者的世界里,殷切的新手、多种多样的产品需求、对创意且娱乐的游戏玩法与设计的渴望创生了这一卷。让一本书符合所有兴趣的需求是一个很高的目标,但是我自信,也希望你会同意,本书后面的内容会作为自己说话。当你的游戏发行的时候通知我一声,我想试试看。   

立即下载
游戏编程精粹3

游戏编程精粹3+源代码,一共三个部分,这是第一部分

立即下载
关闭
img

spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
点击完成任务获取下载码
输入下载码
为了良好体验,不建议使用迅雷下载
img

源代码-游戏编程精粹7-Part3AI

会员到期时间: 剩余下载个数: 剩余C币: 剩余积分:0
为了良好体验,不建议使用迅雷下载
VIP下载
您今日下载次数已达上限(为了良好下载体验及使用,每位用户24小时之内最多可下载20个资源)

积分不足!

资源所需积分/C币 当前拥有积分
您可以选择
开通VIP
4000万
程序员的必选
600万
绿色安全资源
现在开通
立省522元
或者
购买C币兑换积分 C币抽奖
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
为了良好体验,不建议使用迅雷下载
确认下载
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
为了良好体验,不建议使用迅雷下载
VIP和C币套餐优惠
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
确认下载
下载
您还未下载过该资源
无法举报自己的资源

兑换成功

你当前的下载分为234开始下载资源
你还不是VIP会员
开通VIP会员权限,免积分下载
立即开通

你下载资源过于频繁,请输入验证码

您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:webmaster@csdn.net!

举报

若举报审核通过,可返还被扣除的积分

  • 举报人:
  • 被举报人:
  • *类型:
    • *投诉人姓名:
    • *投诉人联系方式:
    • *版权证明:
  • *详细原因: