Advertisement

Revolutionary: GlovePIE v.30, The Great Equalizer

Every (other) Tuesday, Mike Sylvester brings you REVOLUTIONARY, a look at the wide world of Wii possibilities.

So you've tuned in to Revolutionary expecting to see the dramatic conclusion of the Controller Showdown. Well, as I was evaluating games to use in the matchup, I found myself revisiting old scripts I'd put aside, and building new scripts for games which wouldn't be fit to judge the motion sensing capabilities of the Wii Remote and SIXAXIS. I realized that because of the recently updated build of GlovePIE, my passion for scripting has been re-ignited!

You see, the latest version of GlovePIE supports the SIXAXIS, Xbox 360 control pad, and standard PC control pads, on top the already robust support for Wii Remotes and attachments. There's also a new function which allows you to easily write scripts for any and all of these controllers universally. So, before we commence with Round 2, let's take a look at the GlovePIE update that will figure heavily in the big battle.

Reading through the preliminary documentation that comes

with GlovePIE, I was reminded of some old features I'd forgotten about, and discovered some nifty new ones, too. With the Any device, multiple controllers can be scripted for without writing their names specifically. It's a catch-all that doesn't quite cover everything at this point (accelerometer control is in the works), but it does make for simpler scripts.

Street Fighter 3: Third Strike
Back in '99, I plunked a mint's worth of quarters into this arcade stand-up between classes, and almost ended up late to class on more than a few occasions. I honed what meager Third-Striking skills I have in the arcades and on a 3rd party Dreamcast pad with six face buttons, so I don't find either the Classic Controller or the SIXAXIS to be particularly well-suited to playing Street Fighter games. But like Alien Hominid, any use of a controller could be considered an improvement over the default keyboard layout, and as a Third Strike junkie (in recovery), GlovePIE helps take the edge off when my Dreamcast is out of reach.

A lightning-quick fighting game needs fast reactions, and both the USB-wired SIXAXIS and the Bluetooth-paired Classic Controller are up to the job with no noticeable lag. I'm not doing many of my favored combos because the shoulder buttons don't get much consideration in the heat of a fight. However, I was surprised that I could pull off Akuma's super fireball in the air, which requires inputting a jump, two fireball motions, and a button press in less than half a second.

With GlovePIE, I can also write macros to mimic a sequence of button presses with just one. In other words, "Instant fireballs, just add punch!"

Up = Any.Up
Down = Any.Down
Left = Any.Left
Right = Any.Right

A = Any.Square
S = Any.Triangle
D = Any.R1
Z = Any.Cross
X = Any.Circle
C = Any.L1

Key.1 = Any.Start
Key.5 = Any.Select

Shift + P + I + E = Any.Home
//Quit running script

/*Left-facing fireball motion mapped to Sixaxis.L2 or Classic.L*/
If Any.L2
Down = True
wait 30ms
Left = True
wait 30ms
Down = False
wait 30ms
Left = False
EndIf

/*Right-facing fireball motion mapped to Sixaxis.R2 or Classic.R*/
If Any.R2
press(Down)
wait 30ms
press(Right)
release(Down)
wait 30ms
release(Right)
EndIf

And in the spirit of good will, I thought I'd have the Wiimote and SIXAXIS LEDs blink in unison. This only works when the Classic Controller is plugged in, because I needed to contain this code in an If loop with an "always true" condition so it wouldn't affect the timing of the controls.

If Wiimote.HasClassic
Sixaxis.LEDs = 1
Wiimote.LEDs = 8
wait .5s
Sixaxis.LEDs = 8
Wiimote.LEDs = 1
wait .5s
EndIf

Portal
I've fallen victim to Portal-mania. Like so many others, I didn't know what to think of the game before its release. The artistically sterile environments, the seeming lack of enemies, and the anti-weapon which is your primary tool for interaction and defense just doesn't do much to stir up anticipation. After the game received numerous awards and acclaim from reviewers and gamers alike, the hype machine kicked into gear and I bought into that hype. To the uninitiated, Companion Cube plushes seem like a bit too much falderal, but for Portal-jumpers, the "character" quickly becomes as endearing as Yoshi.

