kazasiki's blog

プログラミングとかVRゲームとか

Oculus Quest2について思っていること

スペックは調べてください。世の中にたくさんレビュー記事があるので、この記事では触れません。

game.watch.impress.co.jp

Quest2は買う?

筆者はValve Indexを既に持っていますので、微妙なところですね。ワイヤレスであることと解像度の高さには惹かれますが、逆に言えばそれくらいです。

眼鏡の人向けのレンズアタッチメント自体はすでに購入可能なようです。

唯一あるとしたらQuest専売のソフトに良さそうなのが出たら買うかもしれません。例えば、GhostGiantはPSVRかQuestでしか遊べないので、そういうのが増えてくると買うと思います。PSVRのMoveコントローラを買うくらいならQuestを買いますね。

www.oculus.com

ちなみにQuest専売ではなくOculus専売のソフトであれば、Reviveでも遊べるので一旦問題ありません。価格が下がったので人には随分と勧めやすくなりました。

Oculus Linkについて

実際の安定性や使用感については詳細なレポートを待つ必要がありますが、ベータが外れたこと自体は喜ばしいことです。Questが普及することで、OculusStoreの一強状態に近づいてしまうリスクもあったのですが、これでSteamやViveportと共存する可能性がより強くなりました。

Steamに比べるとOculusStoreにあるレビューやコミュニティ周りの機能はかなり劣っているので、OculusStoreが強くなりすぎるのは現状は好ましくない流れだと思います。

PCVRのほうがより多くのソフトが遊べるのはこの先も暫く変わらないと思います。Questを買ってVRの楽しさを知って、その後により楽しむためにPCVRを始めるというパターンが増えると良いですね。

Rift Sの販売終了について

今回の発表の中で一番ビックリしたポイントでした。SteamVRのハードウェア調査を見る限りは未だにシェアは大きいので、それを切ってしまって良いのか?と。FacebookとしてはQuest + Linkが代わりになる想定なのでしょう。PCVR自体を見限ったということではないので、製造ラインを維持するコストなどを考えた一つの判断だと思います。

www.windowscentral.com

スタンドアロンはワイヤレスやPCが不要だというメリットはあるものの、処理機構をHMDに収めるという部分については自分はあんまり良い形だと思ってません。排熱やバッテリーの問題が発生しやすく、性能が制限されやすいからです。現状のVRは画質やフレームレートについてはまだまだ課題が残っている状態なので、そこに制限が生まれやすいアーキテクチャが主流になるのはまだ早い、という思いは正直あります。

例えば、PSVRHMDと処理機構は別ですが、PCは必要ありません。PCが必要という部分がVR普及のボトルネックになるのであれば、PSVRのような構成のほうが未来があるように感じます。とはいえ、スタンドアローンのほうがユーザにとって扱いやすいのは間違いないので、この辺は今後も各社がいろいろ試行錯誤していくでしょう。

Facebookアカウントが必須になったことについて

騒がれてはいるものの、ほとんど影響はないと思います。Quest2を買おうとするエントリーユーザがFacebookを避けるためにだけに別のHMDを買うのはちょっと想像できません。少なくとも日本国内においては、そういったユーザは個人情報の扱いなどをあまり気にしないものです。

家電量販店で売られることについて

VRは機械オタクだけが持ってるもの」という印象を消すのに役に立つのかというとそうでもないと思います。すでにPSVRは家電量販店に置かれているわけですし、CMなども出しています。もちろん家電量販店に置かないよりはOculus Quest2を買いやすくなるとは思いますが、VRそのもののイメージを変えるとはならないと思います。

以上です。

VRボクシングゲーム『Knockout League』レビュー

Knockout Leagueを簡単に説明するとボクシング風アクションゲームになります。VRゲームでは、他にもボクシングシミュレータと呼ばれるたぐいのゲームがいくつかありますが、このゲームはそれらとは一線を画しており、全く違うゲームです。

Steamのゲームレビューを見るとその部分が少なからず賛否両論を生んでいます。なので、この記事ではその部分を補足しつつ、このゲームの独自性について触れます。

www.youtube.com

このゲームの基本的な操作は「避ける」と「殴る」の2つだけです。ボクシングの試合部分の流れとしては、相手が攻撃してくるのを避けると攻撃する隙が生まれるので、そのタイミングに攻撃する、という感じです。お気付きでしょうか?いわゆる古典的なアクションゲームの作りです。

