For me, there are three major things that make a good story: good characters, a sensible plot, and payoffs. Good characters, in my opinion, should always stay in character throughout the story. They also need to be endearing and relatable. An exception to this rule are villains. Villains don't always need to be relatable or endearing, but sometimes it's better for them. A sensible plot means that the plot works when thinking logically. Things don't happen just for the sake of plot convenience, shock value, etc. The end of the story must have a good payoff. A good payoff is consistent with the themes of the story and with the personality of the character. Games can subvert expectations, but this is harder to execute properly.