UPDATE (July 14): Mac and Linux builds are now officially supported as of Slippi version 2.2.0. Grab the compiled version from there if you don’t feel like compiling.
For a game that’s nearly 20 years old, Super Smash Bros. Melee for the GameCube has still been a staple in the fighting game community. To this day some prefer Melee‘s more sophisticated mechanics over the other games in the Smash Bros. series; namely, L-canceling, wavedashing, being able to hog the ledge to prevent other recovering players from grabbing it, and other more complex additions. Brawl was too slow for some and introduced new mechanics that threw many veterans off. And even though Ultimate picked up the pace in terms of speed, the overall design of the game is to appeal to casual gamers; gamers who are new to the fighting genre. Fan-made mods like Project M and Project Plus have given players the itch that they wanted for Melee‘s mechanics, but as far as I know there’s no easy way to play online with other players.
Since the GameCube obviously lacked the modern features of online gaming, tournaments often had to take place in-person, locally. Well, thanks to the advents of Slippi, it’s now possible to play against other players online, without even needing to host a server. And I have to say so far, my online experience has been great, even on Wi-Fi.
Slippi uses rollback netcode instead of delay-based netcode that a lot of fighting games tend to use. Instead of me having to explain it, I’ll let the article on Ars Technica explain what rollback netcode does:
When there is no information from the remote player, delay-based netcode needs to pause and wait…Rollback’s main strength is that it never waits for missing input from the opponent. Instead, rollback netcode continues to run the game normally. All inputs from the local player are processed immediately, as if it was offline. Then, when input from the remote player comes in a few frames later, rollback fixes its mistakes by correcting the past. It does this in such a clever way that the local player may not even notice a large percentage of network instability, and they can play through any remaining instances with confidence that their inputs are always handled consistently.
Basically, there’s virtually no delay between the time you press a button on your controller and the character on-screen reacts accordingly. As a result, rollback netcode massively improves the quality of the Internet connection to your opponent. The reason why other fighting games don’t use this type of netcode, is because it is far more difficult to implement than delay-based.
The highest ping I’ve had so far during gameplay is around 90 (ms), and even then, it’s pretty smooth. Occasionally there will be some lag, which is probably due to me using Wi-Fi. Sometimes the game might even crash. But this is much better; it’s something that a billion-dollar company like Nintendo doesn’t even understand.
Matches are limited to one-on-one. All characters unlocked. 4 stock, 8 minutes, no items. A random level is selected after your opponent has been found. Music is disabled since it apparently breaks the netcode.
Head on over to the Slippi website to get started. You will need:
- Your PC (obviously)
- Gamepad of your choice. I don’t personally use a GameCube controller, so I don’t know what your success rate will be using a controller adapter
- A copy of Super Smash Bros. Melee. The Slippi website mentions you need version 1.02 specifically; your connection to your opponent may break otherwise
- A modified version of the Dolphin emulator called Ishiiruka, which contains the netcode for Slippi
Even though Linux is not officially supported (yet), you can download and compile the source code to Ishiiruka with project Slippi support. First, install the dependencies needed to compile Dolphin. Now clone the source for Ishiiruka, then follow the steps to compile. You might want to grab yourself a cup of coffee while it’s compiling; it’ll probably take a good half-hour or so.
You’ll be able to launch Slippi afterwards, but you will need a few Gecko codes — basically cheat codes designed for Gecko OS — to get Melee set up right. This probably isn’t the best solution, but a workaround that I found was I downloaded the Windows version of Slippi. Then I copied the “Sys” folder to
~/Ishiiruka/Data and then copied the code files from “User/GameSettings/” to
~/.local/share/dolphin-emu/GameSettings/. (Quotes are the files from the Windows version, the code is the Linux file path.) Something like that anyway; I can’t exactly remember where I pasted the files.
After you’ve copied the codes over, add a file path in Ishiiruka to your Melee ISO, then right-click it -> Properties -> Gecko Codes. Check the first three codes to enable them: General Codes, Slippi Recording, and Slippi Online:
There’s a few other codes here that you can enable if you desire, such as disabling screen-shaking and allowing your character to flash red if they miss an L-cancel. You may also want to increase the in-game resolution by going to Graphics -> Enhancements -> Interal Resolution. Now you can follow the rest of the guide on the Slippi website to create an account for yourself and then start playing online.
The way multiplayer works here, is you can play against anyone in an unranked match. Select your character, press Start, and the game will attempt to find an opponent. Alternatively, if you know your opponent’s connect code, you can play against a specific player with Direct mode. Select a character, press Start, and then enter your opponent’s connect code. As an example, my connect code is COW#938.
Here’s a demonstration of Slippi on Linux in action:
Another awesome feature of Slippi is the ability to save and watch replays. By default, these replays are automatically stored in ~/Slippi/ as .slp files and take around 5 MB of space each. You can then use the desktop app to watch these replay files. You can even view advanced stats of each replay; not just who the players were and what stage they fought, but also what your damage % was at certain points and what move you used to KO your opponent. However, in order to play replays, you will need to compile Slippi-FM-installer and configure the desktop app to use the playback directory in the “Playback Dolphin Path” setting.
I have to say, this is incredible. I’ve never been able to play Melee online before. Don’t get me wrong, I love Ultimate, but as a semi-competitive player and someone who has played Melee since childhood, I find Melee to be a lot more interesting. The community on the Slippi Discord, last time I counted, was 4,550. Who knows how big the community in general is, but just going by the numbers on Discord Melee is still very popular. The game will never die.
Big thanks to Fizzi and the rest of the crew who has made this possible.