Git + CM3D2

SourceTree(Git)を使った、CM3D2バニラとDLC、MOD、プラグインなどの導入・構成管理講座
4
ましなり@CM3D2 @machinerieJp

SourceTree(Git)を使った、CM3D2バニラとDLC、MOD、プラグインなどの導入・構成管理講座、って需要ある? 入れっぱなしでしばりすフォルダがMOD地獄になってる人とかアップデートの度に相性の原因わからずに悩んでる人なんかには有用だと思うけど。

2016-06-28 08:51:26
ましなり@CM3D2 @machinerieJp

ちなみに我々プラグイン開発者が『ちょっとVer.〇〇のバニラで試してみますね』と気軽に言えるのはGitのおかげです。SourceTreeはGitを見た目分かりやすくするGUIツール。

2016-06-28 08:54:38
ましなり@CM3D2 @machinerieJp

@blade_evo ここにぶら下げていこう。まずGitっていうのは『セーブポイント』だと思えば理解しやすい。例えばVanilla_1.31入れてコミットしたあと、Vanilla_1.32を入れてコミットすると2つのセーブが出来る。

2016-06-28 13:38:50
ましなり@CM3D2 @machinerieJp

@blade_evo まずカスメっていうゲームの構成を管理するわけだから、バニラを大黒柱にして考える。これを伝統的にmasterブランチと言って、ジェントルなエンパイアクラブのご主人様に相応しい命名ですな。

2016-06-28 13:41:42
ましなり@CM3D2 @machinerieJp

@blade_evo まずPCになんにもインストールしてない状況から、持ってるインストールディスク(仮にVer1.01とする)の本編だけを入れて、それからSourceTreeでCM3D2フォルダをトップにした『リポジトリ』を作成する。これで準備は完了。

2016-06-28 13:46:39
ましなり@CM3D2 @machinerieJp

@blade_evo Chu-B Lipももってるぜ!という人は、別アプリ扱いにして『CM3D2CBL』のリポジトリ作った方がいい。MODなんかは二重管理になるけど、アップデーターなどの適用が別々なので。

2016-06-28 13:49:01
ましなり@CM3D2 @machinerieJp

@blade_evo カスメはデスクトップのショートカット以外、リポジトリなど外部のフォルダやファイルを使用しないので、これで十分。

2016-06-28 13:51:22
ましなり@CM3D2 @machinerieJp

@blade_evo ここから先、一気に最新バージョン入れてもいいし、手持ちのアップデーターを順に適用してもいいんだけど、とにかく大事なのは、バニラのまま、ほかになんにも入れずにアップデーターを適用する事。masterブランチはバニラの純潔を守る。専属メイドとして大切に扱おう。

2016-06-28 13:54:09
ましなり@CM3D2 @machinerieJp

@blade_evo ここまでやったところで、バニラのカスメのmasterブランチがバージョンを追って数珠繋ぎで出来上がる。今のところ一本道のセーブポイントができた状態になるね。

2016-06-28 13:56:30
ましなり@CM3D2 @machinerieJp

@blade_evo そうそうだいじなことをわすれてた。インストールからアップデーター摘要の間、一度も起動しないこと。起動したとたんにファイル生成されて増えるからね。これはあとから何とかする。とにかくインストール、アップデート直後の状態で保持しとくのが大事。

2016-06-28 14:00:21
ましなり@CM3D2 @machinerieJp

@blade_evo この状態を作ったら、登録したバニラのバージョンを好きなように往き来出来るようになる。すごい容量食ってるんじゃ?と思われそうだけど、うまいこと出来ててたいして食ってないのよね。昼休み終わったから続きは後程。

2016-06-28 14:03:05
ましなり@CM3D2 @machinerieJp

@blade_evo もっと大事なこと書き忘れてた。アップデーターを適用するたびに、SourceTreeで『コミット』をしないと。コミット=セーブだと思ってもらってだいたい合ってる。

2016-06-28 14:11:28
ましなり@CM3D2 @machinerieJp

