導入
前回の自己紹介から1日が経ってしまいました。Qiitaは一度投稿するとしばらく書けないんですね。これもまた学びってものですね。前回の自己紹介を書いてから思ったことですが、意外とViewは付くものなんですね。タグを間違えて、指摘されてしまいましたが...
共同開発とファイル共有
さて、本題といきましょう。まず共同開発といえばプロジェクトファイルの共有は必須です。
では、GitHubはどうでしょうか?
Gitを使うのが一般的だと思われます。しかし、いかんせんコマンドが難しいですしミスを修正できる自信がないです。(エンジニアなら使えてあたりまえとか言わないで)
実はこれの解決策として、今のプロジェクトを計画する前段階でのテストプレジェクトでGitHubDesktopというものを使っていました。しかし、GitLFSの月1GBという制限がのしかかるのではという推測がありました。いろいろなサービスを一通り調べました。
そして最終的に、UnityVersionControlを使用することを決定して、今現在進行形でプロジェクトが動いています。
UnityVersionControlとは何者か
UntiyVersionControl(以下UVCS)はUnity公式が出しているバージョン管理ツールです。ストレージ無料枠が月5GBと私が作るゲームではおそらく十分な量がありますし、3人まで使用できてプロジェクトの共有も楽。そして何よりも"公式"なんですよね。
さらにUnityEditor上でcommit,pushもpullもできちゃうという優れモノでした。
詳しい設定などはこちらのZennの記事を参考にさせていただきました。
※これに付随したツールとしてPlasticSCMがありますが使いこなせていないので使いこなせるようになったらまたいつか。
コーディングについて
プロジェクトの共有ができるようになったところで、次に問題になるのは何でしょうか。タイトルでネタバレしてますね、そうですコーディングです。
そこまでするかと思われるかもしれませんが、就活で使えるレベルでやりたかったというのと、ナチュラルにテストプロジェクトで友人に「コードが読めねえ!」とちょっとギスったこともあったという経験です。
また、ある程度の規模になる予感がしたのでその辺をちゃんとしようという話を快諾してくれた友人に感謝。
設計書を書いてみた
実際のエンジニアの記事を見たりしていると、プロジェクトを始めるときは、設計書なるものを書いているとのことで、実際に書いて友人と共有することでコーディング規則をそろえることにしました。
C#はMicrosoftの公式リファレンスやUnityの推奨を見てコーディングスタイルを決めたり、フロー図、クラス図を素人ながら書いてみたりしました。
さいごに
UVCSの利用も早1か月になりそうですが、今のところ問題は起きていません。push,pullは今のところpushしたら連絡してエディタ起動したらpullするように言いつけてありますから大丈夫そう。ただコンフリクトだけが怖いです。(いつか起きそう)
Notionに設計書をまとめたのもかなり正解でした。
クラス図もDraw.ioなどで書いたことで、クラスやオブジェクトの依存がはっきりしましたし、今のところコードが煩雑になったり、無駄なスクリプトやインスタンスの生成なしで共同開発できています。
というところで、私の共同開発に至るまでの軌跡を長々と書きましたが、共同開発やってみたいとかUVCSを知らなかった初心者の人に届くとうれしいです。
また、UVCSについて便利な機能などがありましたら教えていただけると助かります。
では、次回はいつになるか不明ですがC#とUnityで新たに学んだことがあれば記事にします。
最後まで読んでいただきありがとうございました。
ではまた!