2026:06:13
6/13日記
プログラム
- Tophat(umka用のフレームワーク)でゲームをWeb用ビルドする方法を確認した。
- 結論から言うとできた。環境はWSL2/Windows11。
- emscriptenのSDK(emsdk)をインストールする。ソースコードからだと参照がややこしくなるので sudo apt install emscripten でインストール。
- emscripten用のtophatライブラリ(以下emscripten用ライブラリ)をビルドする。このときはトップのフォルダからcmd/emscripten_build.shを実行する必要がある
- ビルド対象となるプロジェクト(ファイル一式)があるフォルダに移動する
- ./cmd/th_emscripten_linkを実行する。このとき全部のファイルをパッキングする場合はそのままでいいけど、内部でリソースを参照するときにフォルダを指定している場合、コマンドの引数にフォルダと全選択を指定する。例:「gfx/*」
- 1段上のフォルダにth_wasm_dataというフォルダが作られるので、その中にビルドした結果が出力される。
- この中身をサーバ等にアップするか、ローカル内で簡易的なWebサーバを起動してアクセスすれば起動できる。
- 注意事項
- 新しいソースコードを利用している場合、emscripten用ライブラリが不整合になる可能性がある。
- これは、上記のリンクコマンドがWebページのemscripten用ライブラリをダウンロードしてくるんだけど、ライブラリが古い場合ビルドがうまくいかないケースがある。
- よって、emscripten用ライブラリは自前でビルドする必要がある。
- ビルドについては、上記の通りemscriptenのSDK(emsdk)をインストールしておけば可能。
- 明らかに問題あるけどこれすげえなあ
- すごいありがたい
- あとは今後使うフレームワークについて色々比較してた。
- Tophat:バランスがいい。だが、アーカイブからの読み込みは不可。Desktop・Webどちらにも出力可能。
- Love2D:制作は早い(Tophatも同じ感じ)。アーカイブができるのはいい。Desktopのみ、Webはサーバ側に設定が必要だったり。
- Lyte2D:Love2Dの後継といえる。ただ描画周りのズームは再実装もしくは独自実装が必要。Web出力は最初から用意されてる。
- Godot:バランスはいいがエディタ使うのは面倒、コマンドラインからの操作が必要。Desktop・Webどちらも出力可能。
- 判断としては、開発の速さからLove2D、次がLyte2Dという感じ。
- コマンドラインからの制御によってはGodotをつかってみるのもいいかもしれない。ただGodotはUnityと似ている構成なのでコード中心の構成にする場合、作法をある程度限定しないといけない。
2026/06/13.txt · 最終更新: 2026/06/14 21:51 by machiaworx