• 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 Online: Why it isn't an option right now.

Joined
Oct 10, 2011
Messages
1,126
Location
Boise, ID
NNID
dansalvato
I'm glad so many of you are interested in this and and even willing to help. Massive and I are currently getting along with the project just fine, and we haven't hit any snags or limitations that require us to seek help. We prefer keeping the project small for manageability purposes, at least for the time being. We may seek help in the future.

We'll probably start a blog once we have a release, since it would serve a purpose besides simply building needless hype (as a current blog would only manage to do).

Just know that everything is great so far, and we'll really open up once we have a need to do so.

:phone:
 

CorteX

Smash Cadet
Joined
Jan 25, 2010
Messages
55
Location
Den Haag, The Netherlands
Someone just linked me to this thread and I thought this could come in handy.
Some time ago a dude called fuzziqer made an application for the GC to enable online play in Melee. It came with a codeset to keep all players in sync, I have played a few matches in the past and I didn't notice any desyncs, but the physics were a bit screwed up D:
Mind you that this was one of the first revisions I tested and it should be better now.
Here is the project page: http://www.fuzziqersoftware.com/projects.php
Maybe the SSBM cheat code file with the offsets in RAM might help you guys.

Good luck :)
 

Massive

Smash Champion
Joined
Aug 11, 2006
Messages
2,833
Location
Kansas City, MO
Someone just linked me to this thread and I thought this could come in handy.
Some time ago a dude called fuzziqer made an application for the GC to enable online play in Melee. It came with a codeset to keep all players in sync, I have played a few matches in the past and I didn't notice any desyncs, but the physics were a bit screwed up D:
Mind you that this was one of the first revisions I tested and it should be better now.
Here is the project page: http://www.fuzziqersoftware.com/projects.php
Maybe the SSBM cheat code file with the offsets in RAM might help you guys.

Good luck :)
These charts may prove pretty helpful, it's got references some memory addresses we had yet to isolate, but it's still missing some more important ones.

Thank you very much for posting this though.
 

Leviathan741

Smash Ace
Joined
Nov 25, 2008
Messages
604
Location
Columbia, Missouri
stfu, this is such a trash post

you must be 10 years old jesus
How about you stfu? No, in fact you are the one with the trash post. What is wrong with you?

I was merely citing in a joking manner that I am interested in the project.. and of course many of us would like for this to go through.

You have no tact.

Quite ironic and hypocritical for you to call me 10 years old, when in fact you are trolling.
 

Leviathan741

Smash Ace
Joined
Nov 25, 2008
Messages
604
Location
Columbia, Missouri
I'm glad so many of you are interested in this and and even willing to help. Massive and I are currently getting along with the project just fine, and we haven't hit any snags or limitations that require us to seek help. We prefer keeping the project small for manageability purposes, at least for the time being. We may seek help in the future.

We'll probably start a blog once we have a release, since it would serve a purpose besides simply building needless hype (as a current blog would only manage to do).

Just know that everything is great so far, and we'll really open up once we have a need to do so.

:phone:
Good Job. Keep it up, and I hope you guys can get this done through some reasonable amount of time.
 

Varist

Smash Lord
Joined
Feb 7, 2011
Messages
1,603
Location
Austin

Leviathan741

Smash Ace
Joined
Nov 25, 2008
Messages
604
Location
Columbia, Missouri

Leviathan741

Smash Ace
Joined
Nov 25, 2008
Messages
604
Location
Columbia, Missouri
Someone just linked me to this thread and I thought this could come in handy.
Some time ago a dude called fuzziqer made an application for the GC to enable online play in Melee. It came with a codeset to keep all players in sync, I have played a few matches in the past and I didn't notice any desyncs, but the physics were a bit screwed up D:
Mind you that this was one of the first revisions I tested and it should be better now.
Here is the project page: http://www.fuzziqersoftware.com/projects.php
Maybe the SSBM cheat code file with the offsets in RAM might help you guys.

Good luck :)
This seems like it could help quite a bit.
 

Strong Badam

Super Elite
Administrator
Premium
BRoomer
Joined
Feb 27, 2008
Messages
26,545
lol navneet stop taking smashboards so seriously it only feeds them
 

Varist

Smash Lord
Joined
Feb 7, 2011
Messages
1,603
Location
Austin
think you missed the point on my missing the point link. should've expected it tho.

immature plebeian trash will be ignorant philistine garbage

i bet you come from a poor family too. destined to melt into the undistinguished majority
 

Acryte

Smash Ace
Joined
Mar 30, 2005
Messages
986
YOOOO MELEE ON FREAKIN LINE. IS ANYTHING ELSE EVEN WORTH TALKIN ABOUT?... Oh yea, apex. Ok maybe apex. That is all. :)
 

Massive

