Unity網路多玩家遊戲開發教程(上冊)

大學霸發表於2014-11-21

Unity網路多玩家遊戲開發教程(上冊)




試讀文件下載地址:

Unity作為強大的遊戲開發平臺,為網路遊戲的的開發提供大量的元件和API。同時,也湧現了大量的第三方的外掛。網路遊戲涉及網路構建、通訊方式、資料頻寬、資料邏輯同步等多方面問題。本教程針對這些熱點問題,重點講解Unity遊戲開發中的常見技術、外掛等。

前言

多玩家透過聯網的方式共同進行的遊戲被稱為網路遊戲。網路遊戲由於具備更強的娛樂性和對戰性成為遊戲的主流。在這個互聯互通的時代,多人聯網玩同一個遊戲,已經成為大眾的習慣。Unity作為強大的遊戲開發平臺,為網路遊戲的的開發提供大量的元件和API。同時,也湧現了大量的第三方的外掛。
網路遊戲涉及網路構建、通訊方式、資料頻寬、資料邏輯同步等多方面問題。本教程針對這些熱點問題,重點講解Unity遊戲開發中的常見技術、外掛等。內容包括:

Unity自帶網路元件Network View(上冊)
第三方元件網路功能外掛PUN(上冊)
Yahoo專向技術Play.IO(上冊)
第三方SDK PubNub(下冊)
實體差值和預測(下冊)
擊中檢測(下冊)
 目  錄
 
第1章  Unity自帶網路功能--例項:乒乓球遊戲 1
1.1  實現機制 1
1.1.1  NetworkView元件 1
1.1.2  自定義序列化資料 2
1.1.3  使用遠端過程呼叫 2
1.2  預設伺服器機制 4
1.2.1  初始化伺服器 4
1.2.2  連線到伺服器 5
1.3  自定義伺服器機制 7
1.3.1  設定主伺服器 8
1.3.2  連線到自定義的主伺服器 11
1.4  註冊“服務” 12
1.4.1  在主伺服器上註冊一個服務 13
1.4.2  在遊戲檢視上瀏覽特定服務 14
1.5  例項:乒乓球遊戲 18
1.5.1  搭建遊戲場景 18
1.5.2  遊戲的功能邏輯 20
1.5.3  編寫實現遊戲邏輯的指令碼 20
1.6  為遊戲例項新增網路對戰功能 28
1.6.1  初始化伺服器 28
1.6.2  序列化球拍的移動狀態 29
1.6.3  指定球拍出現的時機 31
1.6.4  序列化乒乓球的移動狀態 33
1.6.5  遊戲分數的網路化 36
1.6.6  加入遊戲 39
1.6.7  網路對戰功能演示 41
1.7  Unity自帶網路功能--模型示意圖 43
第2章  提供網路功能的PUN外掛--例項:聊天室 44
2.1  配置PUN環境 44
2.1.1  什麼是PUN 44
2.1.2  獲取PUN外掛 44
2.1.3  PUN的核心--Photon View元件 47
2.2  使用PUN 49
2.2.1  連線到Photon Cloud,獲取Room列表 49
2.2.2  建立Room 51
2.2.3  加入Room 53
2.3  聊天室例項使用的技術 53
2.3.1  篩選滿足特定條件的room 53
2.3.2  隨機加入一個room 57
2.3.3  檢視其它玩家的狀態 59
2.3.4  同步所有玩家的遊戲場景 60
2.3.5  效果展示 62
2.4  例項:聊天室 64
2.4.1  “上線”視窗 64
2.4.2  “大廳”視窗 66
2.4.3  “好友列表”視窗 68
2.4.4  “聊天”視窗 71
2.4.5  聊天室效果展示 73
第3章  專屬的伺服器技術Player.IO--例項:RTS協議 76
3.1  Player.IO概述 76
3.2  配置伺服器--Development Server 76
3.3  客戶端的操作 81
3.3.1  使用Unity Client SDK 81
3.3.2  連線到Player.IO 82
3.3.3  獲取room列表 83
3.3.4  連線到room 85
3.3.5  建立room 86
3.3.6  訊息的傳送與接收 92
3.4  配置Development Server 95
3.5  資料庫服務--BigDB 99
3.5.1  寫入資料 100
3.5.2  載入資料 102
3.6  例項:RTS協議概述 103
3.7  RTS協議--伺服器端 104
3.7.1  伺服器端架構 104
3.7.2  伺服器處理來自客戶端的訊息 107
3.7.3  伺服器對其它事件的處理 112
3.8  RTS協議--客戶端 114
3.8.1  MainMenu場景 115
3.8.2  GameplayScene場景 118

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29597077/viewspace-1341612/,如需轉載,請註明出處,否則將追究法律責任。

相關文章