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

hectohertz

Smash Ace
Joined
Aug 20, 2006
Messages
800
Location
Brooklyn, NY
i'm a programmer and i'd like to help out on making a memory synced version of dolphin

i'm pretty sure IE's analysis is right, I'd bet that if we isolated the important random variables in melee, they're small enough that we could keep them sync'd over a network. as long as we're using p2p. i don't think a cloud solution would work as well (or at all)
 

Glöwworm

Smash Lord
Joined
Jun 23, 2010
Messages
1,417
Location
CA
I am hot and bothered at this huge possibility of playing Melee online without desync.
 

Massive

Smash Champion
Joined
Aug 11, 2006
Messages
2,833
Location
Kansas City, MO
i'm a programmer and i'd like to help out on making a memory synced version of dolphin

i'm pretty sure IE's analysis is right, I'd bet that if we isolated the important random variables in melee, they're small enough that we could keep them sync'd over a network. as long as we're using p2p. i don't think a cloud solution would work as well (or at all)
Feel free to contact either me or IE and we'll see if we can't get you something to do.
We're currently working through savestates working out how much memory is in use in each frame, preliminary reports indicated that only 35kb of memory are changing between frames (cool!).

This doesnt seem like much, but that's still 2.05MB of data per second.

It's certainly a lot less than 43MB every frame (2.5GB per second) though.
 

Zodiac

Smash Master
Joined
Aug 10, 2005
Messages
3,557
simplified

1.Not everyone has a computer that good

2. We are picky as **** when it comes to our online
 

Pikaville

Pikaville returns 10 years later.
Joined
Feb 16, 2006
Messages
10,901
Location
Kinsale, Ireland
Make Melee online happen so I can stop playing all these other games that are coming out and commit my life to melee finally.
 

The Star King

Smash Hero
Joined
Nov 6, 2007
Messages
9,681
It's capable of desyncing. The creator simply claimed that he hasn't experienced a desync in Project64 1.7, specifically. He said he's desynced in other versions, meaning it's technically possible. I think netplay that works purely on input always has a chance of desyncing no matter what. But, we're getting a little closer to memory synchronization, which would solve that problem, at least for Melee.
IIRC, Boomfan said that he played Mario Party (obviously a random as **** game) with 3 other people for hours with no ds. You send each other save files beforehand or something like that.
 

Massive

Smash Champion
Joined
Aug 11, 2006
Messages
2,833
Location
Kansas City, MO
Brawl uses a random seed. Random events are based on time elapsed and the seed.

Wikipedia for your convenience
This is well known, (almost) every electronic game ever made uses a random seed for events like this.

The issue here is how the events are synced between games in brawl, It's unlikely they're syncing the clock down to the millisecond (because that would be bandwidth intensive), they're very likely just running the random number generation on the server side and broadcasting the event to the client to be handled there. Otherwise the client and the server's clocks (which will not match due to latency) would produce different random events.
 

Massive

Smash Champion
Joined
Aug 11, 2006
Messages
2,833
Location
Kansas City, MO
People can be gigantic *******s when they feel like you owe them something. Look at the Minecraft the community or any other community where the developers are readily accessible and or the game has free updates, people start feeling entitled and demanding ridiculous things.

Consequently we probably won't say much about this until it's at a point where we are very nearly done.

Also, by staying low key, if it doesn't pan out we can quietly bail on the whole project (which hopefully won't happen because we are actively working on it).
 

Acryte

Smash Ace
Joined
Mar 30, 2005
Messages
986
Hey guys, how's progress coming?

Also its just that the world over, stuff comes up in real-life and people can't always finish the projects they start. At least if others are informed of the periods of inactivity, someone else can always pick up the reigns and help out.
 

hectohertz

Smash Ace
Joined
Aug 20, 2006
Messages
800
Location
Brooklyn, NY
In short:
We've got some code to do memory modification, but we're still working on mapping out memory. We thought we had a really good map of what's where, but it's turning out to be a little trickier than originally thought, so we're looking into a number of things

:phone:
 

crush

Smash Master
Joined
Feb 8, 2011
Messages
3,701
Location
Fashion Sense Back Room
In short:
We've got some code to do memory modification, but we're still working on mapping out memory. We thought we had a really good map of what's where, but it's turning out to be a little trickier than originally thought, so we're looking into a number of things

:phone:
is the bratz tv yours?

like, THE bratz tv?

:phone:
 

Varist

Smash Lord
Joined
Feb 7, 2011
Messages
1,603
Location
Austin
i'd just like to say that this link was hilarious.

"WHEN A SECRET ENCRYPTION KEY IS GENERATED, HAVING THE SEED WILL ALLOW ONE TO OBTAIN THE KEY"

"if the same seed is deliberately shared, it becomes a secret key"

programmers plotted from the very beginning to glorify themselves by stuffing their profession with Legend of Zelda terminology.
 

