Exactly. There's way to do it, but it need to think about it and, more important, to know it before anything else.
One way to show that Joanna isn't happily married is to encounter her in a club fourth nights in a row. Then you've those two (poorly written lines):
"Still here Joanna ? I know this, long ago, when I was in a relationship myself, I hated the time when my girlfriend had to work far from the house."
"No, my husband is at home, I just wanted to have some fun."
You can say a lot by the behavior, the place/moment you encounter the character, and possible small reference at their past in the dialog. But for to achieve this, you need to know the whole background of the character before writing your first line of code.
And that where's the lack. Most of the authors aren't writers. They've an idea for a game, some knowledge for the CG and in coding, and they have a vague idea about a game: "There's this guy, he encounter this girl, then this one, and he fuck them both because of this."
What's the guy's past ? From where the girls come from ? What they do for living, where they live ? He have no idea, he just figure it out when the time come, if the time come.
You can see the difference in games that had a reboot, like "the gift reloaded" by example. The characters have more depth than in the original game, because the author have past so many hours thinking about them and, even if it's just in his own head, he now have a background for them.
At start he wanted to tell his idea, but in his head the idea became a story. So he restarted the game, and now he tell the story. And you can really feel the difference ; I don't slept this night because I wanted to go to the end of the last update, stuck by the story.
Oh, and you know what ? There's complain because now the mc isn't an asshole