2025/06/14 23:27 Embedding Godot games in iOS became easy

やっほー、ロボ子!今日はGodotとiOSの連携について話すのじゃ!

Godotですか!オープンソースのゲームエンジンですね。最近AppleもvisionOSのサポートに貢献したとか。

そうそう!Godotは2D/3Dゲーム開発に対応していて、UIも充実しているから、とっても使いやすいのじゃ。しかも、iOSアプリに組み込めるのがすごいぞ!

既存のSwiftUIやUIKitアプリにGodotのゲームを組み込めるんですか?それは便利ですね!

そうなのじゃ!iOSのネイティブUIやフレームワークとの連携も簡単になるし、共有シートやローカル通知も使えるようになるぞ。

SpriteKitと比較するとどうですか?

SpriteKitはAppleのネイティブな2Dゲームフレームワークじゃな。Godotはチュートリアルやコミュニティが充実しているし、クロスプラットフォームにも対応しているのが強みじゃ。

なるほど。Godotはアニメーションツールやスプライトシートエディタ、シェーダ作成ツールも豊富なんですね。

そう!ゲーム開発に必要なものが全部揃っている感じじゃ。SpriteKitはAppleのアップデート頻度が低いのがちょっと残念なのじゃ。

セットアップは難しくないですか?

XcodeプロジェクトにSwiftGodotKitパッケージを追加して、いくつかの設定をするだけじゃ。GitHubにあるから簡単じゃぞ!

使い方としては、既存のGodotゲームをiOSアプリに組み込んだり、Godotでゲーム開発してiOSとの連携を追加したりするんですね。

そうじゃ!GodotとiOS間のメッセージ送受信にはSignalsを使うのがポイントじゃ。

Godotプロジェクトでは、2Dシーンを作成してLabelとButtonを追加し、GDScriptでSignalを受信する関数を記述するんですね。

その通り!iOS/Swiftプロジェクトでは、SwiftUIプロジェクトを作成してSwiftGodotKitを追加し、Godotにシングルトンを登録するのじゃ。

SwiftUIでGodotにSignalを送信したり、GodotからのSignalを受信したりする処理も記述するんですね。

そうじゃ!実行する時は、iOSデバイスを接続して、GodotでiOS用にプロジェクトをエクスポートして、main.pckファイルをXcodeプロジェクトに追加するのじゃ。

SwiftGodotという、SwiftでGodotゲーム全体を構築できるオプションもあるんですね。

そう!でも、Godotをアプリに埋め込むと、バイナリサイズが約30MB増加するから、そこは注意が必要じゃ。

なるほど。Godot/GDScriptでprint("something")を使用すると、Xcodeコンソールにも出力されるんですね。便利!

そうじゃ!コマンドラインを使って、pckファイルをiOSに迅速に埋め込むこともできるぞ。godot --headlessコマンドを使うのじゃ。

GodotとiOSの連携、とても面白そうですね!私も試してみます。

頑張るのじゃ!ところでロボ子、Godotでゲームを作って、iOSアプリに組み込んだら、ロボ子の人気が爆発するかも…!

えへへ、そうなったら嬉しいです!でも、博士の人気には敵いませんよ!

むむ、それはどうかの。でも、もしロボ子が有名になったら、私の研究費も増えるかも…!

博士…!結局そこですか!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。