Portal is more of a puzzle/platform game than a traditional first person shooter, and as such, it plays perfectly well on consoles with traditional controllers, and by extension, the Wii Classic Controller. I had always wanted to make a FPS script for the Classic Controller, but got a little tripped up on the code for emulating the mouse pointer. I put the script on the back burner for a while until I found the snippet I needed (thanks SuperTrunksZ!), and it was just in time for me to try the Portal: First Slice demo with my SIXAXIS and Classic Controller. Bear in mind, this is a puzzle game, and the enjoyment is all in figuring it out on your own. If you haven't played Portal before, this video may contain spoilers. Also note, just prior to shooting this video, I accidentally broke the bit of code that gives the left stick pseudo-analog control, and I had to resort to using the D-pads on the respective controllers. Rest assured, the left stick works in the final version of the script.

Mouse.LeftButton = Classic.R or XInput.RightTrigger or Sixaxis.R2 //Primary weapon
Mouse.RightButton = Classic.L or XInput.LeftTrigger or Sixaxis.L2 //Secondary weapon
Space = Any.Cross //Jump
E = Any.Square //Use
Ctrl = Classic.ZL or Any.L3 //Crouch
A = Any.Left
S = Any.Down
D = Any.Right
W = Any.Up
Shift + P + I + E = Any.Home

//Joystick movement
If Any.Joy1Y > 0.6
S = True
Wait 1ms
S = False
EndIf
If Any.Joy1Y > 0.4 and < 0.6
S = True
Wait 10ms
S = False
EndIf
If Any.Joy1Y > 0.2 and < 0.4
S = True
Wait 35ms
S = False
EndIf

If Any.Joy1Y < -0.6
W = True
Wait 1ms
W = False
EndIf
If Any.Joy1Y < -0.4 and > -0.6
W = True
Wait 10ms
W = False
EndIf
If Any.Joy1Y < -0.2 and > -0.4
W = True
Wait 35ms
W = False
EndIf

If Any.Joy1X < -0.6
A = True
Wait 1ms
A = False
EndIf
If Any.Joy1X < -0.4 and > -0.6
A = True
Wait 10ms
A = False
EndIf
If Any.Joy1X < -0.2 and > -0.4
A = True
Wait 35ms
A = False
EndIf

If Any.Joy1X > 0.6
D = True
Wait 1ms
D = False
EndIf
If Any.Joy1X > 0.4 and < 0.6
D = True
Wait 10ms
D = False
EndIf
If Any.Joy1X > 0.2 and < 0.4
D = True
Wait 35ms
D = False
EndIf

//Joystick aiming
If Any.Joy2X < -0.2 or Any.Joy2X > 0.2
Mouse.DirectInputX = Mouse.DirectInputX + (30)*(Any.Joy2X)
EndIf

If Any.Joy2Y < -0.2 or Any.Joy2Y > 0.2
Mouse.DirectInputY = Mouse.DirectInputY + (30)*(Any.Joy2Y)
EndIf
If you've ever desired to have analog triggers on your Wii Nunchuk, that's probably not going to happen any time soon, but through GlovePIE it's possible to use the SIXAXIS as a light-weight alternative. Using an Xbox 360 controller will also work (albeit, sans accelerometer), with support for vibration scripting potentially adding another element to the immersiveness of gameplay. Now everybody start hounding Carl Kenner to include direct support for the DualShock 3.

Although this segue wasn't intended to be part of the comparison, I feel I should say something about my preference. I still don't like the Classic Controller. I don't like the DualShock-derived design of the SIXAXIS either, but I find it to be more ergonomic than the Classic Controller. The prongs on the bottom of the SIXAXIS don't conform to human palms very well, but they at least do something to enhance the stability of the controller when you're feverishly work the shoulder buttons. Of course, I'd rather have six face buttons to play my Street Fighter games and ignore the shoulders outright, but whadayagunnado?

Next time (for sure) we'll be bringing you the exciting conclusion of the controller showdown, and although we've already got a few games lined up, suggestions are still welcome. Scroll down and drop a comment to tell us what you would like to see played with motion controls on the SIXAXIS and Wii Remote.