Featured Blog

A Good Companion - balancing emotions and practicality when designing companion characters

A reflection on what makes good companion characters good in game design, and what makes them bad.

*Warning: contains spoilers for Shadow of the Colossus and Monument Valley*

What makes for a good companion character in a game?

In order to create an emotional bond with a game, developers turn to the idea of having the player-character accompanied by a second character. These characters can range from every clichéd archetype possible to fully developed three-dimensional characters. Yet despite the amount of personality and genuine characterisation developers instil their companion characters with, in the belief this will make the Player like them, more often than not the support character is at best forgettable, at worst a hindrance.

Agro the Horse (from Shadow of the Colossus) is the greatest companion in gaming. Okay, that’s a bold statement and many might disagree but let me explain where this comes from. From a storytelling perspective, in SotC the Player takes on the role of a swordsman seeking to bring a woman back to life by traversing a massive land and slaying mighty beasts. Agro is a natural addition to this story – the lone swordsman riding his loyal horse archetype. As consumers of stories we expect, understand and don’t question the addition of a horse in this kind of tale.

From a gameplay perspective, Agro’s function is to be ridden in order to quickly traverse the land (whilst searching for Colossi) and during battles with said Colossi. Agro doesn’t attack, heal or carry items for the player-character; he simply carries them at speed when they ask it of him. He doesn’t talk, deliver spiffy one-liners or tell you about his missing wife – except for the occasional neigh. He doesn’t get in the way of the action and always comes when called. Yet when Agro falls to his ‘death’ before the final Colossus encounter, I was genuinely stunned to tears.

Why did a horse form such an emotional bond where countless other companion characters have failed?

Let’s look at this from two angles: emotionally and practically. From an emotional perspective consider the organic story of SotC. In a vast, silent and mostly unmoving world, Agro is the only physical character the player interacts with on a benevolent basis. Ride into battle and Agro’s there. Call him and he’ll come no matter the terrain or distance. Wake up after defeating a Colossus and there he is waiting for you. Presence is one side of the companion character coin – by constantly being a part of our experience we grow used to them to the point that their absence hurts the emotional bond we might form with the them and the game.

This, in my opinion, isn’t all that’s needed to make a ‘good’ companion character. Just being there isn’t all that’s needed. Consider some of the more derided companion characters in gaming history such as Ashley in Resident Evil 4 or Natalya in GoldenEye 007. They spend plenty of time with the player and are often taken away from proceedings but chances are the overriding emotional response to losing them is relief. Why is this?

I believe the answer is simple: a good companion is useful.

Consider Agro: he enables the player to traverse the massive landscape of SotC – something that would be a labour if the player had to walk. He can be used during Colossus encounters to chase them or evade them – from a design perspective Agro is a substitute for the ability to dash or sprint around enemies. Compared to some other support characters Agro’s list of gameplay uses is pretty limited but they are perfect for the overall design of the game. There’s nothing unnecessary about him.

Referring back to Ashley and Natalya from the above examples, they provide the player with little to absolute zero use during the game through two different dynamics. Ashley is posited as the ‘helpless girl’ (symptomatic of the much larger issue of female characters in gaming but we’ll deal with that another time) in an attempt to bond the player to her as ‘Protector’. Because Ashley has been designed to be completely helpless the entire onus of protecting her falls to the player on top of defending themselves and completing objectives; as such I believe players grow to revile her as a hindrance rather than something worth fighting for – if it weren’t for the fact that Ashley’s death causes a game over I reckon many players would leave her behind.

Supporting characters should generate positive emotions in the player, not negative ones, and that’s not to say that all supporting characters have to be bright-eyed and bushy tailed; for all the sins of the Resident Evil series’ recent attempts at support characters they actually nailed it with the dual character mechanic in Resident Evil 0. Billy, one of O’s protagonists, is a dark-themed character but because he was so effective as a support character (from a gameplay perspective) I bonded with him. Learning and appreciating his story naturally arose from this bonding.

Natalya, on the other hand, goes from one extreme to the other – she’s too helpful. She’ll overzealously run head-on into a fire-fight to do what she has been designed to do – unlock doors, hack terminals etc. Limitations of her AI and design, however, make her more of a hazard than the enemies; once again, if Natalya dies the game ends. Admittedly, GoldenEye 007 is nearly 20 years old and AI design has come far since then, but it’s worth noting the importance of a good AI/design balance for supporting characters.

It might be worth considering in light of the Natalya example that the control the player has over their companion characters can affect the bonding process. Take, for example, Shiva from Resident Evil 5 and her penchant for overusing health items and ammo from the player’s own inventory. Despite an interesting backstory and decent writing, by interrupting the player’s ability to control and/or manage the game experience Shiva fell out of favour with gamers; support characters that infringe on the player’s right to control their gaming experience are no longer considered to be companions but rather saboteurs.    

