Más contenido relacionado
La actualidad más candente (20)
Similar a VRライブ・コミュニケーションサービス「バーチャルキャスト」でのモノビットエンジンの採用事例と最新情報 (20)
VRライブ・コミュニケーションサービス「バーチャルキャスト」でのモノビットエンジンの採用事例と最新情報
- 1. Copyright © monobitengine Inc.All Rights Reserved.
安田 京人(ミドルウェア事業部部長)
VRライブ・コミュニケーションサービス
「バーチャルキャスト」での
モノビットエンジンの採用事例と最新情報
株式会社モノビット
- 2. Copyright © monobitengine Inc.All Rights Reserved. 1
<アジェンダ>
■第一部
モノビットエンジンVer2.0シリーズ概要と
最新情報(モノビット安田)20分
■第二部
バーチャルキャストを支える技術(Infiniteloop 山口様)25分
- 3. Copyright © monobitengine Inc.All Rights Reserved. 2
1980年横浜生まれ。
システムエンジニアを経て、コンシューマゲーム開発に6年間従事。
プログラマとして、携帯ゲーム機から据え置き機まで様々なタイトル開発に関わる。
その後、ネットワークゲーム時代の到来を予見し、
その分野で展開を試みる株式会社モノビットへ入社。
現在はミドルウェア事業部長として、
リアルタイム通信の研究開発に従事し
統合サーバパッケージ「モノビットエンジン」の開発ディレクションとエヴァンジェリストとしても活動。
■自己紹介
- 4. Copyright © monobitengine Inc.All Rights Reserved. 3
スマホ/家庭用ゲームやVRコンテンツで、マルチプレイを簡単に実現できる、リアルタイム通信ミドルウェアです。
主に3つの製品ラインナップで展開しています。2017年にVer2.0に進化しました!
1,Monobit Revolution Server (略称:MRS)
MMORPGや、多人数MOアクションゲームにも対応出来る処理速度とレスポンスを
追求した、高速ゲームサーバです。シンプルなAPIで超高速通信かつ大規模同時接
続を実現します。
■モノビットエンジンVer2.0シリーズとは?
2,Monobit Unity Networking 2.0 (略称:MUN2.0)
Unityに特化した通信ミドルウェアです。マッチング、ルーム、通信リレーの機能が
標準で用意されており、ネットワークの知識がなくてもマルチプレイを実装可能。
MRSと連携して、サーバにもC++/C#でコードが書けるように進化しました。
3,VR Voice Chat 2.0
Unityで簡単にボイスチャットを実現することができるUnityプラグインです。
2.0になってレスポンス速度上昇!
産業からエンタメなど幅広く利用されています。
本日の
メインテーマは
こちら!
- 5. Copyright © monobitengine Inc.All Rights Reserved. 4
採用製品 Realtime Engine
プラットフォーム スマートフォン(iOS/Android/Kindle)
ジャンル RPG
販売元 エイリム様
採用製品 Monobit Unity Networking 2.0
プラットフォーム スマートフォン(iOS/Android)
ジャンル おでかけRPG
販売元 トイロジック様
採用製品 Monobit Unity Networking
プラットフォーム HTV Vive
ジャンル 複数人参加型VRデモ
クライアント KDDI様
採用製品 Monobit Revolution Server
プラットフォーム スマートフォン(iOS/Android)
ジャンル ドラマチックファンタジーRPG
© Fuji Games, Inc. / Marvelous Inc.
採用製品 Realtime Engine
プラットフォーム スマートフォン(iOS/Android)
ジャンル 超能力×ミリタリーRPG
販売元 スクウェア・エニックス様
採用製品 Monobit Unity Networking2.0、VR Voice Chat
プラットフォーム HTC Vive
ジャンル VRトラッピングバトル
開発元 自社開発
ORDINAL STRATA -オーディナル ストラータ
八百万クエスト Trip Trap Travelers
ブレイブ フロンティア Linked-door ALICE ORDER
採用製品 Realtime Engine
プラットフォーム スマートフォン(iOS/Android)
ジャンル ARトータルソリューション
販売元 サン電子様
AceReal One
採用製品 Monobit Unity Networking2.0、VR Voice Chat
プラットフォーム HTC Vive
ジャンル VRライブ・コミュニケーションサービス
© DWANGO Co., Ltd. / infiniteloop, Co., Ltd.
バーチャルキャスト
採用製品 Monobit Unity Networking 2.0
プラットフォーム スマートフォン(iOS/Android)
ジャンル 共闘ことばRPG
© SEGA
コトダマン
■ エンジン採用実績①■
- 6. Copyright © monobitengine Inc.All Rights Reserved. 5
5
■ エンジン採用実績②
採用製品 Realtime Engine
プラットフォーム スマートフォン(iOS/Android)
ジャンル リアルタイム対戦ストラテジー
販売元 アソビズム様
城とドラゴン
採用製品 Realtime Engine
プラットフォーム スマートフォン(iOS/Android)
ジャンル みんなでスゴロクRPG
販売元 株式会社アプリボット様
スゴロクモンスターズ
採用製品 Realtime Engine
プラットフォーム スマートフォン(iOS/Android)
ジャンル オンラインRPG
販売元 FIELDS様
THE TOWER OF PRINCESS
採用製品 NetworkGame Framework
プラットフォーム PlayStation(R)Vita
ジャンル アクション&カードバトル
販売元 スパイク・チュンソフト様
せかい☆セイフク
採用製品 NetworkGame Framework
プラットフォーム スマートフォン(iOS/Android)
ジャンル 冒険者vsダンジョンRPG
販売元 スクウェア・エニックス様
ランページ ランド ランカーズ
採用製品 Realtime Engine
プラットフォーム PCブラウザ
ジャンル チーム対戦型横スクロールアクションRTS
販売元 スクウェア・エニックス様
家電少女
採用製品 Realtime Engine
プラットフォーム PCブラウザ
ジャンル チーム対戦型横スクロールアクションRTS
販売元 スクウェア・エニックス様
クリスタル◆コンクエスト
採用製品 Realtime Engine,
プラットフォーム Windows(R)
ジャンル マルチ対戦アクション
販売元 スクウェア・エニックス様
LORD of VERMILION ARENA
採用製品 NetworkGame Framework
プラットフォーム スマートフォン(iOS/Android)
ジャンル パチスロRPG
販売元 山佐株式会社様
輪撃クエスロット
■
- 8. Copyright © monobitengine Inc.All Rights Reserved. 7
■ MRS(Monobit Revolution Server)とは
低遅延が要求されるアクションゲームやVRなど
リアルタイム通信コンテンツの開発に最適
これまでにない大規模なMMORPGなどの
オンラインゲーム開発が可能
- 9. Copyright © monobitengine Inc.All Rights Reserved. 8
■ MRS(Monobit Revolution Server)の特徴
●低遅延・高効率でのリアルタイム通信制御
- 通信シーケンスや内部プロセス、利用者に提供するAPI等を刷新
- リアルタイム通信機能として、より速く、よりシンプルな設計を実現
従来リリースしていた「リアルタイム通信エンジン」をゼロから見直して作成
●TCP, UDP, WebSocket の通信プロトコルの利用
- ネットワーク高速化とサーバ側CPU負荷軽減を実現
- 1CPUあたり最大20,000クライアントの同時接続を実現
TCP 接続は従来の「リアルタイム通信エンジン」を大幅に強化
UDP 接続プロトコルのサポート
- リアルタイム性の求められるデータの送受信に最適なUDP/RUDPを使用可能
WebSocket 接続プロトコルのサポート(ver.1.1.0 以降)
- PhantomJS(http://phantomjs.org/)を利用した自動テストが可能
高速処理によるインフラコストの大幅低減を実現
- 10. Copyright © monobitengine Inc.All Rights Reserved. 9
■ MRS(Monobit Revolution Server)の特徴
●多種多様なプラットフォームに対応
●ゲームエンジン、開発言語を多数サポート
C/C++ JavaC# JavaScript
家庭用ゲーム機やマルチプラットフォームも対応
PHP,Ruby
Windows/VisualStudioでサーバ開発が可能に!
- 11. Copyright © monobitengine Inc.All Rights Reserved. 10
■ MRS(Monobit Revolution Server)の特徴
●堅牢な暗号化によりチート対策も万全
・ 送信レコード単位で、暗号処理の適用可否を設定可能
- 暗号処理はCPU負荷を掛けやすい
- 秘匿性が低い送信レコードには暗号処理させないなどの施策により
全体的なスループット向上が見込まれる
・ 暗号方式について
- 暗号鍵方式には AES128 を採用
- 暗号鍵の交換方式には EDCH(楕円曲線ディフィー・ヘルマン)
鍵共有アルゴリズムを採用
●拡張ライブラリによる機能の拡張が可能
ルームサーバの機能や、ゲームマッチング、チャットなどは
『MRS_ROOM』 や 『MUN』 などで実現可能
ルーム作成 マッチング チャット
MRS_ROOM MUN
転送レコードごとの暗号化
- 12. Copyright © monobitengine Inc.All Rights Reserved. 11
■ MRS(Monobit Revolution Server)の特徴
- mackerel_agent をインストールするだけで問題なく監視可能
- システムメトリック : ロードアベレージ, CPU, メモリ, ディスクアクセス, ネットワーク帯域, ストレージ使用状況の監視
- カスタムメトリック : 各サーバプロセスごとのモニタリング, 同時利用者数(CCU)の監視など
●直感型サーバ監視ツール 『Mackerel』 に対応
MRS の対応内容
Mackerelとは
- サーバプロセスの監視状況をリアルタイムにグラフ化
- モニタリングはもちろん、ブラウザ対応UIやAPIが豊富
高機能な監視ツールにより運用をサポート
- 13. Copyright © monobitengine Inc.All Rights Reserved. 12
■ MRS(Monobit Revolution Server)の特徴
●低遅延・高効率化のNiftyCloudでの実証実験
・ TCP による最高性能試験の結果、
毎秒約540,000レコードのECHO送受信を実現させることが可能
※ MRS_bench 計測結果(1秒間隔の計測ログ、暗号化なし)
loop:試行数
s:総送信バイト数
r:総受信バイト数(総受信レコード数)
c:接続数
d:切断数
e:エラー検知数
loop:1 s:0 r:0(0) c:0 d:0 e:0
loop:1302 s:940160 r:46678(32104) c:40 d:0 e:0
loop:2576 s:4679800 r:366276(143363) c:117 d:0 e:0
loop:3222 s:8596640 r:1443319(340764) c:193 d:0 e:0
loop:3627 s:12284680 r:3220253(495575) c:266 d:0 e:0
loop:3939 s:15922640 r:5375457(551009) c:300 d:0 e:0
loop:4240 s:19534640 r:7557718(543762) c:300 d:0 e:0
・ UDP による最高性能試験の結果、
毎秒約350,000レコードのECHO送受信を実現させることが可能
※ MRS_bench 計測結果(1秒間隔の計測ログ、暗号化なし)
loop:試行数
s:総送信バイト数
r:総受信バイト数(総受信レコード数)
c:接続数
d:切断数
e:エラー検知数
loop:1 s:0 r:0(0) c:0 d:0 e:0
loop:698 s:133020 r:132220(132220) c:20 d:0 e:400
loop:1624 s:770060 r:768440(346380) c:40 d:0 e:920
loop:2491 s:1463660 r:1461980(344720) c:40 d:0 e:920
loop:3373 s:2169260 r:2167640(353580) c:40 d:0 e:920
loop:4255 s:2874860 r:2873220(353560) c:40 d:0 e:920
- Server :
Nifty-Cloud e-large8(¥37/h) x1
Intel Xeon 4Core CPU(E5-2697) 2.60GHz / 8GB RAM
- Client :
VMware 上の 仮想 Linux PC
※ MRS ver.1.0.0 リリース版での検証
※ 計測ツールは弊社内製のベンチマークツール 『MRS_bench』 によるもの
- 14. Copyright © monobitengine Inc.All Rights Reserved. 13
機能 新MRS 旧エンジン
対応プロトコル TCP/UDP/RUDP/WebSocket TCP
外部API設計 C言語風(シンプル化) C++風
遅延 マイクロ秒 ミリ秒
CPUスレッドあたりスループット
300同時接続時
毎秒54万レコード
300同時接続時
毎秒数万レコード
クライアント開発言語 C++,C# C++,C#
サーバ開発言語 C++,C# C++
サーバOS Linux,Windows,MacOSX Linux
13
■ MRS(Monobit Revolution Server)の特徴
●機能比較(MRS vs 従来品)
- 15. Copyright © monobitengine Inc.All Rights Reserved. 14
対応
プラットフォーム
■ MRS(Monobit Revolution Server)の展望
●MRSの今後の開発ロードマップとリリース予定
通信方式
実装方法
現行リリース 2018年7月 2018年8月 2018年9月 2018年冬以降
Linux
Windows
MacOSX
Android
iOS
Unity
Client/Server
通信方式
TCP/UDP/RUDP
プロトコル
WebSocket
CのAPIを利用
通信結果を
コールバック処理
他言語はバイン
ディングで対応
HTTP
サーバサンプル
Switch
UnrealEngine 4
P2P通信方式
コールバック
処理のRPC化
RPCスタブコードの
ジェネレータを
リリース
ゲームジャンルに
特化した実践的サンプル
- 17. Copyright © monobitengine Inc.All Rights Reserved. 16
■ MUN(Monobit Unity Networking)とは
クライアントのみでも実装できる、Unity特化型の通信エンジン
マルチプレイを簡単に実装できるアセットです
Unity5.x、Unity2017.x 対応
※Unity2018.x(現在鋭意対応中)
- 18. Copyright © monobitengine Inc.All Rights Reserved. 17
■ MUN(Monobit Unity Networking)の特徴
- サーバ接続/切断、オフラインモード
- ロビーやルームに対する入室/退室制御、ロビーとルームの状態取得
- プレイヤー情報の取得(サーバ内検索, プレイヤーパラメータの設定と取得)
- RPCによる、任意のクライアントに対する情報送信および受信
- シーン内オブジェクトの位置・姿勢・アニメーション等の同期
- 各種条件に応じた、マッチメイキング制御
- ノンプログラミング通信制御 etc...
※すべて単一のコンポーネントやAPIで実装可能
MUN で実装できる機能の一部
※各種家庭用ゲーム機はNDA締結により利用可能になります
●多彩な機能が多様なプラットフォームで利用可能
利用可能なプラットフォーム
- 19. Copyright © monobitengine Inc.All Rights Reserved. 18
■ MUN(Monobit Unity Networking)の特徴
●すべての通信ロジックを、クライアント側オンリーで実装可能
MUN リリース当初からの設計思想を実現
- 『サーバサイドの構築なしでリアルタイム通信を実現したい』というご要望に対応
- 通信ロジックも含め、オンラインゲームのすべての制御をクライアント側でコーディング可能!
※MUNサーバはbroadcastでリレー配信する役割を果たします
- クライアントコードをそのままサーバに移植して、簡単にチート対策!
- MUN標準機能のサーバのソースコードを公開中。VisualStudioでカスタマイズ可能。
●必要に応じて、サーバにコードを書くことも可能!
MUN2.0より、MRSと連携してC++/C#言語でサーバ開発が可能になりました!
サーバとクライアントでコードを自在に配置可能
- 20. Copyright © monobitengine Inc.All Rights Reserved. 19
■ MUN(Monobit Unity Networking)の特徴
- MUNサーバ側は、TCP/UDPの通信ポート双方で待ち受けしている
- 同一認証のMUNクライアントであれば、TCPの接続クライアントとUDPの接続クライアントを
同一ルームに接続させることも可能
●TCP, UDPの通信プロトコルの利用
MRSに基づき、TCP/UDPの通信プロトコルをサポート
MUNにおける UDP/RUDP接続プロトコルについて
- MUNの内部処理で行われる送受信(ロビー/ルームの入退室など)の通信をUDPで行なう場合、
すべて RUDP で伝送される
- RPC(リモートプロシージャコール)、およびオブジェクト同期通信のみUDP/RUDP の個別設定が可能
速度を重視するか信頼性を重視するか、
場面によって最適な通信プロトコルを選択可能
- 21. Copyright © monobitengine Inc.All Rights Reserved. 20
■ MUN(Monobit Unity Networking)の特徴
- クライアントサイドの改ざんに伴う、チートの横行を防ぐ術がほとんどない
すべてのソースコードがクライアントに含まれるため
- ホストの優位性が圧倒的に高い
ノンプレイヤーの通信データについて、ホストは即時実行するが
他クライアントはホストからの通信を待たねばならないため
- ゲーム進行が、ホストの性能に依存する
●オンプレミス版MUNサーバを用いたサーバサイド実装にも対応
クライアント側オンリーでの実装における『問題点』
サーバサイド実装にすることの『メリット』
- サーバサイドに実装することにより、クライアント改ざんの隙を与えない
ほとんどの処理はサーバ依存にし、クライアントはビューアとして機能させる
- すべてのクライアントに対し、『平等なサービス』を提供できる
ホストも他のクライアントで実行タイミングを完全に一致させることができる
- 22. Copyright © monobitengine Inc.All Rights Reserved. 21
機能 MUN2.0 MUN1.0
プロトコル TCP/UDP/RUDP/WS・WSS TCP
サーバ開発 可能(C++/C#) 不可
自動スケール機能
新製品MRSクラスタ
リリース予定
なし
負荷試験自動化ツール ○ ☓
カスタム認証機能 ○ ☓
汎用ルームサーバー ○ ○
マッチメイキング ○ ○
プレイヤー検索 ○ ○
ルーム作成・入退室制御 ○ ○
ルーム名・人数取得 ○ ○
RPC同期通信 ○ ○
再接続処理 ○ ○
21
■ MUN(Monobit Unity Networking)の特徴
●従来製品との機能比較(MUN2.0 vs MUN)
- 23. Copyright © monobitengine Inc.All Rights Reserved. 2222
■ MUN、MRSの注目アップデート■
●Ver2.4.0にてWebGL出力に対応!ブラウザゲーム開発でMUNが使用可能
Unityで開発したスマホタイトルのブラウザへの移植や新規開発においても、
MUNが利用可能になりマルチプレイ機能の組み込みが非常に容易になりました!
- 24. Copyright © monobitengine Inc.All Rights Reserved. 23
■ MUN(Monobit Unity Networking)の展望
●MUNの今後の開発ロードマップとリリース予定
対応
プラットフォ
ーム
通信方式
クライアント
プログラム
現行リリース 2018年7月 2018年8月 2018年冬以降
Windows
MacOSX
Android
iOS
Client/Server
通信方式
TCP/UDP/RUDP
プロトコル
Webブラウザ
Switch
2018年9月
WebSocket
サーバプログ
ラム
Linux C++
Windows C++,C#
MacOSX
.NET Core C#
.Net Core 2.1対応
Unity C#
コア処理のリファクタリングにより、
高頻度送受信時の性能向上
(GC抑止等)
PS4
- 26. Copyright © monobitengine Inc.All Rights Reserved. 25
■ VR VoiceChat with MUN とは
MUNをベースに動作する『ボイスチャットエンジン』
コンポーネントを追加するだけで簡単に実装が可能!
無音検知、マルチキャスト配信、遅延音声カット機能を搭載!
■
- 27. Copyright © monobitengine Inc.All Rights Reserved. 26
■ VR VoiceChat with MUN の特徴
VoiceChat with MUN の機能を実装するには、
Unityのオブジェクトに 『MonobitVoice』のコンポーネントを追加します
●コンポーネントを追加するだけで簡単に実装が可能
上記コンポーネントを追加した状態で、MUNによる通信同期を行なう
シーンファイル上で動かすだけで、ボイスチャットが簡単に実現できます
簡単な手順でボイスチャットを実装可能
■
- 28. Copyright © monobitengine Inc.All Rights Reserved. 27
■ VR VoiceChat with MUN の特徴
- キーボードのタイピング音や、周囲の環境騒音の同時伝送を防ぎます
- 『一定量以下のdb値の音声を送信しないようにする』 という
シンプルなソフトウェアノイズキャンセリングを実装しています
- 無音検知機能によりデータ転送量を減らします
無音検知閾値を調整することで無音検知機能を無効化することも可能です
●無音検知機能(ノイズキャンセラ)を搭載
会話時の雑音などのノイズを除去し、クリーンな音声だけを送信
ハウリングを防止
- 特にスマートフォン端末など、スピーカー出力部とマイク入力部が近い位置にあるデバイスで有効です
■
- 29. Copyright © monobitengine Inc.All Rights Reserved. 28
■ VR VoiceChat with MUN の特徴
- 例えば 『FPSのチーム戦』 などにおいて、
『戦闘前のブリーフィング中にはチーム関係なく全員と会話させたい』
『戦闘中は自分のチームだけで会話させ、相手に音声を伝えたくない』
という、条件付きのボイスチャット配信設定を行なう機能です
●マルチキャスト配信機能を搭載
ルーム内の特定プレイヤーに対して、自身の音声の送信可否を設定可能
マルチキャスト配信機能のメリット
- ゲームデザインに応じたボイスチャットの拡張性を高めます
- 『特定プレイヤーとの会話』 によって、音声ストリーム情報によるトラフィックの
総量を抑えることができます
※マルチキャスト配信機能の設定にはAPIを使用する必要があります。
全員に声が届く
仲間にだけ
声が届く
聞こえない
■
- 30. Copyright © monobitengine Inc.All Rights Reserved. 29
■ VR VoiceChat with MUN の特徴
- 『相手の音声が数ミリ秒~数秒遅れて再生』 されるような
再生遅延の状態が著しく悪い状態のときに 『再生待ちレコード』 を削除し、
よりリアルタイムな音声を受信側で再生させる機能です
●遅延音声のカット機能を搭載
受信側の再生遅延が著しい場合に、再生の早回しを行なう機能
『ぶつ切り感』 をほとんど感じない音声遅延カット
- 『音声のぶつ切り』 がイメージとして浮かぶかもしれませんが、音声として聞き取れる
僅かな時間をカットするだけなので、ぶつ切り感をほとんど感じることはありません
- 数ミリ秒単位で音声再生を補完することにより、送信側の音声をより瞬時に受信側で
再生できる 『リアルタイムさ』 を実感できます
- コンポーネントの設定から 『遅延音声のカット機能』 を無効にすることもできます
生の音声データを取り出して、ボイスチェンジャーも実装可能です
■
- 31. Copyright © monobitengine Inc.All Rights Reserved. 30
■ VR VoiceChat with MUN の展望
- 30 -
ボイスチャット
専用サーバ
P2P対応
未定2018年秋 2018年冬
ノンサーバによる
ボイスチャットの実装
サーバミキシング機能の
実装
Plastation VR
対応
■
●MRSの今後の開発ロードマップとリリース予定
- 32. Copyright © monobitengine Inc.All Rights Reserved. 31
・お気軽にお問合せください contact@monobit.co.jp
■ まとめ
<導入の利点>
1,LinuxでC#、C++ゲームサーバが運用出来る
2,C++で超高速サーバが開発可能
3,日本国内開発でサポートが充実
<導入方法>
1,まだUnityアセットストアには置いていませんので、
モノビットエンジンのHPからプラグインをダウンロードして
使ってみて下さい。
2,既存のUnityNetworking互換APIを使って開発している
タイトルについても、別APIからの置き換えは1日で完了します。
現在開発中のタイトルについても、ぜひ採用を検討してみて下さい。
- 34. Copyright © monobitengine Inc.All Rights Reserved. 33
株式会社インフィニットループとは
・ゲーム開発
・モバイルアプリ開発
・Webアプリ開発
・Linuxサーバ構築運用
サーバのことなら任せとけって
会社です
- 35. Copyright © monobitengine Inc.All Rights Reserved. 34
自己紹介(1)
札幌のソフト会社で20年ほど
低レイヤーのネットワーク管理に従事
その後、インフィニットループに転職
山口 直樹
好きなSW Summit48si
好きなLB Alteon AD3
- 36. Copyright © monobitengine Inc.All Rights Reserved. 35
自己紹介(2)
会社でVRのコンテンツをはじめて見て「こ
れ出来ればあんなことやこんなこともで
きるじゃん!!」と
思って覚え始めた2年前の12月
あいえるたんさわさわ Vive
あいえるたん
お姫様だっこ
せかいぬりえ
- 41. Copyright © monobitengine Inc.All Rights Reserved. 40
バーチャルキャストは、バーチャルキャラクターになって
VR空間のスタジオをリアルタイムでコミュニケーションできる
VRライブ・コミュニケーションサービスです。
ニコニコ生放送などの生配信サービスを介してスタジオを作ることで、
誰でも気軽に、好きなキャラクターでコミュニケーションできます。
他のバーチャルキャストユーザーの配信に乱入できる「凸機能」や、
生放送の視聴者を楽しませる様々な「アイテム」など、
バーチャルキャラクターの番組に欠かせない機能も盛りだくさんです。
とは?
- 48. Copyright © monobitengine Inc.All Rights Reserved. 47
ドワンゴさんが開発したアバターに特化した、プラットフォーム非依存のファイル形式。
(オープンソースとして公開中)
3Dモデルとしてのテクスチャやボーンといった情報に加えて、視線設定など一人称で操作するアバターに
必要な情報を扱えるようにし、環境により異なるスケールや座標系などを統一することで、アバターを作
りやすく使いやすく、お気に入りのアバターを配信でもゲームでもプラットフォームを跨いで使えるよう
にすることを目指します。
- 53. Copyright © monobitengine Inc.All Rights Reserved. 52
「アバターの人格に関する許諾」
モデルデータに「人格」という概念
が存在
人格を与える範囲が設定でき、モデ
ルデータの使用は可能だが、モデル
データに異なる人格を与えるのは不
可という、今の時代を反映した許諾
設計がされている
- 55. Copyright © monobitengine Inc.All Rights Reserved. 54
Monobit Unity Networking 2.0(MUN)
VR Voice Chat with MUN
この2つのリアルタイム通信エンジンを使ってます
- 56. Copyright © monobitengine Inc.All Rights Reserved. 55
モノビットエンジン採用の理由
Linuxサーバを使
って自前で構築で
きるから
(・・・他にもコストパフォーマンスが高いとか理由ありま
す・・・)
- 57. Copyright © monobitengine Inc.All Rights Reserved. 56
株式会社インフィニットループとは
・ゲーム開発
・モバイルアプリ開発
・Webアプリ開発
・Linuxサーバ構築運用
サーバのことなら任せとけって
会社です
- 60. Copyright © monobitengine Inc.All Rights Reserved. 59
負荷分散およびスケーリング
MUNサーバ全体の負荷が閾
値が超えればインスタンス
の追加
MUNサーバ全体の負荷が
閾値より低い状態が続いた
ら、流入を停止して
クライアント接続がなくな
ればインスタンスを削除
- 61. Copyright © monobitengine Inc.All Rights Reserved. 60
自前だからできる色んな事
ユーザB
MUNサーバB
ROOM_B
ユーザC
MUNサーバC
ROOM_C
ユーザA
MUNサーバA
ROOM_A
APIサーバ
サーバA,ROOM_A,ユーザA
サーバB,ROOM_B,ユーザB
サーバC,ROOM_C,ユーザC
・
・
APIサーバにMUNサーバ
ルーム情報、ユーザ情報
やアトリビュート情報を
持っており、裏ではサー
バ分割をしているが表か
らは1つの巨大なMUN
サーバとして見える
アトリビュートも自前で
実装しているのでルーム
やユーザごとに特別な設
定が可能
サーバやルーム、ユ
ーザ情報を取得
条件にあったサーバを選択
- 62. Copyright © monobitengine Inc.All Rights Reserved. 61
AWSでMUNを使ってわかったこと
Linux の拡張ネットワーキングは必ず使うこと
追加料金なしでかなり効果が高い!
ショートパケットが飛び交うので帯域(トラフィック幅)よりPPSが大事!
- 63. Copyright © monobitengine Inc.All Rights Reserved. 62
AWSでMUNを使ってわかったこと
M5 インスタンス 強い!
2018/4/10から東京リージョンでも使えるようになりました。
変更したらパケットが詰まる感じがなくなりユーザ満足度も向上しました
- 70. Copyright © monobitengine Inc.All Rights Reserved. 69
配信を意識した作り
あくまでも配信ツールなのでリスナーが
見ていることを意識してます
・コメントの落下位置
・UIの見せ方
・リスナーとユーザのコミニュケーション
(レスポンス/ツイッター連携等)
・カメラの画角、配信映像を確認できる工夫
- 71. Copyright © monobitengine Inc.All Rights Reserved. 70
通信量削減
大量のコメントをすべて同期処理を
行うと破綻する
初回、出現位置等の同期を行い
その後は非同期
キャラクターに触れることで
同期処理を開始する
同期通信を行わなくても演出に問題な
ければ同期通信を行わない
(揺れものの物理処理等)
その他、表情や指の動き等、ユーザが感じ
ない部分での通信量削減を行っています
- 72. Copyright © monobitengine Inc.All Rights Reserved. 71
モデルデータの扱い
モデルデータの扱いは細心の注意を
払っております。
(万が一流出したら大問題!!)
・内部でファイルキャッシュを行わない
・通信経路はすべてHTTPSによる経路暗号化
・万が一キャプチャリングされても
サーバ-クライアント間で
バイナリーデータの暗号化、復号化
- 73. Copyright © monobitengine Inc.All Rights Reserved. 72
荒らし対策
イメージ画像を自由に落とせるので卑猥画像等を落とす荒らしが出現
・荒らしの大半は捨て垢で荒らしを
行うので、捨て垢での投稿を抑制
・ログを取り、問題があれば特定を
行い通報ができるシーケンスを作成