【雑記】GameMakerからWindowsの実行ファイルを作る方法 (2022.10.20)

GameMakerでWindowsの実行ファイルを作ろうとして、少しつまづいたのでメモです。

問題点と解決策

.DS_Storeが存在しないというエラーが表示される

あまり該当する人はなさそうですが、macOSを中心に開発していて、Windowsでビルドしようとしたらこのエラーが表示されました。

“.DS_Store” というのは、macOSのみで使用される meta情報なのですが、他の環境で見たときゴミファイルとなるのですよね……。

エラーの原因として、”.DS_Store” が “datafilee” (外部読み込み用フォルダ) に追加 (プロジェクトに追加) されていて、Windowsでのビルド時にそれを見つけられずエラーとなっていました。

削除方法は以下のページを参考にしました

ターミナルを開いて、”datafiles” フォルダまで移動して以下のコマンドを実行。

ターミナル
$ find . -name '.DS_Store' -type f -ls -delete

これで “.DS_Store” を削除したらビルドできるようになりました (ちなみに macOS 側で削除しました)

YYCビルドでリンカエラーとなる

VMビルドは問題なかったのですが、YYCビルドはうまくいかず…。

Windows (setup guide)

・For building VM packages you don’t need anything extra to be installed, as GameMaker includes everything required.

・For building YYC packages you will need Visual Studio 2019 (Community Editions are fine) installed and configured as per the relevant section in the setup guide above.

Windows(セットアップガイド)

・VMパッケージの構築に必要なものはすべてGameMakerに含まれているため、別途インストールする必要はありません。

YYC パッケージをビルドするには、Visual Studio 2019 (Community Edition は問題ありません) をインストールし、上記のセットアップ ガイドの関連セクションに従って構成する必要があります。

GameMaker Required SDKs > Windows

Visual Studio 2019 が必要とのこと…。確認したら自分の環境は VS2017 だったのでビルドできなかったようです。

そこで このあたり からインストーラーをダウンロード…。インストーラーを実行して「C++によるデスクトップ開発」にチェックを入れて「インストール」ボタンをクリック。

インストール開始…と思いきや、VS2022 がインストールされ始めています。

大丈夫かな…と思いましたが、Setting Up のページを見ると、問題なさそうな感じです。(問題ありました →2022.10.21現在、VS2019でしかビルドできません

Visual Studio Community 2022 can be found here. Should you require the older versions, you can find information on how to get Visual Studio Community 2015 / 2017 / 2019 here(note that you may need to sign up for the free MS Dev Essentials package to access the download). Some users have reported issues with x64 builds on YYC when using Visual Studio Community 2017,  as such we recommend only compiling to x86 (VM or YYC) if you’re going to stick with an older version.

Visual Studio Community 2022 はこちらにあります。 古いバージョンが必要な場合は、Visual Studio Community 2015 / 2017 / 2019 の入手方法に関する情報をここで見つけることができます (ダウンロードにアクセスするには、無料の MS Dev Essentials パッケージにサインアップする必要がある場合があることに注意してください)。 一部のユーザーは、Visual Studio Community 2017 の使用時に YYC での x64 ビルドに関する問題を報告しています。そのため、古いバージョンを使い続ける場合は、x86 (VM または YYC) にのみコンパイルすることをお勧めします。

Setting Up For Windows

それとどうやら VS2017 でも x86 ビルドであれば問題なさそうな感じです。

それはさておき、しばらく待つと VS2022 のインストールが完了したので、念のため起動確認。

問題なく起動できたので、GameMaker側でビルドしてみます。

……しかしビルドできず……。クリーンビルドしたりPCを再起動したりしてみますが解決できず。

V2022 is not an officially supported version of Visual Studio right now, so I would recommend using VS2019 as explained in the supporting documentation:

V2022は現在、Visual Studioの正式にサポートされているバージョンではないので、サポートドキュメントで説明されているようにVS2019を使用することをお勧めします

GameMaker Community > Update Visual Studio 2022

調べたところ VS2022 はまだ正式にサポートされていない様子…。

VS2019 は過去のバージョンなので、以下のページをたどってインストーラーを入手します。

C++によるデスクトップ開発」にチェックを入れてインストールが完了して、GameMakerを起動…。

File > Preference から「Platform > Windows」のパスが正しく設定されていることを確認。パスが反映されていない場合は「Restore defaults」をクリックすると、初期設定になります。

これで問題なくビルドできました……!

datafiles の内容が更新されない

ビルドは問題なくできたのですが、 “datafiles” の内容が古いデータのままとなっていました。

原因はよくわからなかったのですが、実行時のキャッシュファイルが原因かな……と思って以下のフォルダのデータを削除。

  • %LOCALAPPDATA%/[ゲームプロジェクト名]/

すると新しいデータに更新されるようになりました。