🗿

VRChatのワールド制作をチームでやってみた話

2021/01/12に公開2

ワールドクリエイターの皆さん!こんにちは!

12月にVRChatのワールドを作りました。
https://vrchat.com/home/world/wrld_acd23782-6039-4386-a46b-56eb6902bc3f

DensukeHorrorWorldというワールドを制作しました。Quest対応しています!
怖いのが苦手な人向けのワールドなのでオススメです!
まだ遊んでいない人はぜひプレイしてみてくださいね!

今回は3人で考えたチーム開発に使ったツール、運用、問題点(反省点)を紹介します。

下記のURLから合同制作者であるへりえるさんの今回のワールド制作に関する記事が読めます!
https://herie270714.hatenablog.com/entry/2021/01/12/003218?_ga=2.120083723.26325922.1610379014-1714651599.1605107976

使用したツールと用途

  1. GitHub
    ダウンロードして使用するAsset以外のUnityのファイルの共有をしています。
    GitHub Issueでタスク管理をして、コミット時に「#1」(1はIssueのID)をつけてコミットすることで、コミットとIssueの紐づけが可能です。
    (ダウンロードして使用するAssetは個々で管理しています)

  2. Miro
    ワールドのマップやギミックをMiroで管理していました。

  3. Discord
    ミーティングやチャットはすべてDiscordで行っていました。GitHub Issueの更新も通知されるように設定していました。

チーム開発でやったこと

  1. ミーティングで個々のタスクを決める
    やるべきタスクを洗い出し、Issueを立てて、期限を決めました。
    →期限の締め日にミーティングをして、再度タスクを洗い出し、Issueを立てるを繰り返す

    また、ミーティングは事前に時間を決めて、必ずその時間が終わるようにしました。
    事前にミーティングで話すこと(アジェンダ)を決めておいたのもよかったです。

  2. コンフリクトが起こらないようにする
    各々が作るエリアを決めておき、エリアごとにSceneをわけて作成し、基本的にはSceneだけをプッシュして制作しました。最後にSceneをすべて開いて手作業でマージしてからVRChatにあげました。

  3. シーンのマージがしやすいようにする
    シーンのゲームオブジェクトはすべて一つのゲームオブジェクト(Root)の下に配置しておくことでマージ作業がしやすいようにしました。

チーム開発で起きた問題

マインクラフトをチームで遊んでしまった

進捗の締め切りは問題なく進行したが、多くの時間をマインクラフトに費やしてしまった。
非常に面白かったので、今後は時間が溶けるゲームは軽率にやりましょう。

シーンをマージした後に1回だけコンフリクトが発生した

今回はなんとか問題なく手作業でマージできたが、シーンの修正は修正内容の差分が明確に取れないので、マージ後は本当に気を付けた方がよいですね…めちゃくちゃ長い作業時間が消えるかもしれないので

各々のフォルダ構成が違っていた

スクリプトファイルなどを置く場所を最初に明確に決めなかったので、最後の方にほかの人のファイルを探しづらいということが発生しました。フォルダ構成やは可能な限り事前に決めておきたいですね。

最後に

Twitterでワールドの感想を述べてくれた人がいてうれしかったです!
皆さんも軽率にワールド制作しましょう!

Discussion

あいや - aiya000あいや - aiya000

別のシーンファイルで各々の開発をすすめるのは逆転の発想!
いいですね👍

シーンの修正は修正内容の差分が明確に取れないので

UnityYAMLMergeが役に立つかも……?

かんちゃんかんちゃん

共同開発者のherieruさんの提案でした!
UnityYAMLMerge初耳なので調べてみます!
ありがとうございます!!