ゲームはさまざまなプラットフォームで配布できますが、すぐに気軽にプレイできるのはやっぱり「ブラウザゲーム(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で作られています。
気軽に公開できて気軽に試せるから、たくさんのフィードバックが集まるという効果も、見逃せません。
ゲームエンジンやプログラムはあくまで道具。
最適な道具を選べるよう、いろいろなエンジンを体験しておくのも重要です。
コメント