Unity3D網(wǎng)絡(luò)游戲?qū)崙?zhàn)(第2版)

2021-05-18 22:40 更新

Unity3D網(wǎng)絡(luò)游戲?qū)崙?zhàn)(第2版)

羅培羽 著

  • 出版社: 機(jī)械工業(yè)出版社
  • ISBN:9787111612179
  • 版次:2
  • 商品編碼:12508478
  • 品牌:機(jī)工出版
  • 包裝:平裝
  • 叢書(shū)名: 游戲開(kāi)發(fā)與設(shè)計(jì)技術(shù)叢書(shū)
  • 外文名稱:Multiplayer Game Development With Unity 3D (Second Edition)
  • 開(kāi)本:16開(kāi)
  • 出版時(shí)間:2019-01-01
  • 用紙:膠版紙
  • 頁(yè)數(shù):416
  • 正文語(yǔ)種:中文


點(diǎn)此購(gòu)買


編輯推薦

適讀人群 :游戲開(kāi)發(fā)愛(ài)好者:想要自己制作一款游戲的人,作為自學(xué)參考書(shū)。游戲開(kāi)發(fā)崗位求職者:想要謀求游戲公司開(kāi)發(fā)崗位的人,作為自學(xué)參考書(shū)。職場(chǎng)新人:游戲公司程序員,作為自學(xué)參

詳解Socket編程,指導(dǎo)搭建穩(wěn)健的網(wǎng)絡(luò)框架;解析網(wǎng)游中常見(jiàn)的卡頓、頻繁掉線等問(wèn)題;探求適宜的實(shí)時(shí)同步算法。

包含完整的多人對(duì)戰(zhàn)游戲案例,揭秘登錄注冊(cè)、游戲大廳、戰(zhàn)斗系統(tǒng)等模塊的實(shí)現(xiàn)細(xì)節(jié)。

本書(shū)針對(duì)第1版進(jìn)行改版,將“單機(jī)游戲”融入到網(wǎng)絡(luò)部分的實(shí)例中,在講解網(wǎng)絡(luò)通信原理的同時(shí),給出各個(gè)知識(shí)點(diǎn)的案例,并開(kāi)發(fā)客戶端的網(wǎng)絡(luò)模塊和服務(wù)端程序框架。

然后將一部分的坦克游戲改造成聯(lián)網(wǎng)對(duì)戰(zhàn)的多人游戲。

本書(shū)基于Unity3D新版本編寫(xiě),書(shū)中例子為商業(yè)游戲簡(jiǎn)化版本,讀者可以從中了解商業(yè)游戲的設(shè)計(jì)思路和實(shí)現(xiàn)方法。

讀者看完本書(shū),初步擁有開(kāi)發(fā)一款完整網(wǎng)絡(luò)游戲的能力。

內(nèi)容簡(jiǎn)介

  想要制作當(dāng)今熱門的網(wǎng)絡(luò)游戲,特別是開(kāi)發(fā)手機(jī)網(wǎng)絡(luò)游戲,或者想要到游戲公司求職,都需要深入了解網(wǎng)絡(luò)游戲的開(kāi)發(fā)技術(shù)?!  禪nity3D網(wǎng)絡(luò)游戲?qū)崙?zhàn)(第2版)》分為三大部分,揭示網(wǎng)絡(luò)游戲開(kāi)發(fā)的細(xì)節(jié)?! 〉?部分“扎基礎(chǔ)”(第1-5章)  介紹TCP網(wǎng)絡(luò)游戲開(kāi)發(fā)的必備知識(shí)。包括TCP異步連接、多路復(fù)用技術(shù);處理粘包分包的方法;設(shè)置正確的網(wǎng)絡(luò)參數(shù)、完整的發(fā)送數(shù)據(jù)、安全的關(guān)閉連接等方法。第3章介紹了一款簡(jiǎn)單網(wǎng)絡(luò)游戲開(kāi)發(fā)的全過(guò)程?! 〉诙糠帧按羁蚣堋保ǖ?章和第7章)  介紹了商業(yè)級(jí)客戶端網(wǎng)絡(luò)框架的實(shí)現(xiàn)方法。這套框架具有較高的通用性,解決了網(wǎng)絡(luò)游戲開(kāi)發(fā)中常遇到的問(wèn)題,且達(dá)到極點(diǎn)的性能要求,可以運(yùn)用在多種游戲上。書(shū)中還實(shí)現(xiàn)了一套C#服務(wù)端框架,使用select多路復(fù)用,做到底層與邏輯分離,具有消息分發(fā)、事件處理等模塊?! 〉谌糠帧白鲇螒颉保ǖ?-12章)  通過(guò)一個(gè)完整的實(shí)例,講解網(wǎng)絡(luò)游戲的設(shè)計(jì)思路。包括游戲?qū)嶓w的類設(shè)計(jì)、怎樣組織代碼、怎樣實(shí)現(xiàn)游戲大廳(房間系統(tǒng))、怎樣實(shí)現(xiàn)實(shí)體的同步。這一部分會(huì)使用第二部分搭好的框架,逐步做出完整的游戲。

