注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)游戲設(shè)計網(wǎng)絡(luò)多人游戲架構(gòu)與編程

網(wǎng)絡(luò)多人游戲架構(gòu)與編程

網(wǎng)絡(luò)多人游戲架構(gòu)與編程

定 價:¥109.00

作 者: [美] Joshua Glazer,Sanjay Madhav 著;王曉慧,張國鑫 譯
出版社: 人民郵電出版社
叢編項:
標(biāo) 簽: 計算機?網(wǎng)絡(luò) 游戲

ISBN: 9787115457790 出版時間: 2017-10-01 包裝: 平裝
開本: 16開 頁數(shù): 344 字數(shù):  

內(nèi)容簡介

  網(wǎng)絡(luò)多人游戲已經(jīng)成為游戲產(chǎn)業(yè)的重要組成部分,本書是一本深入探討關(guān)于網(wǎng)絡(luò)多人游戲編程的圖書。全書分為13章,從網(wǎng)絡(luò)游戲的基本概念、互聯(lián)網(wǎng)、伯克利套接字、對象序列化、對象復(fù)制、網(wǎng)絡(luò)拓撲和游戲案例、延遲、抖動和可靠性、改進的延遲處理、可擴展性、安全性、真實世界的引擎、玩家服務(wù)、云托管專用服務(wù)器等方面深入介紹了網(wǎng)絡(luò)多人游戲開發(fā)的知識,既全面又詳盡地剖析了眾多核心概念。本書的多數(shù)示例基于C++編寫,適合對C++有一定了解的讀者閱讀。本書既可以作為大學(xué)計算機相關(guān)專業(yè)的指導(dǎo)教程,也可以作為普通讀者學(xué)習(xí)網(wǎng)絡(luò)游戲編程的參考指南。

作者簡介

  Joshua Glazer,是Naked Sky Entertainment的CTO和創(chuàng)始人之一。Naked Sky Entertainment是一個游戲開發(fā)工作室,開發(fā)了很多游戲,如RoboBlitz、MicroBot、Twister Mania和手機端游戲Max Axe、Scrap Force。他為許多項目提供咨詢,包括Epic Games公司的《虛幻引擎》(Unreal Engine)、Riot Games公司的《英雄聯(lián)盟》(League of Legends)、THQ公司《毀滅全人類》(Destroy All Humans),還包括藝電(Electronic Arts)、Midway、微軟(Microsoft)和派拉蒙電影公司(Paramount Pictures)等公司的很多項目。Joshua也是南加州大學(xué)(USC)的兼職講師,講授多人游戲編程和游戲引擎開發(fā)。Sanjay Madhav,是南加州大學(xué)(USC)的gao級講師,講授游戲編程、游戲引擎、數(shù)據(jù)結(jié)構(gòu)和編譯器知識。他在藝電(Electronic Arts)、Neversoft和Pandemic Studio做過開發(fā)zhe,涉足的游戲有《榮譽勛章:血戰(zhàn)太平洋》(Medal of Honor: Pacific Assault)、《托尼霍克極限滑板8》(Tony Hawk’s Project 8)、《指環(huán)王:征服》(Lord of the Rings: Conquest)和《破壞者》(The Saboteur)等。他也是《Game Programming Algorithms and Techniques》的作者之一。

圖書目錄

