图书介绍

网络游戏核心技术与实战【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

网络游戏核心技术与实战
  • (日)中岛谦互著;毛姝雯,田剑译 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115349354
  • 出版时间:2014
  • 标注页数:444页
  • 文件大小:185MB
  • 文件页数:466页
  • 主题词:游戏程序-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

网络游戏核心技术与实战PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第0章[快速入门]网络游戏编程 网络和游戏编程的技术基础1

0.1网络游戏开发者所需了解的网络编程基础3

0.1.1网络编程是必需的3

0.1.2网络编程与互联网编程3

0.1.3互联网编程的历史和思想4

0.1.4 OSI参考模型——透明地处理标准和硬件的变化4

0.1.5网络游戏系统及其层次结构5

0.1.6套接字API的基础知识6

0.1.7网络游戏和套接字API——使用第4层的套接字API7

专栏 网络编程的特性和游戏架构的关系8

0.2套接字编程入门——处理多个并发连接、追求性能10

0.2.1通信链路的确定(复习)10

0.2.2套接字API基础——一个简单的ECHO服务器、ECHO客户端示例11

0.2.3TCP通信链路的状态迁移和套接字API12

0.2.4处理多个并发连接——通向异步套接字API之路15

0.2.5同步调用(阻塞)和线程16

0.2.6单线程、非阻塞、事件驱动——使用select函数进行轮询17

0.2.7网络游戏输入输出的特点——单线程、事件驱动、非阻塞18

0.2.8网络游戏和实现语言18

0.2.9充分发挥性能和提高开发效率——从实现语言到底层结构18

0.2.10发挥多核服务器的性能20

专栏 输入输出的实现方针和未来提高性能的可能性20

0.2.11多核处理器与网络吞吐量——网络游戏与小数据包21

0.2.12简化服务器实现——libevent25

0.3 RPC指南——最简单的通信中间件26

0.3.1通信库的必要性26

0.3.2网络游戏中使用的RPC的整体结构28

0.3.3[补充]UDP的使用30

0.4游戏编程基础31

0.4.1游戏编程的历史31

0.4.2采用“只要能画点就能做出游戏”的方针来开发入侵者游戏31

0.4.3游戏编程的基本剖析32

0.4.4游戏编程精粹不使用线程的“任务系统”40

0.4.5两种编程方法的相似性——不使用线程40

0.5小结41

专栏 确保开发效率和各平台之间的可移植性41

第1章 网络游戏的历史和演化游戏进入了网络世界43

1.1网络游戏的技术历史45

1.1.1网络游戏出现前的50年45

1.1.2 20世纪50年代前:计算机诞生45

1.1.3 20世纪50年代:早期的电子游戏46

1.1.4 20世纪60年代:各种颇具影响的机器登上历史舞台46

1.1.5 20世纪70年代:网络游戏的基本要素50

1.1.6 20世纪80年代:网络对战游戏登场51

1.1.7 20世纪90年代:游戏市场扩大52

1.1.8本世纪前10年的前期:网络游戏商业化55

1.1.9本世纪前10年的后半期基于Web浏览器的MMOG在商业上获得成功56

1.1.10 2010年之后:究竟会出现怎么样的游戏呢?57

1.2从技术变迁看游戏文化和经济圈57

1.2.1解读技术发展图57

1.2.2 3个圈(三大范畴)57

1.2.3两个游戏经济/文化圈59

1.2.4文化、经济与技术的关系61

1.3小结62

专栏 成为出色的网络游戏开发程序员的条件62

第2章 何为网络游戏 网络游戏面面观63

2.1网络游戏术语的定义65

网络游戏的4个层面65

2.2网络游戏的物理层面66

2.2.1物理构成要素66

2.2.2物理模式/物理上的网络构成67

2.3网络游戏的概念层面69

2.3.1网络游戏及其基本结构69

2.3.2游戏进行空间——进行游戏时所需的所有信息70

2.3.3游戏的进展——游戏进行空间的变化70

2.3.4共享相同的游戏进展71

2.4网络游戏的商业层面72

2.4.1商业层面的要求72

