MirrorP2PTransport
これはなに?
Unityでリアルタイムネットワーク対戦ゲームをP2Pで作るための仕組みです。
MirrorのTransportの1つです。WebRTCのDataChannelを使ってP2P通信を実現します。 WebRTCのシグナリングサーバには時雨堂様のAyameを利用しています。非常に実験的でまだ検証兼開発を行っている最中です。
Sample
2021/07/25にWebGLに対応しました。実際に動作するSampleをブラウザで確認できます。
https://publicfilehost.web.app/MirrorP2PTransport/Samples/
特徴
- Host Client間の接続にWebRTCのDataChannelを使っている。
- シグナリングサーバには時雨堂様のAyame Laboを使っている。
- 現時点で1対1の通信しかできない。
- Windows/Mac/iOS/Android/WebGLに対応
このプロジェクトの目的
WebRTCのDataChannelを使えば、手軽にNAT超えしたマルチネットワークゲームを作れるのではないか?という疑問の検証のために趣味で開発しています。
WebRTCのDataChannelを使ったライブラリをゼロから自前で全部実装するのは大変疲れるため出来る限り楽をしたいと考えました。UNetの有力な後継であるMirrorの通信部分をWebRTCのDataChannelに置き換えてしまえばMirrorの豊富な資産が使えて幸せなのではないかと考えたわけです。
さらに時雨堂様が無料で公開してくださっているシグナリングサーバAyame Laboを使えば、自分でサーバを立てる必要もないのではないか?と考えました。
このプロジェクトの目標
- 完全に無料でインターネット越しにP2Pでリアルタイム通信を実現したい。
- 1対1だけじゃなくて4人対戦とかできるようにしたい。
使い方
外部リンクになりますが、こちらに使い方と簡単な解説を書いています。