逆に言えば、ボクシングシミュレータとしては破綻しています。こちらから攻撃を仕掛けてもそれが通ることは殆どありません。こちらが攻撃できるタイミングは相手の攻撃を避けた後だけです。こんなことは通常のボクシングでは考えられません。ただ、古典的なアクションゲームの楽しさは確かにあるので、好みの分かれるところというか、何を期待してゲームを買ったかによって評価が分かれるところかなと思います。

このゲームを特徴づけている別の要素に、魅力的でかつポップなキャラクターにあります。

対戦相手も最初こそ強面なボクサーですが、タコ、マッドサイエンティスト、海賊の船長などなんでもありです。果てには、アイアン・メイデンだって出てきます。どう考えてもまともなボクシングの試合になるはずがありません。

各キャラクターの攻撃モーションもかなり作り込まれており、キャラクタの特徴をよく表現しています。いわゆる漫画的表現で、拳に火がついたり、竜巻が起きたりします。VRならではの迫力もあり、それだけで十分楽しめる作品です。


逆に、うまく行ってないところはなんと言っても攻撃判定や回避判定の曖昧さです。例えば、2Dのアクションゲームであれば、相手の攻撃や自機の当たり判定はかなり明確にわかります。なぜなら、自分が操作してるキャラクターも、相手の攻撃も全貌が画面上に収まってるからです。

逆に、VRで主観視点の場合を考えてみてください。自分の顔面に向かってる拳の正確な軌道を目で追える人がどれほどいるでしょうか?さらに言えば、自分の体(正確には顔)がちゃんと避けれてるのかを確証をもって判断できる人はとても少ないと思います。

実際、このゲームをプレイしていると、そもそも相手の攻撃が一見してどこに向かってきてるのかわからない、ということがとても多いです。どこに向かってるのかわからないので避け方もわかりません。さらに言えば、自分の回避についてもどのくらい避ければ回避したことになるのか分かりにくいです。避けてるつもりが避けれてないこともたくさんあります。なので、とてもオーバーに避ける動作をする羽目になります。めっちゃ疲れます。

f:id:kazasiki:20200814223241j:plain:w300
避けている様子
f:id:kazasiki:20200814222524j:plain:w400
攻撃している様子

まとめると、いわゆるボクシングシミュレータ的な作品とは異なりますが、別の魅力を持ったボクシングゲームです。ただ、VR(とくに主観視点)に古典的なアクションゲームのメカニクスを詰め込んだが故に生まれたフラストレーションもあり、UI的にはまだまだ改善の必要性を感じる作品でした。

汗だくになるくらい運動になるので、運動したい人は是非。休憩を挟みながらプレイすることをオススメします。


以下、蛇足

この記事では割愛しましたが、このゲームにはガードという動作もありますし、タイミングよく行えばジャストガードにもなりますが、ちょっと複雑な仕組みなので説明を省略しました。実際にプレイされる方はご注意ください。(ボクシングでジャストガードってなんだよ、おかしいだろ!という気持ちもあります)

このゲームはファミコンの「パンチアウト!!」にインスパイアされたゲームだと言われていますが、寡聞にして私はそのゲームをプレイしたことがありません。

pandasをlambdaで動かすためのlayerを公開しました

pandas-lambda-layerを公開しました。

pythonのデータ分析用ライブラリpandasをAWS lambda上で動かすためのlayerです。

github.com

なんで作ったのか?

最近、仕事でAWS上で機械学習を動かす機会があってSageMakerを使っています。

学習や推論やそれらに必要な前処理を手軽にやってくれるいい感じのやつなのですが、時間的にも料金的にもコストが嵩むことがまぁまぁあります。イメージとしては、専用のEC2インスタンスを自動で起動してその中でコンテナを動かすといった感じなので、どうしてもインスタンスの起動コストがやっかいです。4~5分はかかります。(sagemakerを知ってる人へ => もちろん推論のエンドポイントを使う場合はその限りではありません。)

学習や推論対象のデータが十分に大きければその程度の起動コストは比較的問題にならないかもしれませんが、もっと小さいデータを扱うユースケースでは地味にストレスになります。

