Using Scenes as Game States

I have a gamestate manager that isn’t using scenes, it just turns off and on different UI and input options, but I’m reading that most people use different scenes for different input states.

I’ve been reluctant to put more than one scene in my game because it seems harder to work with. For example, let’s say you want the same instance of an object in two scenes? How do you do that? In my case I have a game board that must carry through between two input states. How do I keep my gameboard when the game advances to a new phase?

What is the difference between the two “phases”? As far as I’m concerned if the objects in the scene aren’t changing there’s no need to change scenes.

So scene changes are used when ‘all’ of the objects are different correct? In my case you have a game board where the first phase is for the players to stake out their territory, and the second phase is to actually play the game. I guess I’m probably doing it right to just keep things in the same scene.

It could work either way, but it depends how complex the changes are. There’s no hard-and-fast rule about making a new scene. Especially when it comes to Additive scenes (which you probably do not require, but are worth reading about)

You don’t really want one massive scene because it would be an organizational nightmare, but if keeping a pre-game menu and the game itself in one scene makes sense to you, then one scene works fine. Sometimes it’s just easier with one scene because you don’t have to worry about data loss on scene load, or additional load screens.

I could see your use case working with either setup. Either you have a pre-game scene where the players stake territory, and that data gets saved somewhere that won’t be lost on load. Then you load the game scene and access that data for the actual gameplay.

Or you do both those things in the same scene, with only a slight downside of coupling the two phases together.

By coupling I mean, if there’s ever a time you want to load the game but not the territory menu, you’ll have to code that at the start of the scene to not show the menu instead of just loading a different scene before loading the game.

I hope that all made sense. There are pros and cons to both.

One scene - simpler to work with and think about, but everything in the scene loads together every time.

Multiple scenes - more modular, but data is lost on load unless you handle it, and more load screens for the user (unless loading additive)

Personally I would have them in the same scene since they seem to always happen together.