<p>本书是由40多位国外游戏开发行业最为优秀的程序员撰稿的技术文集。每篇文章都针对游戏编程中的某个特定问题,不仅提供了解决思路,还给出了能立即应用到代码中的算法和源码。全书分为通用编程技术、数学技巧、人工智能、多边形技术和像素特效五章;附录部分提供了两个非常有用的工具库,矩阵工具库和文本工具库;随书附带光盘中包含有全书所有的源程序、演示程序、附录中的两个工具库以及glSet叩和GLUT等开发工具。</p> <p>本书适合游戏开发专业人员阅读。专家级开发人员可以立刻应用书中介绍的技巧,而初中级程序员通过阅读本书将增强其技能和知识。本书是游戏程序员必备的参考资料。</p> <p></p>
游戏编程精粹7
✍ Scribed by Scott Jacobs
- Publisher
- 人民邮电出版社
- Year
- 2010 年7月
- Tongue
- Chinese
- Leaves
- 428
- Series
- 游戏编程精粹
- Category
- Library
No coin nor oath required. For personal study only.
✦ Synopsis
本书是游戏编程精粹系列的最新一本,内容涉及通用编程、数学和物理、人工智能、音频、图形学、网络和多人游戏、脚本和数据驱动系统等内容,具有较强的先进性和通用性。随书附带光盘中提供了本书的源程序、演示程序以及需要的各种游戏开发的第三方工具。
因此,无论你是一个刚刚起步的游戏开发新手,还是资深业界专家,都能够在本书中找到灵感,增强洞察力及开发的技能。将书中介绍的开发经验和技巧应用于实际项目中,将缩短开发时间,提高效率。
✦ Table of Contents
内容提要
前言
关于封面
致谢
译者简介
作者简介
目录
第1章 通用编程
简介
1.1 使用年龄和成本指标的高效率缓存替换
1.1.1 概述
1.1.2 缓存替换算法
1.1.3 年龄和成本指标
1.1.4 结论
1.1.5 致谢
1.1.6 参考文献
1.2 高性能堆分配器
1.2.1 简介
1.2.2 相关工作
1.2.3 我们的解决方案
1.2.4 参考文献
1.3 用网络摄像头玩的视频游戏的光流
1.3.1 简介
1.3.2 OpenCV代码
1.3.3 第一种方法:图像差异
1.3.4 第二种方法:运动历史
1.3.5 第三种方法:Lucas-Kanade算法
1.3.6 光流游戏
1.3.7 参考文献
1.4 一个多平台线程引擎的设计与实现
1.4.1 一个实用线程架构的系统设计
1.4.2 线程
1.4.3 线程分配策略
1.4.4 对象的线程
1.4.5 线程的安全性、重新进入、对象同步和数据访问
1.4.6 使用缓存线(或缓存的一致性)
1.4.7 如何使用GLRThreading库
1.4.8 结论
1.4.9 参考文献
1.5 给蜜蜂和游戏玩家:如何处理六边形贴片
1.5.1 简介
1.5.2 六边形贴片的利弊
1.5.3 掌握六边形网格
1.5.4 实现技巧
1.5.5 应用
1.5.6 结论
1.5.7 参考文献
1.6 服务于即时战略游戏的基于细胞多孔机器(Cellular Automaton)的线条主界面
1.6.1 关注上下文的控制等级
1.6.2 实现细节
1.6.3 结论
1.6.4 参考文献
1.7 第一人称射击游戏的脚步导航技术 50
1.7.1 介绍
1.7.2 用脚来导航
1.7.3 一个简单的游戏
1.7.4 玩家测试
1.7.5 结论
1.7.6 以后的工作
1.7.7 致谢
1.8 推迟函数调用的唤醒系统
1.8.1 时间问题
1.8.2 案例分析
1.8.3 对函数调用分类
1.8.4 检视这个系统
1.8.5 结论
1.8.6 参考文献
1.9 多线程任务和依赖系统
1.9.1 介绍
1.9.2 任务系统
1.9.3 依赖性管理器
1.9.4 后续的工作
1.9.5 结论
1.9.6 参考文献
1.10 高级调试技术
1.10.1 程序崩溃
1.10.2 内存泄露
1.10.3 Windows错误汇报(WER)
1.10.4 框架
1.10.5 结论
1.10.6 参考文献
第2章 数学和物理
简介
2.1 随机数生成
2.1.1 背景:随机数生成
2.1.2 随机性测试
2.1.3 软件漂白
2.1.4 不加密随机数生成算法
2.1.5 加密RNG方法
2.1.6 创造随机数生成器的常见错误
2.1.7 代码
2.1.8 结论
2.1.9 参考文献
2.2 游戏中的快速通用光线查询
2.2.1 光线追踪介绍
2.2.2 K维树概念和存储考虑
2.2.3 动态物体
2.2.4 示例程序
2.2.5 结论
2.2.6 参考文献
2.3 使用最远特性图的快速刚体碰撞检测
2.3.1 背景
2.3.2 预处理
2.3.3 运行时查询
2.3.4 性能分析和结束语
2.3.5 致谢
2.3.6 参考文献
2.4 使用投影空间来提高几何计算精度
2.4.1 投影空间
2.4.2 R2空间中的基本对象
2.4.3 RP2空间中的点和直线
2.4.4 在RP2空间中的基本运算
2.4.5 在RP2空间中使用整数坐标进行精确的几何运算
2.4.6 在RP2空间中几何运算的数值范围限制
2.4.7 RP2空间运算的例子程序
2.4.8 拓展到第三维
2.4.9 结论
2.4.10 参考文献
2.5 使用XenoCollide算法简化复杂的碰撞
2.5.1 介绍
2.5.2 用支撑映射来表示形体
2.5.3 使用闵可夫斯基(Minkowski)差异来简化碰撞检测
2.5.4 使用闵可夫斯基入口简化(Minkowski Portal Refinement, MPR)来检测碰撞
2.5.5 使用MPR算法得到相交信息
2.5.6 结论
2.5.7 致谢
2.5.8 参考文献
2.6 使用变换语义的高效碰撞检测
2.6.1 仿射变换和游戏
2.6.2 从矩阵中抽取语义
2.6.3 在碰撞检测中使用变换语义
2.6.4 结论
2.6.5 参考文献
2.7 三角样条
2.7.1 背景知识
2.7.2 讨论
2.7.3 结论
2.7.4 参考文献
2.8 使用高斯随机性来拟真发射轨迹的变化
2.8.1 高斯分布
2.8.2 生成高斯随机性
2.8.3 其他应用
2.8.4 自然中的高斯分布
2.8.5 结论
2.8.6 参考文献
第3章 人工智能
3.1 用行为克隆创建有趣的代理
3.1.1 实例:The Demo Game
3.1.2 结论
3.1.3 参考文献
3.2 设计一种真实并且统一的代理感知模型
3.2.1 基本视觉模型
3.2.2 基本听觉模型
3.2.3 用椭圆扩充视觉模型工具箱
3.2.4 用确定性模拟人类视觉
3.2.5 用确定性模拟人类听觉
3.2.6 统一的感知模型
3.2.7 为统一感知模型添加记忆
3.2.8 结论
3.2.9 参考文献
3.3 管理AI算法复杂度:泛型编程方法
3.3.1 介绍
3.3.2 行为选择工作流程
3.3.3 实现
3.3.4 结论
3.3.5 参考文献
3.4 有关态度的一切:为意见、声望和NPC个性构建单元
3.4.1 简介
3.4.2 态度
3.4.3 态度里有什么
3.4.4 复杂的态度对象
3.4.5 态度和行为
3.4.6 说服和影响
3.4.7 态度的社会交换
3.4.8 另一个例子
3.4.9 注意事项和结论
3.4.10 参考文献
3.5 用玩家追踪和交互玩家图来理解游戏AI
3.5.1 简介
3.5.2 信息的价值
3.5.3 交互玩家图
3.5.4 行为的更深理解
3.5.5 结论
3.5.6 参考文献
3.6 面向目标的计划合并
3.6.1 回顾面向目标的计划系统
3.6.2 用于面向目标计划的计划合并
3.6.3 结论
3.6.4 参考文献
3.7 超越A:IDA和边缘搜索
3.7.1 A和Dijkstra
3.7.2 迭代延伸A(IDA*)
3.7.3 边缘搜索算法
3.7.4 结论
3.7.5 参考文献
第4章 音频
简介
4.1 基于可编程图形硬件的音频信号处理
4.1.1 GPGPU 编程概述
4.1.2 音频效果
4.1.3 室内效果
4.1.4 结论
4.1.5 参考文献
4.2 多流——编写次世代音频引擎的艺术
4.2.1 一切将如何开始
4.2.2 理解“次世代”音频
4.2.3 环绕声音
4.2.4 路由引导
4.2.5 结论
4.3 听仔细了,你应该不会再有机会听到这个了
4.3.1 如何做到?采用不同的理念!
4.3.2 前进,砰!
4.3.3 旧的不去新的不来
4.3.4 称手利器
4.3.5 细节管理
4.3.6 为什么我们要再做一次
4.3.7 更进一步
4.3.8 结论
4.4 实时音频效果的运用
4.4.1 声音系统的概览
4.4.2 声音缓存
4.4.3 分级缓存
4.4.4 效果和滤波器
4.4.5 压缩和流
4.4.6 结论
4.4.7 参考文献
4.5 上下文驱动,层叠混合
4.5.1 概述
4.5.2 实现
4.5.3 扩展实时调整的概念
4.5.4 效率
4.5.5 例子程序
4.5.6 结论
第5章 图形学
简介
5.1 先进的粒子沉积
5.1.1 为什么使用粒子
5.1.2 粒子沉积
5.1.3 改进粒子沉积
5.1.4 结论
5.1.5 参考文献
5.2 减少骨骼动画中的累积误差
5.2.1 游戏动画系统的快速巡视
5.2.2 累积误差
5.2.3 结论
5.2.4 参考文献
5.3 粗糙材料漫反射光着色的另一个模型
5.3.1 简介
5.3.2 平坦效果
5.3.3 后向散射
5.3.4 结论
5.3.5 参考文献
5.4 高效的细分表面
5.4.1 细分方案的介绍
5.4.2 Loop细分的特征和选项
5.4.3 细分数据结构
5.4.4 细分算法的细节
5.4.5 性能问题
5.4.6 结论
5.4.7 参考文献
5.5 用径向基函数纹理来替代动画浮雕
5.5.1 简介
5.5.2 图像扭曲
5.5.3 径向基函数
5.5.4 插值扭曲函数
5.5.5 使用着色器评估扭曲函数
5.5.6 动画浮雕贴图
5.5.7 动画浮雕替代
5.5.8 结果
5.5.9 结论
5.5.10 鸣谢
5.5.11 参考文献
5.6 SM1.1和更高版本上的裁剪贴图
5.6.1 裁剪贴图的基本概念
5.6.2 裁剪贴图的实现
5.6.3 如果你想节约些时间⋯⋯
5.6.4 参考文献
5.7 一个先进的贴花系统
5.7.1 要求
5.7.2 正常的贴花方法
5.7.3 先进的贴花方法
5.7.4 这个先进贴花系统的优势
5.7.5 性能和实验结果
5.7.6 演示
5.7.7 结论
5.7.8 参考文献
5.8 室外地形渲染的大纹理映射
5.8.1 简介
5.8.2 结构
5.8.3 更新缓存的内容
5.8.4 渲染问题
5.8.5 结果
5.8.6 结论
5.8.7 参考文献
5.9 基于艺术品的嫁接贴图渲染
5.9.1 资产
5.9.2 运行时
5.9.3 感谢
5.9.4 结论和未来的工作
5.9.5 参考文献
5.10 廉价的对话:动态实时口型同步(Lipsync)
5.10.1 需求
5.10.2 一般过程
5.10.3 结论
5.10.4 参考文献
第6章 网络和多人游戏
简介
6.1 游戏世界同步的高层抽象
6.1.1 HLA用法
6.1.2 游戏世界同步剖析
6.1.3 HLA组件
6.1.4 在HLA运行器中的视口
6.1.5 进一步讨论
6.1.6 结论
6.1.7 参考文献
6.2 网络游戏的身份验证
6.2.1 介绍
6.2.2 游戏登录安全
6.2.3 保障游戏时安全
6.2.4 结论
6.2.5 参考文献
6.3 使用智能包嗅探器来调试游戏网络
6.3.1 智能包嗅探器概念
6.3.2 一个例子
6.3.3 传统调试技术的缺陷
6.3.4 实现
6.3.5 使用WinPcap库
6.3.6 降低安全风险
6.3.7 一个替代方案
6.3.8 例子程序
6.3.9 结论
6.3.10 参考文献
第7章 脚本和数据驱动系统
介绍
7.1 Lua自动绑定系统
7.1.1 介绍
7.1.2 特性
7.1.3 函数的绑定
7.1.4 在Lua里的面向对象
7.1.5 在Lua里绑定C++对象
7.1.6 扩展绑定系统
7.1.7 结论
7.1.8 后续工作
7.1.9 例子
7.1.10 结论
7.1.11 参考文献
7.2 用内省(introspection)方式把C++对象序列化到数据库中
7.2.1 元数据(Metadata)
7.2.2 数组 378
7.2.3 序列化成文本
7.2.4 数据库系统
7.2.5 例子
7.2.6 问题和将来的改进
7.2.7 结论
7.2.8 参考文献
7.3 数据端口
7.3.1 概述
7.3.2 类型安全
7.3.3 引用计数
7.3.4 实践例子
7.3.5 问题
7.3.6 结论
7.4 支持你本地的美术家:为你的引擎增加shader
7.4.1 shader专用名词
7.4.2 程序、参数和管理器,哦我的老天!
7.4.3 灵活性是关键
7.4.4 原型
7.4.5 shader参数
7.4.6 例子——飞艇目标
7.4.7 高级技术
7.4.8 后续工作
7.4.9 结论
7.4.10 参考文献
7.5 与蟒共舞 用好AST
7.5.1 简介
7.5.2 背景
7.5.3 方案
7.5.4 结论
7.5.5 参考文献
关于本书附带光盘
📜 SIMILAR VOLUMES
<p>欢迎阅读《游戏编程精粹2》。《游戏编程精粹2》精选了70篇讨论各种游戏编程主题的文章,读者可将其中阐述的技术直接应用到游戏中。能给读者呈现一本这样的图书,我感到自豪。这是一本必备的参考资料,是40多位经验丰富的游戏开发人员智慧和经验的结晶。</p>
<p>《游戏编程精粹3》是“游戏编程精粹”系列的最新一卷,充满了即学即用的大师技巧、创意、建议和代码,并且提供了成功商业游戏中的许多解决方案。《游戏编程精粹3》覆盖了游戏开发的所有关键阶段,融合了70位顶尖高手的开发心得,每章还由一位该领域的专家编辑把关,以确保内容的原创性、准确性和实用性。</p>
<p>本书秉承了“游戏编程精粹”系列的一贯作风,挟60余篇崭新的技术文章以飨读者。它将再次无可争议地成为一本游戏开发者不可多得的参考书。由于全部作者都来自于亲手打造当今优秀游戏的经验丰富的开发者们,读者在文章中不但可以找到针对疑难问题的有效解决方案,而且常能找到令人玩昧再三的深刻见解。它们将激起读者探索的欲望和创意的火花。新一卷的“游戏编程精粹”对于游戏程序员来说,无疑是一本宝贵的参考书。</p>
<p>《游戏编程精粹5》是著名技术丛书“游戏编程精粹”系列书的第5卷,由全球60多位优秀游戏开发精英撰写的文章汇集而成。书中每篇文章都针对游戏编辑中的某一特定问题给出解决方案,并提供实用算法和源代码。全书由7章组成,包括通用编程、数学、人工智能、物理、图形图像、音频以及网络和多人游戏,覆盖了当前游戏开发中的所有关键技术领域。《游戏编程精粹5》附光盘一张,提供书中所有的源程序和演示程序。</p>
<p>《游戏编程精粹GAME PROGRAMMING6》是游戏编程精粹系列书的最新版本,内容涉及通用编程、数学和物理、人工智能、脚本和数据驱动系统、图形学、音频音效、网络与多人在线游戏,以及游戏测试和手机游戏等内容,具有较强的先进性和实用性。随书附带光盘中提供了全书所有的源程序、演示程序及需要的各种游戏开发的第三方工具。因此,无论你是一个刚刚起步的游戏开发新手,还是资深业界专家,都能够在本书中找到灵感,增强洞察力及开发的技能。应用书中介绍的开发经验和技巧于实际项目中,将缩短开发时间,提高效率。</p>