編輯推薦
適讀人群 :遊戲開發愛好者:想要自己製作一款遊戲的人,作為自學參考書。遊戲開發崗位求職者:想要謀求遊戲公司開發崗位的人,作為自學參考書。職場新人:遊戲公司程序員,作為自學參 本書作者對對服務端技術、遊戲客戶端、人工智能和虛擬現實等領域都有研究,曾組織“民間團隊”開發仙劍同人遊戲《仙劍5前傳之心願》。
本書以實現一款完整的多人對戰遊戲為目的,全書涉及行走控製、人工智能係統、界麵係統、服務端框架、客戶端框架、房間係統、戰場係統等多項內容,詳細講解開發的整個過程!
內容簡介
本書在一開始便提齣一個明確的學習目標,便是要製作一款完整的多人對戰遊戲,然後一步一步去實現它。全書分為3個部分:
第一部分“單機遊戲”:第1章至第5章,主要在於開發一款功能完整坦剋單機遊戲。除瞭讓坦剋行走、開炮,還將介紹基於代碼和資源分離的界麵係統、敵人AI。瞭解開發單機遊戲的知識,也是為接下來的網絡開發學習奠定基礎。
第二部分“網絡原理”:第6章至第8章,主要介紹網絡通信的原理,開發客戶端的網絡模塊和服務端程序框架。這套框架具有較高的通用性,可以運用在多種遊戲上。
第三部分“網絡遊戲”:第9章至第12章,主要講解房間係統和同步係統的邏輯實現,將單機坦剋遊戲改造成多人對戰網絡遊戲。
作者簡介
羅培羽,廣州四三九九信息科技有限公司項目負責人、主程序,參與《卡布魔鏡》《卡布西遊》《卡布仙蹤》等多款遊戲的開發工作。對遊戲程序開發有著深入瞭解,對遊戲項目的組織和管理有著一定的實戰經驗。目前關注休閑手機遊戲、虛擬現實和現實增強、獨立遊戲等領域。
曾組織團隊開發3D仙劍同人遊戲《仙劍5前傳之心願》,該項目為目前僅有的一款成功的3D仙劍同人,引起仙俠遊戲圈的普遍關注。發布後獲得遊俠網單機RPG類下載排行第四名,仙劍官方也給予高度評價。
自2009年開始,發布《教你用vb製作rpg遊戲》、《教你製作3DRPG遊戲》、《掌握X3D》、《不會電腦也匯編》等大量教程。2004年齣版專著《手把手教你用c#製作rpg遊戲》,該書為《十二五全國高校數字遊戲設計精品教材》係列之一。
內頁插圖
精彩書評
本書不僅是一本適閤U3D初學者的入門教材,對於初中級策劃來說也是一個不錯的選擇。無論什麼引擎、什麼工具軟件,都是可以通過學習來應用的,但隻有從內心遊戲的情懷齣發去做技術,纔能做好遊戲。本書簡潔明瞭,內容幾乎以添磚加瓦的方式,覆蓋U3D製作的所有方麵,甚至可以讀齣在軟件工程的理解。我要將此書推薦給所有有夢想的遊戲人。
——獨立遊戲開發者,前盛大遊戲産品經理 黃天健
通過本書,讀者可以學習如何製作一款帶AI的Unity遊戲,並能瞭解服務端的工作原理,以及使用unity接入服務端等實際開發中所需的知識。從內容思路和字行間可以感受到作者是一名擁有豐富實戰經驗的遊戲開發者。作為unity客戶端開發人員工作業餘提升自我的學習教材,本書是一個很好的選擇!
——佛山市超體軟件科技有限公司聯閤創始人、CTO 區樂輝
目錄
第1章 掌握Unity3D基本元素
1.1 最最簡單的遊戲
1.1.1在場景中創建一個立方體
1.1.2編寫可以使立方體運動的程序
1.1.3測試遊戲
1.1.4總結
1.2 資源導入
1.3 山體係統
1.4 燈光
1.5 材質
1.6 預設
1.6.1製作預設
1.6.2例子
1.7 聲音
1.7.1音源
1.7.2接收器
1.7.3簡單播放器
1.8 GUI
1.8.1用Unity3D編寫HelloWorld程序
1.8.2用Unity3D編寫登錄框
1.9導齣遊戲
第 2 章 駕駛夢想中的坦剋
備用章節名:坦剋控製單元
2.1行走控製
2.1.1Unity3D的腳本
2.1.2獲取輸入操作
2.1.3坐標變換
2.2 相機跟隨
2.2.1跟隨的數學原理
2.2.2相機跟隨的功能實現
2.2.3鼠標控製相機的角度
2.2.4滾輪調整相機與坦剋的距離
2.3 坦剋的物理特徵
2.3.1 Unity3D的物理引擎
2.3.2 車輪碰撞器
2.4 駕駛坦剋
2.5轉動的輪子
2.6滾動的履帶
第3章 開炮擊毀敵人
備用章節名:火炮係統
3.1 鏇轉的炮塔
3.2 俯仰的炮管
3.3 開炮!
3.3.1製作炮彈
3.3.2製作爆炸效果
3.3.3炮彈邏輯
3.3.4開火
3.4 坦剋的控製類型
3.5 摧毀敵軍
3.6 準心
3.7 生命指示條
3.8 擊中提示
3.8.1誰發射瞭炮彈
3.8.2被誰擊中
3.8.3擊殺提示
3.9 炮彈的音效
3.9.1射擊音效
3.9.2爆炸聲音
第4章 進擊的人工智能
備用章節名:人工智能
4.1 實現人工智能的一般方法
4.1.1有限狀態機
4.1.2分層有限狀態機
4.2 搜尋目標
4.2.1編寫AI類
4.2.2在Tank中調用AI類
4.3 嚮敵人開炮
4.3.1鏇轉的炮塔
4.3.2俯仰的炮管
4.3.3開炮!
4.4 路點和路徑
4.4.1路點
4.4.2路徑
4.4.3一種生成路徑的方法
4.4.4給坦剋指定路徑
4.5 走嚮目的地
4.6 使用NavMesh計算路徑
4.6.1NavMesh的原理
4.6.2生成導航圖
4.6.3生成路徑
4.7 行為決策
4.8 戰場
4.8.1戰場邏輯
4.8.2兩軍對峙
第5章 代碼分離的界麵係統
5.1 瞭解Unity UI係統(UGUI)
5.1.1 Canvas畫布
5.1.2 EventSystem
5.1.3 RectTransform
5.1.4 其他UGUI組件
5.1.5 事件觸發
5.2 製作坦剋遊戲界麵
5.3 界麵基類PanelBase
5.3.1 代碼與資源分離的優勢
5.3.2 界麵係統的設計
5.3.3 PanelBase的設計
5.4 界麵管理器PanelMgr
5.4.1 層級管理
5.4.2 打開麵闆OpenPanel
5.4.3 關閉麵闆ClosePanel
5.5 TitlePanel和InfoPanel
5.6 調用界麵係統
5.7 勝負麵闆
5.8 設置麵闆
第6章 網絡基礎
6.1 七層網絡模型
6.1.1 應用層
6.1.2傳輸層
6.1.3網絡層
6.1.4數據鏈路層
6.2 IP與端口
6.3 TCP協議
6.3.1 TCP連接的建立
6.3.2 TCP的數據傳輸
6.3.3 TCP連接的終止
6.4 Socket套接字
6.5 同步Socket程序
6.5.1 新建控製颱程序
6.5.2編寫服務端代碼
6.5.3編寫客戶端程序
6.6 異步socket程序
6.6.1 連接類(state)
6.6.2 異步服務端
6.6.3 開啓服務端
6.6.4 編寫客戶端程序
6.7 Mysql
6.7.1 Mysql基礎入門
6.7.2 留言闆服務端程序
6.7.3 調試程序
6.8 類的序列化
6.9 定時器
6.10 綫程互斥
6.11 通訊協議和消息列錶
6.11.1 通訊協議
6.11.2 服務端程序
6.11.3 客戶端場景
6.11.4 消息列錶
6.11.5 客戶端程序
6.11.6 調試
第7章 遊戲服務端框架
7.1服務端架構
7.1.1 總體架構
7.1.2遊戲流程
7.1.3連接數據結構
7.1.4數據庫結構
7.1.5項目結構
7.2 數據管理類DataMgr
7.2.1 數據庫結構
7.2.2 玩傢數據
7.2.3 Player的初步版本
7.2.4 連接數據庫
7.2.5 防止sql注入
7.2.6 Register注冊
7.2.7 CreatePlayer創建角色
7.2.8 登錄校驗
7.2.9 獲取角色數據
7.2.10 保存角色數據
7.2.11 調試
7.3 處理粘包分包
7.3.1 Conn類
7.3.2 ServNet網絡處理類
7.3.3 ReceiveCb的沾包分包處理
7.3.4 發送消息
7.3.5 啓動服務端
7.3.6 客戶端程序
7.4 心跳
7.4.1 時間戳
7.4.2使用定時器
7.4.3心跳消息
7.4.4調試
7.5 協議
7.5.1協議基類
7.5.2字符串協議
7.5.3字節流協議
7.5.4字節流輔助方法
7.5.5使用協議
7.5.6客戶端程序
7.5.7調試
7.6 中間層player類
7.7 消息分發
7.7.1消息分發類
7.7.2 NetServ的消息分發
7.8 注冊登錄
7.8.1 協議
7.8.2 注冊
7.8.3 登錄
7.8.4 登齣
7.8.5 獲取分數
7.8.6 增加分數
7.8.7 Print輸齣服務端信息
7.8.8 Main
7.8.9 客戶端
7.8.10 調試
第8章 客戶端網絡模塊
8.1 網絡模塊設計
8.2 委托
8.3 MsgDistribution消息分發
8.4 Connection連接
8.4.1 連接服務端
8.4.2 異步迴調
8.4.3 添加消息
8.4.4 發送數據
8.4.5 心跳處理
8.5 NetMgr網絡管理
8.6 登錄注冊
8.6.1登錄注冊麵闆
8.6.2登錄麵闆功能
8.6.3注冊麵闆功能
8.7 服務端程序
8.7.1協議
8.7.2場景
8.7.3協議處理
8.7.4事件處理
8.8 客戶端程序
8.8.1客戶端資源
8.8.2客戶端程序
8.9調試框架
第9章 房間係統
9.1 房間協議
9.2 服務端房間類
9.3 服務端協議處理
9.4 客戶端界麵製作
9.5 客戶端協議處理
第10章 同步戰場係統
10.1 戰場協議
10.2 服務端戰場類
10.3 服務端協議處理
10.4 客戶端界麵製作
10.5 客戶端協議處理
10.6
Unity 3D網絡遊戲實戰 下載 mobi epub pdf txt 電子書 格式