GameMakerのHTML5書き出し:ライセンスと手順の整理
遊びをつくる執筆にClaudeを使用しています。

GameMakerでゲームを作り、Webブラウザで動かしたいと思ったとき、最初につまずくのがライセンスの壁です。「HTML5に書き出せる」と聞いて試してみたら、有料プランが必要だったという経験をした人は少なくありません。この記事では、どのプランでHTML5書き出しができるか、書き出しまでの手順に何が必要か、そして書き出したファイルをWebで公開するときの注意点を整理します。 GameMaker(旧称GameMaker: Studio)はYoYo Gamesが開発し、現在はOperaが所有するゲームエンジンです。2D特化の設計と独自スクリプト言語GML(GameMaker Language)を持ち、比較的学習コストが低いことで知られています。デスクトップ向けのスタンドアロン書き出しは無料プランでも扱えますが、HTML5書き出しはプランによって可否が変わります。 ライセンスの詳細は頻繁に改定されるため、この記事では判断の枠組みと手順の流れを示し、具体的な料金や条件は公式サイトで最新情報を確認することを前提にしています。
この記事の目次
HTML5書き出しに必要なプランの考え方
GameMakerのプランは大きく「無料(Free)」「有料の個人・インディー向け」「法人向け」の階層に分かれています。HTML5を含むWeb向け書き出しは、無料プランでは利用できない場合が多く、有料プランへのアップグレードが必要になるのが通例です。
判断の基準として押さえておくべき点は次の二つです。まず、書き出しターゲットとしてHTML5が含まれるプランかという点。プランの機能一覧に「HTML5 export」または「Web export」の記載があるかどうかが確認のポイントです。次に、商用利用の可否と収益規模の上限。個人向けプランには年間収益の上限が設定されていることがあり、それを超えると上位プランへの移行が必要になります。アソバースのような外部プラットフォームにゲームを公開して広告収益や投げ銭を受け取る場合も、この条件に該当することがあるため、公式の利用規約を事前に読んでおくことが重要です。
公式サイトのPricingページには現行プランの機能比較表があります。料金は為替や改定で変わるため、数値はそちらで確認してください。
書き出しの前に済ませておく準備
プランの確認が取れたら、GameMaker IDE上での設定に入ります。HTML5書き出しはWindows版とmacOS版のGameMaker IDEどちらからでも行えますが、書き出し先のランタイムモジュールを別途インストールする必要があります。
ランタイムモジュールのインストール手順:
- IDEのメニューから「Help」→「Manage Runtimes」(またはPreferences内のRuntime設定)を開きます。
- インストール済みのランタイム一覧が表示されるので、HTML5に対応したバージョンを選択してインストールします。バージョンはIDEのバージョンに合わせるのが基本で、ミスマッチがあるとビルドエラーになります。
- インストール完了後、IDEを再起動して認識させます。
ランタイムとIDEのバージョンが合っていないとビルド時に「Runtime not found」系のエラーが出ます。GameMakerはアップデートが頻繁なため、IDEを更新したあとはランタイムも合わせて更新する習慣をつけると無駄なトラブルを減らせます。
HTML5向けにプロジェクトを調整するポイント
デスクトップ向けに作ったプロジェクトをそのままHTML5に書き出すと、動作するものの細かい問題が出ることがあります。あらかじめ対処しておくべき代表的な点を挙げます。
サウンドのフォーマット: HTML5ではブラウザの対応状況に依存するため、mp3とoggを両方用意しておくとカバレッジが広がります。GameMakerのサウンド設定でHTML5向けに変換フォーマットを指定できます。
ファイルI/Oの制限: デスクトップではローカルファイルの読み書きができますが、HTML5ではブラウザのサンドボックス内に限られます。file_text_open_read()などのファイル操作関数は動作しないか制限されます。セーブデータにはlocalStorageベースのGameMaker組み込み関数(ds_mapとjson_encodeを組み合わせた永続化など)か、バックエンドAPIを使う設計に切り替える必要があります。
画面サイズとキャンバス: HTML5書き出し時の画面サイズはGame Options内のHTML5セクションで設定します。レスポンシブに対応させたい場合は、書き出し後のHTMLファイルのCSSでcanvas要素のサイズを制御する方が柔軟です。GameMaker側で固定サイズを設定しつつ、埋め込み側でスケールを調整するアプローチが実用的です。
タッチ入力: スマートフォンブラウザでのプレイを想定するなら、マウスイベントだけでなくタッチイベントも処理する設計にします。GameMakerはタッチとマウスを同一の入力として扱うモードがありますが、マルチタッチが必要な場合はdevice_mouse_*系関数を意識的に使い分ける必要があります。
書き出し手順とファイル構成の確認
プロジェクトの準備ができたら、実際にビルドします。
- IDE上部のターゲット選択ドロップダウンで「HTML5」を選びます。
- 「Create Executable」(またはビルドボタン)をクリックします。
- 出力先フォルダを指定するとビルドが始まります。
ビルドが成功すると、出力フォルダに次のような構成のファイルが生成されます。
- index.html:エントリーポイント。ブラウザで直接開くか、Webサーバーで配信するファイルです。
- *.js(複数):GameMakerのランタイムをJavaScriptに変換したファイル群。
- *.dat または類似のアセットファイル:画像・サウンドなどのリソース。
この一式をWebサーバーに置くことでブラウザからプレイできるようになります。ローカルでindex.htmlをダブルクリックしても、セキュリティ制限でアセットが読み込まれないことがあります。動作確認はローカルサーバーを立ててから行うのが確実です。Node.jsが入っていればnpx serveコマンドで手軽にローカルサーバーを起動できます。
公開時のライセンス表示と著作権の考え方
書き出したHTMLファイルの中にはGameMakerのランタイムコードが含まれます。このランタイムの再配布に関する条件はYoYo GamesのEULA(エンドユーザーライセンス契約)で定められています。一般的には有効なライセンスを持つユーザーが自分のゲームとして公開する範囲では許容されていると解釈されますが、ランタイム部分のコードを単体で再配布・販売することは認められていません。個別の解釈が必要な場合は公式EULAを直接確認するか、法的な判断が必要な場面では専門家に相談してください。
また、使用した外部アセット(フォント・BGM・効果音)のライセンスは、HTML5として公開する場合もデスクトップと同様に守る必要があります。「個人利用可・商用不可」のアセットを商用プラットフォームに公開するケースはよく見落とされる落とし穴なので、リリース前に一度アセットのライセンスをまとめて見直す習慣をつけることを勧めます。
次の行動
まずGameMakerの公式サイトのPricingページを開き、現在のプランにHTML5書き出しが含まれているかを確認してください。プランが確認できたら、小さなテストプロジェクトでビルドを通し、ローカルサーバーで動作確認する一連の流れを体験しておくと本番での詰まりが減ります。書き出したZIPファイルはアソバースのZIPアップロード機能でそのまま投稿できるため、公開先として活用できます。
参考資料
- GameMaker公式ドキュメント(HTML5 Game Options・Runtime Manager)
- YoYo Games EULA(エンドユーザーライセンス契約)
- GameMaker公式Pricingページ

