For people coming from SW engineering background thinking in terms of MVC is natural.
For many types of games there are clear benefits to separating [logical] game state from what is displayed on-screen (e.g. board games, various strategy games etc.)
I want to decouple state of my game from displayed objects/nodes. In fact, structure of my game state does not have to mirror the structure of what is on-screen. I don't want to distribute my game state among various (displayable) nodes. It should sit in one place where it can be easily manipulated and tweaked. What remains then is to communicate between the on-screen UI and core game logic that manipulates the state. This way I can evolve UI separately from game logic. Call it MVC or not, for SOME games it's just better.
Godot documentation largely ignores this problem and I did not find any good tutorials on how to do this.
Has anyone done this in practice and can share insights or found any good resources?
BONUS question is - given that, how to elegantly implement a save/restore functionality. Looks like the currently supported "Persist objects" scheme is rather simple and node-oriented - saving/loading complex nested/linked data structures might have to be built from scratch.