DEVLOG 2023-12-02

This week have seen slow progress as I recover from some minor health problems, nothing to worry about but prevented me to have any focus for several days.

When I could, I focused on the architecture of how to make the C++ side of the project would “drive” the “view” side in Godot related code. I’m going back and forth with the details and approaches as this is quite a difficult and complicated problem to solve, with a balance of simplicity vs flexibilty to make reasonably … balanced. Keep in mind that the goal is to have the C++ code tell the view-side what to do but not in too much details, just enough that changing the view implementation is not a major roadblock (although doing so would still mean major halt in progress, that’s inevitable). I’m not yet done with this but I think I have figured out a general approach but I still need to finish experimenting with it to be sure, maybe I’ll talk about that next week.

Few days ago Godot 4.2 was finally released, which provides the very-welcome hot-reloading system for GDExtensions on which I rely (I’ve used self-built and alpha/beta versions for months now to be able to play with it and help debug it). I did the work to upgrade the whole project (including my build2 package of godot-cpp) to use v4.2 . So far no problem except one potential bug I’m discussing with the GDExtension implementers, which I’ll probably have to help fix myself (something related to inheritance in C++). That bug is not blockign my progress as I found a workaround almost immediately, so no worries on that side.

I also did some attempt to have some scripts automatically install Godot in the project, but that didnt go well for some obscure reason and it’s a “warm-up” task so I didnt bother going far with that. It would be nice for it to work because that would allow me to add some tooling commands (using build2) that would know which Godot binary to use exactly.

As for the spatial structure of the game, a general strategy is taking shape (mostly ECS-like, as discussed before), although I coudlnt progress on the actual code this week but that’s the focus I will take as soon as I’m done making sure the previous points are done.

Leave a comment

Log in with to leave a comment.