Steam In-Home Streamingの使い道が今ひとつ見いだせない件について

PCゲーム至上主義な私です、ども。

表題のSteam In-Home Streamingのお話です。話題としては、去年の話題なんですけど、ちと試した感触を書いてみようかなと。

そもそも、Steam In-Home Streamingって?

PCが2台あったとします。
片方はPCゲームをバリバリこなせるPC(以下、PC-A)だとして、もう片方のPCはゲームをするには非力なPC(PC-B)だとしますね。

ここで、Steam In-Home Streamingを使うと、非力なPC-B側でもバリバリゲームが出来ちゃうという一見優れものな機能です。PS4のShare Playとは異なりますが、近いものと考えればいいかなと。

まず、母艦側となるPC-Aで普通にゲームが起動し動作します。
そして、PC-B側には映像と音声がstreamingされ、PC-B側の入力が母艦に送信され、ゲームが遊べるという仕組みになってます。

PC-B側はどうやら、Steam Clientが動けばよいらしく、Mac OS Xでも、Ubuntu Linuxでもいけるらしいです。Ubuntu Linuxは試してませんけど。

ネットワーク的な制限はもちろんあって、同一ネットワークである必要があるようです。より正確に書けば、PC-AのIPアドレスが、192.168.0.2で、ネットマスクが255.255.255.0だとすれば、PC-Bは192.168.0.0/24のネットワークにあればPC-AにインストールされているゲームをIn-Home Streamingで遊べるようになります。

まぁー、細かい設定なんかは、ググってください。

http://store.steampowered.com/streaming/?l=japanese

非Steamゲームでもいけるのか実験してみる

さて、実際にMac Book AirでIn-Home Streamingを実験したんですけど、確かに遊べます。

PC-B側の設定で、ネットワーク帯域を「無制限」、解像度を「デスクトップ解像度」に設定した状態で、バイオ5を起動して試したところ、解像度は1440×810でフレームレートは、55〜59fpsで画面の情報が多いとか動きが速いところでは、30fps程度まで落ち込む感じでした。なお母艦側は60fps張り付きです。

では、非Steamゲームはどうでしょうか。Steamクライアントは、非Steamのゲームを追加し、Steamクライアントはランチャーとしの役割と、さらにSteam Overlayを有効化した状態でゲームを起動出来ます。かなーり昔から。

いくつかのゲームで実験してみました。

・SimCity 2013

EA OriginのSimCity (2013)です。結論から言うと、起動しませんでした。
母艦側は反応がなく、クライアント側は画面が真っ暗な状態になり、Steamを再起動せざるをえませんでした。ランチャー型なのが悪いのか、Originとの相性の問題なのか判別つきませんが、だめなものはだめなようです。なお、母艦側でSimCity(2013)をSteam経由で起動させてみましたが、こちらは問題ないようです。

OSXでSimCityやりたかったら、素直にOrigin入れて普通にOSX側で起動しろってこってす。

・World of Tanks

このゲームも、比較的最近ですがOSXに対応しています。意外とOSX対応のタイトルって多いんだなと関心してます。

さて、起動したっ結果ですが、無事起動しました。

フルスクリーンで、WoTのランチャーが起動し、「プレイ」ボタンを押下したところ、一時的に母艦のデスクトップスクリーンになりましたが、すぐにWoTの画面に。

実際に戦闘までは行っていませんが、多分大丈夫な感じです。ただ、フレームレートは安定しない感じですかね。

・Steins;Gate

はい、シュタゲです。PC版です。iOS版は出ていますが、OSX版は出ていません。Macでシュタゲを遊ぶためには、Wine使ったりBoot Campしたりしないといけませんが、WindowsのGaming PCがあれば、Steam In-Home Streamingを使ってOSX非対応のゲームも遊べますね。

というわけで、実験。

Ss sg 01

起動しました。ひとまずオープニングまで進めました。

Ss sg 03

Ss sg 04

スクリーンショットではわかりづらいですが、クライアント側のSteamの設定で、ステータス表示にチェックを入れると、解像度とFPSが表示されるようになり、F6キーを押すことで詳細なステータスを確認出来ます。

3番目のスクリーンショットはオープニング時のスクリーンショットですが、ビットレートが非常に膨らんでいる事がわかります。30Mbpsですってよ。

2番目のスクリーンショットは、動きが少ない画面でのスクリーンショットなので、ビットレートも控えめの3Mbps弱です。シーンによって、大きくビットレートが変わりますね。

技術的な観点から見ると

Steins; Gateの2枚目のスクリーンショットからもわかるように、
母艦側ではD3D9 Delayed RGB + libyuv + libx264でエンコードしたものをクライアントに送信している事がわかります。