Smash Champion
Joined
Aug 11, 2006
Messages
2,833
Location
Kansas City, MO
Some seriously college level insults up in here.
Seriously though, Leviathan needs to stop double-posting if he wants his arguments taken seriously.

Also, more pertinently to the thread, I'm planning to make another Melee Online thread more suitable to be stickied when we have an internal alpha prepared. Until then, stay classy bros.
 

Leviathan741

Smash Ace
Joined
Nov 25, 2008
Messages
604
Location
Columbia, Missouri
think you missed the point on my missing the point link. should've expected it tho.

immature plebeian trash will be ignorant philistine garbage

i bet you come from a poor family too. destined to melt into the undistinguished majority
Throwing big words at me? Do you know who I am? No of course you dont..... you are a wothless troll...... By the way, I have a feeling if anyone is going to melt into the undistinguished majority out of us two.... its you

Whoever the **** said that troll on the other boards was worthless was sadly mistaken.
 

Leviathan741

Smash Ace
Joined
Nov 25, 2008
Messages
604
Location
Columbia, Missouri
Some seriously college level insults up in here.
Seriously though, Leviathan needs to stop double-posting if he wants his arguments taken seriously.

Also, more pertinently to the thread, I'm planning to make another Melee Online thread more suitable to be stickied when we have an internal alpha prepared. Until then, stay classy bros.
Internal alpha? You mean like an alpha release?
 

JOS.fm

Smash Journeyman
Joined
Jul 24, 2008
Messages
363
Location
Austin-UT/San Antonio
Massive's been dropping knowledge since early on. IE seems to be very motivated in his ambition. Thanks and hopefully everything works perfectly.
 

Massive

Smash Champion
Joined
Aug 11, 2006
Messages
2,833
Location
Kansas City, MO
Well do you need some alpha testers =P Cuz I have a beast that can run dat melee, and I'm fairly experienced in emulating and played a lot of 64 online
Internal alpha means no. I said internal specifically because we do not need testers.

Any alpha builds will be tested on my machines (or IEs) until we are satisfied they fulfill their function properly, it would be detrimental to the project to have unsolicited bug reports coming in from random "testers" when the entire nature of the application could change in the next build.
 

Leviathan741

Smash Ace
Joined
Nov 25, 2008
Messages
604
Location
Columbia, Missouri
Internal alpha means no. I said internal specifically because we do not need testers.

Any alpha builds will be tested on my machines (or IEs) until we are satisfied they fulfill their function properly, it would be detrimental to the project to have unsolicited bug reports coming in from random "testers" when the entire nature of the application could change in the next build.
fair enough, just asking

EDIT: By the way does anyone want to try dolphin online right now? PM me. IE, I think you wanted to right?
 

Station

Smash Cadet
Joined
Mar 14, 2008
Messages
60
Location
Birmingam, England
fair enough, just asking

EDIT: By the way does anyone want to try dolphin online right now? PM me. IE, I think you wanted to right?
I'll play with you when my gamecube controller PC adaptar arrives, which will probably be early next week. I'm not particularly good though as I never got competitive with melee, although I was fairly decent at Brawl and the original.
 

Leviathan741

Smash Ace
Joined
Nov 25, 2008
Messages
604
Location
Columbia, Missouri
The potential of this project has made me realize how laughably futile it is to try in its current state.
Yea, I figured that would happen :)

I'll play with you when my gamecube controller PC adaptar arrives, which will probably be early next week. I'm not particularly good though as I never got competitive with melee, although I was fairly decent at Brawl and the original.
So Station... as you can see from above it may not work, but I am still willing to give it a shot. Shoot me a pm when you are ready. Dont worry about not being good. I have only been to 1 tournament EVER.
 

Sangoku

Smash Master
Joined
Apr 25, 2010
Messages
3,931
Location
Geneva, Switzerland
Just stop spamming **** you thread hijackers *****es.

Didn't know about this project, but it sounds great! Hope you guys succeed, good luck!
 

Requiem

(╯°□°)╯︵ ┻━┻
Joined
May 6, 2006
Messages
4,946
Location
WHAT IS THIS PLACE
I think it's amazing that you guys are approaching a project like this, which you are doing of your own accord, for free, for a relatively small community of a game that's more than ten years old in such a professional way.

I tip my hat to you all good sirs, you are the finest specimens of this community!
 

firo

Smash Ace
Joined
Jul 27, 2008
Messages
600
Location
Champaign, Illinois
For anyone wondering, N64 netplay is achieved by just sending buffers of key presses over UDP sockets. It works due to input delay (approx 1 frame per 15 milliseconds of ping distance) which generally is not too bad for most players. The argument of melee being "faster" I don't think is a problem, as the netplay sends 60 key presses per second, just as melee netplay would. Desynching occurs when there are slight variations in emulation on a processor or when a packet is not sent or read correctly and works even for most "random" events like items and CPUs.