作者簡(jiǎn)介

  羅培羽,正在創(chuàng)作好玩游戲的程序員,目前任職于廣州四三九九公司?! ≡谒娜啪殴荆瑓⑴c《卡布西游》《卡布仙蹤》《卡布魔鏡》《坦克射擊》《海陸大戰(zhàn)》等多個(gè)項(xiàng)目研發(fā)工作;作為獨(dú)立游戲開(kāi)發(fā)者,主導(dǎo)《仙劍5前傳之心愿》《蝕夢(mèng)》等項(xiàng)目研發(fā),擁有豐富的實(shí)戰(zhàn)經(jīng)驗(yàn)?! ∽?009年發(fā)布第一部視頻教程《教你用VB制作RPG游戲》以來(lái),先后發(fā)布了《教你制作3DRPG游戲》《手把手教你用C#制作RPG游戲》等教程,并出版了《Unity3D網(wǎng)絡(luò)游戲?qū)崙?zhàn)(第1版)》一書(shū);作為游戲蠻牛專欄作家,撰寫(xiě)數(shù)十篇技術(shù)文章。  目前關(guān)注手機(jī)游戲、AI技術(shù)等領(lǐng)域;并以第三方視角記錄普通開(kāi)發(fā)者的心路歷程。

精彩書(shū)評(píng)

  ★本書(shū)詳細(xì)介紹了TCP/IP網(wǎng)絡(luò)協(xié)議底層,網(wǎng)絡(luò)數(shù)據(jù)的發(fā)送與接收原理。書(shū)中包含大量的示例教程,結(jié)合Unity3D引擎通過(guò)實(shí)戰(zhàn)的項(xiàng)目從無(wú)到有一點(diǎn)點(diǎn)向讀者介紹網(wǎng)絡(luò)游戲是如何跑起來(lái)的,如果你對(duì)網(wǎng)絡(luò)感興趣,這是一本不容錯(cuò)過(guò)的好書(shū)?!  猆nity全國(guó)UUG意見(jiàn)領(lǐng)袖UVP價(jià)值專家宣雨松MOMO    ★在網(wǎng)絡(luò)游戲爆發(fā)的今天,學(xué)習(xí)網(wǎng)絡(luò)編程變得越來(lái)越重要。本書(shū)充分考慮初學(xué)者的學(xué)習(xí)路線,配以大量實(shí)例和圖片進(jìn)行講解,語(yǔ)言通俗易懂,是初學(xué)者學(xué)習(xí)網(wǎng)絡(luò)編程難得的中文資料?!  禪nity Shader入門精要》作者馮樂(lè)樂(lè)

目錄

