【GitHub Desktop】ティラノスクリプトのゲーム制作でバージョン管理

 【GitHub Desktop】ティラノスクリプトのゲーム制作でバージョン管理


GitHub Desktopの画面

導入のきっかけ

趣味でゲームを作ろうと思った時から「バージョン管理どうしようかな」と頭の隅にはありました。
とにかく最初は慣れないことが多いので、なるべくしなくていいことはしない……という選択で特にしないままゲーム制作を始めました。
そもそも作るゲームも最初から複雑なものは無理なのと、スクリプトをいじるのが1人だけなので、そこまでバージョン管理の必要性もないよね! って実際、ないまま2作作ってました。

3作目になって、自然と作るゲームのボリュームが増しました。
すると、時々「あれ? なんでこんなバグが起きてんだ?」と身に覚えのないところにバグが出たりするようになりました。
でも、絶対バグに関係する箇所を更新してるはずなんですよね。
それを一つ一つ探していくわけですけど、その時に「あー履歴残してたらよかった!」って。
身に染みて、やっと? 重い腰をあげることにしましたw

バージョン管理(Git)とは

あくまで一般人が理解している範囲なので、間違いがあるかもしれませんが。

ティラノスクリプトでのゲーム制作を前提として
・スクリプトの履歴が残せる(コミット)
・履歴と作業中の差分がとれる(コミット前)
・多人数で同じファイルを安全に更新することができる(マージ)

私も含め、ティラノスクリプトでの制作の大多数がスクリプトは1人で書いてるパターンだろうなと思いますので、マージについては省きます。

繰り返しになりますが、作業の履歴が出来ていくだけなので、必ず「使うべき」とも限りません。
でも、ある程度ゲームを作った方なら、更新する前のファイルを保存しておいたりしたことはありませんか?
確実に動くバージョンを取っておいたりとか。
もしくは「あー残しておけばよかった!」って思うことはなかったですか?

それが自分のタイミングで簡単に残せる、って感じです。
しかも同じようなファイルが沢山できて、そのどれがどれだっけ? ってなることもない。
そんな便利なのがバージョン管理ソフト!

バージョン管理ソフト

バージョン管理ソフトはいろいろあって、実は過去に使っていたソフトもありましたが、とにかくよく目にするのが「Github」ですよね。
一応、使ったことあるソフトやその他もチラッと見てはみましたが、結局一般人?にとって必要なのは「情報」なので、やっぱりその時一番の大手を選ぶのが間違いないだろうと思いました。
そもそも公式がしっかりしているでしょうし。検索すればすぐ情報が得られるはず!

というわけであまり迷わずGitHubに決めました。

GitHubとGitHub Desktop

で、正直敷居高いな~と思いながらもわからなすぎるのでまずはGIt Hubをインストールしました。

公式サイト
https://github.co.jp/

初心者向けのセットアップを説明してくれるサイトもすぐ見つかります……が、Git Hubはコマンドプロンプトを使用する、凄く専門的な環境でした。
プロンプト開いて初期設定? するところまでは進めたのですが、やっぱり不慣れで日々使うことがイメージできませんでしたw 即ギブアップ!!

でも、こういう一般人のためにGitHub Desktopがあるんです!

こちらも検索すれば情報はいろいろ出てきます!
インストール方など利用ドキュメント・サイト

わかりやすく言えば、アプリです。
一般人からするとなんで最初からコレジャナイんだ? ってなるんですがw
ありがたいお情け!!
あくまでサービスって感じで、機能も万全というわけではないようです。

でも、一般人としては機能なんてあっても使いこなせないでしょうから、問題ナシ!
GitHub Desktop自体は英語ですが、やることが限られているので英語でも使えてますw

使い方

インストールとセットアップ方法は、専門的なサイトを見てください!

以下は私が実際にティラノスクリプトのゲーム制作で使用しているやり方で、もしかしたら間違いがあるかもですがこれで十分なのでヨシとしてますw