2.4.2有效地招募测试玩家——网络游戏与测试73

2.4.3不断更新——网络游戏的运营和更新74

2.4.4节约服务器数量和带宽——网络游戏开支的特殊性76

2.4.5从小规模开始,确保可扩展性——将风险降到最低,不要错过取胜的机会77

2.4.6提供多种收费方式——收费结算方式的变化77

2.4.7低价、快速地根除攻击者——攻击、非法行为及其对策79

2.4.8减少服务器停止的次数和时间——不要让玩家失望80

2.4.9反馈游戏结果——日志分析和结果的可视化82

2.4.10更容易地与其他玩家相遇——玩家匹配84

2.5网络游戏的人员和组织85

2.5.1与网络游戏服务的运营相关的人员85

2.5.2网络游戏服务运营的3项专门职责86

2.5.3开发团队87

2.5.4运维团队89

2.6网络游戏程序员所需的知识90

2.6.1网络游戏程序员所需的技术和经验90

2.6.2各种网络游戏开发知识95

2.7支持网络游戏的技术的大类95

支持网络游戏的技术的4种形式96

2.8影响开发成本的技术要素97

2.8.1网络游戏与如今的开发技术97

2.8.2支持网络游戏主体的3大核心98

2.9小结102

专栏 网络游戏编程的最大难点103

第3章网络游戏的架构 挑战游戏的可玩性和技术限制109

3.1游戏编程的特性——保持快速响应111

3.1.1响应速度的重要性——时间总是不够的111

3.1.2将数据存放在内存中的理由——游戏编程真的有三大痛苦吗111

3.1.3 1每16毫秒变化一次——处理的信息及其大小111

3.1.4 2大量对象的显示——CPU的处理能力114

3.1.5 3无法预测玩家的操作——游戏状态千变万化117

3.1.6必须将游戏数据放在CPU所在的机器上117

3.2网络游戏特有的要素118

3.2.1通信延迟——延迟对游戏内容的限制118

3.2.2带宽——传输量的标准120

3.2.3服务器——成本、服务器数量的估算121

3.2.4安全性——网络游戏的弱点121

3.2.5辅助系统(相关系统)125

3.3物理架构详解——C/S架构、P2P架构125

3.3.1基本的网络拓扑结构125

3.3.2物理架构的种类127

3.3.3 C/S架构——纯服务器型、反射型127

3.3.4P2P架构129

3.3.5 C/S+P2P混合型架构130

3.3.6 ad-hoc模式131

专栏 游戏客户端是什么131

3.4逻辑架构详解——MO架构132

3.4.1 MO、 MMO是什么?——同时在线数的区别132

3.4.2 MO架构、MOG133

3.4.3同步方式——获得全体玩家的信息后,游戏才能继续133

3.4.4同步方式/全网状结构的实现——所有终端都拥有主数据133

3.4.5同步方式/星型结构——暂时将输入信息集中到服务器上139

3.4.6异步方式——接受各终端上游戏状态的不一致142

3.4.7三大基本要素:自己、对手、环境——异步实现的指导方针143

3.4.8 1自己和对手——对战游戏和玩家之间往来数据的抽象程度144

3.4.9保持结果一致性的方法——两种覆盖方式148

3.4.10 2自己和环境——可使用物品的格斗游戏和互斥控制151

3.4.11互斥控制的实现——采用与同步方式类似的机制来实现异步方式152

3.4.12状态会自动变化的环境——静态环境和动态环境158

3.4.13 3对手和环境的关系162

3.5逻辑架构详解——MMO架构163

3.5.1 M MO架构、MMOG——在大量玩家之间共享长期存在的游戏过程164

3.5.2 M M OG的结构165

3.5.3大型多人网络游戏(MMO)168

3.6小结168

专栏 设法改善网页游戏的画面显示间隔169

第4章[实践]C/S MMO游戏开发 长期运行的游戏服务器171

4.1网络游戏开发的基本流程173

4.1.1项目文档/交付物173

4.1.2开发的进行和文档准备的流程175

4.1.3技术人员的文档/交付物176

