http://book.csdn.net/bookfiles/329/index.html

  • 书名:大型多人在线游戏开发
  • 作者:(美)亚历山大 编,史晓明 译
  • 来源:人民邮电出版社
  • 出版时间:2006年12月
  • ISBN:7115152675
  • 定价:59元
  • 内容介绍:
    本书是一本系统介绍MMP(大型多人,Massively Multiplayer)在线游戏开发知识的文集,汇集业内最优秀的游戏开发人员智慧的精华。本书不仅从MMP游戏的角度对客户端技术进行了讨论,还深入剖析了MMP游戏设计、架构、服务端开发、数据库技术以及MMP游戏核心系统等特定于MMP游戏的知识。对于广大MMP游戏开发人员来说,本书是不可多得的参考资料。
    目录:
    第1章 MMP设计技术
    1.1 《卡通城在线》:面向大众的大型多人游戏 Mike Goslin 2
    1.1.1 游戏设计问题 2
    1.1.2 社会性问题 10
    1.1.3 总结 13
    1.2 每个人都需要某个人:怎样让在线游戏玩家进行合作 Derek Sanderson 15
    1.2.1 玩家不会进行合作,除非他们必须合作 16
    1.2.2 角色扮演是主流:玩家间的合作在玩家可以提供独特的功能时最为有效 17
    1.2.3 提供功能:预先定义还是通过能力定义 17
    1.2.4 为游戏角色提供挑战 18
    1.2.5 保持功能的完整性 19
    1.2.6 帮助玩家彼此找到对方 20
    1.2.7 帮助玩家进行交流 21
    1.2.8 总结 21
    1.2.9 参考文献 22
    1.3 MMP游戏中的游戏平衡 Ben Hanson 23
    1.3.1 为游戏中的数值建立基线(baseline) 23
    1.3.2 为数值编写模拟程序 24
    1.3.3 建立游戏中的度量(Metric) 26
    1.3.4 内部和外部测试 26
    1.3.5 在发布后对游戏进行平衡 27
    1.3.6 对新功能进行平衡 28
    1.3.7 总结 28
    1.4 使用支付矩阵来设计游戏平衡和AI John M. Olsen 29
    1.4.1 什么是支付矩阵? 29
    1.4.2 “War”纸牌游戏 30
    1.4.3 囚徒困境(Prisoner's Dilemma) 31
    1.4.4 简单的格斗游戏 31
    1.4.5 不对称的能力 33
    1.4.6 延迟和停止 34
    1.4.7 自动化 34
    1.4.8 总结 36
    1.4.9 参考文献 37
    1.5 使用用例来描述游戏行为 Matthew Walker 38
    1.5.1 什么是用例? 38
    1.5.2 为什么要使用用例来开发MMP游戏? 38
    1.5.3 怎样编写用例? 39
    1.5.4 如何识别用例? 39
    1.5.5 用例中的元素:一个标准模版 40
    1.5.6 漂亮的图表 45
    1.5.7 开始实现 46
    1.5.8 用例的指导方针 50
    1.5.9 总结 54
    1.5.10 参考文献 54
    1.6 使用生命值来设计转换因子 John M. Olsen 55
    1.6.1 武器的价值 55
    1.6.2 治疗、防具和减轻伤害 58
    1.6.3 从NPC获得的战利品 59
    1.6.4 制造业 60
    1.6.5 无关物品 61
    1.6.6 检验 61
    1.6.7 总结 61
    1.7 在MMP游戏设计中加入故事情节 Paul McInnes 62
    1.7.1 为了一个更有意义的MMP 62
    1.7.2 游戏与故事情节:尴尬的结合 63
    1.7.3 故事情节在计算机游戏中的功能 63
    1.7.4 挑战更多的认知能力 64
    1.7.5 使用有意义行动的最佳场所 65
    1.7.6 为MMP游戏模式加入故事情节 66
    1.7.7 公共目标 68
    1.7.8 总结 69
    1.7.9 参考文献 69
    1.8 客户服务和玩家声望:一切都和信任有关 Paul D. Sage 70
    1.8.1 捣乱(grief) 70
    1.8.2 规则只是工具 71
    1.8.3 意图 72
    1.8.4 当前的服务部门正在这样做,或许他们还没有意识到 72
    1.8.5 声望 73
    1.8.6 正当行为 73
    1.8.7 恶意行为 74
    1.8.8 多样性导致了所有的差异 75
    1.8.9 当前使用的行为模式跟踪方法 75
    1.8.10 更多的问题 76
    1.8.11 使用声望 76
    1.8.12 总结 76
    第2章 MMP体系结构
    2.1 为MMP游戏制作仿真框架,第一部分:结构建模 Thor Alexander 80
    2.1.1 体系结构纵览 80
    2.1.2 支持类 81
    2.1.3 核心类 83
    2.1.4 管理器类和工厂类 87
    2.1.5 仿真类 88
    2.1.6 总结 89
    2.1.7 参考文献 89
    2.2 为MMP游戏制作仿真框架,第二部分:行为建模 Thor Alexander 90
    2.2.1 把用户和行动者关联起来 90
    2.2.2 动作请求 90
    2.2.3 动作调度 92
    2.2.4 事件广播和处理 92
    2.2.5 服务端事件处理 93
    2.2.6 客户端事件处理 94
    2.2.7 客户端代理 94
    2.2.8 仿真与表示分离 95
    2.2.9 总结 96
    2.3 为游戏脚本创建一个“安全沙盘” Matthew Walker 97
    2.3.1 脚本语言与MMP开发 97
    2.3.2 使用沙盘的理由 98
    2.3.3 安全沙盘的设计 99
    2.3.4 在安全沙盘中编写游戏代码 106
    2.3.5 总结 108
    2.3.6 参考文献 108
    2.4 大型多人游戏中的单元测试 Matthew Walker 110
    2.4.1 为什么MMP游戏需要单元测试 110
    2.4.2 单元测试的定义 111
    2.4.3 单元测试框架 114
    2.4.4 测试先行的设计 117
    2.4.5 实用因素 118
    2.4.6 总结 121
    2.4.7 参考文献 121
    2.5 使用Twisted框架进行MMP服务整合 Glyph Lefkowitz 123
    2.5.1 DIY(Do It Yourself)所带来的问题 124
    2.5.2 付费找别人来做带来的问题 124
    2.5.3 问题小结 125
    2.5.4 构造一个解决方案 125
    2.5.5 简介:通用的延迟执行机制 125
    2.5.6 高层网络服务:全景代理 127
    2.5.7 基于Web的工具 135
    2.5.8 整合独立对象 137
    2.5.9 底层整合:协议与网络 139
    2.5.10 开发社区 141
    2.5.11 总结 141
    2.5.12 参考文献 142
    2.6 Beyond 2:构建虚拟世界的开源平台 Jason Asbahr 143
    2.6.1 纵览 143
    2.6.2 服务端架构 144
    2.6.3 客户端架构 146
    2.6.4 仿真模型 146
    2.6.5 总结 148
    2.6.6 参考文献 149
    2.7 使用并行状态机来创建可信的角色 Thor Alexander 150
    2.7.1 状态模式(State Pattern) 151
    2.7.2 并行(Parallel)状态层 152
    2.7.3 状态管理器 158
    2.7.4 跨层阻止(Cross-Layer Blocking) 159
    2.7.5 总结 160
    2.7.6 参考文献 160
    2.8 在MMP服务中使用观察者/可观察者设计模式 Javier F. Otaegui 161
    2.8.1 观察者/可观察者设计模式 161
    2.8.2 基本架构 162
    2.8.3 服务端架构 162
    2.8.4 客户端架构 166
    2.8.5 增强 170
    2.8.6 总结 171
    2.8.7 参考文献 171
    第3章 服务端开发
    3.1 无缝服务器:优点和缺点 Jason Beardsley 174
    3.1.1 杀死怪物不止一个方法 174
    3.1.2 无缝世界模式的原型 176
    3.1.3 无缝世界模式的优点 178
    3.1.4 无缝世界的缺点 179
    3.1.5 总结 184
    3.2 服务端对象的更新频率 John M. Olsen 186
    3.2.1 视觉连贯性与精确度 186
    3.2.2 需要发送哪些数据 187
    3.2.3 带宽限制 187
    3.2.4 每个用户在服务端需要的数据 188
    3.2.5 管理数据大小 188
    3.2.6 更新队列 189
    3.2.7 缺省的更新频率 190
    3.2.8 计算范围 190
    3.2.9 调整优先级 190
    3.2.10 调整队列 191
    3.2.11 总结 192
    3.3 MMP服务器开发和维护 William Dalton 193
    3.3.1 基本问题 193
    3.3.2 对复杂度进行管理 196
    3.3.3 总结 199
    3.4 小型入口:使用手持设备来接入MMP游戏世界 David Fox 200
    3.4.1 无线设备和网络 200
    3.4.2 J2ME 201
    3.4.3 BREW(二进制的无线运行时环境) 202
    3.4.4 无线界面和游戏设计总览 202
    3.4.5 对象设计 203
    3.4.6 网络设计:使用代理服务器 208
    3.4.7 总结 208
    3.4.8 参考文献 208
    3.5 使用Python进行精确的游戏事件广播 Matthew Walker 209
    3.5.1 事件驱动编程 209
    3.5.2 延迟调用 211
    3.5.3 事件广播 215
    3.5.4 精确的事件广播 220
    3.5.5 总结 226
    3.5.6 参考文献 226
    3.6 在MMP游戏中实现移动和物理模块的注意事项 Jay Lee 228
    3.6.1 我们可以发布这个游戏了吗? 228
    3.6.2 这是一场战争 229
    3.6.3 服务端永远是对的 229
    3.6.4 移动的代价 230
    3.6.5 移动速度 232
    3.6.6 玩家可以从这里到那里吗? 232
    3.6.7 碰撞检测 234
    3.6.8 物品放置 236
    3.6.9 侵入检测(Hack Detection) 237
    3.6.10 总结 238
    3.6.11 参考文献 238
    第4章 客户端开发
    4.1 客户端移动预测 Mark Brockington 240
    4.1.1 游戏的开发需要良好的移动预测 240
    4.1.2 命令时间同步 241
    4.1.3 合并路点 242
    4.1.4 插值和推导 244
    4.1.5 为瞄准延迟使用反向仿真 246
    4.1.6 总结 247
    4.1.7 参考文献 247
    4.2 保持流畅:异步客户和时空穿梭 Jay Patterson 249
    4.2.1 共享状态的基本问题 250
    4.2.2 航位推测法:时空探索者会做得更好 251
    4.2.3 仿真时间表示:为时空穿梭建立通道 252
    4.2.4 直接操纵时间 253
    4.2.5 总结 255
    4.2.6 参考文献 256
    4.3 使用程序生成游戏世界:避免数据激增 Sean O'Neil 257
    4.3.1 运行时生成的优点 257
    4.3.2 运行时生成的缺点 258
    4.3.3 地形生成算法的分类 259
    4.3.4 修改程序生成的地形 261
    4.3.5 高效地渲染程序生成的地形 264
    4.3.6 生成贴图 266
    4.3.7 在程序生成的地形进行碰撞检测 267
    4.3.8 大型游戏世界中的比例问题 267
    4.3.9 总结 270
    4.3.10 参考文献 270
    4.4 为固定大小的对象编写一个高速有效的分配器 Tom Gambill 272
    4.4.1 C++中的内存分配 272
    4.4.2 一个简单的向量分配器 273
    4.4.3 用户友好的分配器模板 275
    4.4.4 降低分配器的内存开销 277
    4.4.5 总结 279
    4.5 使用贴图定制三维角色 Todd Hayes 280
    4.5.1 角色定制的类型 280
    4.5.2 贴图合成简介 282
    4.5.3 分层 283
    4.5.4 贴图定制模版和样本 284
    4.5.5 样本集合 285
    4.5.6 总体实现 286
    4.5.7 对定制系统的进一步改进 288
    4.5.8 系统的局限性 289
    4.5.9 总结 289
    4.6 游戏机平台上MMP游戏的独特挑战 John M. Olsen 290
    4.6.1 环境 290
    4.6.2 登录 291
    4.6.3 分辨率 291
    4.6.4 聊天频道 291
    4.6.5 选择目标 293
    4.6.6 菜单 293
    4.6.7 背囊管理和交易 294
    4.6.8 持久化存储空间的问题 295
    4.6.9 补充界面 295
    4.6.10 总结 296
    第5章 数据库技术
    5.1 关系数据库管理系统入门 Jay Lee 298
    5.1.1 表 298
    5.1.2 数据查询和关联 298
    5.1.3 关系类型 300
    5.1.4 属性 301
    5.1.5 正规化 302
    5.1.6 操纵数据 302
    5.1.7 总结 303
    5.1.8 参考文献 303
    5.2 使用关系数据库管理系统来编写数据驱动的MMP游戏 Jay Lee 304
    5.2.1 最明显的方法——为什么它不可行 304
    5.2.2 可行的方法 305
    5.2.3 获取数据 306
    5.2.4 常量模块 306
    5.2.5 查找表 308
    5.2.6 字符串表 310
    5.2.7 向客户发送数据 311
    5.2.8 本地化 312
    5.2.9 总结 313
    5.2.10 参考文献 313
    5.3 MMP游戏中的数据驱动系统 Sean Riley 314
    5.3.1 在MMP游戏中使用数据驱动系统的优点 314
    5.3.2 在MMP游戏中使用数据驱动系统 316
    5.3.3 不同类型的数据源 316
    5.3.4 由数据驱动的游戏架构的类型 319
    5.3.5 总结 323
    5.3.6 参考文献 323
    5.4 使用数据库来管理游戏状态数据 Christian Lange 324
    5.4.1 模型(schema)设计 324
    5.4.2 数据 326
    5.4.3 注意事项 328
    5.4.4 其他方法 329
    5.4.5 总结 331
    5.4.6 参考文献 331
    第6章 游戏系统
    6.1 从原料到成品:社会经济中的职业生涯 Artie Rogers 334
    6.1.1 原料获取和加工 335
    6.1.2 社会经济中的合作制造 337
    6.1.3 物品制造在社会经济中起到的作用 339
    6.1.4 总结 342
    6.2 玩家房屋供给:我的房屋就是你的房屋 Paul D. Sage 343
    6.2.1 成长之路 344
    6.2.2 商业方法 344
    6.2.3 地段、地段、地段! 345
    6.2.4 应该把戟放在哪里? 345
    6.2.5 经验与教训 346
    6.2.6 总结 347
    6.3 社会游戏系统:促进玩家社会化及提供游戏回报的另一个途径 Patricia Pizer 348
    6.3.1 什么是社会游戏系统? 348
    6.3.2 为什么要让玩家社会化? 350
    6.3.3 目前使用的社会系统 352
    6.3.4 回报社会性游戏的创新方法 355
    6.3.5 总结 358
    6.3.6 参考文献 359
    6.4 为创建和管理行会设计灵活的命令集 John M. Olsen 360
    6.4.1 创建 361
    6.4.2 领导 361
    6.4.3 标识 362
    6.4.4 行会维护 364
    6.4.5 财产 365
    6.4.6 专用区域 366
    6.4.7 交流 366
    6.4.8 总结 368
    6.5 创建声望系统:《无冬城之夜》中的仇恨、宽恕和投降 Mark Brockington 369
    6.5.1 友谊和仇恨的实现 369
    6.5.2 宽恕 372
    6.5.3 投降 375
    6.5.4 玩家对战的设置 376
    6.5.5 总结 377
    6.5.6 参考文献 377
    6.6 城邦政府在在线社区中的作用 Artie Rogers 378
    6.6.1 公民生涯 379
    6.6.2 参与城邦工作 381
    6.6.3 定义政治过程 384
    6.6.4 总结 386

大型多人在线游戏开发相关推荐

  1. 游戏开发中的问题-----摘自《大型多人在线游戏开发》

    原文: 虽然在大型多人在线游戏开发过程中会遇到很多问题和挑战,但最关键的一点就是有能力编写稳健的代码.这意味着我们必须进行良好的设计而不是随意地堆砌代码,这意味着我们必须在代码中加入足够的注释以方便支 ...

  2. 读《大型多人在线游戏开发》笔记

    结构建模 (一)  辅助类: 1.         词典类 a)         添加条目 b)        查询条目 c)        删除条目 例如仿真状态{状态集词典,ID} 2.      ...

  3. 《 大型多人在线游戏开发》笔记

    2014-05-05 Apr 13, 14 这本书还是非常不错的,就是年代老了一点.在设计游戏引擎,方面,没有几年的经验是不行的,但是,我没有那么多的时间. 怎么办? Apr 14 这本书采用Pyth ...

  4. BigWorld Pty. Ltd.是一家全球领先的大型多人在线游戏(MMOG)开发解决方案供应商...

    BigWorld Pty. Ltd.是一家全球领先的大型多人在线游戏(MMOG)开发解决方案供应商.其开发套件为网络游戏提供了一整套解决方案,可大幅度提高游戏产品质量,并使用户大大降低游戏开发成本,从 ...

  5. 使用FLEX3开发大型多人在线游戏

    使用FLEX3开发大型多人在线游戏 2009-09-02 10:07 使用FLEX3开发大型多人在线游戏 收藏 使用FLEX3开发大型多人在线游戏 大型多人在线游戏(MMO)技术已经涉足到各种软件形式 ...

  6. 使用Adobe Flex 3开发大型多人在线游戏

    使用Adobe Flex 3开发大型多人在线游戏 2011年03月28日 大型多人在线游戏(MMO) 技术已经涉足到各种软件形式中了. 当我们还在思考MMO 时, 多人游戏已经使很多玩家能够实时连接进 ...

  7. 大型多人在线游戏服务器架构设计

    由于大型多人在线游戏服务器理论上需要支持无限多的玩家,所以对服务器端是一个非常大的考验.服务器必须是安全的,可维护性高的,可伸缩性高的,可负载均衡的,支持高并发请求的.面对这些需求,我们在设计服务器的 ...

  8. 2015在大型多人在线游戏市场报告

    在线多人游戏流行了非常久. 可是在只几年的时间里.大型多人在线游戏在收入,玩家偏好,潜在观众方面发生了巨大的变化. 总体来说,MMO类型的游戏在今年年底,创造了110亿美金的收入,相当于全世界电子游戏 ...

  9. 用Python架设大型多人在线游戏服务端

    用Python架设大型多人在线游戏服务端 用Python架设大型多人在线游戏服务端应用领域非常广泛,包括战网的暗黑破坏神,社区的QQ宠物等.该文档将帮助大家回顾2011届Python介绍的架构的缺陷以 ...

