AWS EC2をゲーミングPCとして150時間プレイした感想

今年の2月から、Division, Division2 をAWSのEC2上でリモートでプレイした感想と現時点で期待することについて。

2020/3/12 追記
こんな記事書いておいてですが、今は2020年6月リリース予定のGeforce Nowを利用したほうが、簡単で安くて良いです!Google Stadiaも日本に上陸するでしょうし!

そもそも

本サイトの別記事で書いていますが、そもそもは、それほどゲーマーではない自分がちょっぴりPCゲームをやりたくて、AWS上のマシンでゲーム出来ないか、と思い立ったのが始まりです。

現時点では、Azure, GCEでも考えましたが料金的にAWSが一番良さそうでした。

技術的なこと

AWSはDirectXが利用可能なGPUタイプのマシンが存在し、基本的にはゲーミングPCとして利用可能です。

しかし、画面の転送方式が問題で、WindowsのリモートデスクトップはDirectXの描画はサポートしていませんし、VNCもレスポンス的にイマイチです。

そこで、Parsecという、画面転送とレスポンスのレイテンシーに力を入れているGame向け転送ソフトを使っています。

また、画面をストリーミングするため、自宅のインターネット環境からの接続はIPv6(IPoE)でAWSもIPv6環境でセットアップして接続しています。

そのほかは、AWSのマシンをゲームの要求スペックに合わせて選ぶことはありますがそれ以外、特別な事はありません。

自宅のマシンはネットワークの速度が早いマシン、少なくともギガビット有線接続であれば、しょぼいマシンでも不自由はないと思います。もちろん、グラボを積んでいる必要もありません。

プレイした感想

思っていたよりも快適にプレイ出来ています。Divisionに至っては、130時間ほどプレイしましたが、クラウドだからどうのこうのといった事は気にならず、自分の腕が下手なことが悲しい以外は楽しく出来ました。

ただ、私はコントローラーでプレイしますので、FPSをキーボードとマウスでガチでプレイする方にとってはきっとイマイチ反応がよくないかもしれません。

価格はg3s.xlarge(spot instance)でプレイして、約130時間で15,000円くらいでした。
私はきっともうすぐ飽きてゲームをしなくなると思うので、これでも良いですが、
というのは強がりで、本当はただクラウドでゲームというのをやってみたかっただけなんですがw

実際にプレイした動画を録画しました

以下の環境で録画したプレイ動画です。クライアント側で録画しているので、クラウド上のマシンで録画した画像ではなく、画面転送後の動画、つまり実際にプレイしている動画です。

プレイ動画「Division」

たまにカクッているようにも見えますが、おそらく録画ソフト上の問題であって、実際に自分がプレイしている分には全くわからないです。Division、本当におもしろかった。

プレイ動画「Division2」

これは今後の課題ですが、Division2はスペックを上げてもカクツキが発生してしまいます。今も困っていて、もうしばらくはプレイしたくなくなるほどのカクカクです。

期待すること

Division2でのカクカクは現時点ではボトルネックになっている部分が本当にわからない状況です。

調査の結果、g3s.xlargeではCPUが90%台で推移しているため、確かにスペック不足が否めないと判断し、g3.4xlargeに変更しましたが、それでもカクカクする時が多く、そう思えば、時たまスイスイ動く時もあります。

私はスポットインスタンスでいつも使っているため、AMIから展開直後のバックグランドでのS3からの復元でディスクアクセスのレイテンシーが落ちているのが原因なのか。

ゲームの内の事情(天候エフェクトや場所による描画処理)も考えて、同環境で試しましたが、どうも、ゲーム内の処理には関係無いように見えまして、プレイしている特定のランダムな時間でカクカクが発生しているようです。

何か、ちょっとしたことが原因であるはずですが、近々、g4インスタンスが発表されるとの事で、このような困っている事をまるっと解決してしまうほどの性能があればとても嬉しいです。

ちょっと注意点

Blizzardでは現時点ではCloud上のゲームマシンは認めていないようです。

Cloud Computing:  Use the Platform, including a Game, in connection with any unauthorized third-party “cloud computing” services, “cloud gaming” services, or any software or service designed to enable the unauthorized streaming or transmission of Game content from a third-party server to any device.

https://www.blizzard.com/en-us/legal/fba4d00f-c7e4-4883-b8b9-1b4500a402ea/blizzard-end-user-license-agreement