Why Baldur’s Gate 3 is a masterclass in game writing

After 140 hours of playtime, I’ve been blown away by the writing in Baldur’s Gate 3. Alongside The Last of Us and Disco Elysium, it stands as one the best written games I’ve ever played. But you might not realise that there are some fairly sophisticated literary and screenwriting techniques at play in Baldur’s Gate 3, and I wanted to break these down so you know why it’s so good, and maybe even take these away to your own game writing.

Now we’ve got rid of all the people who haven’t played the game, I’m going to start with the big picture stuff, and then work down to the writing on a more granular level.


All stories reflect the moral arc

In looking at the game as a whole, everything in the narrative serves the moral arc of the story. This is a concept that comes from ancient theatre, but has been elaborated on in more recent screenwriting advice, including John Truby’s Anatomy of Story. In it, he argues everything should serve the moral argument of the story.

And here it does. In Baldur’s Gate 3, everything from the most basic NPC dialogue to the major character arcs illustrates the theme of freedom from tyranny. Many of the side quests reflect this, whether it’s freedom from an abusive past (Astarion), freedom from religious oppression (Shadowheart, Lae’zel), freedom from captivity (rescuing the gnomes and tieflings), or freedom from a devil’s pact (Wyll, Raphael). Or in the case of Gale, freedom from your ex-girlfriend.

Likewise, so-called ‘evil’ choices would see you oppose this moral arc. Evil choices favour captivity and systems of oppression instead of liberation. The game ends with you either as the liberator of Baldur’s Gate or the enforcer of tyranny through the Absolute, thus completing the moral arc of the story in a satisfying way. Which leads to an important point…


Baldur’s Gate 3 fulfils the contract with the player

Fulfilling the contract with the player is a matter stating upfront what the story will do and how it will meet the expectations of the genre. Baldur’s Gate 3 promises a game where you can be the hero of your own story. We know this because of the legacy of previous Baldur’s Gate games, and the heritage of Dungeons & Dragons. It does exactly what it says on the box and commits wholeheartedly to its roots as a fantasy roleplaying game.

But the game also fulfils the contract with the player on a character level. The best example of this is in Lae’zel’s character arc. About half-way through the game I texted a friend, saying “If this game doesn’t end with Lae’zel riding a big red dragon into the sunset, I’m going to be disappointed.” Why? Because the game had set this ending up from the start.

Lae’zel spends the whole first act declaring ‘I will ascend’. As her journey transforms, she realises that ascension and her faith in the lich queen Vlaakith is a lie. But even though this low-point seemed so far from the ending I expected, I wasn’t disappointed.

Depending on your choices, Lae’zel ends the game by launching into the air on a big red dragon as the liberator of her people. She does exactly what the game promised at the start: she ascends. It’s so satisfying because it delivers what was promised in a way that was unexpected.

And you know it’s an incredible game, when even the save screens reinforce this promise.


The thing the characters want is not what they need

One reason we’re so drawn to Baldur’s Gate 3 are these complex character arcs. One only needs to deep dive into Reddit to find thousands of posts outlining Astarion’s psychology and what the ‘right’ choices are regarding his story arc. Putting aside the false notion that there are ‘good’ and ‘bad’ choices in a video game, both Astarion and Shadowheart’s story arcs reflect this complexity that the thing they want is not what they need.

Characters need to verbalise their wants and desires

From a writing perspective, a character needs to verbalise their wants and desires in order to create motivation in the story. As players, we want to know why these characters are the way they are. But combined with the voice acting and dice rolls into perception, detect thoughts, and tadpole psychic mind powers, there’s a level of doubt imbued into these wants that causes the player to reflect on the choices before them.

Shadowheart has one of the biggest narrative choices in the game, in deciding to fulfil her ambition of becoming a Dark Justiciar by killing the Nightsong or turning her back on Shar by saving Dame Aylin. It’s a big choice, and not without hours of buildup learning about Shadowheart’s mysterious past, in which she verbally expresses her deep desire to become a Dark Justiciar.

This is also why I’ll remember it as one of the greatest moments in video gaming. I’ve never encountered a moment where so much rides on a single decision, or what felt like an ever-failing Persuasion roll. Inspiration! INSPIRATION! DROP THAT SPEAR SHADOWHEART!

Because the further you dig into her backstory, you realise that Shadowheart doesn’t actually want this, she’s only been indoctrinated to want this.

The same goes for Astarion’s choice to replace his former master Cazador and become a vampire ascendant. The cost? A mere 7000 souls of vampire spawn. But digging deeper into his choices, becoming all-powerful is a protection mechanism against the abuse he’s suffered. And what’s really tragic, is that ascending reinforces this cycle of abuse. In fact, persuading him not to ascend is about convincing him about becoming the person he secretly wants to be.

Force a character’s desires to come in conflict with their needs

