ゲームをコンパイルするというのは、ゲームをテスト用にコンパイルすることと、または特定のターゲット プラットフォーム用の アセット パッケージ を作成するためにコンパイルすることのどちらかを指します。IDE 上部の 再生 アイコン をクリックすると、現在指定されているターゲットでゲームを実行し、テストをすることができます。また、デバッグ をクリックして、デバッグ モード でゲームをテストできます。デバッグ モードでは、ゲームを実行するだけでなく デバッグ ウィンドウ からゲーム パフォーマンスを監視したり、バグや不具合をデバッグしたりすることができます (詳細については デバッグ のセクションを参照してください)。
デフォルトでは、GameMaker Studio 2 は内蔵の VM (仮想マシン) を使用してゲームを実行およびデバッグします。これは、あなたが使用しているデスクトップ OS での実行とほとんど同じように動作します。それだけでなく、GameMaker Studio 2 は クロス プラットフォームなエンジン であるため、プロジェクトのアセット パッケージをさまざまなターゲット プラットフォームへ向けてテスト、デバッグ、およびコンパイルすることができます。このとき、利用可能なプラットフォームはライセンスによって異なります。現在のターゲット プラットフォームを変更するには、ターゲット アイコン をクリックして ターゲット ウィンドウ を開きます (この内容もライセンスによって異なります):
上部の ターゲット アイコンの横には、現在設定されているプラットフォームなどの情報が表示されています。その下には、利用可能なすべてのターゲットの詳細とそのオプションが表示されており、ここから使用するターゲットを選ぶことができます。ウィンドウ各部の説明を次に示します:
ターゲット マネージャーの最初の列は、利用可能な リモート ワーカー の一覧を表示しています。通常は、GameMaker Studio 2 がインストールされているマシンを示す "ローカル" のみが表示されています。別のリモート ワーカーを使用するように構成することで、この一覧にリモート ワーカーが表示されるようになります。それを選択して、GameMaker Studio 2 がインストールされているホスト マシンではなく、リモート ワーカー 上でプロジェクトをビルドさせるようにすることができます。
リモート ワーカーのセットアップと使用方法についての詳細は、次のセクションを参照してください:
このセクションには、利用可能なすべてのターゲット プラットフォームの一覧が表示されます。この内容はあなたが所持しているライセンスによって異なりますが、少なくとも "テスト" ターゲットはライセンスにかかわらず表示されています。各ターゲットをクリック して、ターゲットを選択します。ターゲットが選択されると、それに応じてウィンドウの残りのオプションの内容が更新されます。
各ターゲット プラットフォームには、ひとつまたは複数の出力形式が用意されています。主な出力形式は次のとおりです:
- VM: VM (仮想マシン) ターゲットでは、各プラットフォーム向けの汎用 ランナー がゲーム コードを解釈して実行します。このオプションはビルドが高速であるため、テストなどに使用されます。反面、YYC オプションのような高いパフォーマンスは望めません。パフォーマンスを気にする必要のない小さなゲームであれば、このオプションを使用しても問題ないでしょう。
- YYC: YYC (YoYo Compiler) は、GameMaker Studio 2 の出力を受け取って、ターゲット プラットフォームの ネイティブ コードにコンパイルします。このとき、不要な関数を "排除" するなどの最適化をほどこして、より軽量でパフォーマンスに優れる実行ファイルを作成できます。これによって、ゲーム パフォーマンスは少なくとも2~3倍に向上し、特にロジックが多く複雑なゲームではより顕著に効果が現れるでしょう。したがって、このオプションは CPU を多用する大規模なゲームに適しています。ただし、コンパイルにかかる時間が長くなることがあるという欠点があります。また、ターゲット プラットフォーム向けの最終的なアセット パッケージをビルドする前には、かならずコンパイラー キャッシュを削除する必要があります。YYC ターゲットでは、選択したプラットフォームに応じて追加のツールをインストールしなければならない場合があります。詳細については、YoYo Games ヘルプ センター またはこのマニュアルに記載されている各ターゲットの 環境設定 ページを参照してください。
- JavaScript: JavaScript ターゲットは、HTML5 ターゲットなどの一部のターゲットにおいてのみ使用できます。このオプションでは、ゲームを純粋な JavaScript コードへコンパイルします。
iOS や Android などの一部のプラットフォームでは、GameMaker Studio 2 へ特定の端末を登録し、そのデバイス向けにゲームをコンパイルすることができます。初期状態ではデバイスの一覧は空になっているため、鉛筆 アイコン をクリック して デバイス エディター を開く必要があります:
ここでは、新規デバイスを追加したり、GameMaker Studio 2 へ接続されている可能性があるデバイスへの接続テストをすることができます。このウィンドウの内容は、プラットフォームによって異なります。各プラットフォームでの正確な情報については、デバイス マネージャー のセクションを参照してください。デバイスが追加されたり見つかったりした場合は、次のようなウィンドウが表示されます (これは Android での例です):
デバイスのセットアップやトラブルシューティングについての正確な手順や必要な要件は、GameMaker Studio 2 ナレッジ ベース の該当するセクションを参照してください。
構成 のセクションでも説明しているとおり、ゲームをコンパイルするときのプラットフォーム固有のオプションを 構成 として保存しておくことができます。ターゲット ウィンドウのこのセクションでは、GameMaker Studio 2 が任意のターゲット プラットフォームで使用する構成を自動的に選択させることができます。
ゲーム プロジェクトを任意のターゲット プラットフォームへコンパイルするには、適したビルド ツールをセットアップして (こちら を参照してください)、プラットフォームの環境設定 を設定する必要があります。IDE の 実行ファイルの作成 アイコン をクリックするか、ビルド メニュー から 実行ファイルの作成 を選択して、コンパイラーによるビルドを開始します。いずれの場合でもファイル エクスプローラー ウィンドウが開くので、そこで最終的なゲーム パッケージ名を指定してから 保存 をクリックすると、コンパイルとビルドのプロセスが開始されます。このプロセスを経て必要なファイルが生成されたら、自由に配布できるようになります。
各ターゲット オプションに応じて、次に示すようなプラットフォーム固有の形式で保存されます:
実行可能なアセット パッケージを作成したら、そのファイルをほかの人へ渡したり、自分のウェブサイトからダウンロードできるようにしたり、個人へ配布するためになんらかのホスティング サービスへアップロードしたり、不特定多数への配布または商業目的のためにオンライン ストア (Google Play、iTunes、Microsoft Store など) へアップロードしたりすることができます。
GameMaker Studio 2 で制作したゲームは、商業利用を含めて自由に配布することができます。ただし、当然ながら、制作に使用したスプライトや画像、サウンドなどのすべてのアセットに関して、配布および販売が可能な法的権利をクリアしていることが前提となっています。また、GameMaker Studio 2 の EULA (エンド ユーザー利用許諾契約) にも準拠していなければなりません。GameMaker Studio 2 のインストール フォルダーから、利用許諾契約を確認することができます (通常は "C:\Program Files\GameMaker Studio 2\Licence.txt" にあります)。