対戦ゲーム Cube Slam は、オープンソースの WebRTC を使って開発され、プラグインをインストールしなくても直接ブラウザで友だちとビデオチャットができます。
getUserMedia API により、ウェブカメラとマイクへのアクセスが提供され、RTCPeerConnection API により、友だちにオーディオと動画のデータが送信されます。
また、RTCDataChannel API により、ゲームの同期を保つためのあらゆるデータ通信が行われます。通信の途中にファイアウォールがない場合は、ゲーム データを(P2P)ピアツーピアで直接送信できるので、サーバーの負荷が大幅に削減されます。
- Google、ビデオチャット対戦ゲーム Cube Slam を公開。WebRTCで対面PONG(engadget日本版)
Chrome または Firefox で Cube Slam をプレイすると、WebGL と three.js によるリアルタイムの 3D レンダリングを体験できます。WebGL がない場合でも、CSS3 により同じゲーム エンジンを使用して 3D で Cube Slam をプレイできます。
グラフィックはすべて GPU で処理されるため、他のタスクの処理に CPU を解放できます。
Cube Slam のソースは Google Code または Chrome デベロッパー ツールでご覧いただけます(ソース マップを有効にする必要があります)。
また ?dev パラメータを URL に追加すると、dat.gui が有効になり、すべてのレベル、追加要素、その他のゲーム属性を操作できるようになってます。
Googleによれば、Cube Slam はブラウザ間でP2Pにデータ通信する RTCDataChannel を導入した初めての大規模アプリケーションとのことです。