Banner and Crosspost

December 21, 2019

Healer AI

Healer AI

I want to look at how various healers behave in StarCraft II. Co-op is a casual-friendly mode, and so if healers are often rushing ahead to their deaths, or getting stuck somewhere, it will feel frustrating for many players. And even if the player has the micro and the multitasking ability to micromanage them, it's not the most fun thing to do. That's why a good AI (behavior) for healers is important.

overview of current behaviors

There are various approaches that are currently being used. Some fit certain units better, but neither of them is an ideal solution.

1. Default behavior

There is no change to default healer's behavior, healers will rush ahead and get killed. On ladder or with Raynor, this isn't a big issue because there are always some hurt units that needs to be healed – either from enemy fire or stimpacks. However, Tychus' Nikara and Swann's Science Vessels will happily charge into the danger.

Brave girl

2. Fake weapon

This solution adds a fake weapon to healers. It's just like a normal weapon but it's hidden, has no animation and deals no damage. It also has a lower priority than healing. This is good for keeping healers from charging ahead, but it also might cause healers to get stuck at random enemy units (structures, cocoons, larva, etc.).

Nikara used to have a fake weapon for some time. On the following image she stares at a cocoon, stuck and unable to kill it with her fake weapon. Fake weapons are also used for Primal Swarm Hosts, Creeper Hosts, Theia Ravens and Havocs.

*stare*

3. Real weapon

Giving healers a real weapon is another solution that works well for some units. Rattlesnake, Queens, Swarm Queens and Shieldguards all have weapons and work as healers as well. On the ladder, High Templars were added a weak weapon for the same reason. Apparently, it was too hard not to a-move them into the enemy even in the competitive mode.

One big advantage of real weapons is that it's very intuitive why a unit got stuck somewhere. And given enough time, it will free itself. But real weapons might not be a good fit for all units.

High Templar with his real weapon

4. Fake heal

This is the most recent solution used by Mengsk's Medivacs. Here the unit isn't faking attacking, instead it's faking healing. If a friendly unit is attacking something, and is a valid target for healing, the Medivac will stay behind it as if it was healing. You can even see the heal ability icon change.

This is good for preventing the Medivac from rushing ahead, and the Medivac can't get stuck on random enemy units alone. However, Mengsk's Medivacs often staying too far back as they will stop at the first friendly attacking unit.

The bottom Medivac stays back and ignores hurt troopers

My solution

5. Improved fake weapon

Just as it sounds, this solution uses a fake weapon. Fake weapons have an advantage over fake heal in that you are controlling the distance from the enemy directly. This lets you get closer to your units while being safe. The downside of a fake weapon was that healers will often get stuck on random enemy units. In this solution, the fake weapon is only active if there are friendly units close and attacking (< 4 distance). Through this you are controlling the distance from your units separately, and making sure the healer won't get stuck alone on some random enemy unit.

So in a sense this is a combination of both fake weapon and fake heal solutions. There are two parameters to tweak (fake weapon range, and range when the weapon activates).

~ ~ ~

Compared to the basic fake weapon solution, this works just as well but without getting stuck. Compared to the fake heal, this lets you get slightly closer to the fight while staying safe. Both solution could benefit from higher heal auto-cast range (so healers will go to more distant hurt friendly units) and faster acceleration (more responsive in doing so). The last thing to adjust is the movement speed. Healers shouldn't get ahead of the army when it's a-moved, but they shouldn't stay too far behind either. All parameters should be tweaked based on your typical army composition.

Higher auto-cast range for healing makes Nikara more proactive

The implementation of my solution for Nikara can be tested on my MM maps with -nikara command. It seems like a solid implementation, but it would be possible to add a button into her command card to turn this behavior off if some players disliked it (assuming this was implemented and not just on my maps). For additional UI/UX tweaks check my older post here.

Recent posts

Recent posts

Copyright

© Blizzard Entertainment, Inc. All rights reserved. Wings of Liberty, Heart of the Swarm, Legacy of the Void, and StarCraft are trademarks or registered trademarks of Blizzard Entertainment, Inc. in the U.S. and/or other countries.
Powered by Blogger