見出し画像

Godotのプロジェクトがクラッシュしたので解決してみた。


ゲームエンジン「Godot Engine」のプロジェクトがクラッシュして開けなかったため対応したお話。
結論から言うと「グラフィックスAPI」なるものに問題があったっぽいです。


「さあゲーム開発やるぞ~!」
とGodotを起動してみたところ。

なんか出てきました。

このメッセージを読む限り、「リカバリーモード」なるものであれば一応はプロジェクトを開けるみたいです。
よかったよかった。とりあえずリカバリーモードで開いてみましょう。

が……ダメっ………!


通常モードでもリカバリーモードでも結局開けない。
これではゲーム開発できません。


頼みの綱はGemini。
というわけで画像を見せつつ相談してみると、「verbose」というコマンドを使って、コマンドプロンプトから原因を特定できるかもしれない。とのこと。

入力例:
"C:\Godot\Godot_v4.2.exe" --path "D:\MyGames\Game_Project" --editor --verbose

↑このパスの部分を自分のGodotとゲームのフォルダに置き換えて入力してみます。

実行結果を送ってみると、
ログが 「EditorTheme: Generating...」(エディタの見た目を作っている最中)で止まっているのが怪しいとのこと。
なるほど。(何もわかっていない顔)


そこからあれやこれやと修復作業をGeminiとしていたのですが。

「あれ?Cursorの方がフォルダそのまま見れるんだからこっちの方がよくね?」

と気づき、途中からCursorとやり取りをしました。
こういうとこですね(1敗)。


Cursorからはより具体的な調査個所が示されました。

その中のひとつ、Windows のイベントビューアを調べてみると、Godotを起動しようとした時間に毎回同じエラーが発生していることが判明。

これをCursorに投げてみたことで、原因がハッキリしました。


「結論:プロジェクトではなく AMD の Vulkan ドライバ(amdvlk64.dll)内でのクラッシュ」

とのことで、原因はAMDの「valkun」という機能にあったようです。



またかAMDアアアアアアアアアアアア!!!!!


答えによると

「AMDのVulkanドライバとGodotの相性問題は、古今東西の開拓者(開発者)たちを悩ませてきた悪名高き難所の一つ

とのことです。
おお……もう………


と、またしてもAMDにキレていたわけですが。
実はちょっと調べてみるとAMDは割と無罪っぽい…?

このVulkanというのは「グラフィックスAPI」というもので、AMDに限らずNvidiaやIntelなど、どのメーカーのGPUでも使えるものだそうです。

そもそもこのグラフィックスAPIというのは、
「人間とGPU(コンピューター)との言語を通訳してくれる存在」のようで。
通訳者だから、どの場所でも役立ってるわけです。

ただ、このVulkanというグラフィックスAPIは便利なんだけども気難しい。
かなりの正確さを求めて実行するため、ちょっとでも規格などがズレていると「ダメー!!」と言って今回のようにエラーを出してしまう。とのこと。


最終的な解決法としては
「Vulkanを避けて Direct3D 12(Windows標準の描画方式) で起動
という方法となりました。
このDirect3Dというのは融通が効くようで、多少のズレはよしなに調整して翻訳してくれるようです。

"(Godotのパス)" --path "(ゲームのフォルダのパス)" --editor --rendering-driver d3d12

というコマンドを打つとのことです。(何もわかってない顔)


これでDirect3D 12で起動できたので、あとはGodotエディタの「Renderer」という項目を「Compatibility」に変更。
こうしておくと、以後ずっと同じ設定でGodotを開くことができる。とのことです。
おかげで現在も何も問題なく起動できるようになりました。


無事に問題解決できてよかった。
とはいえ今後も何が起こるかわかったもんではございませんね。

ゲーム内の仕様実装だけでなく、ゲーム外のこうした問題もひとつずつクリアしながら進んでいきましょう。
こんなところに冒険要素いらないんですけどね。(半ギレ)


当ブログではどこまでも前向きなおかか容疑者が、「おもしろいもの」や「元気が出るもの」などを、できるだけ楽しくアナタと共有してまいります。
この記事がよかったら、スキ・フォローしていただけますと嬉しいです!
また、「ここが良かった」「ここが良くなかったけど全体的には良かった」「ここは理解できなかったけど他は良かった」などのコメントをいただけると大変喜びます!

ドット絵アニメーション作成をしておりますので、併せてご覧いただけますと幸いでございます!

いいなと思ったら応援しよう!

おかか容疑者 くそっ、貧乏だー!→noteを書く→noteを書く→記事が増える→チップがもらえる→チップを引き落とす→手数料が引かれる→note運営が喜ぶ チップを、送ろう。