• 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: Progress Report

Status
Not open for further replies.

Massive

Smash Champion
Joined
Aug 11, 2006
Messages
2,833
Location
Kansas City, MO
Howdy folks, it's been a long time since I've last publicly posted anything about this, but considering our very recent leap in progress, I figure we owe you all a status report. So here it is.


OFFICIAL STATUS
We have released an internal alpha which successfully synchronizes (syncs) 2 separate Melee sessions across 3 variables. We are currently syncing the values for Percentage Display, Actual Percentage, and Character stock every 10 frames. There is no appreciable slow in game speed.

This is the most basic and important form of sync, and the first of many we will implement in the near future. With these rudimentary variables synced, regardless of what happens on both clients, they will both have the same outcome as the server.

Now that the official business is out of the way, allow me to explain some of the background work for people who have no idea what that means or are just getting started with this whole Melee online Conversation.

Background Information


The Dolphin Gamecube/Wii emulator currently has some rudimentary netplay functionality. People constantly posted about attempting to play Melee online, asking if it worked. It didn't, moreover it couldn't. I explained, much to their chagrin.

The only way to make melee work online acceptably between computers was to eliminate or greatly reduce de-synchronization (desync) events between the two emulations. I posited a few times in a few threads about a method by which this could be accomplished: monitoring and transmitting emulated game memory. So, with the help of Internet Explorer (IE) and a smattering of accumulated game knowledge (mostly Action Replay data), we set out on an ambitious project to make this game work online.

We sent a few IMs back and forth and established a primitive distribution of labor. IE would tediously create a very complex memory map of the locations we wanted to sync, and I would hack through the Dolphin source code to locate an entry point, write methods to sort through, isolate, and read/write memory, and invent a method by which to sync game memory between clients.

Both of these goals have been achieved at a very basic level.

I will be happy to answer any technical/nontechnical/inane questions you guys might have in this thread, as well as pretty much anything else you may want to know about this project. (I'm pretty sure IE will as well).

But first and foremost, let me answer one question right now.
We are not currently looking for playtesters.
There is no method by which you can download the alpha and play it. I will not send it to you, nor will anyone else.
This is just a status report.


We currently cannot state any date to expect this to be released. Anything we say would probably not be accurate anyway, since the team's time is divided by work and school, respectively. Nobody's paying us, we are doing this because we enjoy melee and want it to be playable online. We don't really owe you anything, we're just cool dudes who want people to know.
Valve Mode Answer: It will be finished when it's finished.

We also have a dev blog which will probably be updated quite sporadically.
You can find it at the lovely web address http://ssbmo.com/.
 
Joined
Oct 10, 2011
Messages
1,126
Location
Boise, ID
NNID
dansalvato
Woohoo! An official post! ;D

We'll have a dev blog up and running very soon to keep you guys informed, especially those interested in the more technical side of things.

I should also note that while the current alpha only syncs stock and percent, we already have pointers to a number of other important values such as character positions and velocities, as well as a couple bits on character animation. Syncing these values isn't particularly difficult, there are just some minor issues to work out.

As a bonus, I also recently discovered the location of Melee's random seed, the value which is used in calculating random events including Peach's turnips and Luigi's misfires. Our plan in a future alpha is to hijack this seed and replace it with a custom one designed to remain synchronized between both clients.

Hope you're as excited as we are. :]
 

TheCrimsonBlur

Smash Master
Joined
Jan 2, 2005
Messages
3,407
Location
LA, CA near Santa Monica
So basically in the 6 months, we have had...

Work toward Melee ONLINE
An ambitious smash database project compiling all Melee history
Multiple breakthroughs in stage/character hacks & AR codes
the further internationalization of Melee: first contact with the Mexican smash community, the now famous "Perfect Dark" Chilean tech skill video, Japan's return to form, and the Caribbean's first exposure (ShonenKel, Sinji)
onski's Smash!: the Doc
EastPoint's The Smash Brothers documentary series
New Project M demo, final build close to release
the Lean Melee blog
PEEF's state of the game live show, as well as Stab's top player interviews/podcast
the return of the Melee: FC series
the 2nd largest Melee tournament ever, and the biggest stream
Guinness World Record broken in the midwest for longest play session
Twitch.tv smash partnership and homepage; further growth and popularization of smash streams
Stratochaster's hitbox & frame data project, now near completion
The creation of multiple facebook groups for each region; the Melee community's increased integration with social media
The return of the MBR as a governing body
Wombo Combo hit 2 million views

god damn Melee community is putting in WORK. I love it.

Don't know what got into us but I'm so hyped for our future right now.
 

MikeHaggarTHAKJB

Smash Master
Joined
Apr 12, 2008
Messages
3,187
Location
Göteborg, Sweden
you guys are amazing. you should get tons of medals

it will be awesome to be able to just pop up melee those days when youre restless and just want to play
lets be training partners online, beat! =D
 

KrIsP!

Smash Champion
Joined
Oct 8, 2007
Messages
2,599
Location
Toronto, Ontario
What Crimson blur posted. **** just got real.

As for questions:if you have an alpha, how does it play? Do you/can you hack certain things for example, making more neutral type stages that every can have easy access too?
 

Massive

Smash Champion
Joined
Aug 11, 2006
Messages
2,833
Location
Kansas City, MO
As for questions:if you have an alpha, how does it play?
I've only done a bit of playtesting on the alpha against myself on my home network. It does not desync on % values and one can play matches without random events (falcon vs falcon on FD, and a few others) with no noticeable desync.

Most of the tests I've been doing have been "glass box" boundary tests, making sure the client is receiving and updating the correct values for the onscreen coordinates from the hosting client.

Do you/can you hack certain things for example, making more neutral type stages that every can have easy access too?
We can hack certain elements easily. IE and I were discussing a simple fix we can do that would allow FoD to be a tournament legal teams stage by removing the water shader from the level. Theoretically speaking, any AR hack you can do to the ISO can be applied to this and work just fine.

If a method by which to add custom stages is discerned, they could be added to your game iso the same way you would if you were burning a custom melee disc.

That being said, we have some plans to add custom content after the core functionality is established and works well (post beta, most likely). The biggest improvements we're probably going to drop in are full widescreen support (fixing the functionality of the dolphin widescreen hack) and a tricky low-end hack that would allow people with slower computers to play the game at full speed (but locked at 30 fps). We've also thrown around the idea of adding custom texture support UIs for both characters and stages.
 
Joined
Oct 10, 2011
Messages
1,126
Location
Boise, ID
NNID
dansalvato
Theoretically speaking, any AR hack you can do to the ISO can be applied to this and work just fine.
This means at some point down the line, after selecting your stage, you'll also be given the choice to enable/disable moving platforms, wind, transformations, Shy Guys, Randall, Arwings, etc.

We've also thrown around the idea of adding custom texture support UIs for both characters and stages.
And music!

Which reminds me, I have my own little secret project that is due to be revealed within a couple weeks from now. ;]
 

