• Welcome to Smashboards, the world's largest Super Smash Brothers community! Over 250,000 Smash Bros. fans from around the world have come to discuss these great games in over 19 million posts!

    You are currently viewing our boards as a visitor. Click here to sign up right now and start on your path in the Smash community!

Melee Netplay - The Future is Now (New and improved!)

Status
Not open for further replies.

Makkun

Smash Journeyman
Joined
Jun 26, 2007
Messages
407
Location
Ypsilanti, MI
Have you ever thought it would be awesome to play Melee online? It's something you've wanted for some time, isn't it? Well, it's finally here. With the Dolphin Emulator, you can play Melee with anyone in the world. You just need to download everything in this list and follow our instructions.

  • Dolphin build 3.0-815 (Win32 | x64) - This is the newest version. We've modded in a few imporovements to netplay.
  • Dolphin build 3.0-305 (Win32 | x64 | Mac - This is an old build. If you have problems with our build, use this one.
  • Memory Card file - You and your opponent need to use the exact same memory card file state each time you play. We recommend you use this one. Extract the .rar file and place MemoryCardA.USA.raw in your User/GC folder and overwrite the existing file. Make sure to keep a backup. You need to revert back to this original memory card state each time you reconnect with an opponent.
  • Melee version converter - Chain Ace created this version converter for Melee. It is only necessary if you cannot find Melee version 1.02 (our recommended version) but you have a different version available.
Netplay Configuration
This is, perhaps, the most important part of playing Melee online with Dolphin's netplay function. Netplay is extremely sensitive, so you MUST follow these instructions carefully and follow them exactly, otherwise you're likely to face a desync.

Whatever settings you use, make sure your opponent also uses!!! - Not using the same exact settings will more than likely cause a desync (this excludes graphic enhancements such as resolution and anti-aliasing).

In the General Config tab, you may select either Single Core or Dual Core. Dual Core mode is easier on your CPU (helps to achieve full game speeds) but there are still a few bugs we're still trying to fix.

We've fixed Dolphin's netplay to allow the use of DSP HLE without desyncing. However, the more accurate DSP LLE sound emulation requires files dumped from a homebrewed Wii console. If you use DSP LLE, make sure to check "DSP LLE on Thread" and set it to "DSP LLE recompiler".

This is pretty straightforward. Make sure a Memory Card is active in Slot A, and more importantly, make sure a "Standard Controller" is selected for as many players as you plan on having in the game.

When setting your graphics, it is wise for you and your opponent to use the same Backend. In most cases with Melee, OpenGL will run faster than DirectX. If you're experiencing any issues, try DX9. The "Display" and "Other" sections are preference and will not affect synchronization.

The Enhancements tab comes to personal preference. Setting these options too high may cause slowdown on your computer. Only go as high as your computer can handle. This is one case where your settings can differ from your opponent's without risking a desync.

In the graphics Hacks tab, it is wise for you and your opponent to check "Skip EFB Access from CPU". Also make sure you've set "EFB Copies" to "Texture". This should be the default setting.


Videos
Desync Stress Test - An early test to see just how much stress Dolphin netplay can take before desyncing. Even with all items on Very High the game never desyncs.
Our 30FPS speedup code in action - Video and code by NMN. This code modifies the Gamecube's timing codes, thus saving on processing power. It allows players with lower-end computers to play Single Core mode more easily. It also keeps sound and music normal!!

AMAZING 40-minute session on LiveStream (JMC vs KnitePhox) - This is amazing because it proves you can play seamless, desyncless matches over long periods of time!

*Falco vs Yoshi (Makkun vs JMC)
*Link vs Yoshi (Makkun vs JMC)

*These videos may contain audio/video desync. This has nothing to do with actual in-game lag and is only a result of the recording software, FRAPS giving us problems. In-game lag is generally anywhere from 4-8 frames depending on how high we set Dolphin's input buffer.

Stages - How stressful each will be on your computer

The biggest problem we're facing is the CPU requirements; you need a decent CPU for even the least resource-demanding stages. The demands vary by stage and number of players, so I've tested the stages to help show which have the lowest hit on the CPU using Dolphin build 3.0-305.

Mushroom Kingdom II
Mushroom Kingdom
Battlefield
Past Stages: Dream Land


Final Destination
Past Stages: Yoshi's Island
Past Stages: Kongo Jungle
Fourside
Pokemon Stadium
Flat Zone
Yoshi's Story
Rainbow Cruise
Icicle Mountain


Lylat System Corneria
Kongo Jungle
Planet Zebes Brinstar Depths
Planet Zebes Kraid
Mute City
Fountain of Dreams
Big Blue
Lylat System Venom


**The stages are ordered from easiest on your CPU to hardest; green, yellow, then red.

FAQ
Q: What does "desync" mean?
A: Desyncing is when the game's state on your screen is different than that of your opponent's, effectively "breaking" the game. For example, if you use Game & Watch's side-B "Judgement" move and get a '9' on your screen, you will probably kill your opponent (if the attack connected). However, if something went wrong and on your opponent's screen he/she got a different number, the two game states would be different and thus the game would break.

Q: How do I know if the game desynced?
A: The easiest way to tell is if your opponent starts killing himself for no reason, or if he seems to be fighting invisible ninjas. If you ask your opponent about it, he will probably say you were doing the same thing on his screen.

Q: Why is my game desyncing?
A: There are (few) unexplained desyncs, but in most cases it means somebody set something up wrong. You and your opponent must have the exact same Dolphin build, Dolphin settings, Melee version, and memory card file. Even the slightest mistake can cause the game to desync.

Changelog:
October 19, 2012 - Thread posted. Added *disclaimer to some videos that contain audio/video desync unrelated to in-game lag. Added descriptions to videos on YouTube.
October 21, 2012 - Added second post "Play Testers". Created team email melee.netplay@gmail.com. Added a "Download Links" section.
October 22, 2012 - Added amazing footage of JMC and KnitePhox testing Melee netplay, a 40-minute video of seamless, desyncless netplay. Cleaned up the OP.
October 24, 2012 - Re-wrote entire OP. Added brand new custom Dolphin builds to assist Melee netplay.
November 15, 2012 - Huge gap since last thread update, real life has been a pain. New build 815 has settings sync, a true 30 FPS hack with working audio, and a dual-core fix.
 

Makkun

Smash Journeyman
Joined
Jun 26, 2007
Messages
407
Location
Ypsilanti, MI
Play Together!
There are a few ways you can meet people to play online! You can join the Melee Netplay group or...
If you're looking for a more immediate match, join the IRC channel!

IRC Setup
nmn said:
Location
URL: irc://irc.rizon.net/dolphin-ssbm
Server: irc.rizon.net
Channel: #dolphin-ssbm

How to Connect (easy)
Click here to enter with a web browser.
Choose any nickname - no registration required. You may register your nick with Rizon after logging in. If this is done you will want to select "Identify with Nickserv" as your Auth method at the login page. Some nicks will already be taken.

How to Connect (better)
Download and install a dedicated IRC client -> here (->OS X)

In the network list, locate "Rizon." If it is not present, add it:
1. Enter your preferred nick names.
2. Click "Add" and type Rizon.
3. Click the entry and click "Edit..."
4. Set the first server entry to irc.rizon.net/6697
5. Check Use SSL for all the servers on this network and Accept invalid SSL certificate
6. In Favorite channels, type #dolphin-ssbm
7. If you want to connect to this when starting HexChat, check Auto connect to this network at startup.
8. Close the edit window, select Rizon, and hit Connect.
Play Testers

We're looking for testers to help further our research! You can contact us via PM or send an email to melee.netplay@gmail.com

There are some prerequisites for application:

Minimum requirements:
  • Core2duo @ 2.66 Ghz or higher for Dual Core playtesting.
  • If you are using a PC, First-Gen Core i5 and i7 processors or any Sandy Bridge and Ivy Bridge processor for Single Core playtesting.
  • If you are using a laptop, Sandy Bridge and Ivy Bridge Intel processors or comparible AMD processors for Single Core playtesting.
  • You must be able to download multiple Dolphin builds including the currently recommended build (3.0-305).
  • You must download the memory card file provided in the OP.
  • You must have a working version of Melee (we will not provide one for you).

Notes:
  • We may record any gameplay at any time. This may be for our own research, or to post on the internet as data.
  • If you are only able to test for Dual Core mode, expect occasional desyncs after the first match. Part of the process is ironing out these issues.
  • If your computer does not meet the specs listed above, or if your computer can play Dual Core mode perfectly, but not Single Core mode, we can still use your help! We need to test game speed codes that may help lower-end computers play on Dual Core or even Single Core settings without hiccups!


(I'm going to post this in the thread's second post)
 

ZelDan

Smash Master
Joined
Nov 19, 2011
Messages
3,303
Location
New Hampshire
hopefully my laptop is unsh*tty enough to atleast let me use this.

nice that it's working though!
 

Izuhu

Smash Journeyman
Joined
Sep 12, 2012
Messages
326
Location
Bronx,NY
Dolphin R6515 is the fastest 3.0 build and is even faster in the ICC build. I can run the whole game in fullspeed with the exception of fountain of dreams . I have problems playing 3-4 ICs on it, but who plays doubles on FoD anyways (it lags).
 

JMC4789

Smash Journeyman
Joined
Oct 19, 2012
Messages
213
I was the other person who worked on setting Dolphin for working here, and I don't think it obsoletes your work at all. The problem with this method is basically computer speed, and that's not something we can fix. If you completely disable randoms in Melee, you can an instant 100% speed boost which would make the entire game playable on gaming computers.

Our goal wasn't to do that, our goal was to prove that Melee unaltered can be synced for those who want to play it now. In fact, the data collected from both sides can only help one another.

Also we weren't aware of the fastest builds when going around, but, assuming there's no new netplay bugs in older/newer revisions, we can go around and try any build we want.
 

Makkun

Smash Journeyman
Joined
Jun 26, 2007
Messages
407
Location
Ypsilanti, MI
Thanks for the tip, Izuhu. We'll definitely check that build out.

And InternetExplorer, we are still looking forward to what you and Massive are working on. We (my friend and I) did this research and posted this thread to let people know that it's possible to play Melee online right now without any hacks or alterations to the game itself. What you guys are doing is great (widescreen hack, new HUD and HD graphics, controlling data packages, eliminating the random seed, etc) but your Melee Online project should now be seen as an "upgrade" or a modded version of Melee. It seems Massive (I believe, it was) was a bit misguided in his research using vanilla Dolphin to play Melee online properly. Of course, we may have overlooked some details that could cause desyncs for certain players and that is one reason we created this thread. We want to pinpoint all possible reasons for desyncs and eliminate them so people can play Melee online quickly and easiliy using Dolphin.

I'd like to know a little bit more about why there seems to be a crusade against using Dolphin's netplay online. Massive claims in his thread "why it is impossible to play Melee online 'properly' using Dolphin". But the work we've done here proves otherwise. Maybe we could work together to figure out why it wasn't working for him/you guys previously, and anything that can be done to improve the quality of vanilla Dolphin netplay. I'm still looking forward to a release from you guys, since you're adding so many extra features. It seems like you're really streamlining the online process and making it more viable for more players. But we want people to know it's possible and very feasible at this very moment.
 
Joined
Oct 10, 2011
Messages
1,126
Location
Boise, ID
NNID
dansalvato
I was the other person who worked on setting Dolphin for working here, and I don't think it obsoletes your work at all. The problem with this method is basically computer speed, and that's not something we can fix. If you completely disable randoms in Melee, you can an instant 100% speed boost which would make the entire game playable on gaming computers.

Our goal wasn't to do that, our goal was to prove that Melee unaltered can be synced for those who want to play it now. In fact, the data collected from both sides can only help one another.
I think dual-core causes other sync issues as well, not just regarding randoms. Dolphin is not a deterministic emulator so there can be miniscule changes between clients that cause a desync.

For slower PCs, I wrote a code that doubles Melee's speed, so you can cap Dolphin at 30fps and still play the game at full speed, reducing the CPU requirement by 50% (at the expense of frame rate).
 

JMC4789

Smash Journeyman
Joined
Oct 19, 2012
Messages
213
We know Dualcore is a major culprit, most of Dolphin is deterministic, but HLE audio isn't (by the author's words, it's a mess of hacks) and Dualcore isn't due to an unknown bug. That's fine, but with the proper settings it seems like Dolphin will never desync between two computers using the same version of Melee.

Also, that code would be hugely useful even without modding Melee otherwise, but wouldn't that make the game run half the speed as well? Or does it merely chop out frames? But... Dolphin's frameskip doesn't really help all that much because most of the work is CPU side, unless your code actually skips CPU calculations and interpolates between frames as well, I don't think it'll actually work to make the requirements all that much lower.
 

Izuhu

Smash Journeyman
Joined
Sep 12, 2012
Messages
326
Location
Bronx,NY
DSP LLE doesn't really change much for me in terms of speed, but I do notice a stuttery feeling when playing even when its capped at 60fps.
 

JMC4789

Smash Journeyman
Joined
Oct 19, 2012
Messages
213
I originally said about how much lag was compared to Brawl, but I don't have a true way to test it outside of how it feels to me, so I'll say this. It's better latency than N64 netplay. I played lots of Brawl Wifi, and it never felt as smooth or quick as this. I haven't been able to test it across oceans, but, the custom settings for lag can be adjusted midmatch, as per Dolphin's feature set, so you can find a sweetspot for you and a friend, and learn to play on it.
 

Izuhu

Smash Journeyman
Joined
Sep 12, 2012
Messages
326
Location
Bronx,NY
The last time I played ssbm online it didn't lag, the real problem was the constant desync, but lag is always imminent if you were to conjunct the word online to the word game. (with the exception of mario kart wii, where it seems lag is nonexistent) I would rather have input lag than a slideshow type like gameplay. Would be better to have neither. :)
 

JMC4789

Smash Journeyman
Joined
Oct 19, 2012
Messages
213
Mario Kart Wii is correction based, basically, it's like a first person shooter where your controls are always instant, but it guesses and delays where you are to all the other players, and then corrects it if need be. The lag is in the red shells, other items, and other players rather than your actual controls.
 

Juggleguy

Smash Grimer
Premium
Joined
Aug 16, 2005
Messages
9,354
Location
Ann Arbor, MI
Looks like there are a lot of constraints to getting Netplay up and running with Melee. Good job though, I'm curious to see where this goes.
 

Turnerfield77

Smash Cadet
Joined
Sep 4, 2012
Messages
44
Location
Kennesaw, GA
I'm also quite curious to see where this goes. After watching the video, there is sound lag so I imagine input lag is pretty bad still but I could be wrong. I wanna see multiple opinions of people who have tried this before I do. Hopefully it goes well!
 

JMC4789

Smash Journeyman
Joined
Oct 19, 2012
Messages
213
It's a little complicated right now, but I do have a coder that can help me out. We could make a pre-built version of Dolphin with only a few options open, and extra functionality just for playing online (like not writing to the save file or restoring it every run.)

But, we haven't made any moves to seriously change dolphin for a couple of reasons. We really don't know the exact best build to play netplay on, and there's rumors of a lot of newer builds having desync glitches. Older builds are less stable and we lose the intercompatibility between Linux and Windows; at least until we can correct the compiler errors. And, at that point we'd be handcuffing ourselves to a particular build, our code may not port to new versions or it may break compatibility with netplay altogether.

This isn't where we're stopping; getting it working is one step, but even though the computer requirements are high, we want to make it as easy for someone to try as humanly possible.

We also could get better latency by optimizing Dolphin's netplay, but that's a rather complex task best left to the veterans. The way we could get that accomplished is by showing interest in netplay and using the feature to show that people do care about it and appreciate the work that has already gone into it.

The sound lag is Fraps, it recorded it crappy, and I attempted to resync it to no avail. The lag in game is NOWHERE near that much! Please ignore the sound lag as it does not happen during actual play and does not have any correlation with input lag.
 

Izuhu

Smash Journeyman
Joined
Sep 12, 2012
Messages
326
Location
Bronx,NY
Sound was always ******** on dolphin since the earlier builds, even when playing offline. At times music will just cut right off completely, but with the build I'm using it seems to be pass that issue.
 

JMC4789

Smash Journeyman
Joined
Oct 19, 2012
Messages
213
That's HLE audio, if you use LLE there will be no sound errors in 99% of games (I know Metroid Prime 3 is an exception.) but it will be a performance hit. Because HLE is so crappy, it can literally desync Melee, which is why we say to turn sound off or use LLE.
 

Izuhu

Smash Journeyman
Joined
Sep 12, 2012
Messages
326
Location
Bronx,NY
I'm actually using HLE atm, but that was back then on the 2.0 builds when I was having those problems. The problem doesn't seem to occur no more when I'm using HLE on this revision.
 

Turnerfield77

Smash Cadet
Joined
Sep 4, 2012
Messages
44
Location
Kennesaw, GA
It's a little complicated right now, but I do have a coder that can help me out. We could make a pre-built version of Dolphin with only a few options open, and extra functionality just for playing online (like not writing to the save file or restoring it every run.)

But, we haven't made any moves to seriously change dolphin for a couple of reasons. We really don't know the exact best build to play netplay on, and there's rumors of a lot of newer builds having desync glitches. Older builds are less stable and we lose the intercompatibility between Linux and Windows; at least until we can correct the compiler errors. And, at that point we'd be handcuffing ourselves to a particular build, our code may not port to new versions or it may break compatibility with netplay altogether.

This isn't where we're stopping; getting it working is one step, but even though the computer requirements are high, we want to make it as easy for someone to try as humanly possible.

We also could get better latency by optimizing Dolphin's netplay, but that's a rather complex task best left to the veterans. The way we could get that accomplished is by showing interest in netplay and using the feature to show that people do care about it and appreciate the work that has already gone into it.

The sound lag is Fraps, it recorded it crappy, and I attempted to resync it to no avail. The lag in game is NOWHERE near that much! Please ignore the sound lag as it does not happen during actual play and does not have any correlation with input lag.
Ah okay, well I'm gonna give this a shot then! It's possible to play with a gamecube controller right? If so, how could I go about doing that?
 

Makkun

Smash Journeyman
Joined
Jun 26, 2007
Messages
407
Location
Ypsilanti, MI
Ah okay, well I'm gonna give this a shot then! It's possible to play with a gamecube controller right? If so, how could I go about doing that?
You are going to need a USB adapter that has a Gamecube port. One of the reasons I'm playing so badly in the videos (besides being about 3 years rusty) is that I'm using a clumsy PlayStation controller. However, it seems USB adapters work just fine. I don't get any input lag from my controller. I'm hoping to get a USB GCN adapter myself, so if you find a good one please post about it!
 

Turnerfield77

Smash Cadet
Joined
Sep 4, 2012
Messages
44
Location
Kennesaw, GA
You are going to need a USB adapter that has a Gamecube port. One of the reasons I'm playing so badly in the videos (besides being about 3 years rusty) is that I'm using a clumsy PlayStation controller. However, it seems USB adapters work just fine. I don't get any input lag from my controller. I'm hoping to get a USB GCN adapter myself, so if you find a good one please post about it!
I'm almost positive I've seen a thread where someone posted a link to one. I'll have to find it
 

JMC4789

Smash Journeyman
Joined
Oct 19, 2012
Messages
213
And with a blue tooth adapter, you can also use a Wii mote and Classic Controller if you have the technical know how. I had to use glovepie (bleck) and PPJOY to map out the controller, but if you trudge through that mess you can use a classic controller for everything.
 

Makkun

Smash Journeyman
Joined
Jun 26, 2007
Messages
407
Location
Ypsilanti, MI
Ha! That's funny. I have a Magic Joy Box from about 10 years ago, but it just has 2 PlayStation ports. The drivers came on a floppy disc.
 

Theftz22

Smash Lord
Joined
Mar 21, 2008
Messages
1,030
Location
Hopewell, NJ
I don't know how you guys get dolphin to run smoothly. I have a fairly new laptop, yet simply testing texture hacks in training mode in dolphin runs at about 20-30% speed.
 

Izuhu

Smash Journeyman
Joined
Sep 12, 2012
Messages
326
Location
Bronx,NY
I don't know how you guys get dolphin to run smoothly. I have a fairly new laptop, yet simply testing texture hacks in training mode in dolphin runs at about 20-30% speed.
I highlighted your main problem. If you wanna run dolphin at its full potential get a desktop where you can upgrade your parts. The problem is most likely guaranteed your cpu specs
 

JMC4789

Smash Journeyman
Joined
Oct 19, 2012
Messages
213
My laptop runs dolphin at full speed, but, it's a second gen i7 with a GTX 560m. Even then, it struggles on most levels. What you should focus on are the cheaper, high end core i5s. We may have found a trick in dolphin that will dramatically lower the entrance requirements to try Melee... so keep your eyes ready!
 

Massive

Smash Champion
Joined
Aug 11, 2006
Messages
2,833
Location
Kansas City, MO
Jesus Christ, I really feel like sh*t now.

edit: I dont feel quite as bad as I thought, but this is still pretty depressing.
 

Massive

Smash Champion
Joined
Aug 11, 2006
Messages
2,833
Location
Kansas City, MO
Double post because I feel like contributing again, and I really don't care.

Here's some AR codes to speedup your gameplay to normal speed, care of IE's AR wizardry.

30 fps:
04432A2C 0005265C

45 fps:

04432A2C 0007B98A

To use these, set your max frame rate to 30 fps or 45 fps (whichever code you'd like to use anyway).
Enable cheats, and add these to your melee cheat list.

Select the appropriate one and it will accelerate your gameplay to full speed at that framerate.

30fps looks a bit choppy but plays just fine.
45fps hardly intelligible from regular smash, and plays almost perfectly.

There are some other caching things we can do to speed up single core mode as well, but they're not quite in a finished state yet.
This is the bulk of the "low end" mode we were talking about.

Enjoy!
 

JMC4789

Smash Journeyman
Joined
Oct 19, 2012
Messages
213
Thank you for the codes; I tested out the mode over netplay using 30 fps + training mode and saw how it worked... and... it's pretty neat. It's not useable for competitive play, but for someone to try out netplay without needing a monster PC, it's perfect.

Massive: Are there any specific drawbacks to the code? Do they double the speeds of the menus? I know music is still slow, but we mostly use HLE with no backend when doing bare minimum requirement tests.

I don't think this is anything to feel bad about; if anything it just validates that the emulator itself is capable of doing some of the work. There's a long road ahead to make Melee Netplay into a viable option for all players.
 
Joined
Oct 10, 2011
Messages
1,126
Location
Boise, ID
NNID
dansalvato
The code should have no drawbacks, being a global speed modifier. If running Dolphin in 30fps causes LLE audio speed to cut in half as well, then I'll write another code to match the audio speed to the game speed.
 

Izuhu

Smash Journeyman
Joined
Sep 12, 2012
Messages
326
Location
Bronx,NY
Won't the AR codes carry on during netplay like project64k would......cuz that can be a problem for a person who can run the game at fullspeed, and since its changing the game speed and not the actual fps of the game won't it make it ultra fast on my end.
 

JMC4789

Smash Journeyman
Joined
Oct 19, 2012
Messages
213
Action Replay Codes work on Project 64 netplay as long as both sides are using them. I haven't done much testing yet, but it looks like with these codes it would still work, but I don't know if it's as stable as without codes. We simply don't have enough players right now to do all that much on short notice.

Melee Online was actually sending more data, I think, so it wouldn't need to sync the same way to my knowledge, but using our settings, both players would need the same codes enabled, or else you would get an immediate desync.

IE: That's great to hear, and yeah, the speed of LLE audio is cut in half; if that could be fixed, there would be virtually no drawbacks (minus the half framerate and some loss of framerate stability during netplay) of playing like this. It's actually quite impressive to see how much of a boost it really gives. It's a lot off my mind, considering the biggest problem in testing was grinding out the settings to get an extra few FPS here and there. This is absolutely huge!
 
Joined
Oct 10, 2011
Messages
1,126
Location
Boise, ID
NNID
dansalvato
Massive and I are still getting desyncs every match or two. We're going to run some more testing and see why this is happening. Are you sure you guys ran a perfect game for extended periods of time?
 

JMC4789

Smash Journeyman
Joined
Oct 19, 2012
Messages
213
What settings are you guys using? If one setting is wrong, it'll desync second match. First round will almost always sync no matter how off the settings are. It's entirely possible that I missed some setting when working out the required settings we use, so screen shots of the main configuration, DSP, and hacks section of the graphics plugin.

Also remember to sync your memory cards every runtime because we haven't set up a solution for that yet.
 
Joined
Oct 10, 2011
Messages
1,126
Location
Boise, ID
NNID
dansalvato
Our build doesn't have an "Audio Throttle" option but does have a "Limit by FPS" option in the main config tab. I'm guessing checking "Limit by FPS" disables audio throttle but I'm not quite sure.

edit: I should mention that we got desyncs with Limit by FPS both on and off.
 
Status
Not open for further replies.
Top Bottom