Godot Version
Godot 4.3
Question
How to manage overworld in a traditional RPG with a battle scene separate from the overworld - specifically how to pause the overworld so that player and entity positions are saved and don’t move while battling
I’ve come to the Godot wizards for advice on how to pause an overworld while maintaining its data and state. I have 3 methods in mind that I am trying to implement and would like to know if anyone has any tips doing either
Method 1 - pause Overworld with processing mode
This wouldn’t be the whole tree, just the overworld scene, and would play the battle scene then queue_free itself and unpause the overworld in some kind of battle_scene_end() func
Method 2 - orphan the overworld and re add later
I’ve read that the tree won’t propagate process to orphaned nodes. In my head this means I can have a script orphan and save the overworld node while instantiating the battle scene, then re add the overworld back into the game after the battle scene is over
Method 3 - save the current state of overworld to a file, and reload it after the battle scene
This is the one I know the least about, I haven’t gotten to saves and reading files in Godot yet - but it seems straightforward. Save the overworld scene (or data related to the overworld such as player position) and then reload that save after the battle scene.
Closing remarks
This post is part of the research for this feature, hopefully you can point me in the direction of better resources.