新書推薦:
《
恶的哲学研究(社会思想丛书)
》
售價:HK$
109.8
《
不止江湖
》
售價:HK$
98.6
《
天才留步!——从文艺复兴到新艺术运动(一本关于艺术天才的鲜活故事集,聚焦艺术史的高光时刻!)
》
售價:HK$
154.6
《
双城史
》
售價:HK$
110.9
《
冯友兰和青年谈心系列:不是问题的问题(哲学大师冯友兰和年轻人谈心,命运解读)
》
售價:HK$
55.8
《
月与蟹(青鲤文库)荣获第144届直木奖,天才推理作家经典作品全新译本。一部青春狂想曲,带你登上心理悬疑之巅。
》
售價:HK$
50.4
《
索恩丛书·盛清统治下的太监与皇帝
》
售價:HK$
88.5
《
透过器物看历史(全6册)
》
售價:HK$
490.6
|
內容簡介: |
游戏编程的用户需求和发展速度近年来很快,阅读游戏开发类图书的需求也越来越大。本书是一本游戏开发指南,是开发、部署、运行商业游戏的读物。
全书分为4个部分共24章。首部分是游戏编程基础,主要介绍了游戏编程的定义、游戏架构等基础知识。第二部分是让游戏跑起来,主要介绍了初始化和关闭代码、主循环、游戏主题和用户界面等。第三部分是核心游戏技术,主要介绍了一些更为复杂的代码示例,如3D编程、游戏音频、物理和AI编程等。第四部分是高级知识和综合应用,主要介绍了网络编程、多道程序设计和用C#创建工具等,并利用前面所讲的知识开发出一款简单的游戏。
本书适合游戏开发人员、游戏架构设计人员和游戏引擎用户参考阅读,也适合想要进入游戏开发领域的读者阅读。
|
目錄:
|
目录
第1章 什么是游戏编程 1
1.1 好的方面 1
1.1.1 工作 2
1.1.2 游戏玩家 2
1.1.3 同事 3
1.1.4 工具—软件开发工具包(SDK) 4
1.1.5 硬件 5
1.1.6 平台 6
1.1.7 展会 9
1.2 不好的地方 9
1.2.1 游戏编程很难 10
1.2.2 零碎文件 10
1.2.3 那不是bug—而是特性 11
1.2.4 工具 12
1.3 黑暗的一面 13
1.3.1 命中移动的目标 13
1.3.2 加班模式(和加班大餐) 13
1.3.3 呸!胡扯 15
1.3.4 操作系统地狱 15
1.3.5 雇员流动的性质 16
1.4 这一切都是值得的,对吗 16
第2章 游戏中有什么 18
2.1 游戏架构 18
2.2 使用游戏架构 20
2.3 应用层 22
2.3.1 读取输入 22
2.3.2 文件系统和资源缓存 22
2.3.3 内存管理 23
2.3.4 初始化、主循环和关闭 23
2.3.5 其他应用层代码 24
2.4 游戏逻辑 25
2.4.1 游戏状态和数据结构 25
2.4.2 物理学和碰撞 26
2.4.3 事件 26
2.4.4 进程管理器 27
2.4.5 命令解释器 28
2.5 人类玩家的游戏视图 28
2.5.1 图形显示 29
2.5.2 音频 30
2.5.3 用户界面表示 31
2.5.4 进程管理器 31
2.5.5 选项 31
2.5.6 多人游戏 31
2.6 AI代理的游戏视图 31
2.7 网络游戏架构 32
2.7.1 远程游戏视图 33
2.7.2 远程游戏逻辑 33
2.8 必须使用DirectX吗 34
2.8.1 DirectX的设计理念 34
2.8.2 Direct3D或OpenGL 35
2.8.3 DirectSound还是 35
2.8.4 DirectInput或自己实现 36
2.9 其他内容 36
2.10 补充书目 36
第3章 拯救了我的编码趣闻和风格 37
3.1 通用编码风格 38
3.1.1 大括号 38
3.1.2 一致性 39
3.2 智能代码设计实践 40
3.2.1 避免隐藏代码和重要操作 41
3.2.2 类结构:保持简单 42
3.2.3 继承VS.组合 42
3.2.4 变坏的虚函数 43
3.2.5 使用接口类 44
3.2.6 考虑使用工厂 45
3.2.7 封装变化的组件 46
3.2.8 使用流来初始化对象 46
3.3 智能指针和裸指针 47
3.3.1 引用计数 48
3.3.2 C++的shared_ptr 49
3.4 正确使用内存 52
3.4.1 了解不同类型的内存 53
3.4.2 优化内存访问 55
3.4.3 内存对齐 56
3.4.4 虚拟内存 57
3.4.5 编写自己的内存管理器 58
3.5 各种有用的东西 59
3.5.1 一个很棒的随机数生成器 60
3.5.2 集合的伪随机遍历 61
3.5.3 内存池 62
3.6 开发出适合自己的风格 67
3.7 补充书目 68
第4章 生成游戏 69
4.1 一个小动机 69
4.2 创建项目 70
4.2.1 生成配置 70
4.2.2 创建坚不可摧的目录结构 71
4.2.3 将游戏引擎和工具放在何处 73
4.2.4 设置Visual Studio生成选项 74
4.2.5 多平台项目 76
4.3 源代码库和版本控制 77
4.3.1 微软Visual SourceSafe的相关历史 79
4.3.2 Subversion和TortoiseSVN 79
4.3.3 Perforce软件的Perforce 80
4.3.4 Avid的AlienBrain 81
4.3.5 使用源代码控制分支 81
4.4 生成游戏:一门黑色艺术 84
4.4.1 自动化生成 85
4.4.2 生成计算机 85
4.4.3 自动化生成脚本 85
4.5 创建生成脚本 87
4.5.1 标准生成 87
4.5.2 里程碑生成 88
4.5.3 多个项目和共享代码 90
4.5.4 最后的建议 91
第5章 游戏初始化和关闭 92
5.1 初始化101 92
5.2 C++初始化的一些陷阱 93
5.3 游戏的应用层 95
5.3.1 WinMain:Windows入口点 95
5.3.2 应用层:GameCodeApp 97
5.3.3 InitInstance
|
|