マガジン

アソバースへの投稿方法:HTML・ZIP・URLの3通りを比較

遊びを届ける

執筆にClaudeを使用しています。

入れ子のフォルダーを赤い糸でたどり、画像カードの場所を示す写真風イメージ。
記事のテーマをもとに制作したAI生成イラスト。

アソバースにゲームを公開するとき、最初に迷うのが「どの形式で投稿するか」という点です。アソバースは現在、単一のHTMLファイル、ZIPファイル、そして公開済みURLの登録という3つの投稿方法に対応しています。それぞれに向き・不向きがあり、作ったゲームの構成によって正解が変わります。 この記事では3通りの方法を横並びで比較し、「自分のゲームにはどれを使えばいいか」を判断できるよう、選び方の基準と手順をまとめます。

この記事の目次
  1. 3通りの投稿方法をざっくり把握する
  2. HTMLファイル単体投稿が向く場面と限界
  3. ZIPファイル投稿が向く場面と準備のポイント
  4. URL登録が向く場面と外部ホスティングの選び方
  5. 3通りの選び方:判断フローで整理する
  6. 次の行動

3通りの投稿方法をざっくり把握する

まず全体像を整理します。

HTMLファイル直接投稿は、ゲームのコードをすべて1つの.htmlファイルに収めてアップロードする方法です。外部ファイルへの参照が不要なため、仕組みがシンプルで投稿の手間が最も少ない選択肢です。

ZIPファイル投稿は、HTMLファイルを中心に、画像・音声・JavaScriptファイルなど複数のファイルをひとつのZIPにまとめてアップロードする方法です。ファイルを分割して管理したいゲームや、素材ファイルが多いゲームに向いています。

公開済みURLの登録は、すでにGitHub PagesやVercelなどの外部ホスティングサービスで公開されているゲームのURLをアソバースに登録し、プラットフォーム上で遊べるようにする方法です。ゲームのデータはアソバースのサーバーには置かず、外部サービス側で管理し続けます。

HTMLファイル単体投稿が向く場面と限界

単一HTMLはコードをすべてインラインに書く、いわゆる「オールインワン」構成です。CSSは<style>タグ内に、JavaScriptは<script>タグ内に、画像はBase64エンコードして<img>タグのsrc属性に埋め込む形にすると、外部依存ゼロの1ファイルが完成します。

向いているのは次のようなケースです。

  • シンプルなパズルゲームやクイズゲームなど、素材ファイルが少ないもの
  • ChatGPTやClaudeなどのAIツールに「1ファイルで動くゲームを作って」と依頼して生成したコードをそのまま出したいとき
  • まず試しに投稿してみたい段階

一方、限界もあります。画像や音声をすべてBase64で埋め込むとファイルサイズが一気に膨らみます。テクスチャや効果音を多用するゲームでは、HTMLファイルが数MB〜十数MBになるケースもあり、読み込みが遅くなる原因になります。また、ファイルが1本しかないため、後からコードを修正・管理するときに見通しが悪くなりがちです。

ZIPファイル投稿が向く場面と準備のポイント

ZIPはファイルを分割できる分、作りがしっかりしたゲームには最も素直な選択肢です。

向いているのは次のようなケースです。

  • 画像・音声・JSONデータなど複数のアセットを使うゲーム
  • phaser.jsやthree.jsなどのライブラリファイルをローカルに含めているゲーム
  • AIツールで「フォルダ構成で出力して」と依頼して生成したプロジェクトをそのまま提出したいとき

ZIPを作るときの注意点は、エントリーポイントのHTMLファイルの置き場所です。多くのホスティング環境と同様、ZIPを展開したときに最上位の階層にindex.htmlがあることを前提とするケースが多いため、深いサブフォルダに埋めないようにします。加えて、ファイル間のパスは相対パスで記述するのが基本です。たとえばHTMLから同じフォルダの画像を参照するなら<img src="images/player.png">のように書きます。絶対パスや自分のPC上のパスが混入していると、投稿後に素材が表示されなくなります。

ZIPを作成する際、Macの場合は__MACOSXフォルダや.DS_Storeファイルが混入することがあります。これらは不要なファイルです。ターミナルでzip -r game.zip . -x "*.DS_Store" -x "__MACOSX" のように除外オプションを指定するか、不要ファイルを取り除いてからZIPを作る習慣をつけておくと余計なトラブルを防げます。

URL登録が向く場面と外部ホスティングの選び方

URL登録はゲームの実体をアソバースの外に置いたまま、アソバース上に「入口」だけ作る方法です。

向いているのは次のようなケースです。

  • すでにGitHub PagesやVercelなどで公開しているゲームをアソバースにも並べたいとき
  • ゲームを頻繁に更新するため、アソバースへの再アップロードの手間を省きたいとき
  • ファイルサイズが大きくアップロードが現実的でないとき
  • Unity WebGLビルドやGodotのHTML5エクスポートなど、ファイル数が多い大規模なプロジェクト

注意点は2つあります。1つ目は外部ホスティング側の設定です。異なるドメインからゲームを読み込む際、ホスティング先がCORS(Cross-Origin Resource Sharing)を適切に設定していないと、素材の読み込みがブロックされる場合があります。GitHub Pagesは静的ファイルに対して比較的オープンな設定になっていますが、サーバー設定を細かく制御したい場合はVercelやNetlifyの方が柔軟です。2つ目は外部サービスの運用継続性です。外部サービス側でURLが変わったり、公開設定が変わったりすると、アソバース上でも遊べなくなります。投稿後も外部サービスのURLや公開状態を維持する必要があります。

3通りの選び方:判断フローで整理する

以上を踏まえて、次の順番で判断すると迷いが少なくなります。

  1. すでに外部URLで公開済みか? → はい:URL登録を選ぶ
  2. 外部アセット(画像・音声など)がファイルとして分かれているか? → はい:ZIP投稿を選ぶ
  3. コードが1ファイルに収まっているか、または収められるか? → はい:HTML単体投稿を選ぶ

「AIで作ったゲームをそのまま出したい」という場合は、AIに生成を依頼するときの指示が分岐点になります。「1つのHTMLファイルにすべて収めて出力してください」と指示すればHTML単体投稿に、「フォルダ構成でファイルを分けて出力してください」と指示すればZIP投稿に対応した形で出力されます。目的のゲームの規模に合わせて指示を使い分けると、投稿形式の選択も自然に決まります。

なお、アソバースのSDKに対応することで共通ログインやクラウドセーブ機能を使えますが、これは投稿形式とは独立した話です。HTML単体でもZIPでもURL登録でも、SDK対応の実装をしてあればこれらの機能を利用できます。SDK非対応のゲームでも公開・プレイ自体は問題なく行えます。

次の行動

使いたい投稿形式が決まったら、アソバースの投稿画面でファイルのアップロードまたはURLの入力に進んでください。ZIPを使う場合は、投稿前にローカル環境でHTMLをブラウザで開き、画像や音声が正しく表示・再生されることを確認しておくと、アップロード後のトラブルを減らせます。外部URL登録を選ぶ場合は、登録するURLがブラウザのシークレットモードでも正常にゲームが動くことを事前に確かめておくと安心です。