最新公告
  • 开通终身SVIP,享全站不限量下载次数-云资源-集成各类网络资源-正在更新中-预计更新到5W+文章开通SVIP
  • 文章介绍
  • 评价建议
  • 资源名称:游戏编程算法与技巧 PDF

    内容简介:

    《游戏编程算法与技巧》介绍了大量今天在游戏行业中用到的算法与技术。《游戏编程算法与技巧》是为广大熟悉面向对象编程以及基础数据结构的游戏开发者所设计的。作者采用了一种独立于平台框架的方法来展示开发,包括2D 和3D 图形学、物理、人工智能、摄像机等多个方面的技术。《游戏编程算法与技巧》中内容几乎兼容所有游戏,无论这些游戏采用何种风格、开发语言和框架。

    《游戏编程算法与技巧》的每个概念都是用C#、Java 或C++ 程序员直观明白的伪代码阐述的,并且这些伪代码都已被作者改进和验证过。《游戏编程算法与技巧》中每章末均配有习题或练习,以帮助读者对所学内容进行巩固。《游戏编程算法与技巧》最后,作者详细分析了两款完整的游戏,清楚展现了前面章节讲到的很多技术和算法。

    作者简介:

    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 个学期。

    资源目录:

    第1 章游戏编程概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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

    Cocos2D 33

    SDL 33

    第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

    目录xiii

    习题106

    参考资料106

    第7 章物理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

    平面、射线和线段108

    平面108

    射线和线段109

    碰撞几何体110

    包围球110

    轴对齐包围盒111

    朝向包围盒111

    胶囊体112

    凸多边形113

    组合碰撞几何体113

    碰撞检测113

    球与球的交叉113

    AABB 与AABB 交叉114

    线段与平面交叉115

    线段与三角片交叉117

    球与平面交叉119

    球形扫掠体检测120

    响应碰撞124

    优化碰撞125

    基于物理的移动126

    线性力学概览127

    可变时间步长带来的问题128

    力的计算128

    欧拉和半隐式欧拉积分129

    Verlet 积分法129

    其他积分方法130

    角力学130

    物理中间件130

    总结131

    习题131

    相关资料131

    第8 章摄像机. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

    摄像机的类型133

    固定摄像机133

    第一人称摄像机134

    跟随摄像机134

    场景切换摄像机135

    透视投影135

    视场136

    宽高比137

    摄像机的实现138

    基础的跟随摄像机138

    弹性跟随摄像机139

    旋转摄像机142

    第一人称摄像机144

    样条摄像机146

    摄像机支持算法149

    摄像机碰撞149

    拣选149

    总结151

    习题151

    相关资料151

    第9 章人工智能. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

    “真”AI 与游戏AI 153

    寻路153

    搜索空间的表示154

    可接受的启发式算法156

    贪婪最佳优先算法157

    A* 寻路161

    Dijkstra 算法163

    基于状态的行为164

    AI 的状态机164

    基础的状态机实现165

    状态机设计模式167

    策略和计划168

    策略168

    计划169

    总结170

    习题170

    相关资料172

    通用AI 172

    寻路172

    状态172

    第10 章用户界面. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

    菜单系统174

    菜单栈174

    按钮175

    打字176

    HUD 元素177

    路点箭头177

    准心180

    雷达181

    其他需要考虑的UI 问题186

    支持多套分辨率186

    本地化187

    UI 中间件189

    用户体验189

    总结189

    习题189

    相关资料190

    第11 章脚本语言和数据格式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191

    脚本语言192

    折中192

    脚本语言的类型193

    Lua 194

    Unrealscript 195

    可视化脚本系统196

    实现一门脚本语言197

    标记化197

    正则表达式198

    语法分析199

    代码的执行和生成200

    数据格式202

    折中202

    二进制格式203

    INI 203

    XML 203

    JSON 204

    案例学习:《魔兽世界》中的UI Mod 205

    布局和事件205

    行为206

    问题:玩家自动操作206

    问题:UI 兼容性206

    结论207

    总结207

    习题207

    相关资料208

    第12 章网络游戏. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209

    协议210

    IP 210

    ICMP 211

    TCP 212

    UDP 214

    网络拓扑215

    服务器/客户端216

    点对点218

    作弊219

    信息作弊219

    游戏状态作弊220

    中间人攻击220

    总结221

    习题221

    相关资料222

    第13 章游戏示例:横向滚屏者(iOS) . . . . . . . . . . . . . . . . . . . . . . . . . . 223

    概览224

    Objective-C 224

    Cocos2D 225

    代码分析226

    AppDelegate 226

    MainMenuLayer 227

    GameplayScene 227

    ScrollingLayer 227

    Ship 228

    Projectile 229

    Enemy 229

    ObjectLayer 229

    练习230

    总结231

    第14 章游戏示例:塔防(PC/Mac). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232

    概览233

    C# 233

    XNA 235

    MonoGame 235

    xviii 目录

    代码分析236

    设置236

    单件236

    游戏类237

    游戏状态237

    游戏对象238

    关卡239

    计时器239

    寻路240

    摄像机和投影241

    输入241

    物理242

    本地化242

    图形242

    声音243

    用户界面243

    练习245

    总结246

    附录A 习题答案. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247

    附录B 对开发者有用的工具. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260

    资源截图:

    1.png


    知买宝 » 游戏编程算法与技巧 PDF_游戏开发教程

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    • 70会员总数(位)
    • 41004资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 1676稳定运行(天)

    提供优质的知识资源集合

    立即查看 了解详情