前言
第1章 網(wǎng)絡(luò)游戲的開(kāi)端:Echo 1
1.1 藏在幕后的服務(wù)端 1
1.2 網(wǎng)絡(luò)連接的端點(diǎn):Socket 3
1.2.1 Socket 3
1.2.2 IP地址 3
1.2.3 端口 4
1.2.4 Socket通信的流程 6
1.2.5 TCP和UDP協(xié)議 7
1.3 開(kāi)始網(wǎng)絡(luò)編程:Echo 8
1.3.1 什么是Echo程序 8
1.3.2 編寫(xiě)客戶端程序 8
1.3.3 客戶端代碼知識(shí)點(diǎn) 10
1.3.4 完成客戶端 11
1.3.5 創(chuàng)建服務(wù)端程序 12
1.3.6 編寫(xiě)服務(wù)端程序 14
1.3.7 服務(wù)端知識(shí)點(diǎn) 15
1.3.8 測(cè)試Echo程序 15
1.4 更多API 16
1.5 公網(wǎng)和局域網(wǎng) 17
第2章 分身有術(shù):異步和多路復(fù)用 19
2.1 什么樣的代碼是異步代碼 19
2.2 異步客戶端 20
2.2.1 異步Connect 21
2.2.2 Show Me The Code 22
2.2.3 異步Receive 23
2.2.4 異步Send 26
2.3 異步服務(wù)端 29
2.3.1 管理客戶端 29
2.3.2 異步Accept 30
2.3.3 程序結(jié)構(gòu) 31
2.3.4 代碼展示 31
2.4 實(shí)踐:做個(gè)聊天室 35
2.4.1 服務(wù)端 35
2.4.2 客戶端 35
2.4.3 測(cè)試 36
2.5 狀態(tài)檢測(cè)Poll 36
2.5.1 什么是Poll 36
2.5.2 Poll客戶端 37
2.5.3 Poll服務(wù)端 38
2.6 多路復(fù)用Select 41
2.6.1 什么是多路復(fù)用 41
2.6.2 Select服務(wù)端 42
2.6.3 Select客戶端 44
第3章 實(shí)踐出真知:大亂斗游戲 45
3.1 什么是大亂斗游戲 45
3.2 搭建場(chǎng)景 46
3.3 角色類Human 49
3.3.1 類結(jié)構(gòu)設(shè)計(jì) 49
3.3.2 BaseHuman 49
3.3.3 角色預(yù)設(shè) 51
3.3.4 CtrlHuman 54
3.3.5 SyncHuman 57
3.4 如何使用網(wǎng)絡(luò)模塊 57
3.4.1 委托 57
3.4.2 通信協(xié)議 59
3.4.3 消息隊(duì)列 60
3.4.4 NetManager類 60
3.4.5 測(cè)試網(wǎng)絡(luò)模塊 64
3.5 進(jìn)入游戲:Enter協(xié)議 66
3.5.1 創(chuàng)建角色 67
3.5.2 接收Enter協(xié)議 70
3.5.3 測(cè)試Enter協(xié)議 70
3.6 服務(wù)端如何處理消息 72
3.6.1 反射機(jī)制 72
3.6.2 消息處理函數(shù) 73
3.6.3 事件處理 74
3.6.4 玩家數(shù)據(jù) 76
3.6.5 處理Enter協(xié)議 77
3.7 玩家列表:List協(xié)議 77
3.7.1 客戶端處理 78
3.7.2 服務(wù)端處理 79
3.7.3 測(cè)試 79
3.8 移動(dòng)同步:Move協(xié)議 80
3.8.1 客戶端處理 80
3.8.2 服務(wù)端處理 81
3.8.3 測(cè)試 81
3.9 玩家離開(kāi):Leave協(xié)議 82
3.9.1 客戶端處理 82
3.9.2 服務(wù)端處理 82
3.9.3 測(cè)試 82
3.10 攻擊動(dòng)作:Attack協(xié)議 83
3.10.1 播放攻擊動(dòng)作 83
3.10.2 客戶端處理 87
3.10.3 服務(wù)端處理 88
3.10.4 測(cè)試 88
3.11 攻擊傷害:Hit協(xié)議 89
3.11.1 客戶端處理 89
3.11.2 服務(wù)端處理 91
3.12 角色死亡:Die協(xié)議 91
3.12.1 客戶端處理 91
3.12.2 測(cè)試 92
第4章 正確收發(fā)數(shù)據(jù)流 94
4.1 TCP數(shù)據(jù)流 94
4.1.1 系統(tǒng)緩沖區(qū) 94
4.1.2 粘包半包現(xiàn)象 96
4.1.3 人工重現(xiàn)粘包現(xiàn)象 97
4.2 解決粘包問(wèn)題的方法 97
4.2.1 長(zhǎng)度信息法 97
4.2.2 固定長(zhǎng)度法 98
4.2.3 結(jié)束符號(hào)法 98
4.3 解決粘包的代碼實(shí)現(xiàn) 99
4.3.1 發(fā)送數(shù)據(jù) 99
4.3.2 接收數(shù)據(jù) 99
4.3.3 處理數(shù)據(jù) 101
4.3.4 完整的示例 104
4.3.5 測(cè)試程序 106
4.4 大端小端問(wèn)題 109
4.4.1 為什么會(huì)有大端小端之分 110
4.4.2 使用Reverse()兼容大小端編碼 111
4.4.3 手動(dòng)還原數(shù)值 111
4.5 完整發(fā)送數(shù)據(jù) 112
4.5.1 不完整發(fā)送示例 113
4.5.2 如何解決發(fā)送不完整問(wèn)題 113
4.5.3 ByteArray和Queue 117
4.5.4 解決線程沖突 120
4.5.5 為什么要使用隊(duì)列 121
4.6 高效的接收數(shù)據(jù) 122
4.6.1 不足之處 122
4.6.2 完整的ByteArray 123
4.6.3 將ByteArray應(yīng)用到異步程序 129
第5章 深入了解TCP,解決暗藏問(wèn)題 133
5.1 從TCP到銅線 133
5.1.1 應(yīng)用層 133
5.1.2 傳輸層 134
5.1.3 網(wǎng)絡(luò)層 135
5.1.4 網(wǎng)絡(luò)接口 135
5.2 數(shù)據(jù)傳輸流程 136
5.2.1 TCP連接的建立 136
5.2.2 TCP的數(shù)據(jù)傳輸 137
5.2.3 TCP連接的終止 138
5.3 常用TCP參數(shù) 138
5.3.1 ReceiveBufferSize 138
5.3.2 SendBufferSize 139
5.3.3 NoDelay 139
5.3.4 TTL 140
5.3.5 ReuseAddress 141
5.3.6 LingerState 142
5.4 Close的恰當(dāng)時(shí)機(jī) 144
5.5 異常處理 146
5.6 心跳機(jī)制 147
第6章 通用客戶端網(wǎng)絡(luò)模塊 148
6.1 網(wǎng)絡(luò)模塊設(shè)計(jì) 148
6.1.1 對(duì)外接口 148
6.1.2 內(nèi)部設(shè)計(jì) 149
6.2 網(wǎng)絡(luò)事件 150
6.2.1 事件類型 151
6.2.2 監(jiān)聽(tīng)列表 151
6.2.3 分發(fā)事件 152
6.3 連接服務(wù)端 152
6.3.1 Connect 152
6.3.2 ConnectCallback 154
6.3.3 測(cè)試程序 155
6.4 關(guān)閉連接 156
6.4.1 isClosing? 157
6.4.2 Close 157
6.4.3 測(cè)試 158
6.5 Json協(xié)議 158
6.5.1 為什么會(huì)有協(xié)議類 158
6.5.2 使用JsonUtility 159
6.5.3 協(xié)議格式 160
6.5.4 協(xié)議文件 161
6.5.5 協(xié)議體的編碼解碼 162
6.5.6 協(xié)議名的編碼解碼 163
6.6 發(fā)送數(shù)據(jù) 165
6.6.1 Send 165
6.6.2 SendCallback 166
6.6.3 測(cè)試 167
6.7 消息

點(diǎn)此購(gòu)買




以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)