• 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.

p1ns

Smash Cadet
Joined
Jan 24, 2013
Messages
44
Location
España
I have ordered an usb adaptor, I should have it for Monday, if it works well I'll tell you.

z4kn4f3in, if you want to test SSBM join the steam group or search me in steam: p1ns
 

Veggiez

Smash Apprentice
Joined
Oct 23, 2009
Messages
76
Location
Ottawa, Ontario, Canada
I don't completely understand...how exactly do I start playing with others online and how do I know I'm connected?

Do I just go into Melee mode and if I see the second hand cursor moving, does that mean I'm connected?
 

p1ns

Smash Cadet
Joined
Jan 24, 2013
Messages
44
Location
España
I don't completely understand...how exactly do I start playing with others online and how do I know I'm connected?

Do I just go into Melee mode and if I see the second hand cursor moving, does that mean I'm connected?
Yo have to click on "start netplay". Then you have know the other player IP or host yourself the game and give your IP to the another player.
 

SheerMadness

Smash Master
Joined
Aug 18, 2005
Messages
4,781
Will the melee version converter allow me to use the 30 fps hack if I have the wrong melee ISO?

EDIT: Is the frame skipping option essentially the same thing as the 30 fps hack? Seems like If I use the 1 frame skip option it displays game play at around 35 fps but speed at 100%. I'm assuming that's the same concept as fps hack right?

EDIT EDIT: Thanks to JMC47 in the mIRC chat I got this working perfectly. With dual core on I can run a lot of stages at 100%. Some tips for other people, the OpenGL graphics plugin lags for me. I use Direct3D9 which runs at 100%. Also turning off sound completely seems to make things run a bit smoother.
 

z4kn4f3in

Smash Rookie
Joined
Jan 31, 2013
Messages
4
Hi again !

