Tip:
Highlight text to annotate it
X
I'm Lalush and today I'll be talking about moving shot and the factors and bugs that
interfere with it in Starcraft 2. Moving Shot is essentially the act of firing with a unit
without stopping or slowing down. The only requirement for it, is for developers to program
a set glide or deceleration distance between the point where a unit attacks and when it stops.
If you want the unit to keep moving, you just issue a move command after the attack command.
Both Starcraft 2 and Brood War have this glide feature. The only real fundamental
difference between the games is that in Starcraft 2 a unit rotates around its axis to fire while
it keeps gliding in its previous direction.
In Brood War, however, units must both face
and travel towards the target that they're firing at.
If you're facing the wrong way when issuing an attack command,
you'll just glide to a halt before attacking.
There is one exception to the rule of having to face your target when firing, and that is patrol micro.
Patrol micro is special in the way that it's basically a move command with a
delayed transition into an attack command. The patrol command, really, is responsible
for most forms of advanced micro in Brood War. And before we move on to Starcraft 2
I just want to cover the basic bits of patrol micro in Brood War.
This particular clip is
meant to show the delay between when a target gets in range and when it acquires its target.
Vultures have a wide attack arc in Brood War. On top of that they have a really fast turn
rate when speed upgraded. As such they can perform a moving shot when ordered to patrol
a 180 degrees in the opposite direction of travel. They have just enough time to rotate
90 degrees before firing. Wraiths turn around quickly enough to be able to perform a moving
shot at a 135 degree angle to their target. But if you go above that, they'll just glitch
and misfire.
The single most microable unit in the entire game of Brood War is likely
a speed upgraded scout.
Scouts can be ordered to patrol 180 degrees backwards and still
perform a functioning moving shot.
The scout actually turns around so fast that by the
time it has transitioned from a patrol into an attack, it will already be facing the wrong
direction when patrolled in the opposite direction of its target.
This same trick of issuing
a patrol command in the opposite direction of the target can be used on a unit that turns
around slower. The valkyrie actually turns around so slow that it will have enough time
to fire before gliding off in the opposite direction.
There are two main ways of microing
against chasing targets in Brood War. The first one is technically not a moving shot.
But it's still by far the most common method. The technique is based on patrol clicking
directly underneath or top of your air units. This causes them to stop immediately, turn
around and fire in just one click.
The other method is called the chinese triangle method.
It really shouldn't be attempted without a good amount of space between yourself and
your target. The way it works is that you need to align your mutas in a 90 degree angle
to your target before issuing the patrol command.
Now onto the question of why Starcraft 2 units
have such trouble of behaving reliably even though they are programmed to replicate Brood
War's movement patterns. The first issue here and the biggest hindrance probably, is an
editor variable called the separation radius. Separation radius is basically the amount
of space that each air unit occupies. In Starcraft 2 units are pushed apart when they are too
close to eachother, whereas in Brood War, they sort of just drift apart slowly
You may have noticed that Starcraft 2 units actually handle and control
pretty well as long as you don't control too many of them at the same time. But as soon
as you go up to 3 or 4 units they sort of seem to trip eachother up for some reason.
This is because the Starcraft 2 engine prioritizes separating units before it allows them to glide.
This is an example where one oracle manages to break free from the pack and glide
to freedom while (*laughs*) the rest of them trip eachother up and sabotage eachother.
Starcraft 2 units are actually able to perform perfectly functional moving shots as long
as they're perfectly seperated from eachother. But controlling that reliably is impossible.
Here's a banshee with only two of its variables changed.
Without the separation radius to trip the units up you can kill an infinite amount of marines.
The second point I want to address is damage point.
Damage point is basically a sort of a "frontswing". It's the
delay between when an attack is initiated and when the damage is dealt. Damage point
is a variable that makes sense to have enabled on most ground based units. Marines though,
are surprisingly the only units aside from zealots and zerglings that have a lower damage
point value than they used to in Brood War. As you can see in these slow motion clips,
vikings spend a bit of time doing nothing but staring at the colossus before they actually fire
off their shots. In Brood War air units generally had a damage point of 0, whereas in Starcraft
2 every single air unit except the muta has the Blizzard default value of about 120 milliseconds.
Here's a modified viking with a bit of an increased speed.
I just want to point out
to the balance designers that a greyed out value does not mean that it's inactive, it
just means that it's set to default, and default is not 0. For some unexplained reason Blizzard
have just not bothered changing the damage point value for any air unit aside from the muta.
The third issue has to do with the Oracle and a general weapons bug that pretty much
affects every air unit. When I blamed the oracles sabotaging eachother earlier on the
separation radius bug I wasn't being entirely truthful because the oracles are actually
affected by two simultaneous bugs. The second bug probably has something to do with how
overkill prevention is handled by the engine. It also affects projectile attacks in a similar
way, with the difference that it stops them when the unit dies as opposed to when the
attack is initiated. The only oracles that will glide with a beam attack are the exact
amount of oracles that it requires to deal the kill damage. The next time you watch a
pro game and you see two oracles attack a low hp target, and one of them just randomly
glitches out, you'll know the reason.
The interesting thing is that this bug can be
avoided by move clicking after the attack has been fired. This is only possible if the
oracle has a projectile attack.
The fourth point I want to address is the design of turret attacks.
A turret is basically a weapon strapped on top of a unit, that can rotate independently
of the unit's body. In Starcraft 1 turrets would track targets even when you ordered
your unit to move.
This essentially made it possible to fire without stopping with a tank.
A goliath's turret could only rotate 180 degrees, so it could only partially track units.
In Starcraft 2, on the other hand, every single unit with a turret attack will have its turret
reset when it's ordered to move. For a unit like the tank or the immortal this sort of
design makes very little sense to me.
I ran a test with 3 different configurations of tanks,
with the first one being a standard Starcraft 2 tank. It has Blizzard's standard,
default damage point value.
Here damage point is removed and the tanks sort of behave more like marines.
The third test is a tank from the Starbow Mod. It's basically a recreation
of the Brood War tank.
A tracking turret is a good way of increasing a unit's defensive
strength without doing anything that would affect its offensive capabilities.
The practical differences between a tank with a locked turret and the tank you can find
in Starcraft 2 are very small.
The turn rate in Starcraft 2 deserves a second look because
it and damage point are the two most important variables for getting your shot off before
running out of glide distance.
Lateral acceleration deals with how sharply your air units turn.
It's not really a critical variable, but it would be nice if the most agile air fighters
of each race would turn more sharply.
In Starcraft 1 a low lateral acceleration value would cause
this glitch dancing behavior you see.
Starcraft 2 has hardcoded out the possibility of glitch dancing units
by making them ignore lateral acceleration when ordered
to turn 180 degrees.
Before I stop talking I just want to go over what I think are the
cornerstones of good esports design. Units in an esports game should be reliable, they
should be consistent and they should respond quickly to your commands. The only time you
should be allowed to break these rules are when you design a unit with a special and a
unique weapon.
Sadly, Starcraft 2 pretty much breaks all these rules without a valid reason.
This is where I stop talking, so thank you for having listenned to my monotone voice.
And I'll leave you with a compilation of Brood War micro videos. So enjoy.