Massive

Smash Champion
Joined
Aug 11, 2006
Messages
2,833
Location
Kansas City, MO
I dunno about online play but I sure can teleport a kirby anywhere around the screen, even when he weighs 10 tons. lol.
 

Zankoku

Never Knows Best
Administrator
BRoomer
Joined
Nov 8, 2006
Messages
22,906
Location
Milpitas, CA
NNID
SSBM_PLAYER
Out of curiosity, do you guys plan on using simple input delay for lag compensation? iirc GGPO had an interesting lag compensation mechanic that involved "predicting" player inputs and altering the past as true inputs were acquired through clever game-state manipulation, which might or might not be helpful for Melee given its rather fast-paced nature.
 

Station

Smash Cadet
Joined
Mar 14, 2008
Messages
60
Location
Birmingam, England
Haven't worked with GGPO, I'll look into it.
It's the most lag free form of netplay period, it makes input heavy games like 3rd Strike online almost as good as the real thing by using rollback.

EDIT:Just read through the thread, I hope you guys are successful. I've been looking to get into melee competitively for a while now
but it doesn't really seem justified at the moment considering there is no real scene where I live, nor have any of my friends been
interested in melee for years.
 
Joined
Oct 10, 2011
Messages
1,126
Location
Boise, ID
NNID
dansalvato
Out of curiosity, do you guys plan on using simple input delay for lag compensation? iirc GGPO had an interesting lag compensation mechanic that involved "predicting" player inputs and altering the past as true inputs were acquired through clever game-state manipulation, which might or might not be helpful for Melee given its rather fast-paced nature.
We're using a combination of input delay and state manipulation. A prediction mechanic is basically out of the question due to the vastness of options each frame and the rapidity of button inputs. However, the technique is, in ways, somewhat similar to GGPO. Players with a decent connection will likely experience very little lag, but it's too early to tell at this point how good your connection (or PC) will need to be.
 

Massive

Smash Champion
Joined
Aug 11, 2006
Messages
2,833
Location
Kansas City, MO
Out of curiosity, do you guys plan on using simple input delay for lag compensation? iirc GGPO had an interesting lag compensation mechanic that involved "predicting" player inputs and altering the past as true inputs were acquired through clever game-state manipulation, which might or might not be helpful for Melee given its rather fast-paced nature.
Input delay will be likely implemented, but we're going to try to keep it on the small side (it will be based on the connection quality between clients), melee is not a game you want a lot of input lag on.

Our main sync method involves matching game state information between clients, in effect we are altering past events to keep games in sync (although not even close to the same way GGPO does it).

While we could attempt to program in a prediction mechanic using the momentum values for characters it would very likely mess up the flow of gameplay when you introduce DI into the mix. It's also a very complex problem given that melee has a vastness of possible movement and attack states.

As far as I know, this will be the only game I've ever heard of that will have netplay implemented by this method.
 

Station

Smash Cadet
Joined
Mar 14, 2008
Messages
60
Location
Birmingam, England
How confident are you guys that this will succeed in the end?

I'm just curious because it will probably dictate whether I start learning to play melee now or upon confirmation/not at all.
 

chaosx522

Smash Rookie
Joined
Oct 22, 2011
Messages
17
I think you might wanna start a development blog and make a new thread about this massive.
 

Bones0