Bones0

Smash Legend
Joined
Aug 31, 2005
Messages
11,153
Location
Jarrettsville, MD
Nobody's paying us...
Not yet they aren't. I GUARANTEE you will be rolling in donations if you ever get this up and running. I pay $50 a month to get mad at stuff on Xbox Live, so for a lifetime of online Melee, I'd **** bricks.

On a more serious note, what is a reasonable expectation to have about how many frames of input lag there will be? (short term vs. long term, short distance vs. long distance, and crap connection vs. beast connection)
 

RaphaelRobo

Smash Champion
Joined
Oct 24, 2011
Messages
2,833
You said it syncs percentage (display and actual) and stock count. Does it also sync character movement?

Also, well the public Alpha/Beta be able to take random events into account?

Anyway, this is really cool. I'm looking forward to the public version.
 
Joined
Oct 10, 2011
Messages
1,126
Location
Boise, ID
NNID
dansalvato
Not yet they aren't. I GUARANTEE you will be rolling in donations if you ever get this up and running. I pay $50 a month to get mad at stuff on Xbox Live, so for a lifetime of online Melee, I'd **** bricks.

On a more serious note, what is a reasonable expectation to have about how many frames of input lag there will be? (short term vs. long term, short distance vs. long distance, and crap connection vs. beast connection)
We will only ever take donations if we end up having to spend a bunch of money in order to do something related to the project, which at the moment is rather unlikely.

As for input lag, expect 1-2 frames of lag from the emulator itself depending on your PC and monitor. A good PC will likely have 0-1 frames of input lag locally. Your online input lag will be your ping divided by 17 (~17ms per frame). So, a ping of 50ms would be about 3 frames of input lag.


You said it syncs percentage (display and actual) and stock count. Does it also sync character movement?

Also, well the public Alpha/Beta be able to take random events into account
We're not yet syncing character movement, though we have most of the pointers needed to do so. It's simply a matter of working out some minor issues that I'd guess Massive will be working on next. And yes, by the time we go public, random events will be synchronized. I already found the random seed and can bend it to my will, muahahaha.
 

RaphaelRobo

Smash Champion
Joined
Oct 24, 2011
Messages
2,833
If the lag is ping/17, what's the expected ping for two people in the same city? What about the same coast? What about in different countries?
 

Massive

Smash Champion
Joined
Aug 11, 2006
Messages
2,833
Location
Kansas City, MO
On a more serious note, what is a reasonable expectation to have about how many frames of input lag there will be? (short term vs. long term, short distance vs. long distance, and crap connection vs. beast connection)
Assuming you're pretty close (20-50ms ping) to one another I'd say you'll probably only incur 1-3 frames of lag, very similar to the amount they accept in N64 online circles and much better than brawl lag (which is ~7 frames minimum).

