Darin Bifani
W4 Games APACパートナーズ&ビジネスデベロップメントリード / コーポレートアフェアーズ責任者 / 法務顧問
Clay John
Godot Foundation 取締役会員
W4 Games テクニカルディレクター
Emilio Coppola
Godot Foundation エグゼクティブディレクター
トカゲ
Godot Engine コアコントリビューター / アニメーションチーム
▼Godotの現状や日本市場への戦略を聞いた、前回のインタビュー記事はこちら
開発者目線での「Godotの魅力」とは
――皆さんが感じる「Godotの魅力や最も優れた点」は何でしょうか?
Darin: オープンソースである 点と大きなコミュニティがある 点です。オープンソースは多くのユーザーが内部実装を把握できることにつながります。つまり、制作途中で問題に遭遇した時、コミュニティ内のユーザーから意見をもらいやすい強みがあります。
写真左からDarin Bifani氏、Clay John氏、トカゲ氏、Emilio Coppola氏
トカゲ: プロトタイプの作成から検証までのサイクルを素早く繰り返せることも魅力です。ゲーム開発は「機能を実装して検証する工程」の繰り返しです。
Godotは起動が早いですし、GDScriptは柔軟性が高く、加えた変更がエンジンを起動したまますぐに反映されます。そのおかげで、機能のプロトタイプ作成やテストをスピーディーに行えます。
Clay: 他のゲームエンジンと比較してもイテレーションを素早く回せる のは魅力的ですよね。Godotがゲームジャムで人気なのは、これが理由のひとつでしょう。
素早く思考錯誤できるGodotは、何度も新しいアイデアを模索するインディーゲームに対しても親和性が高いと感じます。
ゲーム開発における「所有権」の重要性 Emilio: 確実に使い続けられる安心感 も重要です。最近「ゲームの所有権」が特に重要視されているように感じます。開発に使用しているゲームエンジンが、ある日突然どのプラットフォームにも出力できなくなることを想像してください。そんな可能性の下にあるゲームを「所有している」と本当に言えるでしょうか?
ゲームエンジンの開発組織の判断に開発が左右される状況では、長期的な開発計画を立てるのは困難ではないでしょうか。
Godotの場合は、たとえ財団の運営が変わっても、ライセンスの仕組み上既存バージョンの使用を止めることはできません。
ゲーム開発者に貢献できる点も魅力 ――エンジン開発者として感じる魅力には何がありますか?
Clay: Godotの開発に関わるうえで本当に楽しいことのひとつに「ゲーム開発者の夢の実現を支援できること 」があります。株主や利益のためではなく「ゲーム開発者がより良く、より早く、より楽しく夢を実現する」ことのために働けます。これはとても有意義なことだと感じます。
また、コミュニティが大きいため、自分が改善したコードが世界中にいる何万人ものゲーム開発者の役に立ちます。これは小規模なプロジェクトではなかなか味わえない喜びです。
企業では採算が合わず手が回らないような機能開発にもチャレンジできることも魅力ですね。右から左へ表記する言語をサポートした最初の主要なゲームエンジンのひとつがGodotだと記憶しています。
右横書き言語への対応にGodot Foundationがリソースを投入できたのは、たとえ財団や誰かの収益につながらなかったとしても「業界全体から疎外されてきた人々にツールを提供できるならやるべきだ」と考えたからです。私たちは多くの資金を提供してくれる人だけではなく、すべてのユーザーを等しく大切に考えています。
コアメンバーが感じるGodotの課題
――皆さんはGodotのコントリビューターでもありますが、同時にゲーム開発者でもあります。開発者目線で「もっとGodotがこうなれば良いのにな」と思うポイントはありますか?
Emilio: 個人的には、C++を介さずともGDScriptだけですべてを簡単に変更できるようになればよいなと思います。まぁ、夢みたいな話ですが(笑)。
Clay: 私は、Godotを可能な限り高速に動作させることが重要だと考えています。そのうえで、エンジンに組み込まれているプロファイリングツールにはまだ改善の余地があると思っています。ゲームの動作が遅くなる理由を特定できるツールですから、理論的にはゲームを高速化する方法の理解にも繋がります。
「Godotが遅すぎる!」と言っている人の動作を実際に見てみると、エンジンの使い方に問題があってパフォーマンスを悪化させている ケースが少なくありません。優れたプロファイリングツールがあれば、エンジン自体ではなく実装方法に問題があることを明確に示してくれるはずです。Godotは主要機能をすべて備えたソフトウェアとして提供しているので、プロファイリングツールは優先して改善すべきポイントだと思っています。
また、個人的には、Raspberry Piのようなハードウェアで動作するゲームを作りたいと考えている人々を、Godotでもっとサポートしたいと考えています。
LLMなどの新技術に対するGodotの姿勢
Darin: オープンソースのプロジェクトは、コミュニティを通して多くの技術的なアイデアや意見に触れられる一方、新機能の導入時にコミュニティへの影響を強く考慮する必要があります 。
例えば、LLM(大規模言語モデル)はゲーム開発の多くの要素に変革をもたらす可能性がある技術です。Godotは慎重さを重視する方針なので、こうした新技術や新アルゴリズムを先駆けて実装することは非常に稀です。
新しい技術が登場したときには、技術的な影響だけでなく、倫理的な影響、そしてコミュニティ全体への長期的な影響 を把握しなければいけません。その技術が業界でどのように発展・定着していくのか を見極めてから導入を判断するのが、コミュニティ全体の利益を考えた責任ある姿勢だと考えています。
他エンジンからの移行時によくある落とし穴
――Godotの学習において、Unityなどの他エンジン経験者が特につまずきやすいポイントはどこだと感じますか?
Emilio: 移行者が陥る最大の罠は「移行元のエンジンでの開発手法をそのままGodotに適用しようとする 」ことです。各エンジンには独自の設計思想があるため、その思想に沿った手法で開発するのが適切です。他のエンジンで培った知識を活かしつつ、Godot特有のワークフローを新たに学習することが重要です。
Clay: 例えば、Unityユーザーは長年の経験でUnityの制約を回避するテクニックを身につけています。しかし、そのテクニックをGodotに使うと、逆に問題を引き起こしてしまうことがあります。
「この実装方法を使ったのに動かない!」という相談をよく受けますが、コードを見ると「なぜこんな複雑に実装しているのか?」と疑問に思うケースが多いです。Godotの設計に沿ってシンプルに実装し直すと、あっさり動作します。このような事例が、ゲームロジックやUI、レンダリングなどさまざまな分野で頻繁に発生しています。
これは特にC#で当てはまります。UnityはC#を独自に改良した「Mono」をベースとしています。そのため、同じC#コードであってもUnityとGodotで挙動が異なることがあります 。
Emilio: 現在、Godotではこれらの互換性問題を解決する独自のC#を開発するリソースがありません。そのため、多くの場合は「代わりにGDScriptを使用してください」とお伝えするしかないのが現状です。
ただ、C#を使い続けたくて移行した開発者にGDScriptを使用させている状況ですから、あまりよいとは言えません。現在は、マイクロソフトと協力して問題の解決を進めています。
Godotはエンジン拡張も可能 トカゲ: 他のエンジンにある機能がGodotにない場合、まずC++で書かれたGodotのソースコードを読んでみることをおすすめします。Godotのコードは非常に読みやすく書かれているので、仕組みを理解して自分で拡張することも比較的容易です。
エンジンを拡張して機能を追加される方がいれば、その改善をコミュニティに還元していただけると、他の開発者にとっても大きな助けになります。
Emilio: そうですね。私が知るUnityから移行した開発者も、問題が発生するたびにC++のソースコードを見て「エンジンの内部動作を知ることができて素晴らしい」と言っていました。
Darin: 移行を検討している企業に対しては、具体的な移行事例や必要なコスト、移行期間の目安を提示することが重要だと考えています。「技術的に何が必要で、どれくらいの工数が必要か」が明確になれば、意思決定もしやすくなるでしょう。
日本のGodotコミュニティへのメッセージ
――日本のGodotコミュニティ、コントリビューター、インディーゲーム開発シーンに対して期待していることはありますか?
Emilio: 統計では日本にも多くのGodotユーザーがいることが分かっていますが、コントリビューターは少ないのが現状です。おそらく、Godotのイベントがヨーロッパ中心なのが一因でしょう。
だからこそ、公式ウェブサイトの日本語化を進めるほかに、日本の「Godot Meetup Tokyo 」やCEDECなどの技術イベントに積極的に参加して、直接対話する機会を増やすことが重要 だと考えています。こうした草の根の活動からコミュニティが活性化し、より多くの日本の開発者にコントリビューターとして参加していただけることを願っています。
実現は簡単ではありませんが、将来的には日本でもGodotCon (※)を開催したいと考えています。それはとてもクールな体験になると思いますし、日本のGodotコミュニティを結束させることにもつながるはずです。
※ Godotのユーザーコミュニティが集まり知見を共有する、Godot Foundation主催のカンファレンス
何より、私たちは長い間貢献し続けてくれているトカゲさんに感謝しています。コントリビューションやブログ記事の執筆を通して、アニメーションチームのために色々なことをしてくれました。たったひとりでこれだけのことをしてくれるのは、普通ではないと理解しています。
グローバルコミュニティと日本コミュニティの連携強化に期待 Clay: 日本のコミュニティが世界のGodotコミュニティとより密接に交流していく様子を見られることは、私たちにとっても大きな喜びです。そのための支援は惜しまないつもりです。より多くの日本人ユーザーが専門知識を持ち寄って、フィードバックを提供していただけると非常にうれしいです。
私たちも、日本の開発者からのフィードバックが今よりもっと重要に扱われるよう、橋渡しをしていく必要がありますね。
Darin: 本当に重要なポイントは、日本の人々が「Godotは自分たちのエンジンだ」と心から感じること だと思います。自分たちのエンジンだからこそ、アイデア、知識、そして情熱を積極的に共有したいと思えるのです。
日本とのつながりを強めていくうえでは、日本の開発者からの生の声が不可欠です。私たちはもっと日本の開発現場のリアルなニーズや要望を取り入れたいと考えています。
そして、Godotを使った素晴らしいゲーム作品を生み出すことも同様に重要です。よりクリエイティブで優れたゲームが作られるほど、Godotへの関心も高まります。ですから、Godotで開発された日本の革新的なゲームを世界に紹介するためであれば、私たちはできる限りのサポートを提供したいと考えています。
トカゲ: 日本コミュニティがだんだん活発になってきているのは感じています。Saitos さんが運営されている「Godot Japan User Community 」などのおかげで、バグ報告がフォーラムチャンネルに投稿されたり、コントリビュートチャンネルでの技術議論が活発になったりと、実際にコントリビュートする人も着実に増えています。ただ、まだまだ個人の自発的な活動に依存している側面が強いように思いますね。
コントリビューターを増やすために、GitHubにあるGodotリポジトリの「Good First Issue 」ラベルを活用するのが重要だと考えています。ですので、対応が簡単そうなIssueに積極的に付けるようにしています。
初心者のコントリビューションに対してレビューすることも前向きに検討しています。非公式ではありますが、Godotの開発における優先度の高いタスクリストを紹介するほか、日本語でのコードレビューも行うので、もしコントリビューションに興味をお持ちの方はぜひお気軽に相談してください。
――本日はありがとうございました!
大阪生まれ大阪育ちのフリーライター。イベントやeスポーツシーンを取材したり懐ゲー回顧記事をコソコソ作ったり、時には大会にキャスターとして出演したりと、ゲーム周りで幅広く活動中。
ゲームとスポーツ観戦を趣味に、日々ゲームをクリアしては「このゲームの何が自分に刺さったんだろう」と考察してはニヤニヤしている。
Godot Foundation 公式サイト W4 Games 公式サイト