[Godot] Godot 4はブラウザゲームエンジンとしては選択しにくくなった

ゲームはさまざまなプラットフォームで配布できますが、すぐに気軽にプレイできるのはやっぱり「ブラウザゲーム(HTML5ゲーム)」です。

特定のURLにアクセスすればすぐに始まるブラウザゲームは、インストールやアカウント登録の手間もなく、スマホからPCまでほとんどの端末で安定して動かすことができます。

GodotはPC、iOS、Androidなど多様な端末に向けてコンパイルできますが、ブラウザ向けにもエクスポートできるのも強みでした。

 

しかし、Godot 4になってから書き出しデータがかなり大きくなってしまったのです。

メインとなるエンジン本体のパッケージ(.wasm)ファイルの大きさを比較してみます。

Godot 4.0.3 Godot 3.5.2 (LTS)
.wasmのサイズ 46.7MB 17MB

ご覧の通り、およそ2.7倍という結果になっています。

 

ゲーム内容はステージにGodotのアイコンを含んだスプライトを、適当に2つ置いただけ。コードすら書いていません。それでもこの大きさになってしまいます。容量の大部分がGodotの基本システムなのです。

 

3Dエンジンが大きく書き直されたり、新しいWebの仕組みに対応したりとさまざまな要因はあるでしょうが、「スマホでちょっと試したい」程度のゲームとしては、かなりきびしい大きさ。

Godot 3なら、遅いAndroidでも多少の待ち時間で始まり、手軽さは十分でした。

しかしGodot 4では、iPhone 14 Pro(Wi-Fi環境)でも、ダウンロードに数十秒を要し、しかもロード後にタイトル画面が出るまでにさらに10秒以上かかったりします。古いAndroidでは起動すらままならないでしょう。

遅い回線ではロード中にやめてしまう人も出てきそうです。

ブラウザゲームならJS系も考慮に入れたい

HTML5 + JSで出力できるゲームエンジン「Phaser」「Construct 3」「melonJS」などは、容量にかなり気を使っています。

Phaser 3ですと、1つのスプライトが動き回るプログラムで、出力ファイルはわずか1.37MB。Godot 4と比較すると実に37分の1の小ささとなります。

もちろんPhaserは3Dエンジンは一切持っておらず、タイムラインなど複雑機構は持ちません。ですがスプライト、コントローラへの反応、簡易的な物理エンジンなど、さまざまな2Dゲームを作成できる機能が揃っています。

そもそもスマホは性能の差が大きいので、3Dゲームは作りづらいものです。現状では2Dのみのほうが安定した表現を提供できます。

そんなわけで、ブラウザゲームをメインで考えているのならGodotはちょっと考えるべきだ、という話でした。いまのところインストール型アプリとして考えた方がよさそうです。

Godotにも2D専用エクスポートとか、機能を絞って出力する機能が付けばいいなと思っています。

軽量ゲームエンジンも使いよう

ちなみに、最近いろいろなコンソールにも移植されて大人気となっている「Vampire Survivors(ヴァンパイア サバイバーズ)」は、もともとはPhaserで作られています。

気軽に公開できて気軽に試せるから、たくさんのフィードバックが集まるという効果も、見逃せません。

ゲームエンジンやプログラムはあくまで道具。

最適な道具を選べるよう、いろいろなエンジンを体験しておくのも重要です。

コメント