726日後に大学を卒業するお前へ

2026年3月31日の自分へ宛てた文章

675日後の自分へ VRゲーム(音ゲー)をつくった話

2024/5/25

かなり間隔が空いた&書くべきことが溜まっている

先週学祭が終わった。開発していたVRゲーム(音ゲー)を公開できた。 反省点はたくさんあるが、とりあえずほっとしている。

やったこと

開発

実働3人くらい。VRゴーグルを持っていて、たまにテストしてくれる人が別に1人いた。

かなり幅広く担当していた。

  • ノーツや背景をBlenderモデリング
  • エフェクトの実装
    • 仕様が定まっていなかたので、何度も作っては壊しを繰り返した。結局、プレイヤーのノイズになりにくい&手軽にリッチな印象にできるため、ビートセイバーのようなデザインに収束した。
  • 既存のコードの改修、リファクタリング
    • エフェクト実装で必要になった箇所。
    • 神クラスの改修をした。苦しい。
  • エディタ拡張で譜面エディタを作成。
    • csvに譜面直打ちは苦しいので、作って良かったと思っている。

当日

ゲームのインストラクタ、列整理
小さい子供がたくさんきてた。
子供の相手大変。お父さんとお母さんえらい。

反省点

ゲーム内容に関して

  • (重要)一曲丸ごと使うのはよくない。疲れるし、飽きる。
    • 同じ時間プレイするなら、短いものを2曲の方が良かった
    • 「長ければ長いほど嬉しいやろ」と思ってた。
  • シーン遷移のUIが少々わかりづらかった。
  • ゲームの手触りがあまりよくない(個人的に)
    • あまりプレイしていて爽快感がない
    • メインで開発していたメンバーがvrゴーグルを持っておらず、学祭の一週間くらい前に初めて実機でプレイした
    • できれば、実機でプロトタイプの時からテストプレイしたかった。無理なら、PC上でのテストプレイでも楽しめるゲームを目指すべきだった。
      • もっと既存のゲームをプレイしていたら...
  • 操作体系があまり直感的でない。
    • PC上での実装の名残りで、ビートセイバーでいう棒の持ち手の部分の座標が固定されており、コントローラーの角度に同期させて動かすというシステムだった。
    • 直感的に分かりづらいらしい。
    • テストランの際、一度棒が完全にコントローラーに追従するようにしたが、その状態でプレイするには当たり判定の実装を大幅に変える必要があり、諦めていた。
      • ゲームの手触りにかなり関わる部分なので、こだわるべきだった
  • ノーツの種類が少ない
    • 連続ノーツと普通のノーツしかない
  • 曲が少ない
    • フルを2曲作って息切れ気味。短いのを複数作った方が、譜面を作る側としても飽きずに楽しめるのかも。

個人的にかなり労力を割いた(もちろん楽しいからではあるが)だけに、曲の長さの部分で体験が損なわれたのはかなり悔しい。手触り、爽快感の意識が足りなかったのも反省。次開発するならVRゴーグル買いたい。

開発時の反省点

  • プロトタイプ(遊べる状態)の完成の遅さ
    • プロトタイプはすぐできていたが、譜面のver. 1が出るのが遅く、「とりあえずゲームとして遊べる」状態まで来るのに時間がかかった。
    • 遊べるものがあるとモチベが高くなる。逆に、ないとモチベが下がっていく
    • この動画を実感した。
  • モチベの持続
    • 私自身はVRゲームと並行してUnityを触ってアプリを作っていたのでかなりモチベを保てていたが、他のメンバーはそうでもない。
    • 今回私はリーダーではなかったが、メンバーとして、チームの雰囲気を良くするためにできることってどんなことがあったんだろう。
      • 後半の方は、新しいエフェクトを実装するたびに動画を撮ってslackに投げる、みたいなことをしていたが意味あったのかは謎
      • メンバーの反応が薄くても、とりあえず何か困ったことや進捗があればslackで何か呟いておくようにはしていた。ほかのメンバーがどう思っていたのかは謎
  • コーディングの規約
    • パブリック変数を大量に持つ、あらゆる処理を担う神クラスがあった。
      • エフェクトの処理のために触る必要があったので、泣く泣く改修したが、大変だった。
      • 個人開発でも似たことをやったが、既存の大きなクラスの改修はやっぱりつらい(正確には、改修も楽しいけど、本来ゲームの面白さを上げるのに使えた時間を改修に費やすことになるので、少ない方が嬉しい)。設計の重要性を感じる。
    • 人によってオブジェクト指向に対する意識が違う。しかし、完璧な知識を持ったメンバーなど(自分も含めて)存在しないので、逐一話し合ってチームメンバーでコーディングに関する意識をすり合わせるべきだった。
      • 今回はやってない。勝手に改修してた。
      • 次チーム開発する時にはそうしようと心に誓った。

チーム開発難しい。でも、何か機能を実装した時に他のメンバーからフィードバックをもらえるのは嬉しいし、話し合って決めるのも楽しかった。

まとめ

  • VRゴーグル欲しい
  • もっと既存のゲームを遊ぶべき
  • ゲームの手触りについての意識
  • チーム開発大変(けど、いいところもある)