PCゲーム至上主義な私です、ども。
表題のSteam In-Home Streamingのお話です。話題としては、去年の話題なんですけど、ちと試した感触を書いてみようかなと。
Contents
そもそも、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非対応のゲームも遊べますね。
というわけで、実験。
起動しました。ひとまずオープニングまで進めました。
スクリーンショットではわかりづらいですが、クライアント側の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を例に挙げてみますと、こんな感じの設定になります。
クライアント側OSXの設定はここを参考に
なお、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からダウンロードしてインストールする必要があります。
とはいえ、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も例外じゃありません。さらに、部屋にはエアコンがありません。なんてこった。
というわけで、夏場は本当に地獄だったりします。
そういうときは、エアコンのある部屋でゆったりゲームをしたいと思うわけですね。
あれ、これってかなり有益なパターンじゃないかと思い始めた。これいいんじゃないかな。
表題とは真反対の事を書いてますが、けっこうありなんじゃないかと思い始めました。
暑さに耐えられなくなったら、実行してみよう。。。