I’ve extracted from the GameState the following classes:

  • Strings: Helper class for commonly used strings in dialog.
  • VoiceBanks: Class for loading voice banks for each character.
  • Transitions: Helper class for triggering transitions.

What’s left in the GameState are the timers. It would be nice to save the timer values as a float in the GameState so that I can create save games easily, but this feels like work I could do later once we know that we actually would like to have save games.

The GameState feels a lot more manageable now, so I’m pretty happy with these changes.