Having a character’s desires come into conflict with their needs is one of the best ways to create complex characters in a story. It’s also made more challenging in writing for games, because both choices need to be valid. And that’s one of the beautiful things about Baldur’s Gate 3. You aren’t punished if you decide to roleplay a tragedy or a redemption arc, or simply fail a roll. The story is just as rich and deep on the other side of the coin.

What’s really interesting here is that you can also let the characters choose for themselves. And their choices depend on how you’ve been roleplaying, making for really complex and deep storytelling (not to mention thinking about how they track all those branching narratives in the back end).


But why do I care so much about these characters?

But why are we so attached to this ragtag group of adventurers? Why, by the end of Baldur’s Gate 3, was I sobbing like a baby?

Hooks in gaming

There’s a few reasons for this. The first is, each character has a hook to draw the player into their backstory. It’s a question that’s posed by their introduction, that players have a desire to answer, the answers to which are uncovered over the entire game.

After rescuing (or not rescuing) Shadowheart, she is mysterious and oblique about her past (which means we want to know more). When we first meet Gale, he’s trapped in a magic portal, a symbol of his larger story. It’s not long before we start asking questions about his magic addiction. Wyll promises that Karlach is a terrifying demon, but we’re hooked by the fact she’s the opposite of what’s expected. And Astarion, well, he’s basically a hook, line and sinker.

Create characters with universal empathies

Once the player is hooked, they begin to empathise with these characters through shared universal experiences. Hopefully, none of us have sold our souls to the devil, but we can certainly appreciate doing things to appease our parents, which is why Wyll’s story hits a little too close to home. Or having crappy bosses, like Karlach’s literal boss from hell.

It’s also important to note that creating empathy for your characters doesn’t make them likeable or good. One of the best written villains in Baldur’s Gate 3 is Ketheric Thorm, who is driven to serve the Absolute through the loss of his family. As players, we understand why he does what he does through empathy, even though we’re going to respectfully blast him into brain juice.

Looking for approval

We’re also hard-wired as humans to seek approval, so any time that little ‘Astarion approves’ beacon flashes up, we’re rewarded with a ping of dopamine. And any time he disapproves, we die a little inside.


Sophisticated language

Finally, on a granular level, Baldur’s Gate 3’s dialogue shows a high level of sophistication and finesse. It’s precise in what it needs to communicate, and every line feels like it’s weighted with meaning. Each character speaks with their own linguistic patterns – whether it’s Gale giving an intellectual treatise on magic or Minsc explaining the intricacies of a space hamster or Karlach shouting ‘Fuck yeah’. This detail extends to minor NPCs, and they’re utilised to both build the richness of the world, and foreshadow what comes next.

You don’t write like this on a first draft and you don’t write like this without detailed planning, especially around characterisation and the overarching narrative. There’s clearly been an intense process of refinement over the years of the game’s development, with multiple people involved in these revisions. And it’s also a reason not to be too intimidated if you’re a solo writer – this is a game made by a team, not by an individual.

Subtext in dialogue

One of the most impressive markers of this sophisticated writing is in conveying subtext. It’s hard to do, it requires a lot of skill, and I’ve never seen it done better in a video game than Baldur’s Gate 3. Subtext occurs when the characters say one thing but do another, creating two layers of meaning. It’s when the thing is not about the thing, but about a larger thing, without being explicitly about the thing.

Act 3’s carnival scene had a mind-blowing moment, where you’re face to face with your love interest and asked questions to see how well you know them. With Astarion, I answered these questions honestly – after getting to know him, I knew he valued his freedom. But I got the dreaded Astarion Disapproves message. What I hadn’t realised is that in being a charlatan with trust issues, the last thing Astarion wants is his past history shared to strangers.

Answering these questions “correctly” to seek his approval is to know him well enough to deflect them. We know Astarion’s greatest fear is “Forever feeling like a slave to someone else,” but the answer which continues his protective persona is to “break a nail”.

And that, my friends, is an incredible display of subtext at work.


Storytelling is embedded in every aspect of the game

Perhaps what’s most impressive about Baldur’s Gate 3 is that storytelling isn’t an afterthought. This is a game which has story deeply embedded in its building blocks. It’s something that other, larger game developers could learn from. It’s not enough to tack a story on a cool mechanic, or to demand the narrative designers come up with a justification after the fact.

This is a game where everything works in perfect concert – from the visual design to the gameplay itself. You can find story everywhere you look. In the inventory description of the Poo-Scraper. In the soaring notes of Raphael’s Final Act. In picking Nine Fingers’ pockets. Even in the load screen – I see you Balduran…

I could go on for hours about why the writing in Baldur’s Gate 3 is so good, but I’m going to leave it there. This game is one of the few that changed me as a writer. Where I came out shattered from The Last of Us, having learned so much from that game about creating consistent characters in storytelling, I came out the end of Baldur’s Gate 3 having the opposite kind of breakage – that of bittersweet joy spilling over. It made me want to write something just as beautiful. I hope this breakdown of the game’s writing techniques inspires you to write as well.