Your job is to make it as hard as possible for the player to finish your game without understanding your story. [...]
This means that the player must encounter, and ideally make use of, every critical piece of information in the story. “Encounter” might mean “read on screen” or “hear in dialogue” or “see in a cut scene,” but encountering information is much less valuable in an interactive context than using information. So it’s best if the player needs to act on each of those critical beats.To design for this, start by identifying critical beats. What are the facts the reader has to know in order to understand this story?This is a subset, probably a very small subset, of all the facts the reader could know. Many world-building details and secondary character motivations can probably be omitted without ruining the experience. But if your story’s impact depends on the player learning the protagonist’s secret motives, then that information is vital. [...]
Figure out which information is vital. Make a list. Be honest with yourself and keep the list as short as possible. [...]Once you have your list of vital data, figure out dependencies. Which facts depend on other facts to make sense? Which facts have the greatest impact if they come after other facts? If learning the protagonist’s secret motive is more effective after we see them commit a crime, that provides a motivation for ordering. Turn your list into a dependency chart.