The following contains spoilers for The Northman, now playing in theaters.

Robert Eggers' The Northman is receiving accolades and acclaim from critics and audiences alike. It follows a familiar enough story -- it's based on the Norse myth of Amleth, the same story that William Shakespeare took inspiration from when creating his classic tragedy Hamlet -- but the stellar cast, unabashedly dark tone and interesting ties to mythology and history have struck a chord with many viewers. One of the biggest differences between The Northman and its predecessors is the way it portrays its female characters, especially the prince's love interest: Shakespeare's Hamlet woos the lady Ophelia then drives her mad, whereas Eggers' Amleth (Alexander Skarsgard) is drawn to and collaborates with fellow slave and powerful witch Olga (Anya Taylor-Joy).

While Ophelia is a classic character who has drawn sympathy from audiences for centuries, she doesn't play a particularly active role in her own story. Newer interpretations of the Hamlet story, such as Lisa Klein's novel Ophelia and the 2018 film it inspired (starring Daisy Ridley in the titular role), try to give the heroine some agency to mixed results, but she's still a victim of circumstance. Olga, on the other hand, starts in an even grimmer place but claws her way to a semi-happy ending in the film.

RELATED: The Northman's Gory Ending, Explained

The original Amleth myth differs from Shakespeare's story and The Northman in a few key ways. Young Amleth witnessed his uncle's treachery as he did in the film, but instead of escaping and returning for vengeance in his adulthood, he remained at court and played at being mad. According to Medievalists.net, "The logic is probably that a fool cannot be subjected to judicial violence as an ordinary person is... Moreover, a fool will not be considered as a threat to the throne... being an imbecile, [Amleth] would be even worse a ruler than a murderer." The Ophelia character (who's not even given a name) is told to seduce him and prove that his madness is a ruse, but he instead seduces her.

Daisy Ridley as Ophelia in Ophelia

In Shakespeare's play, Hamlet begins to feign madness after learning that his uncle Claudius was the one who murdered his father. Ophelia is eventually sent to learn the truth, as in the original myth, but the difference here is that her relationship with Hamlet is already established. The prince seems to be pursuing her romantically, and she happily reciprocates his affections; the main complication, before Claudius' usurpation, is that Ophelia is of lower social standing. Her father is shown to be an opportunistic social climber, as opposed to someone who was born into nobility, and he tries to take advantage of his daughter's connection to the prince. Klein's version of the story elaborates on this, showing that Ophelia is somewhat of an outcast among her fellow ladies because of her lower birth.

RELATED: The Northman Enthralls with Violent Action & Shakespearean Epic

Klein's Ophelia also elaborates on what many productions of Hamlet have assumed or implied: Hamlet and Ophelia did, in fact, consummate their romance and married in secret before Hamlet embarked on his quest for revenge. When she was ordered to seduce him, they were already romantically involved, and the whole scene was an elaborate act. Ophelia suggests that Ophelia's own bout of insanity and subsequent drowning were also faked, allowing her to escape the country and flee to safety; she knows of poisons and potions and the like because of her relationship with Mechtild, a witch/herbalist sometimes employed by Queen Gertrude, though this (like many of the relationships and plot points) is more developed in the novel than the film. She also bears Hamlet's child: in the book a boy, in the film a girl.

Alexander Skarsgard as Amleth and Anya Taylor-Joy as Olga in The Northman

The Northman's Olga takes this a step farther: she's explicitly a witch in her own right. When Amleth first sees her, she's comforting another captured Slavic woman with whispers and herbal remedies. She's of the lowest class possible: a foreign prisoner captured by Viking warriors and sold in slavery to Fjolnir (Claes Bang), who happens to be Amleth's murderous uncle. Amleth soon confesses his plan to her: he's posing as a slave in order to get close enough to Fjolnir to kill him, after which he'll rescue his mother Gudrun (Nicole Kidman) from his grasp. Olga is happy to help him with his plan, brewing potions to aid him; she also stands up to Fjolnir independently, fighting back when he tries to sleep with her and when he threatens to kill her.

RELATED: The Northman Is the Darkest Batman Story Ever - No, Seriously

Olga and Amleth have a genuine connection, which is more than can be said of Ophelia and Hamlet as they're written. Some productions have attempted to build up their romance, but it often comes off like Hamlet is using Ophelia. That can't be said of Olga and Amleth: they communicate and have mutual respect for each other, and Amleth actively protects Olga more than once. Olga actually tells Amleth that she's pregnant, unlike Ophelia and Hamlet, though this leads to Amleth going back to finish his vengeance to protect his unborn children (who would have a claim to his father's throne and would therefore be in danger).

The Northman's Olga and Amleth don't end up together, but Olga does survive. Amleth jumps off of the boat that they escape on to go back and fight Fjolnir, despite her protesting, but in a subversion of Hamlet, she calls on the spirits to guide her across the water safely. She appears in a vision to Amleth as he's dying and assures him that their children (one boy and one girl; the girl is destined to be a king) are healthy, as is she. It's bittersweet, but it's still a happier ending than most Ophelia figures get, and it's something she actively worked for.

To see Olga's fate unfold, The Northman is now in theaters.