From what I understand one of the main problems to avoid desynching in melee is the same problem that TASers face when TASing GC games and try to play back their runs - the stability of the game and emulator to produce the exact same results when given a set of inputs each frame. N64 emulation has gotten pretty good at this over time. Throw in the fact that Dolphin is multi-threaded which removes the possibility of sequential consistency and it becomes very hard to synchronize a game (which is one of the reasons why dual core mode should be turned off if attempting to play an online match).

The way to fix this is to improve the stability of the emulator and/or send over some state information between players, which seems to be in progress. Instead of sending memory every frame, I would think that sending a hash or some other unique identifier of the state could save some bandwidth and only require that the memory is sent when things get out of sync. Maybe even some error correction can be implemented so that the memory need not be sent at all. I remember a few years ago I was able to complete one match with a player back when Dolphin still used kaillera (the N64 netplay system) so it should certainly be possible.

In any case, this is something I am interested in and it would be cool if progress on the project was tracked on some sort of development blog of some sort. Or even if the technical details were explained after the fact it would be cool to read up on.
 
Joined
Oct 10, 2011
Messages
1,126
Location
Boise, ID
NNID
dansalvato
Wouldn't trying a setup like OnLive work, Virtually Streaming Video from one computer to another, but allowing the other Computer the ability to control as well?
Good suggestion, but even OnLive has a considerable amount of delay, which would be tremendously unfair if one player had the delay and the other didn't because he was playing a local version of the game. Our technique uses much less bandwidth than something like VNC, anyway.

For anyone wondering, N64 netplay is achieved by just sending buffers of key presses over UDP sockets. It works due to input delay (approx 1 frame per 15 milliseconds of ping distance) which generally is not too bad for most players. The argument of melee being "faster" I don't think is a problem, as the netplay sends 60 key presses per second, just as melee netplay would. Desynching occurs when there are slight variations in emulation on a processor or when a packet is not sent or read correctly and works even for most "random" events like items and CPUs...
You're right, the games would desync because either UDP acts unreliably or there is a difference in the two emulators. For a powerful emulator like Dolphin, this is a likely issue because one of the two emulators could randomly choke or take 1ms longer to process information than the one on the other end.

That's why we're syncing some memory addresses as well as button inputs. If, for example, a player is one pixel farther left on one game than on the other, it will be corrected immediately through our sync procedure. The memory we're sending is actually only a few bytes of data, but we will certainly use a hash if we find it to save bandwidth.

Also, we'll probably start a dev blog after we've made some more progress.
 

Massive

Smash Champion
Joined
Aug 11, 2006
Messages
2,833
Location
Kansas City, MO
Firo,

We're currently in pre-alpha stages and I'm not too keen on the idea of a dev blog until we have a functional internal alpha(which should be soonish, it's dependent on my work schedule, unfortunately). I'm doing what I can, but I don't want to have elaborated on a description of something and then end up backtracking if it doesn't pan out. You also get a lot of unsolicited "advice" when your development efforts are highly visible. I don't like being called lazy when I just coded for 10 hours at work and want to go home and not do that for a few nights.

Having worked in the modding/dev communities on a few other games (Jedi Knight 2, Red Faction, and RPG Maker mostly) people tend to do these things to you.

The current modus operandi is not to sync all memory information every frame (that's not feasible, there's still too much data for an average connection) but to do a rolling sync over all pertinent data, with location information synced once every few frames and stock/percentage information every 10-20 or so. We're still in efforts to isolate the current action state location in memory, which will be another thing we'll likely sync at the same time as location information. I'm currently coding a hybrid UDP/TCP scheme to communicate this data as quickly and seamlessly as possible, but it's pretty slow going.

The key reason we're going out of our way to do this instead of simply removing randomness from the game and continuing on key-sending is that melee cannot be emulated very well on modern hardware in single core mode.
"Dual Core" mode is not technically using both cores necessarily, it's really a mode that allows the CPU thread to run freely from the Video thread, causing another source of desynchronization which made netplay non-viable in it's current state.

KingClubber said:
Wouldn't trying a setup like OnLive work, Virtually Streaming Video from one computer to another, but allowing the other Computer the ability to control as well?

For example: TightVNC - http://www.youtube.com/watch?v=xyCZj4-sLkI

If you set up a safe community, hosting wouldn't be a problem.
Yes, something like OnLive would work, but it would likely be very laggy.
The overhead of compressing and sending video/audio can be pretty substantial, couple that with a dubious ping and the game would end up with a pretty noticeable delay.

We're basically doing the same thing, but we don't have to send as much data as a video stream. Our efforts are designed to make the two separate computers emulating Melee behave as if they were directly sharing the same virtual Gamecube RAM.
 
Top Bottom