游戏编程算法与技巧Sanjay、Mad
更新日期:2024-07-13 00:59:56
书店:爱可圣图书专营店
出版时间:2016-10
浏览量:1108
价格:0.0¥

书籍下载

内容介绍

基本信息

书名:游戏编程算法与技巧 Sanjay、Mad

定价:89.00元

作者:Sanjay Madhav,刘瀚阳

出版社:电子工业出版社

出版日期:2016-10-01

ISBN:9787121276453

字数:408000

页码:296

版次:1

装帧:平装

开本:16开

商品重量:0.4kg

编辑推荐


1.本书全面介绍游戏行业中会用到的算法和技术,包括2D、3D图形学,物理,人工智能,摄像机等多个方面。
2.采用了独特的与平台架构无关的方法来展开开发,适用于任何游戏、风格、语言、框架。
3.每个概念的展示都使用了伪代码,并经过验证,容易被程序员们理解。
4.本书后以两款完整游戏作为总结,使用了很多书中介绍的算法和技术,源代码都可下载。
5.请回顾每一章课后习题,能巩固所学,助你前进。

内容提要


本书详细综述了应用在许多重要游戏编程中的算法和技术。书中采用了一种独立于平台和结构的方法,能协助开发几乎任何风格、语言和框架的游戏,并展现2D和3D图像、物理、人工智能、相机等工作的基本技术。书中的每个概念都是用C#、Java或 C 程序员直观明白的伪代码阐述的,并且作者已经改进和证实过这些伪代码。本书后作者详细分析了两个完整的游戏,清楚展现了前面章节讲到的很多技术和算法。

目录


章游戏编程概述1
游戏编程的发展2
Atari时期(1977—1985年)2
NES和SNES时期(1985—1995年)3
PS和PS2时期(1995—2005年)3
Xbox360、PS3和Wii时期(2005—2013年)3
游戏的未来4
游戏循环4
传统的游戏循环4
多线程下的游戏循环6
时间和游戏8
真实时间和游戏时间8
通过处理时间增量来表示游戏逻辑8
游戏对象10
游戏对象的类型10
游戏循环中的游戏对象11
总结13
习题13
相关资料14
游戏编程的发展14
游戏循环14
游戏对象14
第2章2D图形15
2D渲染基础16
CRT显示器基础16
像素缓冲区和垂直同步17
精灵18
绘制精灵18
动画精灵20
精灵表单23
滚屏24
单轴滚屏24
无限滚屏26
平行滚屏27
四向滚屏28
砖块地图29
简单的砖块地图29
斜视等视角砖块地图31
总结32
习题32
相关资料33
Cocos2D33
SDL33
第3章游戏中的线性代数34
向量35
加法36
减法37
长度、单位向量和正规化38
标量乘积39
点乘40
问题举例:向量反射41
叉乘43
问题举例:旋转一个2D角色45
线性插值46
坐标系47
矩阵48
加法/减法48
标量乘法49
乘法49
逆矩阵50
转置50
用矩阵变换3D向量51
总结52
习题52
相关资料53
第4章3D图形54
基础55
多边形55
坐标系55
模型坐标系56
世界坐标系56
视角/摄像机坐标系60
投影坐标系62
光照与着色64
颜色64
顶点属性65
光照67
Phong光照模型68
着色70
可见性71
再探画家算法72
深度缓冲区73
再探世界变换74
四元数75
3D游戏对象的表示77
总结77
习题77
相关资料78
第5章游戏输入79
输入设备80
数字输入80
模拟输入82
基于事件的输入系统84
基础事件系统85
一个更复杂的系统87
移动设备输入89
触屏和手势89
加速器和陀螺仪91
其他移动设备输入92
总结92
习题92
相关资料93
第6章声音94
基本声音95
原始数据95
声音事件95
3D声音98
监听者和发射者98
衰减100
环绕声100
数字信号处理101
常见数字信号处理效果102
区域标记102
其他声音话题103
多普勒效应103
声音遮挡104
总结105
习题106
参考资料106

第7章物理107
第8章摄像机132
第9章人工智能152
0章用户界面173
1章脚本语言和数据格式191
2章网络游戏209
3章游戏示例:横向滚屏者(iOS)223
4章游戏示例:塔防(PC/Mac)232
附录A习题答案247
附录B对开发者有用的工具260

作者介绍


    Sanjay Madhav 是南加利福尼亚大学的讲师,在那里他教授了几门与游戏编程相关的课程。而在全职加入南加利福尼亚大学之前,他作为程序员在许多公司工作过,包括Electronic Arts、Neverso 及Pandemic Studios。虽然他在很多系统上都有着丰富的开发经验,但是他感兴趣的还是游戏机制的开发。他所参与的游戏包括《荣誉勋章:太平洋突袭》(Tony Hawk’s Project 8)、《指环王:征服》(Lord of the Rings: Conquest)和The Saboteur。
    从2008 年开始,Sanjay 在南加利福尼亚大学兼职,当时他还是全职游戏程序员当中的一员。在2009 年年末Pandemic Studios 关闭之后,他决定专注于教越来越重要的游戏程序员。他的主要课程是面向本科生的游戏编程课程,而且已经连续教了10 个学期。

    刘瀚阳,腾讯互娱高级工程师,Life-long级别的游戏玩家。兴趣使然,大学本科就选择了游戏专业,毕业后一直专注于游戏研发。参与过游戏引擎、大型商业MMORPG、中小型手游的开发。擅长游戏架构设计与开发,代码写得贼溜,略懂产品。一直在游戏行业中默默前进,希望有一天也能做出一款伟大的游戏。

文摘


序言