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

Fuzzyness

The Reality!
Joined
May 1, 2006
Messages
6,159
Location
London, Barkingside
the normal frame rate is around 57 - 60 per second

so if its at 30 this means the game wont be as smooth as youd be used to, it may affect timing slightly but the game will play the same maybe feel a bit more jagged but it shouldnt affect the actual speed of the game if the physics and the animations are the same. Timing may be different in terms of visual but around the same timing.

I hope this helps

http://boallen.com/fps-compare.html

so you can see 15 is very jagged, less animation frames
30 is much smoother, definitely would be fine for playability imo but wont be exactly the same
60 is smooth as a babys bottom, its the perfect framerate for human eyes and not too much to render

since there'll be less frames to animate:

1) Game will take less memory (half the pictures to render per second)
2) Netplay will have less information to share


Just think of it like an animation, the more frames you have in your animation the more vsiaul evidence to the human mind how that action takes place. If you dont draw every step in how one thing moves from one place to another then it'll appear jagged to the human mind, you'll notice those gaps in the animation
 
Joined
Oct 10, 2011
Messages
1,126
Location
Boise, ID
NNID
dansalvato
the normal frame rate is around 57 - 60 per second

so if its at 30 this means the game wont be as smooth as youd be used to, it may affect timing slightly but the game will play the same maybe feel a bit more jagged but it shouldnt affect the actual speed of the game if the physics and the animations are the same. Timing may be different in terms of visual but around the same timing
"Around" is the keyword. Dolphin is only running at half speed so you can only enter inputs to the 1/30-second precision instead of the 1/60-second precision. However, the worst that can happen under this is that your input will be processed one frame later than it should have been. Anyone butthurt enough to complain about one frame should either put $800 into a new PC or not play online. =P


1) Game will take less memory (half the pictures to render per second)
2) Netplay will have less information to share
Actually, the game will take up just as much memory, but will be less CPU-intensive, not sure if you were confusing the two. As for netplay, we have control over how much information we want to share, so this won't change by cutting frames in half since we're going by number of milliseconds, not number of frames. This is a good thing because if your PC is crappy and your internet connection is great, then you'll still have a good online experience.
 

Fuzzyness

The Reality!
Joined
May 1, 2006
Messages
6,159
Location
London, Barkingside
lol its only really gay for wakeup more than anything other stuff is acceptable

wakeup shine is so godly but a marth could screw up his grab timing by 1 frame on a different fps as well, so its completely fair

you have to remember that it affects both players equally, and its not random its a fixed speed
 

KnitePhox

Smash Lord
Joined
Oct 17, 2005
Messages
1,838
Location
Chicago, IL
Internet Explorer, would you respond to my pm about the black 64/PS2 controller to usb adapter I left at your place after Apex?
 
Joined
Oct 10, 2011
Messages
1,126
Location
Boise, ID
NNID
dansalvato
lol its only really gay for wakeup more than anything other stuff is acceptable

wakeup shine is so godly but a marth could screw up his grab timing by 1 frame on a different fps as well, so its completely fair

you have to remember that it affects both players equally, and its not random its a fixed speed
We might allow one player to run at 30 and another at 60, rather than forcing them both to 30 if only one can't handle it. Or, let the players decide for themselves. It's really just a design choice.
 

Bones0

Smash Legend
Joined
Aug 31, 2005
Messages
11,153
Location
Jarrettsville, MD
"Around" is the keyword. Dolphin is only running at half speed so you can only enter inputs to the 1/30-second precision instead of the 1/60-second precision. However, the worst that can happen under this is that your input will be processed one frame later than it should have been. Anyone butthurt enough to complain about one frame should either put $800 into a new PC or not play online. =P
Fair enough. lol

lol its only really gay for wakeup more than anything other stuff is acceptable

wakeup shine is so godly but a marth could screw up his grab timing by 1 frame on a different fps as well, so its completely fair

