ゲーム開発者が偉ぶるブログ

ゲーム開発のビジネスやマネジメントについて日々思うことをあれこれ偉ぶって書き綴ったもの。

Java | Tortoise SVNでバージョン管理してみる

バージョン管理を試したくなったのでこちらを導入してみた。

バージョン管理サービスは大きく分けると「集中型」と「分散型」の2種類あるみたいだが、1人でプログラムを勉強する分には集中型で十分と思い、集中型でGUIで操作できて無料の「Tortoise SVN」を選んだ。

「Git」や「GitHub」も使ってみたかったが今回はパス。
一応Gitの理解のために下記ページのスライドをいくつか読んでみた。
大変分かり易くてありがたい。


さて、Tortoise SVNのインストールはこちらを参考にさせていただいた。

 海外のプログラムのダウンロード場所ってなんでこんなに分かりにくいのだろうといつも思うが‥ツール名の最新バージョンがリリースされたというタイトルをクリックするとDLページに飛ぶ。

f:id:game_dev:20170402155231j:plain

32bitと64bitが選べるのでインストールしたい方を選んでDL、そしてページを下にスクロールさせると言語パックが並んでいるのでJapaneseの32bitまたは64bitを選んでDLすればOK。

f:id:game_dev:20170402155232j:plain


この偉ぶるブログの管理人は3DCGアーティストなのだが、こうやってバージョン管理をプライベートでも使えるようになると、ほんのちょっとだけTAに近付いたような気持ちになってテンションも上がるというもの。

今はゲーム開発現場でもプログラマだけでなくアーティストも含めてプロジェクト全体でバージョン管理が導入されるのが当たり前になってきつつあると思うが、PSDとかエクセルとかもバージョン管理して慣れていきたいものだなと思う。

●余談

プログラマとアーティストは作るモノの性質も、スキルの性質も、慣れ親しんできたものも何もかもが違う。つまり異質である。

そのため、プログラマにとって当たり前のことやアーティストにとって当たり前のことが随分と違うので、考え方や文化も異なり、衝突も日常茶飯事だ。

バージョン管理はプログラマには当たり前の文化でアーティストも行うべきと考えている場面によく遭遇するが、実際アーティストにとってバージョン管理は非常に相性が悪い。

‥というのも、アーティストは例えば制作中のモデルを3種類用意してシーンの中で同時に並べて「どれがいいですか?」とディレクターやリードにチョイスしてもらうのが日常であり、「このモデルの顔は1つ前のやつが良いけど、服のデザインは今の方が良い」といったことがよく起こる。
そして、目の前でちょちょいとデータを差し替えたり手を加えたりして「これでどうか?」とOKをもらうという流れになったりする。

しかし、前のバージョンの作業データと今のバージョンの作業データをPhotoshopやMayaやゲームエンジンの同一シーン上で複数並べて見比べてもらう‥というのはバージョン管理と相性が悪い。
つまりファイルを直接コピーしてそれぞれバラバラに編集し、それぞれの良い部分を複雑に統合していかないといけなかったりする。

また、アーティストが扱う2Dや3Dのデータは単純なテキストデータでは無いため、そもそも「マージ」という概念が通じにくいのではと思う。
PhotoshopのこのバージョンのレイヤーAを後のバージョンに追加して代わりにレイヤーBは削除する‥みたいな手作業でのマージは可能だが、そういった作業がバージョン管理ツールで快適になるかというと、それは全く無いのではないか。

アーティストがバージョン管理を活用する世界になるには、AdobeやAutodesk製品に過去バージョンを容易に見比べられて、良いところをチョイスして統合可能‥というような強力なバージョン管理機能が追加されない限り、難しい問題なように思う。