ここまで、masterブランチに古いバージョンから最新までをコミットしていくと、アナルパールみたいな数珠つなぎのラインが出来上がると思います。これでとりあえず、バニラのタイムマシーンが出来ました。最新をチェックアウトすれば1.32.1に、それより前なら1.31に戻したりできます。

2016-06-28 15:17:36
ましなり@CM3D2 @machinerieJp

さて、これだけだと遊べないですね。実際には、このmasterブランチから枝(ブランチ)を触手のように生やして、遊ぶ用の環境を作っていきます。

2016-06-28 15:20:38
ましなり@CM3D2 @machinerieJp

VR環境持ちだったら、真っ先に必要なのがVRブランチ。VR/1.19みたいな名前のブランチを1.32の所から分岐させて、βパッチを適用してコミット。これをバニラの数だけ作れば、古いVR環境にも戻せます。面倒くさければ最新とひとつ前くらいだけでもいいです。

2016-06-28 15:23:33
ましなり@CM3D2 @machinerieJp

ここまではゲーム本体の為のぶっとい柱を作る作業でしたが、以降はプレイ環境を構築する為の枝を生やす作業になります。たぶんGit使ってる人も知りたいのはここのノウハウだと思う。

2016-06-28 15:25:51
ましなり@CM3D2 @machinerieJp

基本的に、バニラの入っているmasterブランチには何も不純物を混ぜない。VRパッチすら別の枝にします。セーブデータなどを混在させると純粋な環境に戻せなくなるからですね。

2016-06-28 15:27:56
ましなり@CM3D2 @machinerieJp

ここからは我流の管理方法ですが、masterの1番古いコミットから分岐させたplg/baseブランチを作って、そこからさらにplg/[プラグイン名]ブランチを作って、ひとつひとつ手持ちのプラグインを適用してコミットします。

2016-06-28 15:31:53
ましなり@CM3D2 @machinerieJp

こうして小分けにしておくと、あとから『マージ』しても必要最小限のプラグインを選んでそれしか入っていない環境を作れるので、起動やエデット画面の表示に時間がかかるような全部盛りになるのを防げます。

2016-06-28 15:34:36
ましなり@CM3D2 @machinerieJp

次に、同じように1番古いmasterのコミットからmod/Sybarisを切り出してしばりすを入れます。ホントはいきなりmod/baseと行きたいところなんですが、しばりす入ってないとMODは入れにくいので、mod/Sybarisからmod/baseを作ってます。

2016-06-28 15:38:59
ましなり@CM3D2 @machinerieJp

んで、mod/analkupa とかmod/YotogiUtility みたいにどんどん小分けにインストールしたブランチを作ります。この時気をつけるのは、GameData以下はインストールするフォルダ名称にロダ名や作者名などで分けてぶつからないようにすることですね。

2016-06-28 15:41:55
ましなり@CM3D2 @machinerieJp

大きいアップデーターはappend/fanbook みたいにすればいいでしょう。さて、ここからが工夫。小分けにしたらひとつひとつかき集めるのが大変になるので、modsetというのを作ってます。

2016-06-28 15:45:12
ましなり@CM3D2 @machinerieJp

mod/baseから modset/analkupa_4k を切り出して、ここにmod/analkupa、mod/nomozaic_4k、mod/30767_chikubiみたいな感じのまとめて使いたいものを『マージ』していきます。mod同士のマージは土台が同じなら簡単です。

2016-06-28 15:49:27
ましなり@CM3D2 @machinerieJp

つい最近modset/kemo を作ってキャットフェイスとケモノセットとfu-次の極太しっぽをマージしました。あとmodest/gochiusa とかmodset/ARIAとか。イメージはそんな感じです。

2016-06-28 15:52:07
ましなり@CM3D2 @machinerieJp

(GitのなんたるかもSourceTree入門もすっ飛ばしてるから、9割置いてきぼりだろうなあ……そこは自習してもらうって事で進めよう)

2016-06-28 17:24:13