[GameMaker: Studio] Configurationで忘れがちなこと

gms_config_1

GameMaker: Studioには数値または文字列を定数として定義できるMacro機能があります。

Macroには無条件で常時適用されるAll configurationsの他に、任意で切り替えることができるMacroセットを追加することができます。
プロジェクトの初期状態ではDefaultというMacroセットが用意されています。

例えば上部のConfigurationsプルダウンでDefaultを選択した状態でゲームを起動すると、まずDefaultで定義された値が適用され、Defaultに存在しないものはAll configurationsから適用されます。

これを利用してDefaultにはDEBUG_SHOW=trueReleaseというMacroセットを追加してそこにはDEBUG_SHOW=falseという定義をしておけば、Visual StudioDebug/Release切り替えのようなものを再現することもできます。

しかしここで気をつけなければならないことがあります。
Macroセットは単純な定数の定義だけではなく、Global Game Settingsリソースにも影響します。

ConfigurationsプルダウンでDefaultを選択してGlobal Game Settingsに何か変更を加えてから、Macrosに例えばReleaseというような新しいMacroセットを追加して、Configurationsプルダウンで新しいMacroセットを選択してGlobal Game Settingsを開いてみてください。
先ほど加えたはずの変更が反映されていません。

Global Game SettingsMacroセット別に異なる設定を行うことが出来るようになっているためです。
これが意外と忘れがちで、パフォーマンスに影響が出たりアイコンやスプラッシュスクリーンが初期値のままになったりするので十分に注意しましょう。

同様にSoundsの設定もMacroセット別に設定を変えることができます。
これを忘れるとパッケージサイズを減らすために音質を下げたはずなのにリリース用にビルドしたらサイズが増えたなんてことになります。

Configurationsプルダウンは便利ですが、使用には十分に気をつけましょう。