第1章 網(wǎng)絡(luò)游戲概述 1
1.1 多人游戲的簡要歷程 1
1.1.1 本地多人游戲 1
1.1.2 早期網(wǎng)絡(luò)多人游戲 1
1.1.3 多用戶網(wǎng)絡(luò)游戲 2
1.1.4 局域網(wǎng)游戲 3
1.1.5 在線游戲 3
1.1.6 大規(guī)模多人在線游戲 4
1.1.7 移動網(wǎng)絡(luò)游戲 4
1.2 星際圍攻:部落 5
1.2.1 平臺數(shù)據(jù)包模塊 7
1.2.2 連接管理器 7
1.2.3 流管理器 8
1.2.4 事件管理器 8
1.2.5 ghost管理器 8
1.2.6 移動管理器 9
1.2.7 其他系統(tǒng) 9
1.3 帝國時代 10
1.3.1 輪班計時器 11
1.3.2 同步 12
1.4 總結(jié) 13
1.5 復(fù)習(xí)題 13
1.6 延伸的閱讀資料 14
第2章 互聯(lián)網(wǎng) 15
2.1 起源:分組交換 15
2.2 TCP/IP模型 17
2.3 物理層 18
2.4 鏈路層 18
2.5 網(wǎng)絡(luò)層 22
2.5.1 IPv4 23
2.5.2 IPv6 36
2.6 傳輸層 37
2.6.1 UDP 38
2.6.2 TCP 39
2.7 應(yīng)用層 48
2.7.1 DHCP 49
2.7.2 DNS 49
2.8 NAT 50
2.9 總結(jié) 56
2.10 復(fù)習(xí)題 57
2.11 延伸的閱讀資料 58
第3章 伯克利套接字 61
3.1 創(chuàng)建Socket 61
3.2 API操作系統(tǒng)差異 63
3.3 socket地址 66
3.3.1 類型安全 68
3.3.2 用字符串初始化sockaddr 70
3.3.3 綁定socket 73
3.4 UDP Socket 74
3.5 TCP Socket 79
3.5.1 通過連接的socket實現(xiàn)發(fā)送和接收 80
3.5.2 類型安全的TCP Socket 82
3.6 阻塞和非阻塞I/O 84
3.6.1 多線程 85
3.6.2 非阻塞I/O 86
3.6.3 Select 88
3.7 其他Socket選項 92
3.8 總結(jié) 94
3.9 復(fù)習(xí)題 94
3.10 延伸的閱讀資料 95
第4章 對象序列化 97
4.1 序列化的需求 97
4.2 流 100
4.2.1 內(nèi)存流 101
4.2.2 字節(jié)存儲次序的兼容性 105
4.2.3 比特流 109
4.3 引用數(shù)據(jù) 115
4.3.1 內(nèi)聯(lián)或嵌入 116
4.3.2 鏈接 117
4.4 壓縮 119
4.4.1 稀疏數(shù)組壓縮 120
4.4.2 熵編碼 121
4.4.3 定點 123
4.4.4 幾何壓縮 125
4.5 可維護性 127
4.5.1 抽象序列化方向 127
4.5.2 數(shù)據(jù)驅(qū)動的序列化 129
4.6 總結(jié) 132
4.7 復(fù)習(xí)題 133
4.8 延伸的閱讀資料 134
第5章 對象復(fù)制 135
5.1 世界狀態(tài) 135
5.2 復(fù)制對象 135
5.2.1 對象創(chuàng)建注冊表 139
5.2.2 一個數(shù)據(jù)包中的多個對象 143
5.3 樸素的世界狀態(tài)復(fù)制方法 144
5.4 世界狀態(tài)中的變化 148
5.5 RPC作為序列化對象 155
5.6 自定義解決方案 158
5.7 總結(jié) 159
5.8 復(fù)習(xí)題 160
5.9 延伸的閱讀資料 160
第6章 網(wǎng)絡(luò)拓撲和游戲案例 161
6.1 網(wǎng)絡(luò)拓撲 161
6.1.1 客戶端-服務(wù)器 161
6.1.2 對等網(wǎng)絡(luò) 163
6.2 客戶端-服務(wù)器的實現(xiàn) 165
6.2.1 服務(wù)器和客戶端的代碼分離 166
6.2.2 網(wǎng)絡(luò)管理器和歡迎新客戶端 167
6.2.3 輸入共享和客戶端代理 172
6.3 對等網(wǎng)絡(luò)的實現(xiàn) 177
6.3.1 歡迎新對等體和開始游戲 179
6.3.2 命令共享和鎖步回合制 181
6.3.3 保持同步 187
6.4 總結(jié) 192
6.5 復(fù)習(xí)題 192
6.6 延伸的閱讀資料 193
第7章 延遲、抖動和可靠性 195
7.1 延遲 195
7.1.1 非網(wǎng)絡(luò)延遲 195
7.1.2 網(wǎng)絡(luò)延遲 198
7.2 抖動 199
7.3 數(shù)據(jù)包丟失 201
7.4 可靠性:TCP還是UDP 202
7.5 數(shù)據(jù)包傳遞通知 204
7.5.1 標(biāo)記傳出的數(shù)據(jù)包 205
7.5.2 接收數(shù)據(jù)包并發(fā)送確認 206
7.5.3 接收確認并傳遞狀態(tài) 211
7.6 對象復(fù)制可靠性 216
7.7 模擬真實世界的條件 224
7.8 總結(jié) 226
7.9 復(fù)習(xí)題 227
7.10 延伸的閱讀資料 228
第8章 改進的延遲處理 229
8.1 沉默的客戶終端 229
8.2 客戶端插值 231
8.3 客戶端預(yù)測 233
8.3.1 航位推測法 236
8.3.2 客戶端移動預(yù)測和重放 238
8.3.3 通過技巧和優(yōu)化隱藏延遲 243
8.4 服務(wù)器端回退 244
8.5 總結(jié) 245
8.6 復(fù)習(xí)題 246
8.7 延伸的閱讀資料 246
第9章 可擴展性 247
9.1 對象范圍和相關(guān)性 247
9.1.1 靜態(tài)區(qū)域 248
9.1.2 使用視錐 249
9.1.3 其他可見性技術(shù) 250
9.1.4 不可見時的相關(guān)性 252
9.2 服務(wù)器分區(qū) 253
9.3 實例化 255
9.4 優(yōu)先級和頻率 255
9.5 總結(jié) 256
9.6 復(fù)習(xí)題 257
9.7 延伸的閱讀資料 257
第10章 安全性 259
10.1 數(shù)據(jù)包嗅探 259
10.1.1 中間人攻擊 259
10.1.2 在主機上的數(shù)據(jù)包嗅探 262
10.2 輸入驗證 263
10.3 軟件作弊檢測 264
10.3.1 維爾福反作弊系統(tǒng) 265
10.3.2 典獄長反作弊系統(tǒng) 266
10.4 保護服務(wù)器 267
10.4.1 分布式拒絕服務(wù)攻擊 267
10.4.2 壞數(shù)據(jù) 267
10.4.3 時序攻擊 268
10.4.4 入侵 269
10.5 總結(jié) 270
10.6 復(fù)習(xí)題 271
10.7 延伸的閱讀資料 271
第11章 真實世界的引擎 273
11.1 虛幻引擎4 273
11.1.1 套接字和基本的網(wǎng)絡(luò)體系 273
11.1.2 游戲?qū)ο蠛屯負?274
11.1.3 Actor復(fù)制 275
11.1.4 遠程過程調(diào)用 276
11.2 Unity 277
11.2.1 傳輸層API 278
11.2.2 游戲?qū)ο蠛屯負?278
11.2.3 生成對象和復(fù)制 279
11.2.4 遠程過程調(diào)用 279
11.2.5 比賽安排 280
11.3 總結(jié) 280
11.4 復(fù)習(xí)題 281
11.5 延伸的閱讀資料 281
第12章 玩家服務(wù) 283
12.1 選擇一種玩家服務(wù) 283
12.2 基本設(shè)置 283
12.2.1 初始化、運行和關(guān)閉 285
12.2.2 用戶ID和名稱 286
12.3 游戲大廳和比賽安排 287
12.4 網(wǎng)絡(luò) 291
12.5 玩家統(tǒng)計 294
12.6 玩家成就 299
12.7 排行榜 300
12.8 其他服務(wù) 302
12.9 總結(jié) 303
12.10 復(fù)習(xí)題 303
12.11 延伸的閱讀資料 304
第13章 云托管專用服務(wù)器 305
13.1 托管或不托管 305
13.2 行業(yè)工具 306
13.2.1 REST 307
13.2.2 JSON 307
13.2.3 Node.JS 308
13.3 概述和術(shù)語 308
13.3.1 服務(wù)器游戲?qū)嵗?309
13.3.2 游戲服務(wù)器進程 309
13.3.3 游戲服務(wù)器 310
13.3.4 硬件 311
13.4 本地服務(wù)器進程管理器 311
13.5 虛擬機管理器 318
13.6 總結(jié) 327
13.7 復(fù)習(xí)題 328
13.8 延伸的閱讀資料 328
附錄A 現(xiàn)代C++基礎(chǔ) 329

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號