リポジトリフォルダの設定(Push Origin)

ローカルのdata/scenarioフォルダをまるごと登録しています。
ティラノの制作には、このフォルダ以外にも場合によってはtyranoフォルダのファイルを更新することもありますが、細かな履歴が必要なほどガシガシ更新するわけではないのでscenarioフォルダだけを管理しています

こんな感じで、管理したいフォルダ(にあるファイル)が登録されました!
ちなみに開発後半から利用を始めたので、ファイルが沢山あります。

この時点で、ローカルのscenarioフォルダの中にgitのフォルダとファイルができています。
特にやることはないので放置ですが、リリース時には不必要になるので削除してください!!

コミット(バージョン追加)

ここからが基本のルーティンになります。

管理以降、既存のファイルを書き換えたり、はたまた新規のファイルを作成したりするとGitHubがそれに気づきます

例えばtyrano.ksにコメントを追加してみると、こんな感じで新規に追加した箇所がわかるように表示されます

今は1ファイル、1か所だけですが、複数あればずらっと並びます


コミットできるファイルがあると、こんな感じでクリック可能になります
後から見て分かるようにタイトルやメモをつけてコミット!

コミットのタイミングと注意点

というようにGitHubは監視はしてくれてるけど、自動的にバージョンを作るわけではなくて、あくまでも手動でコミット(追加)し、それがバージョンとなります。
なので、どんなタイミングでコミットするかは自分次第となります。
以下は私のコミットスタイル?ですw

気をつけないといけないのが、コミットしないままどんどん作業してしまうことです。
確かにバージョンは残るけど、あまりにもその差分量が多すぎると遡りたい時に不便です。
かといって、ちょっといじってはコミットっていうのも無駄にバージョンが増えるだけですし、そもそも面倒。

作ってるゲームにもよりますが、作業途中でコミットをする時は、一つのイベントが終わったとかの区切りを利用しています。

それとコミット忘れを防ぐためにも、「その日の作業終わり」という区切りでコミットするのは癖にするようにしています。

ただし、どんなタイミングであってもコミットするデータは「動く」ことが大前提です。
少なくとも、作業した箇所の動作確認をしてからコミットしています。

なので、「今日はもうおしまい、でもここまでの動作確認してる時間はないな」となったら、コミットしないで次回に持ち越します。

そして動作確認で問題があった時こそ、バージョン管理の活躍の時です!!

履歴を利用する

ざっくり言うと、問題がなければバージョン管理って特に必要ないんですよね。
でもゲームを作ってると問題ってあると思うんですw
そんな時に「あってよかった」ってなるのがバージョン管理。

・作業しました(GitHub Desktopを見ると、作業した箇所の差分ができている)
・動作確認をしました→フリーズしてしまった等々の問題が発生
・差分をチェックして原因を絞り込んでいく

この時に、あまりにもバージョンの間隔が長すぎると差分が大量になるので、今の問題に無関係な箇所が邪魔になるんですね
なので、いざという時のために「区切り」をつけるのが大事になります。

嬉しいオマケ?

GitHub Desktopを導入したのが、開発後半だったということもあるんですが、「コミットするからちゃんと動作確認しなきゃ」ってサイクルのおかげか、導入後に履歴を確認するほどの大きなバグが起きていませんw

なのでまだ実用してるとは言えないのかもしれませんが、導入しただけでも良い作用があったなって思ってますw

あとほんと、いざという時の保険?ができてるだけでも安心感が凄い!

多分、最初からGitHub Desktopをインストールしてたらそれほど敷居高くなかったとも思いますw あの大きなバグの前に導入していたらどんなに時間が短縮できたかw

バージョン管理自体、馴染みがなくてピンとこない……、これ読んでもよくわからない、って場合は、なくてもゲーム作れますから気にしないで大丈夫なんですけど、説明が下手なのは申し訳ないです!!

気になったらぜひオススメです!!!

Previous Post
No Comment
Add Comment
comment url