OculusQuestでVRゲーセンを実現して優勝する

## 1.概要

某ウイルス騒動による様々な要因で、ゲーセンに行きたいけどゲーセンに行けない...
そんな人、多いと思います。私もそうです。

で、前々からVRゲーセンできたらいいなぁ！Σ(´□｀;)
って思っていたので、この機会にやってみました。

先に成果を提示しておくと、最終的にはこんな感じで Oculus Quest でゲームがプレイ出来るようになります！

![qmademo.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/6047/c8d78a39-b2a2-bab2-b00d-89125b378e55.gif)

では、実現の手順等々を順にみていきましょーJ⋈`•ヮ•｡) ！

## 2. 環境構築

### 2-A. Networkのセットアップ

![スクリーンショット 2020-03-02 21.33.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/6047/a540dc0e-cf77-ae86-4f1a-a33b919bb151.png)

まずは、構成図を参考に、ルータ、PC、Oculus Quest の Network を設定します。

注意すべきは3点

- PCは有線接続
- Oculus Quest <-> 無線ルータ間 は 11ac / 2x2 でリンク奨励（QuestのNetwork設定でリンク866Mbpsと出てれば多分平気）
	- ルータ側に実装されてるなら、Oculus Questに対してQoSをかけて優先度をあげるとよい。（ただ、無線のAirTimeの割り当てまでケアするQoSを積んでる機種でないと、あまり意味はない）
- インターネット回線が安定して一定品質であること。個人的な感覚だとこれくらい。
	- 帯域 UP/Down 10Mbps程度（GeForce Now とか STADIA の10〜数分の1程度しか喰わない）
	- RTT 50msec以下
	- Jitter 40msec以下

> 回線は所謂IPoEが良い結果となるケースが多いとは思うが、クラウドゲーミングと相性が悪い（理由を説明すると超長くなるのでここでは割愛）ルータやCGNもあるので、要注意

### 2-B. PCのセットアップ

#### 2-B-a. KONAMI IDを取得

後述の「コナステ」の認証で使用するアカウント取得を下記サイトから行います。

- [My KONAMI](https://my.konami.net)

![スクリーンショット 2020-03-02 21.11.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/6047/d4518555-5ca1-b4cc-2844-d0fc13a77d35.png)

#### 2-B-b. PASERI にクレジットをチャージ

後述の「コナステ」のプレイ料金を支払うための電子マネーのチャージを下記サイトから行います。
先ほど登録したKONAMI IDに紐づく感じになります。

- [遊べる電子マネー「PASELI(パセリ)」](https://www.konami.com/amusement/paseli/)

![スクリーンショット 2020-03-02 21.11.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/6047/d468a92a-06cb-f308-880d-777684a06548.png)

#### 2-B-c. コナステをセットアップする

「コナステ」はゲーセンの一部のタイトルがクラウドゲーミングとして遊べるサービスです。
ここでは、そのクライアントプログラムをWindowsにセットアップします。

クライアントプログラムは下記より取得できます。

- [コナステ - e-AMUSEMENT](https://p.eagate.573.jp/game/eacloud/p/common/title.html)

取得したら、インストーラーに従ってインストールします。

#### 2-B-d. Virtual Desktop Streamer をセットアップする

Oculus Quest からPCを操作/PC出力を転送 するためのプログラムをセットアップします。

プログラムは下記より取得できます。

- [Virtual Desktop](https://www.vrdesktop.net)

取得したら、インストーラーに従ってインストールします。

### 2-C. Oculus Questのセットアップ

Windowsをリモートで操作/PC出力を受信 するためのプログラムをインストールします。

Oculus Storeからインストールします。

- [Virtual Desktop](https://www.oculus.com/experiences/quest/2017050365004772)

> 1990円するけど、ゲーム以外にも色々使えるので、もっといて損はないアプリです。

#### 補足: なぜBigScreenではなく、Virtual Desktopか？

似たようなソフトでBigScreenがあります。しかも無料！でもコレはやめたほうが良いのです。

というのも、ゲームに耐えられる応答遅延の実現がほぼ不可能だから...｡оО(｡´•ㅅ•｡)Оо。

BigScreenでRemoteDesktopする場合、サーバを経由した動画ストリーム受信になります。
一方、Virtual Desktop は、Quest <=> PC の通信がローカルに閉じるので、比較的容易にゲームプレイに耐えうるものが構築しやすい。

## 3. プレイ手順

### 3-A. PC側

- 先ほどインストールした「Virtual Desktop Streamer App」を起動します
- Google Chrome で コナステのタイトルのページを開きます（例：[クイズマジックアカデミー 軌跡の交叉 -Xross Voya](https://p.eagate.573.jp/game/eacloud/p/common/title.html?game=qma)）

> 音が出ないときは、Virtual Desktop Streamerの設定で、「Use virtual audio driver を ON」にすると治るかも

### 3-B. Oculus Quest 側

- 「Virtual Desktop」を起動します。
- 自動でPCが検出されるはずなので、接続します。

![スクリーンショット 2020-03-02 22.22.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/6047/01cd4e40-2a6d-44e5-0175-225d28758ca5.png)

- デフォの空間が宇宙空間なので、Environments設定から、部屋っぽいの環境に変更します。

![スクリーンショット 2020-03-02 22.21.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/6047/c423325d-240a-fa73-3f7d-b4a793d5e027.png)

- Chromeで開いておいたページの「利用規約に同意してプレー開始」をクリックします

![スクリーンショット 2020-03-02 22.23.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/6047/3ec0b3c2-f60e-4034-930f-7fd6d3c4489a.png)

起動に成功したら、あとはコントローラーで適当にプレイ！

![スクリーンショット 2020-03-02 22.24.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/6047/7b2aeecd-e743-5553-14ec-e05236745a9f.png)

クレジットが尽きるまで、無限にチャリンチャリン！

## 4. 課題：次のステップ

### 4-A. ソーシャル空間の実現

今回使用したVirtual Desktopの欠点として、他の友人と一緒に遊べない、、というものがあります。

__仲間内でわいわいしたり、謎の他人のベガ立ちの圧力__、、そんなのがあってこそのゲーセンプレイ。これは実現したいですね。

とはいえ、それを実現しようとすると、サーバが必要になります。

プレイしている当人のゲームコンソール入出力をインターネット経由にすると、どうしても厳しくなるのは前述の通り。

では、どうしたら良いのだろうか？

#### 4-A-a. 案1：スター型 P2P通信

所謂スター型のP2P構成を取り、メインのプレイヤーをHost、それ以外をClientとする。

この方式であれば、プレイしている当人のUXを維持しつつマルチプレイが実現できる。

これに関しては、Virtual Desktop さんの未来に期待。

#### 4-A-b. 案2：超高速インフラに限定した サーバ型通信

サーバ型はダメだ！

といったが、例えば、国内フレッツ網に全メンバーが接続されており、かつ、SNI（フレッツ網内の特殊なサーバセグメント）のような場所にサーバを置けるなら話は別だ。

通信品質がLAN環境に限りなく近くなるので、これであれば問題ない。

難点は、全員がフレッツ網にいる必要があるのと、IPoEかつNative IPv6で通信ができないといけない、、ということだ。

BigScreenがNTTとコラボしてくれたらワンチャンあるかも？

### 4-B. ハンドトラッキング対応

元々がタッチ前提のUIであるため、コントローラーでの操作がまどろっこしい。

Oculus Questは先日のUpdateでハンドトラッキングが可能になった。

つまり、Virtual Desktopがハンドトラッキングに対応するか、Oculus Native なコナステクライアントが登場しそれがハンドトラッキングに対応してくれれば、さらなる体験向上が望める。

![202002271119674000.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/6047/9c268c3f-a897-1de3-aafe-95e75befe26b.jpeg)

### 4-C. 対応タイトルの充実

今回紹介した方法は「コナステ」ありきだ。
よって、それ以外のゲーセンタイトルを遊ぶことはできない。

ゲームメーカーにクラウド対応して！って要望をだすと、頑張ってくれるかもしれないので、みんなガンガン要望出そう。

~~ボンバーガールのコナステ対応はよ~~

## 5. さいごに

コナステ自体、従来からPCで普通にプレイすることは可能だったけど、素の状態だと家ゲーと大差なく体験としては正直微妙だった。

しかし、VR空間における閉鎖感は、ゲーセンでプレイしている時の感覚に通じるものがあり、操作感のデメリットを差し引いても、VR空間での「コナステ」プレイは体験としては良いものに感じられた。

今回紹介した環境、ゲーセンでのゲームプレイに思い入れはあるが店舗に足を運ぶのが億劫になってしまった人、VR空間でゲーセンライフを満喫したい人には、ぜひ試して欲しい。