Okay, as an utter neophyte in terms of game design/code structure, I'm intrigued: how do people tend to structure the flow of their game code?
For example, if I'm building a real-time pausable game (DF-fortress-mode stylee), various things I might want to happen are:
1) Some sort of title screen upon loading the game, with options for new/load/quit/etc.
2a) The ability to create a new game.
2b) The ability to load a previous game.
3) After 2a or 2b, the ability to play said game.
4) In game, the ability to accept player input and react to that.
5) The game to progress dependent on a particular time setting e.g. paused, slow, normal, fast.
6) Potentially, the ability for a 'popup' window to be displayed, and for that window to be interacted with (move it around, click 'OK', etc).
I'm struggling with a number of these. 1 is relatively straightforward, 2a and 2b could presumably simply be different ways of creating/initiating a 'Game' class, 4 is simple enough to check in the main loop of the 'Game' class...
...5 puzzles me a little bit. 6 puzzles me a lot. If I'm running a main loop that checks player input and processes the game, then if I've got a popup window appearing then I want to game to cease proceeding, but still be checking for player input. How does that tend to work structurally? Instancing a separate 'popup' class with its own processing loop? Switching 'Game' itself into a state that says "you're dealing with a popup, wait until you're told it's gone before proceeding"?
The world seems lacking in materials for game development that's higher than "Hello World" but lower than "Here's the entire codebase of a twelve-year-old heavily-developed roguelike, get to work".
