HTML5遊戲開發進階 11:WebSocket與多人對戰模式

CopperDong發表於2018-02-14

    我們將使用HTML5 WebSocket API向我們的RTS遊戲加入多人對戰支援

11.1 使用Node.js操作WebSocket API

   之前瀏覽器與伺服器之間通訊的唯一方式就是通過逐個request序列,對伺服器進行輪詢或長輪詢。雖然這些方式確實有效,但是過高的頻寬佔用率和網路傳輸延遲使它們不適合在即時的多人對戰遊戲中使用。

    WebSocket API的出現改變了這一切。它在單個的TCP socket中定義了雙向的全雙通訊管道,為我們在伺服器與瀏覽器之間提供了一種高效的、低頻寬佔用率通訊方式。

    簡而言之,我們可以在瀏覽器與伺服器之間建立單一、持久的連線,更頻繁地傳送和接收資料。

11.2 建立多人對戰遊戲大廳

    大廳將顯示一串游戲房間的列表。玩家可以在大廳中選擇進入或離開房間。如果兩個玩家都進入了同一個房間,多人對戰遊戲就會自動開始,兩個玩家將在遊戲中進行對決。

     multiplayer.js

     定義多人對戰大廳介面

     遊戲房間列表

     進入和離開房間

11.3 啟動多人對戰遊戲

     當兩個玩家都進入同一個遊戲房間中時,多人對戰遊戲模式就會啟動。我們需要告訴客戶端來載入同一個關卡。一旦兩個瀏覽器都完成了關卡的載入,那就開始遊戲。

     server.js



相關文章