I’ve weighed in on this topic before in other threads, but I might as well do so again. In my opinion, “bad endings” are a useful storytelling tool, but only when they’re used correctly.
Note that I’m speaking independent of tragic endings here. Though I try to write my bad endings as if they were the ends to tragic story arcs, and I have written full-fledged tragic endings before, I obviously can’t put the same kind of attention into the former as I do the latter, especially considering how many bad endings I’ve written over the years.
First of all, some stories lend themselves better to having bad endings than others. Guns of Infinity is mostly a war story, and one which tries to portray the level of destruction armed conflict can inflict as honestly and as forthrightly as possible. If I decide that there are no bad endings in a story like this that while your main character can kill the designated enemy with impunity, they themselves are invincible, I am not fulfilling my storytelling objectives. In fact, I would go as far to say that any story attempting to tell a “serious” story about events or endeavours which regularly maim and kill their participants without exposing the player character to those same risks is being disrespectful to the source material at hand.
In real armed conflicts, people do not usually get back up after they’ve been shot in the head. To wave away that risk and the fear it brings is to gravely undercut any real credibility a narrative might have when it comes to commenting on such things.
But of course, some stories are power fantasies, or at least enough of power fantasies to make verisimilitude subordinate to the edification of the player and their desires, which isn’t necessarily a bad thing. In this case, an abrupt game over may be an efficient way of handing a player a suboptimal outcome to their decisions, but it usually isn’t the best one, since it definitively stops the player from achieving their long-term goal within the narrative. In these cases, it’s usually better to hand the player a temporary setback which allows them to adapt, recover, find their feet again, and feel all the more brave, clever, and resilient for making it to the end.
By way of comparison, Guns of Infinity has nearly fifty possible bad ends. The Cryptkeepers of Hallowford has one.
What’s just as important is how these bad endings are contextualised. In my opinion, a bad ending has to be “fair”, which is to say that an attentive player going in on their first playthrough must be able to make the decisions which lead to that bad ending with the understanding that they are choosing options which may very likely lead to a game over. This is the difference between a player realising that they’ve made a terrible mistake before they read the words, and the player running into a seemingly arbitrary wall.
The second thing to consider is how to respect the player’s time and effort. If the player spends three or four hours getting to a point in a story only to get stabbed in the gut, you want to avoid kicking them all the way back to the beginning, so they can make the same decisions over and over again so they can make a slightly different decision at the very end. At that point, most people would simply give up and do something else. If you’re going to repeatedly kick the player out of the narrative by giving them a bad end or a game over, the least you could do is add a checkpoint system to make sure they don’t have to redo the whole story to get to the point where they messed up.
A lot of this stuff I learned the hard way. The Hero of Kendrickstone didn’t have a checkpoint system, and also had an extremely lethal endgame. Sometimes I wonder how many people ended up getting frustrated and ragequitting in the last chapter.

