Defold HTML5 バンドルは、独自の Web アドレスで直接実行できます。 HTML エントリ ポイント、スクリプト、エンジン ランタイム ファイル、およびゲーム リソースを含むフォルダーを公開します。 Lobsite は HTTPS 経由でバンドルを提供し、次のデプロイメントでは変更されたファイルのみがアップロードされます。
仕組み
- HTML5 バンドルを作成します。 Defold で、Project → Bundle → HTML5 Application を選択します。リリース バンドルを作成し、
index.htmlを含む生成されたフォルダーを見つけます。 - そのフォルダーを公開します。 非スレッド バンドルの場合は、バンドルまたは上記の ZIP をアップロードします。再生可能なファイルを
build/webに配置する場合は、プロジェクト ディレクトリからnpx lobsite ./build/webを実行します。スレッド化されたバンドルには、以下の CLI 設定が必要です。 - ゲームを維持して繰り返します。 最初の匿名リンクは 6 時間持続します。アカウントに保存してアドレスを保持し、ゲームが変更されたときにバンドルして再度デプロイします。
バンドル内の再生可能なフォルダーを見つけます
Defold で選択した出力場所には、生成されたアプリケーション フォルダーを含めることができます。ゲームが 1 レベル下にネストされている外部フォルダーではなく、実際に index.html を含むフォルダーをデプロイします。生成されたリソース ディレクトリをまとめて保管します。
Defold の Web エンジン ランタイム ファイルは Emscripten を使用します。バンドルで生成されたエンジン ランタイム ファイルとローダー ファイルはそのままにしておきます。ゲームリソースをアップロードするだけでは十分ではありません。 Defold HTML5 マニュアル は、エンジン設定とブラウザー固有の動作をカバーします。
スレッド付き Defold バンドル
通常の wasm-web エンジンには分離ヘッダーは必要ありません。 wasm_pthread-web のみを使用するバンドルにはそれらが必要です。両方のアーキテクチャを含めると、分離が利用できない場合、Defold は非スレッド エンジンにフォールバックできます。
スレッドの場合は、これをプロジェクト ルートの lobsite.toml に保存し、そこで npx lobsite を実行します。
dir = "build/web"
[[headers]]
for = "/*"
[headers.values]
Cross-Origin-Opener-Policy = "same-origin"
Cross-Origin-Embedder-Policy = "require-corp"
ブラウザのファイル アップロード領域はこのファイルを読み取りません。外部リソースでは、クロスオリジン分離下での読み込みも許可する必要があります。
エンジンとゲームのリソースを測定する
HTML5 バンドルには、エンジン ランタイム ファイルと独自のゲームが含まれています。 Free および匿名ホスティングでは、ファイルあたり 5 MB、合計 50 MB、100 ファイルが許可されます。ソース プロジェクトのサイズから推定するのではなく、生成されたファイルの最大サイズを確認してください。
Standard では、ファイルあたり 100 MB、合計 2 GB、10,000 ファイルが許可されます。生成されたリソース ファイルが制限を超えている場合は、デプロイする前にバンドルを減らすか再構築してください。上のブラウザ ボックスは、アップロードごとに最大 25 MB を受け入れます。より大きなバンドルでは、CLI またはサインインしたダッシュボードを使用します。 HTML5 ゲームの制限を参照してください。
入力、サウンド、公開リソース
必要に応じて、キーボード、ポインター、タッチ入力を使用して、ホストされたビルドをテストします。ブラウザオーディオは、開始する前にプレーヤーの操作が必要です。サポートする画面に適したビューポートとスケーリング動作を設定します。
Defold Live Update または別の外部リソース サービスを使用する場合は、デプロイされたアドレスでの URL、HTTPS、およびクロスオリジン アクセス許可を確認してください。 Lobsite はアップロードしたファイルを提供し、追加のリソース アーカイブを生成しません。 npx lobsite --preview デプロイメントでは、公開されたリリースはそのままにして、新しいバンドルに独自のテスト URL を与えます。
アカウントなしのデプロイは 6 時間公開されます。取得リンクから無料で残せます。
公開前にプレビューできます。リダイレクトも含めてワンクリックでロールバックできます。
ファイルはハッシュで保存されます。変更のないサイトを再デプロイしてもアップロードは 0 バイトです。
すべてのサイトに、最初のデプロイから HTTPS 対応の *.lobsite.app アドレスが付きます。
Free アカウントでも利用できます。DNS レコードを 1 つ追加するとサイトが独自ドメインに移動します。すべてのプランですべてのサイトに HTTPS が付きます。
リダイレクト、ヘッダー、フォームは lobsite.toml に記述し、デプロイごとに一緒に反映されます。
Defold のビルドと共有の選択肢
| 選択 | 何をするのか | 役に立つ |
|---|---|---|
| Lobsite の HTML5 バンドル | HTTPS URL でゲームを提供します | 互換性のあるブラウザ上のプレーヤー |
| ローカルブラウザのテスト | マシン上で Web バンドルを実行します | 導入前にブラウザの動作を診断する |
| ネイティブバンドル | プラットフォーム固有のアプリケーションを生成します | ブラウザープレイではなくネイティブリリース |
JavaScript ワークフローの場合は Phaser ホスティング 、別の Web エクスポートの場合は Godot ホスティング を比較してください。 HTML5の概要 では、共有ホスティングの考慮事項について説明します。
よくある質問
Defold バンドルのどのフォルダーをデプロイする必要がありますか?
index.html を含むフォルダーをその中に直接デプロイし、そのスクリプト、エンジン ランタイム ファイル、およびリソース ディレクトリを一緒に保持します。別のディレクトリの下にエントリ ポイントを隠す外部フォルダーを展開しないでください。
すべての Defold HTML5 バンドルは Free に適合しますか?
いいえ、ランタイム サイズ、ゲーム リソース、ファイル数がすべて重要です。完成したバンドルをファイルあたり 5 MB、合計 50 MB、および 100 ファイルの制限と比較して確認します。
Lobsite は game.project から Defold プロジェクトをビルドしますか?
いいえ。まず Defold で HTML5 用にバンドルします。 Lobsite は、エディターやビルド ツールを実行するのではなく、結果のファイルをパブリッシュします。
Defold Live Update は別のホストからリソースをフェッチできますか?
はい、そのホストとゲームの設定でブラウザーのリクエストが許可されている場合は可能です。 HTTPS を使用し、クロスオリジンのアクセス許可を確認します。初期バンドルをデプロイしても、そのサービスはセットアップされません。