#東京ゲームショウに出展した話(過去形)
去年(2020年)の東京ゲームショウでゲームを出展していた話をします。
当時はまだQiitaを始めていなかったので、作品を共有することができませんでした。
そのくせプロフィールにこんなことを書いていたのでいい加減共有しようと思います。
#そもそもどうやって出展したの
プロフィールを見て頂ければ分かりますが、自分は北海道情報専門学校の学生です。この学校では、毎年東京ゲームショウに出展するのが恒例?になっており自分のやる気と実力次第で出展の権利を得ることができます。(学内コンペとかで決める)
この学校に入学する際、この東京ゲームショウ出展を目標にして入学したので、とても嬉しい経験でした。
ほかの学校に行ったことがないので分かりませんが、出展することが恒例化してない学校でも頼んだりしたらいけるのかな?もしそのような経験が教えてください。
#何はともあれ作品をどうぞ
こちらのリンクで遊べるので遊んでみてください。と、言いたいところですが、今回出展した作品は、VRゲームなので実行環境がないと遊べないです。ごめんなさい。
なので出展した際に使用した動画を共有します。
こちらのゲームで、詳しくは動画で確認してほしいのですが、簡単に概要を説明すると、VR空間で何個かミニゲームをプレイしてたらあなたの能力を測定してくれますよーといったものになっています。
ボイスガイドがどんなことをすればいいのかを教えてくれるので、初めてVRゲームをする方でも気軽にできます。
#開発で意識したこと
まず一番最初に意識したのはVR酔いの対策です。
そもそもVRに触れる機会がほとんどなく、開発メンバーで一度もVRゲームをやったことのない人もいたのでまず色々なVRゲーム(公式のものとか、先輩方が作ったものとか)をプレイしたのですが、一番最初に酔いがきついなと感じました。
自分たちが作るものも同じ問題にぶつかることが予想されたので、まずはこの部分を意識して開発することになりました。
#酔い対策①プレイヤーの移動
そもそもなんで人は酔うのかというと、
この記事のタイトルに書いているように、揺れ、耳の感知に目が不適応。つまり、聞こえたり、肌で感じている感覚と目で見ているものに「ずれ」が生じることで人は酔ってしまう...らしいです(詳しいことは専門外なのでわからない)。
と、いうことは、VR空間内でプレイヤーキャラが歩いた場合、VR空間内ではそのキャラに合わせて景色が流れますが、現実世界では全く動かないのでこの「ずれ」が起こります。
これがVR酔いの一番大きな原因となります。
一番簡単に解決する方法はそもそもゲーム内で歩く機能を用意しないことです。この作品は、ミニゲームを選んだらそのミニゲームをプレイするための場所にワープするといった形でそれを実現しました。
#酔い対策②高いfpsの確保
先ほど話した「ずれ」の原因ですが、プレイヤーの移動だけでなくfpsが安定しないことによる画面のブレなども挙げられます。
普通のゲームの場合でもカクカクしたらイライラするのに、それプラス酔いまで来るとなるとゲームどころではなくなります。
実際、デバッグをしているときはfpsが足りなく、デバッグをしている人が酔ってダウンすることが多々ありました。
Unityには標準でfpsを表示する機能があるので、それを利用しながらオブジェクトの数を調整したり、レンダリングの設定を見直すことで、70fps以上を維持できるようになりました。(40fps下回るとカクついて酔う)
#ボイスガイド
この作品は、UIを撤廃し、ボイスガイドでユーザーへ指示出すという形になっています。この仕組みにした理由として
・UIによるゲームへの没入阻害の排除
・更に、ボイスガイドによる世界観構築の補助
の2点が挙げられます。
前者はボイスガイドをつける前からぶつかっていた問題であり、様々な方法で問題解決を図ろうとしていましたが、最終的このような形になりました。
後者ですが、動画内にもある世界生成も合わせることでSFチックな世界観で、能力を測るテストを受けているという感覚をプレイヤーに植え付けることを意識しています。
没入することは、ユーザーの酔いの対策にもつながるので、ボイスガイドを導入したのは正解だったと思います。
#最後に
他にも色々な障害がありましたが、最終的に作品を出展出来て良かったと思います。
コロナウイルスの影響で現地に行けなかったのは残念ですが、初めてのVR開発という点も含めてとてもいい経験になりました。
という半年前に書くべき記事でした