LoginSignup
10
6

More than 3 years have passed since last update.

Godotでhtml,wasm,jsをExportしてみる

Posted at

Godotとは

無料、オープンソースの2D、3Dゲームエンジン。
Unityは価格が高いので、インディーゲーム開発はこのエンジンを使うケースが増えてるらしい。
今回は、一度html,wasm,jsでexportしてみて、Webアプリへの導入の可能性を探る。

公式サイト

日本語ドキュメント

インストール

https://godotengine.org/download/windows
ダウンロードはここ↑から。

今回はWin 64bitのSTANDARD VERSIONを選択。
ダウンロード&解凍してみるとなんと50MB!軽い!

サンプルみてみる。

https://github.com/godotengine/godot-demo-projects
サンプルはここ↑から一式ダウンロード。

godot-demo-projects\2d\dodge_the_creeps\project.godot

をアプリで開く。

2020-01-30 19_54_32-Godot Engine - Dodge the Creeps - Main.tscn.png
こんな画面。

「F5」を押すと、ゲームが再生される。

このデモは、公式ドキュメントのGETTING STARTED > Step by step > Your first gameでつくるゲームの完成形です。

Exportしてみる

Export Templateをダウンロード

Editor > Manage Export Template から3.1.2.stableをダウンロード
2020-01-31 19_33_33-Godot Engine - Dodge the Creeps - Main.tscn.png
※これ400MB強あるので、ちょっと時間がかかります。

HTML5 Presetを追加 & Export

Project > Export からHTML5 Presetを追加
2020-01-31 19_46_31-Godot Engine - Dodge the Creeps - Main.tscn.png

パネル下のExport Projectボタンで任意のディレクトリにExport

以下のようなファイル構成でExportされます

Export directory
 |- index.html 7kb
 |- index.js 326kb - Glue code
 |- index.pck 2,061kb - 画像などのResource
 |- index.png 22kb 
 |- index.wasm 17,424kb - Godotのメインコード

.pckの2MBは最適化できるとして、
なんと.wasmは17MB!

ブラウザで表示

ExportしたファイルはWebサーバ立てないと動きません。

どこかのWebサーバにアップするか、

Python使えば、上のExport directoryで以下のコマンドをたたいて http://localhost:8000 で動作確認できるようになります。

# Python2
> python -m SimpleHTTPServer

or 

# Python3
> python -m http.server

2020-02-03 19_12_46-Dodge the Creeps.png

見れた!

その他、web版の特徴として以下とのこと。

現在、HTML5 プラットフォームでは次の機能を使用できません:
スレッド
GDNative
C#
エンジンとオペレーティングシステム間のクリップボード同期
class_HTTPClient および class_WebSocketClient 以外のネットワーク処理

※GDNativeは制作にC,C++の言語を使える機能

まとめ

  • godotのwasm容量は最低でも17MB ※2020/02時点
  • Web版の場合は、C,C++制作には対応していないので、GDScriptというオリジナルScriptでつくる必要がある。

というところをみるとまだまだweb仕事で使うには敷居が高そうですね。
世の中の流れの通り、Unityの代わりのゲーム制作ツールとして使う分には良いのではないでしょうか。

参考

10
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
6