you have to remember that it affects both players equally, and its not random its a fixed speed
It's completely unacceptable if you grounded shine or multishine, which I do multiple times per game, so it would literally ruin my game play 50% of the time. I also don't think it affects both players. It only affects the person whose running the game at 50%. I assume if the other player is running at 100% then they will see every frame, not every other frame, which means they can do everything they want.

Also, the easiest comparison you can make for 60 fps vs. 30 fps is that YouTube is 30 fps (unless you're in the HTML 5 trial).
 

Massive

Smash Champion
Joined
Aug 11, 2006
Messages
2,833
Location
Kansas City, MO
It's completely unacceptable if you grounded shine or multishine, which I do multiple times per game, so it would literally ruin my game play 50% of the time. I also don't think it affects both players. It only affects the person whose running the game at 50%. I assume if the other player is running at 100% then they will see every frame, not every other frame, which means they can do everything they want.

Also, the easiest comparison you can make for 60 fps vs. 30 fps is that YouTube is 30 fps (unless you're in the HTML 5 trial).
Actually, as long as the server is running at 60fps, 30fps clients will be able to make inputs like they would at 60fps, since we're going by a determined input buffer length rather than framerate.

Local framerate will not (substantially) alter the way your inputs work since the server has the final say on what happens when and what doesn't. The client's framerate has absolutely no effect on the server or the speed your inputs will go through.

30fps likely has some minor client-side sync issues that 60fps doesn't, but those will be addressed (and likely remedied) by the time action state syncing is fully implemented.
 
Joined
Oct 10, 2011
Messages
1,126
Location
Boise, ID
NNID
dansalvato
Actually, as long as the server is running at 60fps, 30fps clients will be able to make inputs like they would at 60fps, since we're going by a determined input buffer length rather than framerate.

Local framerate will not (substantially) alter the way your inputs work since the server has the final say on what happens when and what doesn't. The client's framerate has absolutely no effect on the server or the speed your inputs will go through.
True, I completely forgot about that. Thanks for pointing that out.
 

Anth0ny

Smash Master
Joined
Oct 14, 2007
Messages
4,061
Location
Toronto, Ontario
I don't think I'd be able to play Melee at 30fps. Hard to even wrap my head around it.

But I suppose it's a good solution for people with weaker rigs that can't afford to upgrade.
 

The Star King

Smash Hero
Joined
Nov 6, 2007
Messages
9,681
Um, why is it hard to wrap your head around. You're playing at normal speed, inputs just might happen a frame later >_>
 

KnitePhox

Smash Lord
Joined
Oct 17, 2005
Messages
1,838
Location
Chicago, IL
i would like to see a better solution to melee online than dolphin just as much as others who have posted here, wish you guys the best in making it happen.

so long as people have a slot open on their motherboard and a decent enough processor, 1-slot gfx cards that cost like ~25$ (or less) can produce 60 fps for melee, i know because im running...
Radeon HD 5450 low-profile(~30$)
ATHLON(rofl!) x4 processor(~110$)
4gb ddr3 memory(~30$)
win 7 64 bit

all these prices are of products that are NEW and NOT open box/on sale.
i'd say its quite a modest/laughable rig, but it does the job for now

i get 60fps emulating melee (only tried 2 players) with a resolution of 800x600, which is fixed a bit by windows 7 magnify + display with VGA input, because hdmi connection LAGS for gaming at least on my 42" LCD TV (i know because aside from smash games, i play a music rhythm game which require spot on timing, easy to notice the difference between VGA and HDMI on my setup with the timing game)

even after having a smooth game, it still desyncs...

i've tried playing emulated melee via dolphin netplay with another 64 player last week and it wasn't as bad as expected. i used a custom iso(1.02) and he used a different version (.01/.00, didn't know which but definatly wasn't the same), we played with **** delay (it was like '17', i don't know what the hell that means but it was similar to 7-8 frames in smash64 netplay), yet at a steady 60fps. we desynced after 2-3 matches each time and not right away like i thought we would, all on FD/Battlefield.


TL;DR: not too expensive to get 60fps melee(for 1v1 at least)
go melee online coder/preparation guys.
 
Joined
Oct 10, 2011
Messages
1,126
Location
Boise, ID
NNID
dansalvato
The CPU actually matters MUCH more than the video card does. Once we go beta, we'll do some serious benchmarking on all different kinds of machines to see exactly how well Melee runs across the board.
 

TheCrimsonBlur

Smash Master
Joined
Jan 2, 2005
Messages
3,407
Location
LA, CA near Santa Monica
I know this is likely impossible but I thought it worth asking: is it possible to somehow make it so the CPUs randomize DIs/techs? Or even tech at all (they almost never tech)? Having an AR code that you could use to actually practice tech chasing would be awesome.

I have no idea how you'd find the pointer to something like that tho lol
 

LLDL

Smash Hero
Joined
Apr 27, 2007
Messages
7,128
The logic would be to program them always tech, randomize the direction. As for not teching at all, it could give it the probability similar to misfire or something.
 

Massive

Smash Champion
Joined
Aug 11, 2006
Messages
2,833
Location
Kansas City, MO
I know this is likely impossible but I thought it worth asking: is it possible to somehow make it so the CPUs randomize DIs/techs? Or even tech at all (they almost never tech)? Having an AR code that you could use to actually practice tech chasing would be awesome.

I have no idea how you'd find the pointer to something like that tho lol
I was actually working on a melee script-bot before I started working on melee online, actually. It was still super rough, but I had created a fox-bot that would single-frame waveshine back and forth forever or drillshine perfectly every time. The options were super limited because it was basically blind and inputting commands off a script. However, once I have online settled I was thinking about making a more training bot or maybe even a full fledged AI.

It's still in the planning phases obviously, but I'm very likely going to expose an API for smash in the final release version that would allow people to spy on their coordinates, inputs, action states, etc. Such functionality would make an external bot not only possible, but very easy.

As for what you're asking for? It's likely possible, I just have no idea where to look. I'm pretty sure the AI scripts are reasonably easy to modify (they're probably static in the game files actually), I'd just have no idea where to start looking.
 

Anth0ny

Smash Master
Joined
Oct 14, 2007
Messages
4,061
Location
Toronto, Ontario
Um, why is it hard to wrap your head around. You're playing at normal speed, inputs just might happen a frame later >_>
30 to 60 fps is a jarring transition. Playing Sonic Generations on console at 30 and jumping to 60 on PC felt weird. After playing Melee at 60 for 11 years... yeah.

I'm sure I'd get used to it eventually, though.
 

nicaboy

Smash Champion
Joined
Aug 8, 2007
Messages
2,981
Location
channeling death lotus
I know this is likely impossible but I thought it worth asking: is it possible to somehow make it so the CPUs randomize DIs/techs? Or even tech at all (they almost never tech)? Having an AR code that you could use to actually practice tech chasing would be awesome.

I have no idea how you'd find the pointer to something like that tho lol
This be so sweet man I wish cpus did this. On that note if melee was to ever able to be played online I'd be so happy :). Hope you guys can do this.
 

zelazon

Smash Apprentice
Joined
May 12, 2006
Messages
87
Hopefully all this works out for you! So many smashers will be in debt to you, should you pull this off correctly. I'll be glad to donate towards the release if you guys accept donations.
 

rawrimamonster

Smash Ace
Joined
Mar 28, 2010
Messages
745
Location
dearborn heights MI
30 to 60 fps is a jarring transition. Playing Sonic Generations on console at 30 and jumping to 60 on PC felt weird. After playing Melee at 60 for 11 years... yeah.

I'm sure I'd get used to it eventually, though.
You get used to it pretty fast actually, I'm probably more used to it than most as I use dolphin almost every day but the transition is hardly painstaking. Online input delay will be your biggest worry.
 
Joined
Oct 10, 2011
Messages
1,126
Location
Boise, ID
NNID
dansalvato
If you guys can somehow work internet wizardry and get rid of ping distances then I'll **** my pants. :awesome:

*******ish sarcasm aside.. xD Keeping low delay would be wonderful, but I don't expect anything below 3-4 frames+ at a separation of something like 80ms or more.
Yeah, you're right, but that's really only an issue if you insist on playing people across the continent, haha.
 

Pichu4SSB4

You're not going Turbo?
Joined
Apr 18, 2009
Messages
651
Location
Somewhere on the globe.
Yeah, you're right, but that's really only an issue if you insist on playing people across the continent, haha.
I play matches across the atlantic pretty much everytime, because i'm from Norway. It's pretty difficult finding competive players here, because they only know Brawl. I remember years back when i played ssb64 on Kaillera, i had like 109 ping and 7 frame lag at a server located in NY. It's probably improved since i last played on Kaillera, i just hope i'll get accepted in this SSBMO community. ^^"
 
Joined
Oct 10, 2011
Messages
1,126
Location
Boise, ID
NNID
dansalvato
I play matches across the atlantic pretty much everytime, because i'm from Norway. It's pretty difficult finding competive players here, because they only know Brawl. I remember years back when i played ssb64 on Kaillera, i had like 109 ping and 7 frame lag at a server located in NY. It's probably improved since i last played on Kaillera, i just hope i'll get accepted in this SSBMO community. ^^"
Lol, you're right next to Sweden. You should be all set.
 

rawrimamonster

Smash Ace
Joined
Mar 28, 2010
Messages
745
Location
dearborn heights MI
I play matches across the atlantic pretty much everytime, because i'm from Norway. It's pretty difficult finding competive players here, because they only know Brawl. I remember years back when i played ssb64 on Kaillera, i had like 109 ping and 7 frame lag at a server located in NY. It's probably improved since i last played on Kaillera, i just hope i'll get accepted in this SSBMO community. ^^"

Considering that pj64k sucks and kaillera's netcode is freakin archaic, we'll definitely be much better off with melee online. For so long we just accepted that smash online will be desynchy trash but that was simply because the people that coded kaillera stopped giving a crap ages ago.
 

Pichu4SSB4

You're not going Turbo?
Joined
Apr 18, 2009
Messages
651
Location
Somewhere on the globe.
Lol, you're right next to Sweden. You should be all set.
Great! Yay for us scandinavians. X3

Considering that pj64k sucks and kaillera's netcode is freakin archaic, we'll definitely be much better off with melee online. For so long we just accepted that smash online will be desynchy trash but that was simply because the people that coded kaillera stopped giving a crap ages ago.
I agree so much, back in 2005 when i first discovered Kaillera it was amazing and had a great community where i could meet intelligent competive players. Sadly that changed over the years, as the sane people started quitting and the servers got filled more with immature pricks who insults you for your way of playing, and your distance. Happened to me a lot, which is why i stopped. But i can see from here that SSBMO is going to have a great start, and i have a chance to finally get back to my roots. I'm so sick of Brawl, and it's WiFi. Project M is amazing, but it does not fix the crappy online support Brawl has... >.>
 

Massive

Smash Champion
Joined
Aug 11, 2006
Messages
2,833
Location
Kansas City, MO
If you guys can somehow work internet wizardry and get rid of ping distances then I'll **** my pants. :awesome:

*******ish sarcasm aside.. xD Keeping low delay would be wonderful, but I don't expect anything below 3-4 frames+ at a separation of something like 80ms or more.
Yeah, there's really no silver bullet for delay. We're still bound by the laws of physics after all.

The current algorithm is attempting to predict what frame your action state should be in based on your connection latency (and what state you're currently in) so we are sort-of "predicting" what state you should be in without actually sending that data. Combining that with an appropriately sized framebuffer can dramatically reduce a lot of what people experience as lag.

The problem will never really go away though...

I am currently planning to have a frame lag readout for the release version of the game that will tell you exactly many frames of lag you're experiencing both before and while the game is running. It will be in one of the corners like a ping display on most online games.

I've also tossed around the idea of dynamic buffer sizing based on lag (automating away a lot of the issue), but that could make gameplay (input lag) a bit unpredictable if one person temporarily loses bandwidth/connection mid-match.
 

rokimomi

Smash Lord
Joined
Jan 1, 2006
Messages
1,943
Location
Ann Arbor / Ypsilanti, MI
thinking aloud:

never really done prediction for online inputs but would it simply be utilizing the fact that there are only so many inputs you could do from point A to B and that you can enumerate, prepackage, and send them all at once since your greater limiting factor is the latency and not the space?

crap...this made sense a second ago I swear...
 
Joined
Oct 10, 2011
Messages
1,126
Location
Boise, ID
NNID
dansalvato
thinking aloud:

never really done prediction for online inputs but would it simply be utilizing the fact that there are only so many inputs you could do from point A to B and that you can enumerate, prepackage, and send them all at once since your greater limiting factor is the latency and not the space?

crap...this made sense a second ago I swear...
Yeah, so say in Street Fighter you jump forward. In 3-5 frames, the software knows EXACTLY what you x and y positions will be, because once you're jumping forward, you can't change your momentum or anything. So the "sync" data it sends to the other client will be adjusted to arrive 3-5 frames later, keeping the position in sync on both ends.

The problem with using this approach in Melee is that 95% of the time, you have complete control of your momentum every single frame, whether it's dashdancing, aerial movement, or the huge number of options at any given time. This makes such predictions very difficult for most character states. Like Massive said, one thing we CAN predict is what animation frame the character will be on, because that's at a constant rate of 1 frame per frame. So, when we send sync data for animations specifically, we can sync an animation that's X frames ahead, where X is the number of frames of delay.
 

Bones0

Smash Legend
Joined
Aug 31, 2005
Messages
11,153
Location
Jarrettsville, MD
What happens if you predict someone's move will go from one action state to the next but it gets hit by an opponent. Wouldn't the prediction then be wrong and sync the game incorrectly?
 
Joined
Oct 10, 2011
Messages
1,126
Location
Boise, ID
NNID
dansalvato
What happens if you predict someone's move will go from one action state to the next but it gets hit by an opponent. Wouldn't the prediction then be wrong and sync the game incorrectly?
Massive is designing some smoothing algorithms to take care of issues like that. In the event that it does happen, it will be corrected in a fraction of a second the next time a sync is sent.
 

Massive

Smash Champion
Joined
Aug 11, 2006
Messages
2,833
Location
Kansas City, MO
Massive is designing some smoothing algorithms to take care of issues like that. In the event that it does happen, it will be corrected in a fraction of a second the next time a sync is sent.
This is actually what I'm grappling with right now... Smoothing is a *****.

But yes, even if an attack exchange desyncs, 3 frames later the coordinates will be matched with the server, and 2 frames after that the % value will be set even.
 

rokimomi

Smash Lord
Joined
Jan 1, 2006
Messages
1,943
Location
Ann Arbor / Ypsilanti, MI
regardless of what you call it, sounds like smoothing will be a bit "jumpy", how's the transition from bad->good handled to look natural, if thats not secret, hehe
 

Massive

Smash Champion
Joined
Aug 11, 2006
Messages
2,833
Location
Kansas City, MO
regardless of what you call it, sounds like smoothing will be a bit "jumpy", how's the transition from bad->good handled to look natural, if thats not secret, hehe
The whole point of smoothing is to make it not jumpy, lol.

There's no real transition at this moment, since whatever it was would have to occur in less than a frame to not exacerbate things, but I can assure you that it's actually not usually noticeable. Only times when you would encounter a lag spike would things appear to jump (as in desync) which is, of course, connection based, just like everything else. In its current incarnation we're syncing data so frequently that only catastrophic lag spikes are going to make the game appear to skip, and that is still far preferable to catastrophically desyncing.
 

Jolteon

I'm sharpening my knife, kupo.
Joined
Aug 9, 2006
Messages
6,697
Location
England
I'm guessing there will be some issue regarding the GC controller to USB connector used, if it's got input delay then combined with online lag it's a little annoying. :| Are there any usb connectors that don't have input delay?
 
Status
Not open for further replies.
Top Bottom