4.2 C/S MMO游戏的发展趋势和对策177

4.2.1 C/S M MO游戏的特点177

4.2.2 C/S M MO架构(MMO架构)特有的游戏内容177

4.3策划文档和5种设计文档——从虚构游戏K Online的开发中学习179

4.3.1考虑示例游戏的题材179

4.3.2详细设计文档180

4.3.3 MMOG庞大的游戏设定181

4.3.4 5种设计文档182

4.3.5设计上的重要判断182

4.4 1系统基本结构图的制定184

4.4.1系统基本结构图的基础184

4.4.2服务器必须具有可扩展性——商业模式的确认184

4.4.3各种瓶颈——扩展方式的选择184

专栏MMO客户端特有的渲染性能瓶颈186

4.4.4解决游戏服务器/数据库的瓶颈187

4.4.5什么都不做的情况(1台服务器负责整个游戏世界)188

4.4.6空间分割法——解决游戏服务器的瓶颈189

4.4.7实例法——解决游戏服务器的瓶颈190

4.4.8平行世界方式——解决数据库瓶颈191

4.4.9同时采用多种方法——应对越来越多的玩家193

4.4.10各种方式的引入难度194

4.4.11各个世界中数据库(游戏数据库)服务器的绝对性能的提高194

4.4.12 K Online的设计估算——首先从同时在线数开始195

4.4.13根据游戏逻辑的处理成本来估算——敌人的行动算法需要消耗多少CPU196

4.1.14根据游戏数据库的处理负荷进行估算——找到“角色数据的保存频率”与“数据库负荷”的关系198

4.4.15可扩展性的最低讨论结果,追求进一步的用户体验199

4.4.16服务器的基本结构,1制定系统基本结构图200

4.5 2进程关系图的制定201

4.5.1 2进程关系图的准备201

4.5.2服务器连接的结构——只用空间分割法202

4.5.3服务器连接的结构——使用平行世界方式和空间分割法203

4.5.4使用平行世界方式进行扩展的关键点204

4.6 3带宽/服务器资源估算文档的制定205

4.6.1以进程列表为基础估算服务器资源205

4.6.2以CPU为中心的服务器和以存储为中心的服务器208

4.6.3服务器资源的成本估算——首先从初期费用开始208

4.6.4带宽成本的估算209

4.6.5带宽减半的方针——首先是调整策划,然后在程序上下功夫210

4.6.6策划内容的分析对带宽的降低很有效211

4.7 4协议定义文档的制定——协议的基本性质211

4.7.1 4协议定义文档基础212

4.7.2“协议的基本性质”的要点212

4.7.3协议的种类、以及进程之间关系的种类213

4.7.4 8种类型的协议213

4.7.5 C/S M M O采用TCP214

4.7.6与“协议的基本性质”的对应214

4.8 4协议定义文档——协议的API规范(概要)217

4.8.1协议的实现原则217

4.8.2 8种协议的功能/形式概述221

4.9 4协议定义文档——协议的API规范(详细)223

4.9.1协议API规范(详细)的制定224

4.9.2 API的函数定义224

4.9.3常量定义229

4.9.4 API的调用时序230

4.9.5时序图制定的要点238

4.10 4协议定义文档——数据包的格式238

4.10.1 C/S M MO主要采用TCP(复习)238

4.10.2 C/S MMO使用包含专用字节数组的二进制协议239

4.10.3二进制协议的实现——首先从术语的整理开始239

专栏C/S M MO的压缩和加密242

4.11 5数据库设计图242

4.11.1要在编程之前进行对重要的表进行设计242

4.11.2 C/S MMO中的数据库实现的历史变迁243

4.11.3整理K Online所需的表245

专栏 百花缭乱的KVS246

4.11.4数据库性能预测250

4.12服务器/客户端软件+中间件——实践中不可或缺的开发基础254

4.12.1网络游戏的中间件254

4.12.2开发的基础软件——可以立刻尝试的C/S MMO开发体验256

4.13程序开发中的基本原则258

4.13.1如何开始编程、如何继续编程258

4.13.2数据结构优先原则——基本原则1259