Smash Legend
Joined
Aug 31, 2005
Messages
11,153
Location
Jarrettsville, MD
He's already explained why he doesn't want to keep the public too concerned with the project (not saying I wouldn't be interested in a developer blog myself).
 

Massive

Smash Champion
Joined
Aug 11, 2006
Messages
2,833
Location
Kansas City, MO
I'd think people would get a bit frustrated with the pace I would update it (not likely very often), since my commit frequency is very low and I doubt people would want to listen to my thought process as I plan the implementation out in my head.

I also work 9-5 as a developer anyway and sometimes I just want to come home and play Skyrim/Arkham City/DARK SOULS.

I might consider a blog whenever our alpha version/closed beta is ready, but we're not quite there yet.
 

Leviathan741

Smash Ace
Joined
Nov 25, 2008
Messages
604
Location
Columbia, Missouri
I'd think people would get a bit frustrated with the pace I would update it (not likely very often), since my commit frequency is very low and I doubt people would want to listen to my thought process as I plan the implementation out in my head.

I also work 9-5 as a developer anyway and sometimes I just want to come home and play Skyrim/Arkham City/DARK SOULS.

I might consider a blog whenever our alpha version/closed beta is ready, but we're not quite there yet.
It would be nice.....if you could commit more time lol... ofc just a suggestion from an eager online enthusiast.... Actually Do i see you post on the midwest forums in springfield and columbia you seem familiar?
 

Leviathan741

Smash Ace
Joined
Nov 25, 2008
Messages
604
Location
Columbia, Missouri
Not quite. We're a lot closer than you think.


I've been messing around in the emulator, and I discovered something interesting. Massive stated that syncing memory would involve sending about 15MB of data to the other player multiple times per second. I've discovered, however, that as much as 98.5% of this memory does not change while in-game. That reduces the amount of bandwidth required by a ton.

Without manually sifting through the remaining 1.5% and assuming we just send it all over, you'd be sending about 330kB of memory to be synced. Sending this 60 times per second is not feasible, but the memory would sync much less often than that, since controller input is already synced 60 times per second. Memory would sync 10 times per second, perhaps.

This still equals a bandwidth not feasible for most of us (>3MB/sec), but it's a LOT closer than what Massive originally claimed. In fact, a good chunk of that memory is probably related to graphics and unnecessary stage data and thus could be reduced further. Or, memory could simply be synced slightly less often for a more manageable bandwidth. It's all customizable, really.

This is incredibly feasible and can happen in a matter of months, or weeks, if we get the right people to work on it.
Then make it happen? Plz?
 

Massive

Smash Champion
Joined
Aug 11, 2006
Messages
2,833
Location
Kansas City, MO
It would be nice.....if you could commit more time lol... ofc just a suggestion from an eager online enthusiast.... Actually Do i see you post on the midwest forums in springfield and columbia you seem familiar?
Commit frequency is a reference to how often I actually generate and add new code. I would say I spend more time planning where I'm going to drop it than coding, mostly because that's how it should be done. Measure twice, cut once.

I run the KC smash meetups and I bother nearby crews threads from time to time, it's not abnormal that you'd recognize me, lol.
 

Yung Mei

Where all da hot anime moms at
Joined
Jul 20, 2009
Messages
5,341
How does netplay for Kirby Air Ride work, since i assume item generation and star generation in city trials is random as **** :V
 

Massive

Smash Champion
Joined
Aug 11, 2006
Messages
2,833
Location
Kansas City, MO
How does netplay for Kirby Air Ride work, since i assume item generation and star generation in city trials is random as **** :V
All netplay on dolphin currently takes controller inputs, buffers them, and sends them to clients. It also attempts to sync the game clock (with little success). I've never played Kirby Air Ride on dolphin, so I can't really say how well it lends itself to the current netplay scheme.

I know things like Naruto GNT play fine because they're so deterministic and have such huge input windows, but games like smash or mario kart are nearly unplayable after even a short period of time.
 

Station

Smash Cadet
Joined
Mar 14, 2008
Messages
60
Location
Birmingam, England
All netplay on dolphin currently takes controller inputs, buffers them, and sends them to clients. It also attempts to sync the game clock (with little success). I've never played Kirby Air Ride on dolphin, so I can't really say how well it lends itself to the current netplay scheme.

I know things like Naruto GNT play fine because they're so deterministic and have such huge input windows, but games like smash or mario kart are nearly unplayable after even a short period of time.
So am i right in assuming Final Fantasy: Crystal Chronicles would work as it is? And yeah I understand what you're saying about being pressured by the community some people would probably lose sight of the fact that you're doing this for free and get frustrated with you.
 

Levingy

Smash Apprentice
Joined
Nov 21, 2011
Messages
78
I'd think people would get a bit frustrated with the pace I would update it (not likely very often), since my commit frequency is very low and I doubt people would want to listen to my thought process as I plan the implementation out in my head.

I also work 9-5 as a developer anyway and sometimes I just want to come home and play Skyrim/Arkham City/DARK SOULS.

I might consider a blog whenever our alpha version/closed beta is ready, but we're not quite there yet.
I think you should do the blog, even if you couldn't update it often! The more visibility and attention this catches, the better, because I think there are people there who could help with this if they just knew better about this project and stuff. You could also list stuff that is needed to be done/solved, so we could all work on those issues. But I understand if it takes too much effort.

I am doing a master's degree in telecommunications networks and this interests me, though I don't know if I could be any help or not. I know some basic programming and technologies like: c, java, python, javascript, sql, odl, html, css and django. And I'm familiar with many telecommunication protocols also. Though I don't have much practical experience yet.
 

Morin0

Smash Lord
Joined
Oct 9, 2007
Messages
1,907
Location
San Diego, CA
Create a project here:
http://code.google.com/hosting/

This doesn't need that much exposure to the public because it's in such an early stage that it's not wise to be making promises (or hyping it up in general) just yet as shortcomings are a possibility. And when that happens, people get upset at you. Something similar happened to Minecraft if I recall correctly. It is a good idea to have progress available so that people like you, Levingy, can hop aboard on the project but the above link can solve just that without needing to make a blog. I'm sure the people that are currently working on it are willing to make it open source.

It should be dedicated towards people like Levingy (programmers) so it's okay if people get frustrated that the updates aren't frequent.
 
Top Bottom