ほとんどのゲーム開発プロジェクトでは、複数のさまざまな担当者が作業に取り組み、その期間が長期にわたることがあります。マシンの故障やデータ破損が原因で作業内容が失われると、プロジェクトが壊滅的になる可能性があります。したがって、ほとんどのゲームでは、通常、開発中に何らかのバージョン管理システム(VCS)を使用してプロジェクトに対する変更の追跡、プロジェクトのアセットのバックアップ、およびプロジェクト メンバー間のコラボレーションの簡易化を実現しています。
Stingray は、ユーザが使用するために選択したバージョン管理システムに依存しない設計になっています。Git、Subversion (SVN)、Perforce など、複数の一般的なソース管理システムの直接サポートを組み込む代わりに、Stingray は独立して追跡する必要があるデータを自動生成データとは別に保管することによって、邪魔にならない存在であり続けます。
このページでは、バージョン管理システムを操作するときに留意する必要がある考慮事項をいくつか示します。
バージョン管理に関する Stingray の大きな利点の 1 つは、Stingray エディタで作成するゲーム データの多くがプロジェクトのソース フォルダに プレーンテキストの SJSON 形式で格納されることです。(「SJSON データ形式について」も参照してください。)
これらのファイルはプレーンテキストであって、バイナリではないため、複数のさまざまな関係者は修正内容を互いに上書きしなくても、ソース管理システム内で簡単にブランチを作成して、変更内容を合成することができます。
Stingray プロジェクトは一般に次の 3 つのフォルダで構成されています。
ゲームの未処理データが格納されるメインのプロジェクト ソース フォルダ。このフォルダはバージョン管理で追跡します。
_wwise フォルダ。ゲームのオーディオ プロジェクト ファイルおよび未処理のオーディオ ファイルが格納されます。このフォルダはバージョン管理で追跡します。
_data フォルダ。ゲームのターゲット プラットフォームごとに、バイナリ形式にコンパイルされたゲーム データが格納されます。このフォルダはバージョン管理で追跡しません。
Stingray エディタでプロジェクトのソース データを操作するすべてのユーザは、コンパイルされたバイナリ ファイルを再作成できるため、これらをバージョン管理に記録する必要はありません。
Stingray エディタで作業するときに、プロジェクト リソースが読み取り専用でないことを確認します。SVN のように、追跡対象のファイルをロックするシステムを使用している場合は、プロジェクトのソース フォルダを調べて、そこに含まれるファイルが書き込み可能なことを確認します。
Git を使用する場合は、Git の .gitignore 機能を利用して、コンパイルされた _data フォルダ内のすべてのファイルを追跡対象から自動的に除外することができます。.gitignore ファイルの背景情報については、Git のドキュメントを参照してください。
そのためには、Stingray プロジェクト フォルダが格納されているルート フォルダ内に .gitignore という名前の新しいテキスト ファイルを作成し、コンパイルされたデータ フォルダを除外するエントリを設定します。
たとえば、次の場合を想定します。
この場合、ファイルに D:¥projects¥.gitignore という名前を付けます。
ヒント: 既定では、Windows エクスプローラでファイルに .gitignore という名前を付けることはできません。Windows エクスプローラで使用できるのは、名前と拡張子の両方が付いているファイルのみです。ただし、ファイルに .gitignore. という、末尾に余分な . の付いた名前を付けて、この制限を回避することができます。Windows エクスプローラでは、後続のピリオドは自動的に除去されます。
.gitignore ファイルには次の行が含まれています。
MyStingrayProject_data/
これにより、Git はプロジェクトのコンパイル済みデータ フォルダ内のすべてのファイルを無視するように設定されます。