4.13.3实现数据结构之前的讨论——出现在画面上和不出现在画面上的元素262

4.13.4维持可玩状态的原则——基本原则2263

4.13.5后端服务器的延后原则——基本原则3264

4.13.6持续测定的原则——基本原则4264

4.14 C/S MMO游戏K Online的实现——编程开始!266

4.14.1开发的安排266

4.14.2 K Online中的分工计划267

4.14.3 K Online中“框架阶段”和“原型阶段”的区别268

4.14.4 [步骤1~2]框架~原型阶段269

专栏 每一步的进度管理形式272

4.14.5“不实际运行起来是不会理解的!”——游戏开发的特殊性274

专栏C/C+++以外的语言275

4.14.6框架的整体结构276

专栏VCE是什么278

4.14.7以怎样的顺序来编写代码280

4.14.8首先编写协议定义文件k.xmI——开发流程1280

4.14.9协议定义的要点281

4.14.10通信连通确认:ping函数281

4.14.11账户登录和账户认证:signup函数、authentication函数283

4.14.12角色创建:createCharacter函数284

4.14.13登录:login函数285

4.14.14在地面上移动:move函数、moveNotify286

4.14.15编写gmsv/Makefile——开发流程2293

4.14.16从示例中复制gmsv/climain.cpp和gmsvmain.cpp——开发流程3293

专栏dbsv服务器代码的自动生成297

4.14.17自动测试客户端autocli的实现——开发流程4300

专栏gmsv中线程的使用305

4.14.18图形客户端cli的创建和运行确认——开发流程5307

4.14.19框架之后的开发——开发流程、后续事项310

4.15总结310

第5章[实践] P2P MO游戏开发 没有专用服务器的动作类游戏的实现311

5.1 P2P MO游戏的特点和开发策略313

5.1.1 P2P MO和动作类游戏——游戏的状态频繁发生改变313

5.1.2 RPC和共享内存313

5.1.3P2P MO游戏的特点——和c/s MMO游戏的比较和难点314

5.1.4 P2P MO游戏的优点316

5.1.5从概要设计开始考虑[多人游戏模式]316

5.2 J Multiplayer游戏开发案例的学习——和K Online的不同316

5.2.1 J Multiplayer——和K Online的比较317

5.2.2P2PMO游戏开发的基本流程317

5.2.3 P2P MO游戏开发的交付产品——开发各个阶段需要提交的资料317

5.2.4和C/S MMO的数据量/规模的比较319

5.3 P2P MO游戏的设计资料319

5.3.1系统基本结构图320

5.3.2进程关系图320

5.3.3带宽/服务器资源计算资料323

5.3.4通信协议定义资料和API规格323

专栏 什么是“游戏逻辑”324

5.3.5带宽消耗量的估算327

5.3.6其他资料331

5.4客户端/服务器软件+中间件、基本原则332

5.4.1 P2P MO开发的最终交付产品332

5.4.2 P2 P M O中使用的中间件333

5.4.3编程时应该注意的基本原则——针对P2P MO游戏333

5.5 P2P MO游戏J Multiplayer的实现——正式开始编程334

5.5.1 J Multiplayer的编程计划334

5.5.2开发流程——K Online的回顾334

5.5.3 J Multiplayer开发阶段——开发顺序和内容335

5.5.4第1阶段的要点335

5.5.5客户端程序的开发案例336

5.5.6“共享内存方式”的实现——开始编码337

5.5.7 P2P MO游戏开发中该如何防止发生竞争状态339

5.5.8共享内存开发方式该如何编码——共享内存开发方式和RPC开发方式的比较343

5.5.9 SyncValue类347

专栏 数据中心的地理位置分布352

5.6支持C/S MO游戏的技术[补充]353

5.6.1 C/S M O和NAT问题353

5.6.2什么是NAT问题353

5.6.3 NAT遍历——解决NAT问题建立通信路径的技术353

5.6.4 NAT问题的实际解决方法355

5.6.5中继服务器356

5.6.6中继服务器的折衷方案356

5.7总结358

第6章 网络游戏的辅助系统 完善游戏服务的必要机制359