Well i've tested the netplay, and it's working fine when I play with 1 player with the dual core activated.
When I tried to play with 2 others ppl, it's started to lag hard, the game was really slow.
So we tried to activate the 30fps hack, and it worked nearly ok (some slow down but it was playable), but we kept being desynch after 5mn of play or so. Always the same person being desynch, so we think it's his connection that don't follow.
Do u think that Hamashi can sort this out? The emulation work at 100% speed when i play with 1 other ppl, but drop to 50% when I played with 2, is it CPU limitation (maybe it's the dual core that is automatically desactivated?) or is it a connection problem?

We're going to test SSBB with that config, i'll keep u informed
@+
 

SheerMadness

Smash Master
Joined
Aug 18, 2005
Messages
4,781
Does anyone want to test with me right now?

EDIT: Someone add me to the skype group please. Name is SheerMadness10.
 

JMC4789

Smash Journeyman
Joined
Oct 19, 2012
Messages
213
Hamachi doesn't do anything for connection, if anything, it'll make your connection worse to go through another layer. If you can connect without Hamachi, you will have a better connection.

Unless you use a very specific set of settings, you will desync a lot. That being said, there is possibly some sort of bad connection desync as well, but it takes a lot to trigger that.

On top of that, more players = more rendering = more slowdown. a 3 player FFA is going to take more CPU power than 2 player FFA. Also, dualcore will result in immediate random desyncs, so if you do play dualcore, you can't use Luigi, Peach or G&W along with any stage with moving parts or random elements.
 

Fishaman P

Smash Apprentice
Joined
Jun 28, 2011
Messages
184
Location
Central Wisconsin
Keep in mind that if an input packet isn't received by the expected time, Dolphin will pause until it arrives.
Basically:

High input buffer = high input lag = faster emulation speed

You just have to find an acceptable tradeoff for your internet connection.
 

p1ns

Smash Cadet
Joined
Jan 24, 2013
Messages
44
Location
España
I'm not an expert of programming, but why does NetPlay uses TCP ? Online games use UDP so there is lower ping to get better play experience.
 

SheerMadness

Smash Master
Joined
Aug 18, 2005
Messages
4,781
I just played dual core at 100% speed with KnitePhox. You can usually get in 1-2 matches before it desyncs.

IMO that's better than the fps hack if your comp is strong enough. The 30 fps hack adds an additional 3-5 frames of input delay to the game. Dual core mode without fps hack has wayyy less input delay.

BTW I have a core i5 2410M, which is like bottom tier of the sandy bridge i5's. And I don't even have a dedicated graphics card, just intel integrated. So if I can run this crap at 100% I know a lot of you can too.

EDIT: It FEELS like an additional 3-5 frames of delay on the fps hack, but that's just my estimation. There's clearly significantly more input delay with the fps hack but I don't know for exactly how much. Just taking a guess.
 

p1ns

Smash Cadet
Joined
Jan 24, 2013
Messages
44
Location
España
I have tried with SheerMadness dual core 60fps but we weren't getting more than 40 fps because of the buffer settings, I set 10 for the buffer but was not enough. With the 30 fps hack a value of 9 for the buffer was enough. NetPlay showed about 140~150 milliseconds ping, logical since connection goes accross the ocean. I suppose that if the game not desynchs people that get lower latency would be able to play 60 fps.
 

Luo_Zhao

Smash Rookie
Joined
Feb 28, 2009
Messages
16
My friend and I are both on campus connections that don't allow us to host. Hamachi didn't work. So we tried Tunngle.
IT BLEW MY MIND. Worked PERFECTLY.
31ms ping. We had the buffer at 4, but I'm sure we could have gone lower. Constant 60 fps, dual core on. It desynced every three games or so, but it was completely worth it. It didn't lag at all, and there was very little input lag, if at all. It honestly felt like we were playing offline.

I'm in PA, he's in NY. I haven't tried it with anyone else, but it would be interesting to see if it nets similar results with people cross country. It was certainly better than any connection I've gotten with other PA players.

We used 3.5-336, just for trying. Didn't try with the 815 netplay build. I was really surprised that it ran so well, considering I'm using my integrated graphics (i5-2520m)
 

JMC4789

Smash Journeyman
Joined
Oct 19, 2012
Messages
213
Latest builds have better audio emulation than older builds. But yeah, Tuungle is a good program, I've used it before, seems to work better than Hamachi.

Glad to see it worked. We'll hopefully have a way for people who cannot host to play each other without needing third party services (would give better latency than even tuungle) but for now, you'll have to figure out ways for things to work. Dualcore is still a huge cause of desyncs, but should be decently stable as long as you're running full speed.
 

p1ns

Smash Cadet
Joined
Jan 24, 2013
Messages
44
Location
España
My friend and I are both on campus connections that don't allow us to host. Hamachi didn't work. So we tried Tunngle.
IT BLEW MY MIND. Worked PERFECTLY.
31ms ping. We had the buffer at 4, but I'm sure we could have gone lower. Constant 60 fps, dual core on. It desynced every three games or so, but it was completely worth it. It didn't lag at all, and there was very little input lag, if at all. It honestly felt like we were playing offline.

I'm in PA, he's in NY. I haven't tried it with anyone else, but it would be interesting to see if it nets similar results with people cross country. It was certainly better than any connection I've gotten with other PA players.

We used 3.5-336, just for trying. Didn't try with the 815 netplay build. I was really surprised that it ran so well, considering I'm using my integrated graphics (i5-2520m)
31 ms is a great value. I will have to test if high buffer values (>10) allow dual core 60fps playing on 140~150 ms ping.
 

Massive

Smash Champion
Joined
Aug 11, 2006
Messages
2,833
Location
Kansas City, MO
I'm not an expert of programming, but why does NetPlay uses TCP ? Online games use UDP so there is lower ping to get better play experience.
TCP is currently used because it allows for packet confirmation and works better with the buffer. While UDP is substantially faster (requires no ack) it has a tendency to lose packets, leading to even quicker desyncs.

For things like FPSs where damage, position, score, etc are moderated at the server, UDP is ideal because it lets clients communicate their inputs so the server can decide if they move, take damage, score, et al.

Dolphin's netplay's only mechanism currently is to send controller inputs between sessions. That's it. If your packet gets lost or delayed processing on your end by even a fractional second, your random timers will be off, and you will desync. There's nothing between players to verify that the games match on either end besides watching your friend's falco randomly jump off the side doing an dair.

This is why netplay is not reliable at the moment, and why you have yet to see wider scale adoption of it by the community.
 

p1ns

Smash Cadet
Joined
Jan 24, 2013
Messages
44
Location
España
TCP is currently used because it allows for packet confirmation and works better with the buffer. While UDP is substantially faster (requires no ack) it has a tendency to lose packets, leading to even quicker desyncs.

For things like FPSs where damage, position, score, etc are moderated at the server, UDP is ideal because it lets clients communicate their inputs so the server can decide if they move, take damage, score, et al.

Dolphin's netplay's only mechanism currently is to send controller inputs between sessions. That's it. If your packet gets lost or delayed processing on your end by even a fractional second, your random timers will be off, and you will desync. There's nothing between players to verify that the games match on either end besides watching your friend's falco randomly jump off the side doing an dair.

This is why netplay is not reliable at the moment, and why you have yet to see wider scale adoption of it by the community.
Packet loss is the same on UDP and TCP, the different thing is that TCP solves losses by itself. But if losses are not usual (I usually play CS and I can see that on good servers loss is near 0%), UDP could be used and if packet loss happens, solve the problem on application layer. Maybe for the future.
 

Massive

Smash Champion
Joined
Aug 11, 2006
Messages
2,833
Location
Kansas City, MO
With the way the input buffer is written, there won't be an appreciable difference between UDP and TCP code as far as speed is concerned. TCP's ack scheme is currently used to moderate the gamespeed between peers, something that would be substantially more difficult in UDP.

If dolphin netplay were to switch to a true client/server architecture with much better client side determinism (and did more than just send inputs), it'd probably be more feasible.
 

JMC4789

Smash Journeyman
Joined
Oct 19, 2012
Messages
213
The problem isn't in what we send (for the most part.)

The difference between Gamecube Netplay and N64 netplay is that N64 emulation pretty much runs on one core, no problem, full speed. If we did that with LLE audio, Gamecube netplay (theoretically) would be the same as N64 netplay with no desyncs whatsoever. I say theoretically, because I've been unable to test this so far.

Sorry if I'm sounding a bit defensive, but while our method is tougher to use and requires fairly high system requirements, it does work on most, if not all games. It's not optimal for Melee, like SSBMO will be when it's released. But, in sacrificing those optimizations, we can integrate with the main emulator, keep compatibility and see how feasible it is for dolphin's netplay to be used on a wider range of subjects. Who doesn't want to do a marathon game of Mario Party Party 1 - 9 over the internet while swearing at one another for 24 hours straight?

Wider community adoption would be bad, as we don't have a proper infrastructure yet, so I'm pretty pleased with the current userbase. We're working on a bunch of features to simplify netplay right now, and make it easier to simply grab the game and play, instead of worrying about having perfect settings, setting up controllers and other issues that plague dolphin's pretty poorly designed multiplayer setup.
 

p1ns

Smash Cadet
Joined
Jan 24, 2013
Messages
44
Location
España
Okey, finally it works, everything right except you have to push L/R a bit more than usual to make the shield appear, but they work as analg, it's possible to light shield.
 

Fishaman P

Smash Apprentice
Joined
Jun 28, 2011
Messages
184
Location
Central Wisconsin
Okey, finally it works, everything right except you have to push L/R a bit more than usual to make the shield appear, but they work as analg, it's possible to light shield.
That sounds like the analog deadzone is set too high.
If the deadzone is set to 0, then either your adapter is crap or your controller is crap.
 

SheerMadness

Smash Master
Joined
Aug 18, 2005
Messages
4,781
Ok so I've given online melee a shot over the past week or so. Here's my review:

Been playing ssb64 online since 2005, so I'm pretty familiar with all the issues that come with online play via emulation.

The only playable session I've had so far was with KnitePhox. We played with the 30 fps hack off and dual core mode on. He's the only person I've successfully ran dual core mode with at 100% so far.

Everyone else I've had to use the 30 fps hack to run the game at full speed. The problem with the 30 fps hack is that it adds a large amount of input delay to the game. Add that to the automatic delay you get with someone due to online play/distance and it's almost unplayable unless you're playing with someone very close to your location.

If everyone could run melee at 100% with dual core mode on it would be very enjoyable IMO. Even with the desyncs occuring every couple matches it beats having the deal with the incredible amount of input delay the 30 fps hack comes with. The problem is that running dual core at 100% just doesn't seem possible with most people.

With that said, online melee has made incredible strides since I last tried it a couple years ago. That one session with KnitePhox was incredible and gives me hope for the future.

Keep up the good work guys!
 

Luo_Zhao

Smash Rookie
Joined
Feb 28, 2009
Messages
16
Okey, finally it works, everything right except you have to push L/R a bit more than usual to make the shield appear, but they work as analg, it's possible to light shield.
Try changing the range to 50
Right click L/R-analog and change input range to 50
 

p1ns

Smash Cadet
Joined
Jan 24, 2013
Messages
44
Location
España
Ok so I've given online melee a shot over the past week or so. Here's my review:

Been playing ssb64 online since 2005, so I'm pretty familiar with all the issues that come with online play via emulation.

The only playable session I've had so far was with KnitePhox. We played with the 30 fps hack off and dual core mode on. He's the only person I've successfully ran dual core mode with at 100% so far.

Everyone else I've had to use the 30 fps hack to run the game at full speed. The problem with the 30 fps hack is that it adds a large amount of input delay to the game. Add that to the automatic delay you get with someone due to online play/distance and it's almost unplayable unless you're playing with someone very close to your location.

If everyone could run melee at 100% with dual core mode on it would be very enjoyable IMO. Even with the desyncs occuring every couple matches it beats having the deal with the incredible amount of input delay the 30 fps hack comes with. The problem is that running dual core at 100% just doesn't seem possible with most people.

With that said, online melee has made incredible strides since I last tried it a couple years ago. That one session with KnitePhox was incredible and gives me hope for the future.

Keep up the good work guys!
To remove the 30 fps hack you have to increase to buffer to get 60 fps, but if the connection has too much latency you will need a very high buffer and the game won't go well.

I think I tried with you dual core 60 fps but as I say the connection did not allowed.

Thank you for the info Luo_Zhao, I'll try later.
 

p1ns

Smash Cadet
Joined
Jan 24, 2013
Messages
44
Location
España
Hey guys im new to net play. Anyone around to test a game?
Add me to friends on steam (p1ns) or skype (pins__). We can test later, I'll be online since about 6 pm to 1 am here. If you are from USA remember I'am about 6 or 7 hours later than you.
 

oats_

Smash Apprentice
Joined
Sep 30, 2012
Messages
89
Location
St. Catharines, Ontario
Does anyone know why I am getting bad FPS when playing online?

Me and my friend are using all the same settings, and we can each run the game at 60 fps offline, but once we go online and try to play together we are getting ~20 fps.
 

p1ns

Smash Cadet
Joined
Jan 24, 2013
Messages
44
Location
España
Does anyone know why I am getting bad FPS when playing online?

Me and my friend are using all the same settings, and we can each run the game at 60 fps offline, but once we go online and try to play together we are getting ~20 fps.
You probably need to use a higher buffer value. If your connection is not good you cannot reach 60 fps if not using high buffer values.

I have been offline this weekend and probably I won't be able to play this week, I hope next weekend I can play.
 

Fishaman P

Smash Apprentice
Joined
Jun 28, 2011
Messages
184
Location
Central Wisconsin
Does anyone know why I am getting bad FPS when playing online?

Me and my friend are using all the same settings, and we can each run the game at 60 fps offline, but once we go online and try to play together we are getting ~20 fps.
To expand on what p1ns said, Dolphin waits for every input packet to arrive in order to avoid desyncs. If the buffer value is too low, then every frame it needs to wait for the other person's packet to arrive. Raising the buffer will improve the FPS until the connection is no longer the issue.
 

JPenJr71121

Smash Rookie
Joined
Nov 2, 2012
Messages
13
Location
Northeast
EDIT: Never mind. I had to go in the back way to get to the GC folder.

If anyone else can't find the "Dolphin" or "GC" folders

1. Play a replay
2. Trace the file path backwards one level
3. Move folder to desktop
4. Relocate mem card file
5. Put folder back
6. Enjoy
 
Status
Not open for further replies.
Top Bottom