Related: What to do when a player character does something that seems suicidal? and How can DMs effectively telegraph specific dangers in D&D?
I like playing sandbox-style RPGs (whether pen and paper or computer), so when I GM that's the style of game I run. However, I find myself far too eager to kill off characters.
I will invent some plot of the form, "Things in this area work this and this way," then I let the characters loose in the world. They often miss the clues I expect them to find about key dangers. (Dangers such as: antagonists can be unknown to them, such when an assassin who seems innocent until it's too late; a deadly trap that is regularly maintained so that it doesn't have skeletons giving it away; and so on.) Because of this, the PCs often stumble into significant dangers completely unwitting and unprepared and get killed. I think my players are getting frustrated when a character dies suddenly and they never know why.
A good example is the aforementioned assassin. This NPC assassin had made his risk calculations, done the necessary background research on the group, prepared appropriate equipment, designed and rehearsed the ambush, prepared multiple contingency plans, and had made remaining undetected a high priority in the ambush plan. As a result, the target PC gets a crossbow bolt in the throat and nobody ever spots the assassin.
One thing I know I should do more of is to better explain the dangers of the setting to the players. I know I should, but how to do that effectively is a skill acquired from GMing practice and studying the genre, so knowing I need to improve that doesn't immediately help.
I've considered changing the game genre/tone to something more heroic and fetch-quest-like: "You are heroes and clearly above normal people. In the pub, a villager asks your group to go to the river and bring a bucket of water for his sick mother. He has no time for such a quest, as he has to plough his land". That's not a very satisfying or believable sort of game for me, though.
Maybe I should talk to the players outside of the game and make it clear that "dangerous things are dangerous!!!" but I would have thought that all the dead PCs and NPCs would have already made that clear.
What else can I do to reduce player character mortality, while retaining as much of the tone of realism, consequences for choices*, and player autonomy as possible?
* An by consequences I mean, for example, if one kills a cop in our own world the chance of continuing to live a free life are pretty slim. The players should be free to choose such risky actions, but should also have some way of knowing that it is risky.