To handle larger latencies and smooth out lower ones we are also doing some variable input buffering which will mask your lag a bit (very similarly to how GGPO does it) by sending chunks of input rather than each input individually. This should alleviate some of the sensation of lag on higher latency connections.
 

Massive

Smash Champion
Joined
Aug 11, 2006
Messages
2,833
Location
Kansas City, MO
If the lag is ping/17, what's the expected ping for two people in the same city? What about the same coast? What about in different countries?
The lag will actually be half of your ping/17.

The ping command on your computer measures round trip, we're only sending data one way.

In my city (Kansas City, which is pretty damn spread out) I can ping most things at around 20-40ms round trip, which is around 1 frame of lag in the city.

Regional and International lag are infrastructure questions, but ping other people's IP addresses and find out what you're getting. I can ping lawrence (about 40 miles from here) and get 112ms ping, and then ping St. Louis (260 miles) and get 44ms. It's all infrastructure.

Isn't the displayed % just the actual % rounded down?
Yes it is.
There is an "actual %" memory location we're also syncing that does not alter the displayed % value. It appears to store at least 1 decimal place of damage.
 

Beat!

Smash Master
Joined
Jan 8, 2010
Messages
3,214
Location
Uppsala, Sweden
you guys are amazing. you should get tons of medals

it will be awesome to be able to just pop up melee those days when youre restless and just want to play
lets be training partners online, beat! =D
Definitely! Don't wanna pass up a chance to practice with the great king of SWF.
 

Strong Badam

Prince of Saiyans
Administrator
Premium
BRoomer
Joined
Feb 27, 2008
Messages
26,482
you guys are amazing. you should get tons of medals

it will be awesome to be able to just pop up melee those days when youre restless and just want to play
lets be training partners online, beat! =D
shut up mikehaggar these are just silly flopmericans
 

Morin0

Smash Lord
Joined
Oct 9, 2007
Messages
1,907
Location
San Diego, CA
HYPE. I already have a Gamecube to USB adapter, gaming PC, and the Melee ISO. I'm READY.

This reminds me that everyone should have the same Melee version, correct?

:phone:
 

RaphaelRobo

Smash Champion
Joined
Oct 24, 2011
Messages
2,833
So, my laptop can barely run Melee with most of the graphics disabled. How will it work with this? Even with them disabled, FoD still doesn't work.
 

Massive

Smash Champion
Joined
Aug 11, 2006
Messages
2,833
Location
Kansas City, MO
This reminds me that everyone should have the same Melee version, correct?
Yes, we're using memory locations for 1.2.
There is an iso version converter out there, which we'll probably automate and include whenever we do a public release.

So, my laptop can barely run Melee with most of the graphics disabled. How will it work with this? Even with them disabled, FoD still doesn't work.
The low-end spec idea we're working on is setting game speed to 200% and capping the framerate at 30fps. Half the frames to render, but the same game speed.

We can (and probably will) disable the reflect shader on FoD as well, fixing a lot of issues with that stage.
I do recommend investing in a better computer though, lol.
 

GOTM

Smash Champion
Joined
Feb 4, 2007
Messages
2,776
Location
West Chester, PA
Do you guys think when you post the dev blog you can also create a section for a backlog of items you want to work on and their progress?

An open source Git repo or something would be fantastic too, so some of the dev's apart of SWF could help out in their own way, but I guess you don't have to do this right away until it's in at least its beta stage. Just something to think about. More manpower = faster development, most of the time.
 
Joined
Oct 10, 2011
Messages
1,126
Location
Boise, ID
NNID
dansalvato
Do you guys think when you post the dev blog you can also create a section for a backlog of items you want to work on and their progress?

An open source Git repo or something would be fantastic too, so some of the dev's apart of SWF could help out in their own way, but I guess you don't have to do this right away until it's in at least its beta stage. Just something to think about. More manpower = faster development, most of the time.
I'm slightly hesitant to create a backlog because features we *want* to include aren't necessarily ones that will ever end up happening. I'd rather not have people expecting some cool feature that doesn't really end up surfacing, but I wouldn't mind having a log of things that are actually in progress.

Yeah, we're going to distribute the source most likely once we go beta. By that time the project will have significant substance, and so more people will likely take interest in helping.
 

RaphaelRobo

Smash Champion
Joined
Oct 24, 2011
Messages
2,833
Yes, we're using memory locations for 1.2.
There is an iso version converter out there, which we'll probably automate and include whenever we do a public release.


The low-end spec idea we're working on is setting game speed to 200% and capping the framerate at 30fps. Half the frames to render, but the same game speed.

We can (and probably will) disable the reflect shader on FoD as well, fixing a lot of issues with that stage.
I do recommend investing in a better computer though, lol.
I'm planning to get a new computer when I start university. Given the pace this is progressing at, though, it seems like this'll be done before then.
 
Status
Not open for further replies.
Top Bottom