The Announcement
At 9pm EST on January 11th, 2018, Aziz “Hax$” Al-Yami released the next of his plans to change Super Smash Bros. Melee forever. His stream reads: “the future of gamecube controllers” in lowercase, putting function before form. While Hax intended to present this information with Arian "The Crimson Blur" Fathieh, he decided it would be best for a single person to deliver the information. Blur showed his support for Hax’s announcement in this tweet.
This future looks like an Arduino adapter for GameCube controllers that exists to counter three issues facing melee: consistent dashbacks, consistent shield drops, and the 1.0 cardinal. The mod will not change the game’s code as the Universal Controller Fix, or UCF, does, and it will come with a switch to allow players to opt in or out of the mod, with a corresponding LED to reflect this decision. Use of UCF was given “discretionary status” in the MeleeItOnMe recommended ruleset. The announcement that sidelined UCF was made by the five leaders of the MeleeItOnMe Competition Committee, henceforth referred to as “the Five”. Each of the Five’s rationale can be viewed in detail in this SmashBoards thread. Since the Five are organizers for some of the largest tournaments in melee, like The Big House and Shine, Hax saw this as the official death of UCF. UCF has been no stranger to issues prior to this announcement, with top players like Mew2King and n0ne bemoaning missed pivots. UCF was struck down amid fears of IP rights violations, greater accessibility issues for new players, a slippery slope where mods are applied like band-aids, and so on, as described in the voting decisions of the Five.
But none of this mattered to Hax, focusing instead on how “the line was drawn at the fact that UCF modifies the game ISO.” That is, UCF alters the code that we know as Melee. Hence, Hax’s decision to pursue a mod that will not modify the game. He will create this adapter with the team that develops the B0XX, an alternate controller modeled after fightboxes used in the fighting game community at large. The team includes engineers Arhum “WatchingTime” Siddiqi and Kyle “Simple Controllers” McDowell, along with production manager Stephen “Streamlord” Kasmir. The mod will not be completed in time for use at Genesis 5. However, Hax believes the mod can be completed in time for the next MIOM-affiliated major, which he estimates will occur in two months time. No name or images of the mod were released.
Hax begins describing the philosophical goal of the mod by comparing it to UCF. UCF, according to Hax, operates under the goal of “bringing every controller in line with the best possible hardware.” This is not true, he goes on to say, setting a new goal “to redesign areas of the game where GameCube controllers cannot perform consistently.”
In his stream, he details how he plans to tackle this inconsistency facing GameCube controllers. He identifies the main problem as the Potentiometer Oddity Degradation Effect or P.O.D.E. This is a property of some GameCube controllers discovered by David “Kadano” Schmid. From Kadano’s research, we know that controllers with this property tend to have better dashback capabilities and no snapback. This is because as the potentiometer of the GameCube controller becomes less sensitive; it will get worse at detecting sudden and slight movements. Interestingly, P.O.D.E. can get both worse and better with use, which explains why dashback capabilities can come and go over time. Controllers without P.O.D.E. have advantages in ledgedashing, pivots, dash out of crouch, and what Hax describes as a “more responsive feel”. His goal is to disincentivize the use of P.O.D.E. controllers by giving non-P.O.D.E. controllers the advantages offered by a P.O.D.E. controller. These advantages would be high dashback success and no snapback. Further, stabilizing GameCube controller functionality may change how people view discussion of Hax’s B0XX or HitBox’s SmashBox, as well as ending the long and expensive hunts for a good controller.
Captured from Hax's stream with permission.
The graphic above, and all graphics to follow, are captured directly from Hax’s announcement stream with his explicit permission. The graphic shows that controllers exist in a ratio of about 9:1, where there is one P.O.D.E. controller for every nine controllers without P.O.D.E. Further, not all P.O.D.E. controllers are equally affected. Some can have more consistent dashbacks than others by differences of 5%, 10%, or more. P.O.D.E. controllers have the added randomness of potentially getting worse with use, but their function can just as easily come to resemble non-P.O.D.E. controllers with extended use. This can lead to daunting hunts for a good controller that may not even stay “good”.
With that, let’s get technical and dive into the approach Hax and his team are going to use to solve these issues. It is important to note that snapback cannot be affected by this adapter. It is, according to Hax, exclusively a hardware issue. However, Kadano has shown that it can be resolved either by adding a capacitor to your controller or lubricating the stick.
Mod 1: Dashback
The first modification that Hax can achieve with his Arduino is a dashback mod. When attempting to perform a dashback, there are three possible outcomes, which are illustrated in this diagram.
Captured from Hax's stream with permission
Due to the randomness of controller polling, there is a chance that a dashback will fail, as detailed in outcome 3. It will instead result in a potentially stock-ending pivot because the controller was polled while it was still in X-Tilt. If the controller has P.O.D.E., there will be a greater, but still random, chance of successfully performing a dashback. To combat this randomness, Hax proposes the following modification.
If the player is not holding the A, B, L, R, X, Y, or Z buttons, it will be assumed that the player is attempting to perform a dashback. In this case, the first frame that is polled from the controller is ignored, ensuring that if one intends to dashback, they will. If the player is holding one of these buttons, the mod will not activate at all. There also has to be a jump in the X direction by at least 0.2500, otherwise, it is assumed that the user will want to perform a tilt. With this mod, outcome 1 will result in a 2-frame dashback. Outcome 2 and 3 will result in a 3-frame window. With UCF, there is a 2-frame dashback in outcome 3. This results in an average dashback speed that is .5 frames slower. X-Tilt intent becomes about as accurate as UCF 0.66, but worse than UCF 0.7.
At this point, if the mod is released, it is advisable, and possible, to reset the P.O.D.E. in a controller. All you need is a tri-wing screwdriver. Open the controller and remove the stick cap. You will see the potentiometers as two black squares underneath. Pry these open so that they lay horizontally, and the P.O.D.E. in the controller will return to zero. Clip the potentiometers back on, close the controller, and you’re done!
Mod 2: Shield Drops
Hax proposes a shield drop mod that adds to the set of coordinates that will activate a shield drop. The coordinates are thus, mirrored on each side of the controller.
- X +/-0.7125, Y -0.7000 and X+/-0.7000, Y -0.7000
- X +/-0.7000, Y -0.7125 and X+/-0.6875, Y -0.7125
- X +/-0.6875, Y -0.7250 and X+/-0.6750, Y -0.7250
- X +/-0.6750, Y -0.7375 and X+/-0.6625, Y -0.7375
- X +/-0.6500, Y -0.7500 and X+/-0.6375, Y -0.7500
- X +/-0.6500, Y -0.7375
Hax chose these particular coordinates to encourage use of the “notch” shield drop method and stated that he believed the shield drop coordinates chosen by UCF are arbitrary. One can still shield drop by flicking the stick straight down, if they are able, as the mod will not affect one’s ability to perform a “direct” shield drop. Here are images that better help to visualize the changes made.
Captured from Hax's stream with permission.
Captured from Hax's stream with permission.
The orange squares represent valid shield drop coordinates. The latter includes the ten points that Hax proposed for the mod. These coordinates are all converted to X = +/-0.7250, Y = -0.6875 and it is the cornermost shield drop coordinate. To go further would interfere with the way Ice Climbers shield drop. It is a desync coordinate, meaning only one of the climbers would perform a shield drop. There are several techniques that are performable in this space as well. The shield drop mod requires that L, R, or Z be pressed before a shield drop is attempted, otherwise, one of these pre-existing functions will be performed. Explanations already exist for the pivot down forward tilt, jab canceling, and the trajectory 361 angle, so they will not be discussed here.
Hax notes that the shield drop disparity within controllers occurs at the corners. One cannot directly slam the stick in the direction of these new coordinates. There is a precise priority for actions based on controller coordinates. Spotdodge is prioritized over rolling, which is prioritized over shield dropping. The coordinates at which each occurs is Y = -0.7000, X = 0.7000 or X = -0.7000, and Y = -0.6625. If each of these actions occurred on the same frame, they would be prioritized in this way.
This code, however, would influence air dodges by redirecting some angles, however slightly. “[Light] shield is always valid for the mod, however, [hard] shield must be pressed for more than one frame for the mod to activate,” Hax said on his stream. “This will not compromise shield drops because you can only shield drop as early as frame 2.” Thus we have a complete shield drop modification.
Mod 3: The 1.0 Cardinal
There is a single point on the far end of each cardinal direction, as seen in the dashback graphic, that will result in the controller reading 1.0. Due to the sensitive and precise movements required to hit 1.0, a human player is likely to only achieve a realistic maximum of +/-0.9875 in any direction. There are two additional factors that determine one’s ability to hit the 1.0 cardinal. The first is the sharpness of the controller’s case. An oft-used controller can have a rounded case that makes it difficult to land in a particular notch. The second issue is that some stickboxes are rotated ever so slightly, such that a perfect 180 degree movement will be guided by the case into the wrong angle.
Hax initially wanted to adjust a few coordinates to make the controller yield the 1.0 cardinal. However, due to the potential for stickbox rotation, this forced him to increase the number of points that will result in a 1.0 cardinal. As a result, any X coordinate >= 0.9625 will be automatically converted to X = 1.0 on both the C-stick and the grey stick, eliminating 0.9875 in the X directions. This has the added side effect of increasing the run and air speeds of all characters by a small amount. This can be observed in the images below.
Captured from Hax's stream with permission
Some may wonder whether this mod, in particular, is necessary. If it is to counter the 1.0 cardinals achievable by the B0XX, can’t it be achieved by capping the B0XX’s cardinals to .9875? Hax says no, because GameCube controllers are constantly hitting both the 0.9875 value and the 1.0 value, it’s just varied per controller due to the sharpness of the case and the possible rotation of the stickbox. Forcing the B0XX to exclusively use 1.0 or 0.9875 would not accurately reflect the functionality of the GameCube controller. As such, the Gamecube controller can also not be restricted to using one or the other without changing the way the game works.
Conclusions
This modification has the potential to increase the accessibility of the community on all fronts. If the potential advantages of using alternate controllers are nullified then poor, injured, or disabled players may enjoy easier access to the community. Some may question the decision to prioritize dashback over pivots. Perhaps there is a way for individual mods to be deactivated, or two different adapters with and without the dashback mod, allowing players to further control their experience while maintaining balance. We here at SmashBoards encourage you to watch the announcement stream yourself and do independent research. It is important that the community is educated on this topic so that the best decision for our game is made. None of this would be possible without the contributions to our community by Hax and Kadano, who can be reached at @ssbmhax and @kadano, respectively.
EDIT: Due to updates from Hax and corrections from the community, the following changes have been made:
- The coordinate X +/-0.6500, Y -0.7375 has been added to the list of shield drop coordinates.
- The Z button will now also activate the shield drop mod.
- There have been zero reported UCF crashes from TOs in the community. It is safe to say that UCF does not cause crashes on consoles.
Last edited: