Godotで作った2D/3DゲームがPi500やPi400で動く?
前にも少しふれましたがGodotで作った3DゲームがRaspberry Pi 500で動くとの情報がありましたので試してみることにしました。
Godotは様々なプラットフォーム向けの2D/3Dゲームが作成できるゲームエンジンです。
日本ではゲームエンジンとしてはUnityがメジャーですが、海外ではGodotもかなり利用されているようです。MITライセンスなので作成したゲームは商用・無料かかわらず自由に扱うことができます。
Godotの開発ツールはダウンロードしたバイナリファイルを実行するだけなのでインストールすら必要なく初心者でも簡単に利用することが出来ます。開発言語はPythonとほぼ同じGDScript(C#やC++なども使える)となっており、手軽に始められそうなところも初心者に優しい仕様となっていますね。
これまでGodotで開発したことはなかったので、これを機にGodotを使ってみることにしました。開発プラットフォームも様々なものが選べますが、今回はとてもユーザーフレンドリーで使いやすいZorin OS(UbuntuベースのLinux)を新規にインストールしてそこにGodotを導入しました。

GodotのIDEには「アセットライブラリ」という項目があって、ここから公式サイトのサンプルプロジェクトをダウンロードすることができます。

この「アセットライブラリ」からRaspberry Piで動作させてみたいプロジェクトをいくつかダウンロードしてみました。






これらのプロジェクトはWindows、Linux、macOS、Android、Webブラウザと様々な環境向けにビルドできます。今回は64ビットのRaspberry Pi OSで動かすのでarm64 Linuxのバイナリを出力しました。

それでは出力したバイナリを動かしてみます。まずはRspberry Pi 500から。
2DタイプのゲームデモはPCと比べても遜色なくスムーズに動作しました。ジョイパッドによる操作を行っていたのですが、操作感もPCとまったく同じで遅延などもありません。BGMや効果音もちゃんと再生されています。


Raspberry Pi向けに2Dゲームを作るならGodotは強力な開発ツールになりますね。
続いて3Dゲームはどうでしょうか。まずは比較的軽いものから。

描画がもたつくこともなくスムーズに動きます。レスポンスもよく普通に遊べるレベルです。
次にもっと重そうな3Dで試すと、

これはスムーズに動きません。カクカクとコマ送りで描画されとてもゲームにはなりません。
3Dシューティングの方も、

タイトル画面から「PLAY」を選ぶと起動途中で止まってしまいました。このデモは描画条件を設定できるので、できるだけ3Dエフェクトを使わないようにして起動し直してみました。

とりあえずゲーム画面までは表示されましたが、ここで停止しました。

さすがに本格的な3Dゲームはまともに動かないようです。これらの3Dゲーム動作中や描画が停止している時にBGMは再生されていました。
Godotでゲームを作るときに高性能なデバイスからモバイルデバイスまで描画のレベルを選べるようになっているので、描画機能を低めに設定するとRaspberry Piでも余裕で動かせるような3Dゲームが作れるのかもしれません。
Pi 400の場合、2DゲームはPi 500同様にスムーズに動作して遅延などありませんでした。3Dゲームは一番軽いものはゲーム画面が表示された時点で停止してしまい、少し待っていると画面が書き換わります。重いものはゲームのメイン画面が表示される前に停止していました。
ところで、このPi 400ですがPi 500を衝動買いしてからセカンドPCとしての地位を追われ、今では無線LAN経由のリモートデスクトップで使われるPCとなっています。ところが最新のRaspberry Pi OSのWayland環境で動くxrdpはとてもレスポンスがよく、デスクトップでの使用と比べてもそんなに見劣りしません。
そこで、お遊びでリモートデスクトップから上記のGodotのバイナリを動かしてみたら意外な結果となりました。
動作環境はWindows11のリモートデスクトップクライアントで、1440x900の解像度、描画は2倍サイズとしています。

ここで2Dゲームを動かしてみたら、


とても高速に描画されゲームとして遊べます。ただしRDP経由ではジョイパッドが使えないのでキー入力の操作となり、ちょっと遊びにくいです。
3Dの方はというと、コンソールではほぼ停止していた軽めの3Dゲームデモが、キー入力のレスポンスが悪くてコマ落ち表示でしたが動きました。

他の重い3Dゲームは操作レスポンスが悪すぎてまともに動かせませんでしたが、表示だけはコマ落ちでカクカク動いていました。


無線LAN経由でこれほどの描画(ソフトウェアによる3D描画?)ができるとはPi 400も侮れませんね。
マウスだけで動かせるゲームだとちゃんと遊べるかもと思い試してみることに。
あの有名なゲームと同じように遊べるGodotで作った「スイカゲームもどき」をリモートデスクトップの中でブラウザを起動して遊んでみます。


普通に遊べます。Pi 400がすごいのかGodotがすごいのか分からなくなりましたが、ゲームを作ってみたいと思ったらGodotはゲーム開発ツールの有力候補になりますね。
