LibGodot
24 February, 2026 - Tags: TIL, game dev, Godot
最近 Godot release 了 4.6 版,因為看到 DC 有發布 release note 所以我就翻看看有沒有什麼有趣的更新。其中我特別感興趣的是 LibGodot,根據 PR 的內容,它允許我們把透過 godot 建構的遊戲編譯成一個 library,所以我們就可以把它嵌入到別的 app 當中,透過 C 程式碼去控制這個 godot 遊戲的 lifecycle。它的 API 長得類似這樣: [1]
int main(int argc, char **argv) {
LibGodot libgodot;
// ...
godot::GodotInstance *instance = libgodot.create_godot_instance(argvs.size(), argvs.data());
if (instance == nullptr) {
fprintf(stderr, "Error creating Godot instance\n");
return EXIT_FAILURE;
}
instance->start();
while (!instance->iteration()) {}
libgodot.destroy_godot_instance(instance);
return EXIT_SUCCESS;
}
不過目前這個機制還只有著重在管理 godot 遊戲的 lifecycle,它還是使用獨立的視窗,沒有辦法自由的把遊戲畫面嵌入到某個 host application 擁有的 texture 中,我覺得多少限制了他的用途,根據作者開的原始 PR,這應該會是 future work,目前只有在 iOS 可以做到。