The Dark souls series on the other hand does it differently. Any character (as far as I am aware) can be killed. People who are essential for you success can be gone from the game (note: using their ghosts is an option but a costly one in my mind). So here, the player is fully to blame for all his choices. You walk into a new area and you see a big scary guy over in the distance. You decide; is he friendly? is he an enemy? do you approach and try attacking? do you try to snipe him? The moment you realized you killed a potential seller, or a blacksmith or missed out on some lore, I feel is exactly what Spec ops wants to do to you. You, the player, decided to act in violence where none was warranted and now you must face the consequences for you ignorance.
I killed Gavlan. Gavlan is the one vendor who you can sell your items to. Gavlan is the one vendor who does not have a ghost available. I had a sad once I realised that giant axe wielder, peeking out of a ragged building full of black hatred on legs, was not in fact the hidden enemy that another player's message had warned me about... FROM A SNIPING SPOT.
I worked to save my own life at zero risk, and removed the life of someone who could've helped me immensely. With no undo button, in the first game in the franchise to offer an undo button. That, son, is how you present moral choice.
Spec Ops' power in storytelling was nothing about choice. It was the slow descent into madness of the character played by Nolan North. The finishing moves in Spec change through the game. He basically starts to giggle and enjoy putting a shotgun to the body of a downed enemy. You might not do that, but whether you do or not doesn't impact the protagonist's state of mind that every murder has become an accomplishment, and his enemies are afraid of his brutality. Like in Uncharted, you don't get to run away and progress. Those fuckers are between you and the checkpoint, and they gotta go.