GFE + Moonlight + Sixaxisによるプレイ。
映像と音声がおよそ11Mbpsで流れてくるので、それを見ながらAndroidにつないだコントローラを操作すると、それがホスト側のPCでXInputとして認識されているコントローラの入力として扱われる。
LAN内であれば、遅延は20msをきっており、特に支障なくプレイできている。落下ししたのは省エネ設定でタブレットの画面が暗かったせいだ。
LTE回線であれば、外でも遅延は33ms程度だった。パケ代死が怖いので、外でやる際にはビットレートを落としたい。
以下はGFE関連の技術についてのメモ等。
余談だが、若者の間ではすでにパケ代死という言葉は死語であり、パケットの代わりに、ギガという単語を使うようだ。
例:
- 今月もう5ギガが無くなった
- 動画を見たいので今夜ギガを追加する
GFE
NVIDIAは、Geforce向けに、Geforce Experienceというアプリケーションを提供している。
様々な機能がある。例えば、GFE対応ゲームのグラフィック設定などを、PCのスペックに合わせて勝手に最適化する機能。
それから、ShadowPlayといって、プレイ中のゲームを録画する機能だ。PIPもできる。
SHIELDとMoonlight
それらの機能に交じって、SHIELDという機能がある。
これは、SHIELD対応のデバイス(NVIDIA謹製のゲーミングタブレット等)へ、ホストPCからゲームをストリーム配信する機能だ。
ホストPCに高スペックなものをあつらえた後、タブレットで映像を見ながらプレイできるわけだ。もちろんタブレット側での入力は本体側に送信され、ゲームが成立する。
本体のコントローラも別途認識される(多少調整はいるが)ので、タブレットとホストで、SHIELDを中継したオンラインローカルCOOPも可能という事になる。もはや何でもありである。
本来SHIELDデバイス専用の機能っぽいのだが、その通信プロトコルは単純で、オープンソースの実装としてクライアントが生まれるに至った。それがMoonlightである。
Android版はJavaで書かれているので、おそらくJavaが動く環境であれば何であれ動くだろう。
対応ゲーム
NVIDIA GeForce Experienceでサポートされるゲーム | NVIDIA
ここに対応ゲームが出ているのだが、ぶっちゃけSteamのBigPictureモードが対応している為、実質Steam上のゲームであれば何でもいいという事になる。
さらに、Steamには非Steamゲームを手動で登録する機能があるので、実質ゲームであれば何でも動くという事になる。
さらに言ってしまうと、GFEにはexeを手動で登録する機能があるので、もうぶっちゃけ何でもありである。
実際おいらは、リモートデスクトップもMoonlight経由で動作させることが出来た。(キーボードが英字だったのでまだ実用性は低い)