Monthly Archives: October 2010

Manipulating Proximity Blocking

When you try to block a fireball, have you noticed how your character starts blocking before it makes contact? This phenomenon is known as proximity blocking.

Dating all the way back to Street Fighter II, every attack has its own effective range which triggers proximity blocking. If the opponent holds Back while within that invisible range, they’ll stand still in defensive stance instead of walking backward.

Using this knowledge to your advantage is a key element of advanced footsies. The easiest offensive application is whiffing a jab while your opponent walks back and forth at mid-range. This will momentarily cause them to get stuck in place.

Now that might not seem like much of a difference-maker, but when they’re focused on the tiniest details, it’s enough to completely throw off their bearings – however briefly. Especially when their eyes are fixed on your character, they might even lose track of where exactly their own character is located. If they try to walk backward and their character remains in place, they may not realize how close they’re standing.

Continue reading

How to Configure Initial Emulator Input Settings

Before you can start using MacroLua, the first thing you need to do is install and configure a supported emulator. For arcade games, your primary choices are FBA-RR and MAME-RR. Both work fine, so choose whichever one you’re familiar with.

Due to the sheer number of built-in commands, the default control settings tend to have some overlapping key assignments. Sort those out first. For instance, FBA-RR has Load State 2 and Diagnostic both assigned to F2. Likewise, they have Load State 3 and Reset assigned to F3.

My general advice is clear everything that doesn’t look useful at first glance. The less clutter you have to deal with, the better. You can always add more stuff later.

You’ll be using Reset a lot, and you’ll need Diagnostic as well, so either map those to different keys, or remove the Load State assignments. It’s also a good idea to clear whatever hotkey is assigned to Tab, because you’ll be using Alt+Tab frequently to switch back and forth between your emulator and your script file.

Continue reading

RPS Perspective on Fighting Game Strategy

People have been drawing analogies between rock-paper-scissors and fighting games since the beginning of recorded time – mainly because it’s easy. This has become an increasingly popular trend, whether for describing move priority (throw beats blocking, DP beats throw, blocking beats DP) or matchups (giant beats pixie, pixie beats beam, beam beats giant).

Truthfully, RPS metaphors are only useful for deconstructing fighting games to illustrate the challenges presented by human competition. RPS models are great if you want to entertain people by translating your successes and failures into academic terms.

It’s much harder to go the other direction – from RPS theory fighter to developing a practical gameplan. Converting game specifics to RPS babble and back to game specifics is so much extra work that you’d be better off sticking with game specifics throughout.

However if you’re new to the competitive aspect of fighting games, it is important to grasp exactly what you’re getting into – and RPS comparisons can be useful in that regard. The rest of this article is a look at fighting game strategy from the familiar perspective of RPS tradeoffs.

Continue reading

How to Find Charge Switch Points

Using MacroLua, you can retain charge while performing crossups. The basic idea is to swap directions on the exact frame your character switches sides with the opponent.

If you’re wondering whether this is a legitimate technique, keep in mind that most fighting games sample inputs 60 times per second. In physical terms, all you’d have to do is flick your wrist or finger from one side to the other in under 1/60th of a second, without getting caught in the middle. Therefore it’s possible to perform this without tool-assistance, but obviously very difficult to avoid detection and partly dependent on sheer luck.

The most obvious scripting method is pure trial and error. Simply hold the starting direction, switch directions at some point, and keep adjusting that wait period frame by frame until it works. Here’s an example from Street Fighter Alpha 2, performed under the Normal Speed setting, with Charlie and Birdie standing at point blank range:

W60,UR.W27,5.W19,2.W60!
# SFA2 Charlie crossup j.MK, s.MP

W60,UR.W2,_L.W10,^L_R.W13,5.W19,2.W5,^R.L1.W60!
# SFA2 Charlie crossup j.MK, s.MP xx failed LP Sonic Boom attempt

W60,UR.W2,_L.W11,^L_R.W12,5.W19,2.W5,^R.L1.W60!
# SFA2 Charlie crossup j.MK, s.MP xx failed LP Sonic Boom attempt

Continue reading