0.2秒の壁を超えた!COMETキャッチャーオンラインを支える超低遅延WebRTC開発の裏側

 はじめに

クレーンゲームのオンライン版、「COMETキャッチャーオンライン」。このシステムでは、ユーザーがスマートフォンやPCから遠隔操作し、実機のクレーンを動かす必要があります。このとき、0.2秒以上の遅延があると「操作感が悪い」と感じられてしまいます。この記事では、そんな超低遅延を達成するために採用した技術とその開発過程を紹介します。


なぜWebRTCなのか?

通常のHTTPやWebSocketでは、リアルタイム性に限界があります。特に、複数の中継を通じた通信ではタイムラグが避けられません。そこで採用したのが、P2P通信を基本とする**WebRTC (Web Real-Time Communication)**です。


WebRTCの特徴:

・ブラウザ間での直接通信(P2P)

・音声、映像、データチャネルに対応

・NAT越えのためのSTUN/TURNサーバー対応

・UDPベースで低遅延


0.2秒遅延を実現するために行った工夫

1.TURNサーバーの最適配置

国内複数拠点にTURNサーバーを設置し、物理的距離を最小化しました。STUNでP2P接続できるケースではさらに高速です。


2.ビデオ品質の最適化

高解像度は不要なため、低ビットレートかつ低解像度の映像を採用。これにより送信サイズを抑え、遅延を削減。


3.データチャネルの活用

クレーン操作の入力は、WebRTCのデータチャネルで送信。これは映像とは独立しており、数十ミリ秒以内の伝送が可能です。


4.ブラウザ側の最適化

モバイル向けにはWebRTCの起動・接続処理をできるだけ非同期で行い、操作前の待機時間を削減。


開発中の課題とその対処法

・回線品質のばらつき

→ パケットロス時には映像を一時的に省略し、操作優先の通信へ切替。


・接続までの遅延

→ セッションの事前確立による「事前準備型通信」方式を導入。


最後に

WebRTCは「ビデオ会議の技術」として知られていますが、我々はそれを遠隔操作のリアルタイム通信基盤として活用しました。COMETキャッチャーオンラインの0.2秒遅延は、このWebRTCのチューニングと徹底した最適化の結果です。


担当:OMEGA

このブログの人気の投稿

NEOCOMETブログ、はじめました!