Suppose your open world for now is a small farm with 3 crops: Tomatoes, Potatoes and Carrots, each of them will be shown on a different screen.
In this example, each object has 3 values. Random X Position, Random Y Position, and Size.
At the beginning of the game you create an empty Array for each of these objects. (X=0,Y=3)
Let's assume that every 1 second a Tomato is "born", every 2 seconds a Potato and every 3 a Carrot. All with initial size 1.
You create an event screen and write that:
Every 1 second, Add 1 to the ArrayTomates (X+1), and insert the other values in the Y positions of the Array (posX, posY, size)
Every 2 seconds, Add 1 to the Potatoes Array (X+1), and insert the other values in the Y positions of the Array (posX, posY, size)
Every 3 seconds, Add 1 to the Carrots Array (X+1), and insert the other values in the Y positions of the Array (posX, posY, size)
Furthermore, every 1 second, all these objects gain 1 in size.
When loading the scene, you will create the objects by reading the respective Array. If you are loading the Tomatoes screen, you are reading the Tomatoes Array. And it creates objects based on the number of lines that were added to the Array, the corresponding X and Y position and the size that is also there.
In this example, you could also set a different harvesting time for each type of object, which would give money when it reached a certain size and would "disappear" from the Array, giving way to another (the same thing that is done in idle games)
In other words, time in this case passes to all "screens", but you only create the objects in the scene that is active, but this does not prevent other elements from other scenes from evolving, understand?