6.1辅助系统需要的各种功能361

6.1.1现有服务提供的辅助系统功能361

6.1.2现有服务的功能一览363

6.1.3网页游戏开发方法和客户端游戏的开发方法365

6.2交流/通信功能365

6.2.1玩家匹配P2P MO365

6.2.2游戏大厅P2P MO369

6.2.3中继服务器P2P MO370

6.2.4聊天P2P MO C/S MMO371

6.2.5邮件P2P MO C/S MMO374

6.2.6好友列表P2P MO C/S MMO374

6.2.7玩家状态P2P MO C/S MMO375

6.2.8加锁服务器P2P MO C/S MMO376

6.2.9黑名单P2P MO C/S MMO377

6.2.10语音聊天P2P MO C/S MMO378

6.3游戏客户端实现相关的辅助系统378

6.3.1玩家成绩管理P2P MO C/S MMO378

6.3.2存储功能P2P MO379

6.3.3(游戏客户端)更新P2P MO C/S MMO380

6.3.4排行榜P2P MO C/S MMO381

6.4运营辅助系统383

新闻发布P2P MO C/S MMO383

6.5付费相关的辅助系统384

6.5.1付费认证P2P MO C/S MMO384

6.5.2虚拟货币管理P2P MO C/S MMO387

专栏C/S MMO游戏的收入388

6.6其他辅助功能390

6.6.1游戏数据浏览/查询工具P2P MO C/S MMO390

6.6.2敏感词过滤P2P MO C/S MMO392

6.7本章小结392

第7章 支持网络游戏运营的基础设施 架构、负荷测试和运营393

7.1基础设施架构的基础知识395

7.1.1 C/S MMO和P2P MO的基础设施(概要)395

7.1.2基础设施架构需要进行的工作——从开发整体来看395

7.1.3基础设施的成本估算396

7.1.4成本的概念、单位397

7.1.5网络游戏服务器在一定程度上可以接收的条件398

7.1.6硬件、信息设备398

7.1.7软件399

7.1.8数据中心相关的成本401

7.1.9服务费(数据中心以外)403

7.1.10网络带宽费403

7.1.11电费404

7.2开发者需要知道的基础设施架构技巧404

7.2.1服务规模的扩大/缩小——用户数和需要的基础设施规模404

7.2.2典型的环境404

7.2.3负荷曲线405

7.2.4面向开发者的基础设施架构要点407

7.2.5服务器部署407

7.2.6登台环境409

7.2.7服务器的监控、生死监控410

7.2.8日志输出/管理411

7.3 K Online、 J Multiplayer游戏的基础设施架构412

7.3.1 K Online的基础设施413

7.3.2 J Multiplayer的基础设施414

7.4负荷测试417

7.4.1负荷测试的准备417

7.4.2 K Online在生产环境的负荷测试417

7.4.3负荷测试时使用的服务器监控命令418

7.4.4 J Multiplayer在生产环境下的负荷测试422

7.5游戏上线423

7.5.1游戏上线前——从确认安全设定开始423

7.5.2游戏上线后——系统监控424

7.5.3服务器的组群化425

7.5.4故障发生时的应对427

7.6本章小结428

第8章 网络游戏的开发体制 团队管理的挑战429

8.1游戏的策划内容和开发团队网络游戏特有的挑战431

8.1.1游戏的策划内容是团队管理的关键431

8.1.2游戏数据的持久化431

8.1.3游戏中玩家之间的关系432

8.1.4游戏结果的共享范围433

8.1.5聊天系统的内容434

8.1.6维护和升级的计划434

8.1.7代码规模——如果需要迭代的代码过多就会遇到问题435

8.2网络游戏开发团队的实际情况——和一般软件开发相同的地方436

8.2.1工作分配436

8.2.2持续提升网络游戏程序员技能的方法438

8.2.3项目管理术——游戏开发和Scrum440

8.2.4开发环境的选择440

8.2.5项目的移交——理所当然的事情也需要仔细归纳总结441

8.3本章小结442

专栏 网络游戏开发的成本443

热门推荐