During GDC, I attended many excellent talks from experienced developers in the game industry. One of them which impressed me a lot is the session "Raising Atreus for Battle in 'God of War'" held by Hayato Yoshidome, the Sr. Staff Technical Combat Designer in Sony Santa Monica Studio.
In this post, I'm gonna combine what I learned from that session and my experience playing 'God of War' and 'Bioshock: Infinity', which also has a great in-game companion character's design, to get a clear idea about designing game's combat companion AI.
All for the combat
First, let's take a quick look at two short combat gameplay part in these two games:
From Hayato, the core pillars of designing combat companion AI like atreous are as follows:
Support the player
Do not hinder the player
Actions always helpful
No babysitting
We can follow this structure to explore this process further.
Support the player
Even though they acted completely different in combat, they all have the same role in battle: supporting the player.
In 'God of War', Atreus takes different acts to distract or contain enemies to create more chance to attack for Kratos, the character controlled by the player. While in 'Bioshock: infinite', Elizabeth transport props from another parrel world to help booker to take more advantage of the battlefield.
That's primary reason why we have a companion in combat — having a good teammate worth than having a set of enhanced equipment (except some overpowered ones).
Do not hinder the player
Yeah, it's also very, very important (especially in some shooting games!). If you are curious about how awkward a bad companion Ai can be, check this video below (especially shooting games!):
Look back to 'God of War' and 'Bioshock: infinite', it's not hard to tell that both Atreus and Elizabeth are always staying away from the connection between the main character and his current target. They won't disrupt your attacking pace and even help a lot in your battle! Thanks, Atreus and Elizabeth!
The logic behind these two companions AI is far more complex than I described. From Hayato, Atreus will take different action regards to Kratos's current movement and his foes' states, which I'll explain later.
Also, if you are still don't have any idea about how to make sure that the companion in your game won't mass things up. Here is a tip for you: keep them away from the battle (like what Elizabeth did) and provide some support that directly cast on the player himself, such as healing, buffing and removing debuffs. Even telling a joke during the combat is far better than disrupting the whole fight, trust me.
Actions always helpful
In 'God of War' and 'Bioshock: infinite', combat companions all have two types of core traits: autonomous behavior and directed actions. Besides several tricks that they can perform automatically, the player also can direct them to play some special moves. For example, Atreus can be directed to shot runic arrows while the player can ask Elizabeth to use her ability to change the surrounding battlefield.
In that session, Hayato also mentioned that the player's current move influences Atreus's some auto actions. In other words, Atreus's autonomous behaviors focus on the player's current target(s), which called "Perceived Impact" :
Enemy launched? Shoot!
Enemy pinned? Keep them pinned!
Enemy grounded? Beat them down!
Enemy attacking? Grab them!
Enemy blocking? Trip them!
Besides, Atreus can also call out threats, protect from offscreen threats (due to the camera mode in new 'God of War' game), reviving the player and detecting danger.
In 'Bioshock: infinite', Elizabeth can automatically provide Booker (the main character) with potion and ammo supply regards his current status.
Low health? Give health potion!
Out of ammo? Give his current weapon's ammo supply!
Low mana? Give mana potion!
No babysitting
Because babysitting will disrupt the primary game experience and distract the player a lot.
Compared to Kratos, the customization of Atreus in 'God of War' is more straightforward but effective. While in 'Bioshock: Infinite', the only one customization part of Elizabeth is selecting one type of neck ring out of two! Besides, you don't have to worried about whether if he gets injured or dies during the combat because he won't. Also, things are the same as Elizabeth in 'Bioshock: Infinite'. What the player needs to focus on is very simple and straightforward: His character, the current battlefield and the enemies in front of him.
After all, the player's character is always the central part of a game and all the experience of the game should be built onto that. So a good teammate that doesn't need babysitting can help the player get into the "flow" experience more efficiently.
Something beyond combat
If you have played these two games, you will know both Atreus and Elizabeth have a close connection with the main character (Kratos and Booker). As a player, I love them not only because they are good partners in combat, but also because of the close and robust relationship between the main hero and the companion built up throughout the adventure.
It's true that Atreus and Elizabeth serve for the combat. However, what's more, they serve the story; they serve the game itself. During the bizarre adventure of the game, they touch the softest part of player's heart from time to time.
And this is also one reason why the game is called the ninth art and why I love games.
Comments