|
-- 會員 / 註冊 --
|
|
|
|
網絡多人游戲架構與編程 ( 簡體 字) |
作者:[美]Joshua Glazer 格雷澤 Sanjay Madhav 馬達夫 | 類別:1. -> 程式設計 -> 綜合 |
譯者: |
出版社:人民郵電出版社 | 3dWoo書號: 47700 詢問書籍請說出此書號!【缺書】 【不接受訂購】 |
出版日:10/1/2017 |
頁數:344 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
【不接受訂購】 | ISBN:9787115457790-1 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介:網路遊戲開發入門書籍 講解多人網路遊戲核心技術與實戰 構建可靠網路多人遊戲的實用指南 示例基於C++ 伺服器端基於JavaScript 全彩印刷
網路多人遊戲已經成為遊戲產業的重要組成部分,本書是一本深入探討關於網路多人遊戲程式設計的圖書。
全書分為13章,從網路遊戲的基本概念、互聯網、伯克利通訊端、物件序列化、物件複製、網路拓撲和遊戲案例、延遲、抖動和可靠性、改進的延遲處理、可擴展性、安全性、真實世界的引擎、玩家服務、雲託管專用伺服器等方面深入介紹了網路多人遊戲開發的知識,既全面又詳盡地剖析了眾多核心概念。
本書的多數示例基於C++編寫,適合對C++有一定瞭解的讀者閱讀。本書既可以作為大學電腦相關專業的指導教程,也可以作為普通讀者學習網路遊戲程式設計的參考指南。
|
目錄: 第1章 網路遊戲概述 1
1.1 多人遊戲的簡要歷程 1
1.1.1 本地多人遊戲 1
1.1.2 早期網路多人遊戲 1
1.1.3 多使用者網路遊戲 2
1.1.4 局域網遊戲 3
1.1.5 線上遊戲 3
1.1.6 大規模多人線上遊戲 4
1.1.7 移動網路遊戲 4
1.2 星際圍攻:部落 5
1.2.1 平臺資料包模組 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 其他系統 9
1.3 帝國時代 10
1.3.1 輪班計時器 11
1.3.2 同步 12
1.4 總結 13
1.5 複習題 13
1.6 延伸的閱讀資料 14
第2章 互聯網 15
2.1 起源:封包交換 15
2.2 TCP/IP模型 17
2.3 實體層 18
2.4 鏈路層 18
2.5 網路層 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 應用層 48
2.7.1 DHCP 49
2.7.2 DNS 49
2.8 NAT 50
2.9 總結 56
2.10 複習題 57
2.11 延伸的閱讀資料 58
第3章 伯克利通訊端 61
3.1 創建Socket 61
3.2 API作業系統差異 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實現發送和接收 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 總結 94
3.9 複習題 94
3.10 延伸的閱讀資料 95
第4章 物件序列化 97
4.1 序列化的需求 97
4.2 流 100
4.2.1 記憶體流 101
4.2.2 位元組存儲次序的相容性 105
4.2.3 位元流 109
4.3 引用數據 115
4.3.1 內聯或嵌入 116
4.3.2 連結 117
4.4 壓縮 119
4.4.1 稀疏陣列壓縮 120
4.4.2 熵編碼 121
4.4.3 定點 123
4.4.4 幾何壓縮 125
4.5 可維護性 127
4.5.1 抽象序列化方向 127
4.5.2 資料驅動的序列化 129
4.6 總結 132
4.7 複習題 133
4.8 延伸的閱讀資料 134
第5章 對象複製 135
5.1 世界狀態 135
5.2 複製對象 135
5.2.1 對象創建註冊表 139
5.2.2 一個資料包中的多個物件 143
5.3 樸素的世界狀態複製方法 144
5.4 世界狀態中的變化 148
5.5 RPC作為序列化對象 155
5.6 自訂解決方案 158
5.7 總結 159
5.8 複習題 160
5.9 延伸的閱讀資料 160
第6章 網路拓撲和遊戲案例 161
6.1 網路拓撲 161
6.1.1 用戶端-伺服器 161
6.1.2 對等網路 163
6.2 用戶端-伺服器的實現 165
6.2.1 伺服器和用戶端的代碼分離 166
6.2.2 網路管理器和歡迎新用戶端 167
6.2.3 輸入共用和用戶端代理 172
6.3 對等網路的實現 177
6.3.1 歡迎新對等體和開始遊戲 179
6.3.2 命令共用和鎖步回合制 181
6.3.3 保持同步 187
6.4 總結 192
6.5 複習題 192
6.6 延伸的閱讀資料 193
第7章 延遲、抖動和可靠性 195
7.1 延遲 195
7.1.1 非網路延遲 195
7.1.2 網路延遲 198
7.2 抖動 199
7.3 資料包丟失 201
7.4 可靠性:TCP還是UDP 202
7.5 資料包傳遞通知 204
7.5.1 標記傳出的資料包 205
7.5.2 接收資料包並發送確認 206
7.5.3 接收確認並傳遞狀態 211
7.6 對象複製可靠性 216
7.7 模擬真實世界的條件 224
7.8 總結 226
7.9 複習題 227
7.10 延伸的閱讀資料 228
第8章 改進的延遲處理 229
8.1 沉默的客戶終端 229
8.2 用戶端插值 231
8.3 用戶端預測 233
8.3.1 航位推測法 236
8.3.2 用戶端移動預測和重放 238
8.3.3 通過技巧和優化隱藏延遲 243
8.4 伺服器端回退 244
8.5 總結 245
8.6 複習題 246
8.7 延伸的閱讀資料 246
第9章 可擴展性 247
9.1 對象範圍和相關性 247
9.1.1 靜態區域 248
9.1.2 使用視錐 249
9.1.3 其他可見性技術 250
9.1.4 不可見時的相關性 252
9.2 伺服器分區 253
9.3 產生實體 255
9.4 優先順序和頻率 255
9.5 總結 256
9.6 複習題 257
9.7 延伸的閱讀資料 257
第10章 安全性 259
10.1 數據包嗅探 259
10.1.1 中間人攻擊 259
10.1.2 在主機上的資料包嗅探 262
10.2 輸入驗證 263
10.3 軟體作弊檢測 264
10.3.1 維爾福反作弊系統 265
10.3.2 典獄長反作弊系統 266
10.4 保護伺服器 267
10.4.1 分散式拒絕服務攻擊 267
10.4.2 壞數據 267
10.4.3 時序攻擊 268
10.4.4 入侵 269
10.5 總結 270
10.6 複習題 271
10.7 延伸的閱讀資料 271
第11章 真實世界的引擎 273
11.1 虛幻引擎4 273
11.1.1 通訊端和基本的網路體系 273
11.1.2 遊戲對象和拓撲 274
11.1.3 Actor複製 275
11.1.4 遠程程序呼叫 276
11.2 Unity 277
11.2.1 傳輸層API 278
11.2.2 遊戲對象和拓撲 278
11.2.3 生成物件和複製 279
11.2.4 遠程程序呼叫 279
11.2.5 比賽安排 280
11.3 總結 280
11.4 複習題 281
11.5 延伸的閱讀資料 281
第12章 玩家服務 283
12.1 選擇一種玩家服務 283
12.2 基本設置 283
12.2.1 初始化、運行和關閉 285
12.2.2 用戶ID和名稱 286
12.3 遊戲大廳和比賽安排 287
12.4 網路 291
12.5 玩家統計 294
12.6 玩家成就 299
12.7 排行榜 300
12.8 其他服務 302
12.9 總結 303
12.10 複習題 303
12.11 延伸的閱讀資料 304
第13章 雲託管專用伺服器 305
13.1 託管或不託管 305
13.2 行業工具 306
13.2.1 REST 307
13.2.2 JSON 307
13.2.3 Node.JS 308
13.3 概述和術語 308
13.3.1 伺服器遊戲實例 309
13.3.2 遊戲伺服器進程 309
13.3.3 遊戲伺服器 310
13.3.4 硬體 311
13.4 本機伺服器進程管理器 311
13.5 虛擬機器管理器 318
13.6 總結 327
13.7 複習題 328
13.8 延伸的閱讀資料 328
附錄A 現代C++基礎 329
|
序: |
|