ということで、処理が軽いならlambdaで済ませちゃえばいいじゃんということで、とりあえずpandasだけ動くlayerを作りました。前処理などは案外pandasだけあれば済むと思います。推論や学習はお好みのライブラリを使いましょう。

使い方

リポジトリをcloneして make build make zip とすれば layer.zip ファイルが出来上がります。AWS WEBコンソールでLambda Layerの画面を開いてアップロードするなり、一旦S3にアップロードしてLambda Layerに入れるなりその辺りはお好みでどうぞ。

世の中にはAWSにアップロード(?)したLayer自体を公開してる方もいらっしゃるようですが、他人が公開したレイヤーをそのまま使うのは不安があると思うのでlayer自体の公開はやめました。(あと、他人が公開してるレイヤーの中身をどうやって確認するのか分かってない)

また、世の中にはAWSにアップロードするところまでServerless frameworkなどを使ってフォローしてるレポジトリもあるようですが、私がServerless frameworkを使ったことがないのと、layer.zipをアップロードする方法は流派によって各種あると思うので今回は特に対応しませんでした。私はAWS CLIでS3にあげてcloudformationで管理する派です。

どうやってlayerを作っているか

AWS Lambdaはその実行環境のコンテナイメージが世の中に公開されています。

github.com

また、Lambda環境の中で動かすLayerや実行バイナリをビルドするためのコンテナイメージも上記のリポジトリで公開されています。なので、これを使ってpandasをインストールして対象のディレクトリをzipで固めれば基本的にそれだけで良いです。自分が公開してるリポジトリを見ていただくと分かりますが、本当にそれだけしかしてないです。

ただ、pandasはそれだけでいけますが、共有ライブラリ(soファイル)とかの兼ね合いでそれだけだと動かないものも世の中にはあります。その場合は、libディレクトリを作ってそこにsoファイルをコピーしてzipにする必要があったりします。

pandasのレイヤーは他にもあるよ?

github.com

いや〜、一通りLayer作ってからこのリポジトリの存在に気づいたんですよね。あと、前述したとおり他人がつくったLayerを(中身を確認せずに)そのまま使うのはどうかな〜というのがあります。私が公開してるやつは中身が簡単で必要になれば読んで改変もできるし、layer.zipも自分でuploadする形なのでこっちのほうがeasyかなぁと思った次第です。

googleやduckduckgoで特定のサイトを検索結果から除外する

私は普段の検索エンジンduckduckgoを使っています。Googleではなくduckduckgoです。理由は色々あるんですが、GoogleGoogleに金を払っている企業のサイトが上の方に来るのでそれが煩わしかったのと、duckduckgoのアイコンが可愛いというのが主な理由です。

ところで、検索エンジンには以下のような問題が常です。

なので、邪魔なサイトはブロックしましょう。

簡単な方法

このブログの殆どの読者はGoogleを使っていると思うのでまずGoogleの場合のやり方を取り上げておきます。

gori.me

単純に検索ボックスに文字列を指定するときに -(ハイフン) を使って除外ワード指定するだけです。さらにいえば -site:hogehoge.com という形でサイトのドメインを指定すれば、特定のサイトを除外することが出来ます。これはduckduckgoでも全く同じように機能します。

恒久的な方法

とはいえ、この文字列を毎回入力するのは面倒くさいです。なので、chrome検索エンジンの管理を使いましょう。

support.google.com

この機能はシンプルで、単に検索するときのURLに検索語句を埋め込むだけです。例えば私はURLを以下のようにして、検索結果からいろんなサイトを除外してます。

https://duckduckgo.com/?q=%s+-site:gnavi.co.jp+-site:tabelog.com+-site:www.hotpepper.jp+-site:qiita.com+-site:cookpad.com+-site:recipe.rakuten.co.jp (%sが検索文字列)

これはGoogleでも同じように設定することが出来ます。注意点があるとすれば、キーワード(検索エンジンに使用するテキストショートカット)は重複が認められません。 なので、google.comやduckduckgo.comは既に使われてるので適当に.comをつけずに設定するなりして回避する必要があります。

検索結果のページを弄ることで特定のサイトをブロックするChrome拡張なども調べたらあるっぽいのですが、まずduckduckgoには対応してません。あと、その方式のChrome拡張は対象となるサイトの仕様変更によって使えなくなる場合があるため、回避策がある場合は使わないほうが無難でしょう。

以上です。