最新文章

  1. windows远程桌面管理工具下载_vnc viewer 64位下载,3步实现vnc viewer 64位下载
  2. IBM在人工智能方面的新进展,理解谈话情景和感知情绪
  3. python中获取中位数
  4. 【数据结构与算法】之深入解析“丑数”的求解思路与算法示例
  5. 《Excel与VBA程序设计》第一章
  6. 【高精】Gift(jzoj(gz) 1763)
  7. zabbix解决中文乱码
  8. nw.js FrameLess Window下的窗口拖拽与窗口大小控制
  9. ios 筛选_万千网友让quot;低调使用quot;的软件!居然还支持iOS
  10. 字符缓冲输入流 BufferedReader java
  11. 名字英文name域名_企业建站必读:六大方法锁定最佳企业域名
  12. blui_BLUI:一种创建游戏UI的简单方法
  13. 第二章 面向对象的编程风格
  14. Android系统Audio框架介绍(一)
  15. Perl复制、移动、重命名文件/目录
  16. [转]gluPerspective函数
  17. f2fs学习笔记 - 8. f2fs 读文件
  18. 【Linux】Linux系统编程入门
  19. FFMPEG开发之——视频转码
  20. C语言limits.h和float.h头文件

热门文章

  1. rtl8723bs/ds 蓝牙和wifi共存造成蓝牙的卡顿解决方案.
  2. Java初中级面试题大全
  3. 基于埋点日志数据的网络流量统计(网站总浏览量(PV)的统计)
  4. “露露事件”发酵 自媒体被自媒体盗号是什么鬼?
  5. 关于testhome junit参数化的问题解决
  6. javascript静态变量
  7. MapReduce编程——输入类FileInputFormat(切片)及其4个实现类(kv)的用法
  8. iMobile中灵活运用图层,你知多少
  9. 【JY】No.8力学架构国赛题目示例
  10. C++中static变量的初始化