Managing the state of an application/game/system is critical in providing a seamless experience. With that said, how do you manage your game state? My current solution has been folders of ValueBases (attributes would be the alternative in future projects) located in ReplicatedStorage and using numerous .Changed
events on those values, scattered throughout the code. This goes for the player state as well, using numerous ValueBases inside folders located in the Player. This makes reading the code much more difficult, with no central point to debug around my game state other than me poking around my explorer tree to see the current values (which doesn’t help me point to where I use this state).
While my current solution works and allows me to create a game, it just feels unorganized. I’d like to use a design/pattern where state management is simple and easy to control. So, how do you manage your game state?