this post was submitted on 07 Feb 2025
554 points (98.6% liked)

Gaming

20601 readers
474 users here now

Sub for any gaming related content!

Rules:

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] JustAnotherKay@lemmy.world 1 points 9 hours ago

Complexity being added at updating also feels wrong to me. Let me pseudo code some rust (just the language I know best off the top of my head right now) at you, cause it feels like maybe I'm just not understanding something that's making this seem easier than it is.

Enum Game_State
    Paused
    Paused_Saved
    Running
    Loading
    Exit
 
///Technically you could make Menu() part of the enum but I'd probably leave it elsewhere

Match Game_State
    Paused => Menu()
    Paused_Saved => Menu()
    Running => Main_Loop()
    Exit => Exit()

And then your other functions always return a game_state. You're right that adding that return would be a huge undertaking if it's not handled in the initial building of the game, but it's a QoL for the user that's easily maintainable and is therefore worth doing IMO. But these two things, defining the possible game states and then always routing decisions through that game state, makes this kind of feature relatively doable