So what can designers do to enhance a bond with a support character? One of the best, and oddly least used mechanics, is making the support character invulnerable such as Elizabeth in BioShock Infinite. I can appreciate the logic of making a companion vulnerable – the player will want to save them and they’ll bond because they seem more human, yay! – but, I believe, in practice this logic doesn’t work. Games place the player in situations in which they have a lot of information to process on a personal level. The player is being attacked, the player has to work out which of their skills to use, which tactic to apply, when to heal, when to move etc etc. Making players do this for themselves and a second ‘fictional’ character doubles the workload, causes stress and, therefore, breaks their flow. Whether games being a power fantasy is a good or bad thing is also a discussion for another time, but if we think of games as an immersive experience then having to focus on your own predicament and that of a second character risks breaking the immersion and the fantasy.

Companions exist within the fiction of a gaming fantasy, as such I believe strength is a more appealing character trait than weakness for companions. Consider Pey’j from Beyond Good & Evil; despite being able to take damage during a fight he doesn’t hesitate to get into a fight or require much assistance from the player unless he gets overwhelmed. When a player is thrust into a dangerous world such as that of Beyond Good & Evil they assume the role of someone fit to deal with the hazards and environments ahead, as such there’s an implicit assumption on the part of the player that other characters should be able to survive the world they live in. Pey’j comes to embody this with his fearlessness (and effectiveness) in battle which helps to negate his ability to take damage. When a companion character seems completely unwilling, or unable, to help their own survival in the game space it generates a negative appreciation of the companion: ‘why should I have to help them if they won’t even try to help themselves?’ A purposeful burden feels like an illogical variable to use in game design and, I believe, offers a slim chance of engaging the player with the game.

This isn’t to say that a companion character can’t have a weakness or be afraid of something, in fact this could go someway to increasing the bond between player and companion as their characterisation begins to kick in. A character, however, should not be solely defined by their weakness, it should be their strengths that are displayed front and centre for the player. Consider a game in which it is eventually revealed that a companion is afraid of the dark and upon entering a dark area requires the player-character to guide them out of it in lieu of actually offering assistance. I believe that if this companion is established as being useful and effective from a gameplay perspective early in the game it will help to bond the player to them, establishing a believable weakness and balancing it into the overall game design, allowing that bond to become three dimensional as the player understands their companion and wants to protect them.

According to GLaDOS from the Portal series, the Companion Cube would rather ‘die in fire than become a burden to you’. I love the Companion Cube and being forced to euthanize it for the sake of progression was a genuinely poignant moment in the game for me, just as losing Agro was at the end of SotC. Watching the Totem drown at the end of Monument Valley was also an emotional gut punch for me, protecting Elizabeth felt natural and not forced. From engaging with and analysing these experiences I hope to have shed some light on the reasons why losing them created such an impact. These characters were, first and foremost, helpful on my journeys through their respective games. Without them I wouldn’t have been able to progress, and that is perhaps a question designers should ask themselves of support characters: could the player complete the task at hand without the support character? If the answer is ‘yes’ then their value to the player is severely diminished. On top of this a good companion character shouldn’t be a burden to the player and a designer shouldn’t consider ‘being a burden’ as that character’s only role or form of definition. Once the companion’s purpose as a mechanic in the game  - because, ultimately, that’s what they are – has been solidified and shown as integral and the player bonded to them, this is the point at which characterisation can be added. I loved learning more about Elizabeth and Alyx (from the Half-Life 2 series), the way Agro would always come running up to me after defeating a Colossus showed he cared for me, the Companion Cube’s garish colouring spoke of a bold personality in the sterile cleanliness of Aperture Science and the Totem’s single eye – at first ominous – reminded me of the life missing from the loneliness of Monument Valley’s world. Perhaps, ultimately, a good companion character is a vessel linking the player to the fiction they’ve entered? They show us the strength we need to have in this new world, or provide us with the skills we lack in order to survive, and in doing so achieve the ultimate gaming goal: convincing us that the fiction is real.


Latest Jobs

IO Interactive

Hybrid (Malmö, Sweden)
Gameplay Director (Project Fantasy)

Arizona State University

Los Angeles, CA, USA
Assistant Professor of XR Technologies

IO Interactive

Hybrid (Copenhagen, Denmark)
Animation Tech Programmer

Purdue University

West Lafayette, IN, USA
Assistant Professor in Game Design and Development
More Jobs   


Explore the
Advertise with
Follow us

Game Developer Job Board

Game Developer


Explore the

Game Developer Job Board

Browse open positions across the game industry or recruit new talent for your studio

Advertise with

Game Developer

Engage game professionals and drive sales using an array of Game Developer media solutions to meet your objectives.

Learn More
Follow us


Follow us @gamedevdotcom to stay up-to-date with the latest news & insider information about events & more