初心者におすすめできるVRゲームまとめ

選定基準は以下

  • 酔わない
  • 難しくない
  • 面白い
  • 日本語対応(もしくは言語依存要素が少ない)
  • PSVR対応でも北米ストアのみで販売してるやつは対象外

では行ってみよう

PC/PSVR/Questの対応をそれぞれ書いてます。
公式サイトやストアサイトへのリンクを付けています。
Trailer映像は表の中だとおさまりが悪いので下にまとめてます。

タイトル カテゴリ PCVR PSVR Quest
Beat Saber 音ゲー
Airtone 音ゲー
Angry Birds VR: Isle of Pigs 物理パズル
Virtual Virtual Reality アドベンチャー
ぎゃる☆がん VR シューティング
ぎゃる☆がん2 (VR DLC) シューティング
Moss アクションパズル
SUPERHOT VR アクション
Racket Fury: Table Tennis VR スポーツ
Racket: NX スポーツ
ASTRO BOT: RESCUE MISSION アクション

www.youtube.com

www.youtube.com

www.youtube.com

www.youtube.com

www.youtube.com

www.youtube.com

www.youtube.com

www.youtube.com

www.youtube.com

www.youtube.com

www.youtube.com

あなたに最適なVRデバイス比較ガイド 2020年版

だいたい以下の記事で書いてある内容で問題ないとは思いますが、実際のユーザの困りそうなポイントを想定して補足していきたいと思います。

jp.ign.com

この記事では各VRバイスの詳細は省きます。調べれば出てきますので。

まず、自分のオススメを以下に書いておきます。

ちなみに自分が今メインで使ってるのはPCVRのValveIndexです。

去年まではOculusRiftでした。全身トラッキングをするつもりはありません。

PCがある場合になぜOculusQuestではなくRiftSなのか?

そもそもOculusQuestとPCをつなぐOculusLinkという機能はまだベータ段階で不安定です。不安定と一口に言ってもいろんな評判や実態があるため難しいですが、同じ金額を払うならまずRiftSを買うのが良いと思います。動作の心配をせずに、快適に、たくさんのラインナップからコンテンツを選んで、遊んでから、それでもまだ携帯性やワイヤレスを求めるならQuestも買えば良いと思います。

もしQuestを買ってOculusLinkをつないで不具合が出たりしたら「なんでゲームを遊びたいだけなのにハードウェアの相性を気にしてケーブルを買ったりしなければならない?」という気持ちになると思いますし、そもそも相性問題などを調べたりしてても同じような気持ちになると思います。これは正直しんどいです。

Quest単体で見るとラインナップはPCVRに遠く及びません。ゲーミングPCを持ってるのにQuestでVRゲームを始めるのは正直オススメできません。

PS4を持ってたとしてもPSVRよりOculusQuestのほうが良いのでわ?

それな〜。難しいですよね。

まず、PSVRで注意しないといけないのはPS Moveコントローラ2本を要求するゲームが結構あるということです。1本5,000円くらいします。PS VRが30,000〜35,000円くらいするのを考えると、合計で45,000円くらいになります。もうちょっとでQuest買えるじゃん、という話です。

PSVRとQuestではゲームのラインナップがかなり異なります。どちらもPC VRと比べると少ないですが、かなり性質が違います。細かいところは実際にラインアップを見てほしいですが、ざっくりいうと所謂インディーズ系はQuestのほうが多く、大きいIPを使ったり大御所のメーカーはPSVRの方が多い印象です。

ASTRO BOT: RESCUE MISSIONはSCE開発で、出来が良く、ほぼこのゲームのためだけに私はPSVRを買いました。これはPS Moveはいらないゲームです。

www.playstation.com

逆にいえば、The ClimbのようなOculus専売のゲームはQuestかRiftSでしか遊べません

www.moguravr.com

本当にラインナップ次第なのでラインナップをみて好みで選んでください。

PCを持ってる場合はOculusRiftSで良い?htc viveやvalve Indexは?

この3つを比較するにはちょっと技術的な詳細に突っ込む必要があります。解像度やレンズの性質など色々ありますが、そこは全て割愛してわかりやすい部分だけ書いていきます。

valve Indexやhtc vive(pro)はアウトサイドイン方式のセンサーを使ってますので、部屋にセンサーを取り付ける必要があります。賃貸でも大丈夫な方法もあるようですが、まずここを突破できるかを確認したほうが良いです。

