読者です 読者をやめる 読者になる 読者になる

赤いセガ信者のぶろぐ

qiitaにもtwitterにもfacebookにも書きにくい記事はここ。ほぼゲーム日記。

Youtubeでたまに配信したり動画うpしたりしてます。
ここから見てあげてください。

Androidでダクソしてみた(GFE + Moonlight)

かんそうぶん DARK SOULS 3

youtu.be

GFE + Moonlight + Sixaxisによるプレイ。
映像と音声がおよそ11Mbpsで流れてくるので、それを見ながらAndroidにつないだコントローラを操作すると、それがホスト側のPCでXInputとして認識されているコントローラの入力として扱われる。
LAN内であれば、遅延は20msをきっており、特に支障なくプレイできている。落下ししたのは省エネ設定でタブレットの画面が暗かったせいだ。
LTE回線であれば、外でも遅延は33ms程度だった。パケ代死が怖いので、外でやる際にはビットレートを落としたい。
以下はGFE関連の技術についてのメモ等。

余談だが、若者の間ではすでにパケ代死という言葉は死語であり、パケットの代わりに、ギガという単語を使うようだ。
例:

  • 今月もう5ギガが無くなった
  • 動画を見たいので今夜ギガを追加する

GFE

NVIDIAは、Geforce向けに、Geforce Experienceというアプリケーションを提供している。

www.nvidia.co.jp

様々な機能がある。例えば、GFE対応ゲームのグラフィック設定などを、PCのスペックに合わせて勝手に最適化する機能。
それから、ShadowPlayといって、プレイ中のゲームを録画する機能だ。PIPもできる。

SHIELDとMoonlight

それらの機能に交じって、SHIELDという機能がある。
これは、SHIELD対応のデバイス(NVIDIA謹製のゲーミングタブレット等)へ、ホストPCからゲームをストリーム配信する機能だ。
ホストPCに高スペックなものをあつらえた後、タブレットで映像を見ながらプレイできるわけだ。もちろんタブレット側での入力は本体側に送信され、ゲームが成立する。
本体のコントローラも別途認識される(多少調整はいるが)ので、タブレットとホストで、SHIELDを中継したオンラインローカルCOOPも可能という事になる。もはや何でもありである。

本来SHIELDデバイス専用の機能っぽいのだが、その通信プロトコルは単純で、オープンソースの実装としてクライアントが生まれるに至った。それがMoonlightである。

Moonlight Game Streaming

Android版はJavaで書かれているので、おそらくJavaが動く環境であれば何であれ動くだろう。

対応ゲーム

NVIDIA GeForce Experienceでサポートされるゲーム | NVIDIA

ここに対応ゲームが出ているのだが、ぶっちゃけSteamのBigPictureモードが対応している為、実質Steam上のゲームであれば何でもいいという事になる。
さらに、Steamには非Steamゲームを手動で登録する機能があるので、実質ゲームであれば何でも動くという事になる。
さらに言ってしまうと、GFEにはexeを手動で登録する機能があるので、もうぶっちゃけ何でもありである。
実際おいらは、リモートデスクトップもMoonlight経由で動作させることが出来た。(キーボードが英字だったのでまだ実用性は低い)