このへん詳しいことはわからない私ですが、恐らくDirect3DではRGBで出力され、これをlibyuvでYUV色空間に変換し、libx264でH.264にエンコードしているものと考えられます。

ただ、YUV4:2:0なのかYUV:4:4:4なのか、YUV:4:2:2なのかこのあたりはよくわかりませんし、libx264のオプションもよくわかりません。

クライアント側のDecodeに関しては、H/Wデコーダーが選択できます。標準だと設定が外れていますが、この場合はCPUで処理される事になるんだと思います。

Latencyを見ると、表示で約20msほど遅れていることがわかります。動きの速いFPSだったり格ゲーだったり音ゲーには向かないって事ですね。逆に動きが遅いゲームであれば、なんら問題ないと思います。

他ネットワークからSteam In-Home Streamingを使うためには

実際に試してないので、書くことをためらうのですが、、、巷で流行っていた「会社からRDPで艦これ」と同じような環境ではだめなはずです。

RDP(Remote Desktop Protocol)を使っているわけではないのです。従って、外部ネットワークから、自宅ネットワークに参加する必要があります。それを実現するのが、そうVPNですね。

というわけで、どこのご家庭にも一台はあるであろうYamaha RTX1200を例に挙げてみますと、こんな感じの設定になります。

RTX1200の設定例:複数のL2TPクライアント(アドレス不定)の接続を受け付ける場合

クライアント側OSXの設定はここを参考に

OS X Mavericks: VPN(Virtual Private Network)への接続を設定する

なお、Yosemite環境下でのVPNにはバグがある模様。

Bug in Yosemite L2TP client with static IP

ただ帯域の問題もあるので、VPNはお薦めしませんし、携帯でデザリングしようものならパケ死すると思います。

入力の問題

Steam In-Home Streamingのクライアントは、デスクトップPCよりもノートPCが中心になるんじゃないかと思います。ここで問題なのが、ノートPCのヒューマンインターフェースなんですが、キーボードはよいとしても、問題はマウスです。

まぁー、マウス接続してやればいいんでしょうが、マウスつないでマウス広げて使うことを考えると、素直にデスクトップの前に行けよと思います。

もうひとつのインターフェースとして、ゲームパッドがあります。PCゲームにおいてゲームパッドは、Xbox 360 Controllerがデファクトスタンダードといっても過言じゃありません。

ここで問題になるのが、xbox 360 controllerのドライバです。Windowsはいいんです、標準でドライバあるので、させばドライバが動きますから。問題はOSXです。こちらはドライバを別途インストールする必要があります。

しかも公式のドライバではなく、unofficialなドライバです。githubで公開されてるので、githubからダウンロードしてインストールする必要があります。

TattieBogle Xbox 360 Driver (with improvements)

https://github.com/d235j/360Controller

とはいえ、MBAに360コントローラを接続するためには、Wiredコントローラで直接つなぐか、PC用Wirelessコントローラアダプタを接続してペアリングする必要があり、ラップトップからいっぱいケーブルが出る状況になるのは、非常に気持ち悪いものがあります。ここはwirelessでなんとかならんのか・・・。

いっぽうで、PS3用のコントローラを使うという選択肢もあるかと思います。PS3のコントローラはbluetoothをしゃべるので、ちゃんとペアリングすればwirelessでOSXと接続出来ます。

しかし、キーコンフィグとかがどうなるのかがさっぱり見えてきません。これはちゃんと実験しないとだめですね。

後日改めて。

で、どんなときにIn-Home Streamingが便利なのかを考える

さて、ようやく本題に入ります。えらく長かったなー。

Case 1: 書斎のゲーミングPC、リビングTVにPC

書いてて、なにこのブルジョアジーとか思いましたが、リビングのテレビにPCをつなぐという発想自体が、非常にアレだと思うんです。実に、アメリカンギーク臭が漂います。

一般的にPCゲームは個人占有の指向が強いです。一方でコンソールでは、4人まで一緒に遊べる(その場で)なんて事があったりで、集団でプレイするならリビングでって事になりますかね。

日本人Steamerのそんな姿が想像できない

Case 2: 暑いPC部屋とおさらば、涼しい部屋でまったりゲーム

これからGWに入り、もうすぐしたら夏です。暑いです。私の部屋は年中暑いです。

大抵のゲーム用PCって暑いです。排熱がすごいです。私のゲーム用PCも例外じゃありません。さらに、部屋にはエアコンがありません。なんてこった。

というわけで、夏場は本当に地獄だったりします。

そういうときは、エアコンのある部屋でゆったりゲームをしたいと思うわけですね。

あれ、これってかなり有益なパターンじゃないかと思い始めた。これいいんじゃないかな。

表題とは真反対の事を書いてますが、けっこうありなんじゃないかと思い始めました。

暑さに耐えられなくなったら、実行してみよう。。。