www.dospara.co.jp

逆に言えば、センサーを増やすことができます。Viveトラッカーを買って、Vtuber活動やVRChat内で全身トラッキングをしたいorする可能性があると思っているのであれば、これらのヘッドセットを買っておいたほうが良いでしょう。

www.qoochan.com

OculusRiftSやViveCosmosは外部センサーの取り付けは不要です。今からVRバイス買うならこちらのほうが断然楽だと思います。

OculusRiftSとViveCosmosはぶっちゃけ大きな違いはないと思いますが、安いのとコントローラの作りが好きなのでRiftSをオススメします。

なぜ自分はvalve indexを買ったのか

indexコントローラの特殊性に惹かれて買ってしまいました。もともとOculusRiftを外部センサーつけて使ってたので、アウトサイドイン方式のセンサーを取り付ける算段がついてたというのはあります。

正直今からVRゲームを始めようとする人にvalve indexは勧めません。5本指を全て認識するコントローラは面白いですが、それを活かしてるゲームは殆どありません。今後増えてくれることを祈りますが、デバイス選びは難しいですね。

ただ前述したとおり、全身トラッキングを視野にいれてるのであれば、ほぼHtcViveProとの2択になると思うのでそれなら値段もそこまで変わりません。その場合は選択肢に入れても良いと思います。

以上、この記事が読者の買い物の助けになれば幸いです。

私的 VR Game of the Year 2019 後編

前編はこちらです。

kazasikipg.hatenablog.com

では、早速後編行ってみましょう。

Best Fighting Game

Windlands2

www.youtube.com

立体機動装置的な道具を駆使して、空に浮かぶ島々を探検するゲームです。立体機動装置ほど直線的な動きじゃなくて、おそらく手から伸ばしてる紐はラバー的な材質を持っていて、それなりに縮む力が働きます。この操作感がかなり独特で楽しいゲームです。攻撃手段は主に弓で、ちょっと難しいですが、慣れればどんな体制でも照準が自由に合わせられるようになります。

基本的なシステムは前作のまま、ボス戦が追加されたりグラフィックが向上したりと正当にパワーアップしてます。ボス戦が少し難しく、そこが賛否両論あるようですが、私はとても気に入りました。

ゲームの性質的に酔いやすいですが、ステージも豊富で遊びごたえも十分なのでVRに慣れてきた人におすすめです。

Best Sports Game

TO THE TOP

www.youtube.com

パルクールのゲームというのが一番わかりやすい表現ですが、実際には手を離した時に手を向けてる方向にジャンプしてる感じです。ステージ(コース)がたくさんあり、普通に走破するのと、タイムアタック、道中のコレクションアイテムを集めるのが基本的な遊び方になります。

全体的にステージのできが良く、テンポよく進めるとかなり爽快感があります。文字では伝わりづらいですが、操作はかなり直感的で遊びやすいです。

こちらもゲームの性質的に酔いやすいですが、ステージも豊富で遊びごたえも十分なのでVRに慣れてきた人におすすめです。

Best Narrative

pixel ripped 1989

www.youtube.com

ざっくりいうと、ひょんなことからゲームの世界と現実の世界が混ざりあってしまう、といった感じの世界観です。わかりやすいシーンとしては、現実世界でクラスメイトに襲いかかってくる鳥をシューティングゲーム内の銃で倒すと、現実世界でもクラスメイトが助かるシーンですかね。

1989というタイトルからも分かる通り、その時代のゲームへのオマージュがふんだんに盛り込まれており、レトロゲームが好きな方にはそれだけでも楽しい内容です。子供頃に思い描いたような、自分がゲーム世界に入り込んだり、逆にゲーム世界のギミックを現実世界に干渉させるような内容が多く、映像としても体験としてもとてもおもしろい1作になってます。

アクションゲームに慣れた方なら3時間もかからない程度のボリュームですが、非常にVRゲームらしい表現がたくさんあり、VR酔いもないので、誰にでもオススメ出来る名作です。惜しむらくは現時点では日本語対応していないくらいですかね。そんなに難しい英語は出てこないですし、最悪読めなくても遊べると思います。

私のVR game of the year 2019は以上です。
2020年も色々遊んでるのでまた年末を楽しみにお待ち下さい。