Unity + Steam 多人遊戲解決方案

由於最近遊戲重製,研究了一下Unity+Steam的多人遊戲系統

發現Unity引擎 連接 Steam 的Matchmaking和多人遊戲系統 有一下幾種方法

  1. UNET + NAT穿透 然後使用 Steam Matchmaking 傳輸玩家IP地址
  2. 自己搭伺服器 然後使用 Steam Matchmaking 傳輸玩家IP地址
  3. 用Steam給的P2P傳輸功能

第一種方法貌似是比較普遍的解決方案,雖然網上NAT穿透庫很多但是我一個也沒成功...

Assetstore 上面有一個NAT Traversal插件 也沒有效果...

由於獨立開發沒有足夠資金架設伺服器,所以沒有採用第二種方法

最後才把目光投向了Steam自帶的對等網路服務。

但是我發現Steam的對等網路竟然只給了Byte包的傳輸....

於是乎我拉著 @Fangxm

花了一周的自習課基於Steam的對等網路寫了一套輕量級網路傳輸系統

目前實現的功能:

數據自動同步(Auto Sync)

遠程過程調用協議(RPC)

動畫同步 (Sync Animator)

當然內置Steam的大廳匹配(Matchmaking)

這個網路系統仍然在測試階段,過一陣子會上 Unity Asset Store

但是,這不是一個廣告

因為,這個插件

對所有國內的Steam獨立遊戲開發者免費

只要獲得了Steam的Appid 的獨立遊戲開發者我都會免費提供這個插件(私信我即可)

當然我也可以將大家邀請到這個插件的GitHub私人庫一起完善這個系統


推薦閱讀:

絕地求生限制高Ping玩家不就是鎖區?這是把人往國服趕啊
最近在steam上買了黑魂3和巫師3,在考慮是否需要購買前作?
如何評價steam平台日系遊戲偏貴的情況?
如何評價《奇妙探險隊》這款遊戲?
v社對於封禁的飾品是如何處置的?

TAG:Steam | Unity游戏引擎 | 独立游戏开发 |