In there defense melee is a extremely competitive community and given this community has had a fair share of events where cheating, lying, and generally un sportsman esc actions occur quite often. Slippi putting this much foresight into how to combat things like this is pretty much expected given the community we are dealing with here.
@@jojivlogs_4255 Cheating exists in any competitive setting so to discount it as not happening just because its infrequent in some parts is a foolish assessment.
I thought that this was something beyond that at first, like if someone was somehow manually triggering lag to their advantage (thus "faking" the lag), that seems like it would be much harder to detect. Still, great video !
Man, Slippi really takes note of everything. I trust he was lying, but I will say though its *hypothetically* possible Steve experienced a frame pacing issue that happens sometimes in dolphin. It's entirely client-side and happens when dolphin fails to keep the framerate at 60 within a reasonable range, i.e. rapidly fluctuating between, say 51 and 69 FPS, still maintaining gamespeed but is not synced to the monitor. This results in like 1/2 the frames being thrown away visually monitor-wise. for reference, OBS still records a smooth 60fps game. On my old rig I used to experience it regularly on P+ Netplay and occasionally on slippi, with Freesync partially helping the issue.
Steve may not have been lying, but the connection may not have been the issue either if he was experiencing hardware lag. That being said, if he cant run the game he cant exactly try to run it back lol
If he played other games in the tournament without complaining, then claimed the lag was so bad it was unplayable during the game he was losing, that removes any last ounce of this benefit of the doubt
For resolving disputes like this, do you have any recommendations for what to consider the largest average rollback that you’d still count as playable within a tournament setting?
tbh zero rollbacks would make me suspicious that there was a problem with the recording of the game. Its not like they were plugged directly into the server
Hold on is it normal to have a game with 0 rollbacks at all when your opponent has a few? I get that they don’t have to be symmetrical, but it’s a little odd that it was 0
0 rollbacks is kind of an insane number to just accept at face value. In addition to possibilities like hardware lag and emulator problem, getting literally zero rollbacks is just prima facie sus. What, were they playing using a lan connection???
I'd assume Steve's game was running slow since they had no rollbacks whatsoever? That would mean the opponents inputs always arrived on time ( i.e. getting sent faster than their game was running). Maybe I'm wrong but I just find it weird that they didn't get a single rollback
If steve's game was running slow then alice would get rollbacks because steve's inputs would be arriving later than expected. This may explain why alice got a few rollbacks and steve didn't get any, but there were so few rollbacks I doubt this lag would even be noticable let alone unbearable.
That doesn't work because of the rollback system. Slowdowns only happen on Delay systems, and while it's possible to have Delay and Rollback at the same time, Rollback on it's own isn't capable of "running slow"
questions: 1) If the rollback data can be asymmetric, doesn't that mean one player could theoretically modify their slp file to make it look like it was laggier than it was? 2) Can TO's and moderators grab SLP data directly from the games without having to ask the players to send the files, which incurs the risk of tampering?
i dont play melee myself, but this seems fun to try and reason through, so here goes say Steve decides to try this against Alice. first, he has to decide on a point at which to inject a fake lag spike. next, he has to simulate that lag spike and its consequences in full: he has to add in frames that exactly match how the game itself would run (frame data, damage taken, etc.) given him making certain inputs and Alice making no inputs (i.e. Steve failing to receive Alice's inputs immediately, which will lead to a rollback on his side later). if there isn't some tool designed for this -- something capable of playing partway into an SLP file and then recording new SLP data in-game -- then Steve has to do all of this by hand. if he gets a single detail wrong, his SLP should diverge from a real match. that's just the technical side, though. Steve's behavior also matters. during a faked lag spike, Steve can't react to any of Alice's behavior that a real lag spike would've hidden from him. however, his behavior also can't differ from what Alice saw or else the SLPs will diverge from each other. so it might seem like Steve could fake a lag spike to cover for any situation where he fails to react to Alice in time or at all. there's some leeway for situations where he can claim to have predicted Alice's behavior. but it goes a little further than that. it's not enough for Steve to simply not react to Alice's actions; to some extent, at least, he also has to react to her _inaction_. in a real lag spike, a real rollback, Steve would receive no input from Alice. for a brief lag spike, she'd appear to have failed to react to Steve in time, and he'd try to take advantage of that and outplay her. for a long lag spike, she'd seem AFK (so Steve might go in for a kill or hang back and wait) or obviously lagging (so Steve would know during play that something's wrong). so when can Steve inject a fake lag spike without the two SLPs diverging? it'd have to be a situation where he not only fails to react to Alice's gameplay, but in fact reacts as if _she_ were failing to react to _him_. in any other situation, he won't be behaving as he would if he were experiencing real lag
I would assume it’s not possible to modify the slp file due to desyncing or a hash mismatch, either corrupting the replay or making it trigger anti-tamper detection
@@Zzzlol94 I’m sure someone could figure it out as the constructor for slippi files is publicly available and the file can be read from. Could literally run the game back in an emulator input per input and generate a new slippi file or reverse engineer to make one that constructs a slippi file from plain text.
@@DavidJCobb getting a single error wrong would only make his slippi file inconsistent with the opponents slippi file, which is just another he said she said situation.
@@DavidJCobb Also melee gameplay is so fast that even major game changing rollbacks would be very hard to distinguish from regular technical errors. Don’t react to a wave shine? Lag spike. Missed an edge guard? Lag spike. Missed SDI? Lag spike
Are these replay files authenticated in some way by the server, like with an HMAC? Wouldn't be good if the next generation of cheaters could just insert fake rollbacks...
Late but my understanding is both replays need to be identical when submitted or an alert will pop up, basically meaning the only way to fake it would be for both players to be in on it (which doesn’t make much sense).
Does the percent of frames rolled back with respect to each player tell you about who is "responsible" for the lag? For example, if you have 5x the number of frames rolledback than I do, am I (my internet) responsible for that, are you, or is it not possible to discern?
It wouldn't, because having a bad connection makes it both take longer for your button presses to reach the opponent and for the opponent's button presses to reach you.
@@Luuklin To add to this: Street Fighter V is infamous for its bad rollback implementation where often the player with the better connection will experience more rollbacks, while the WiFi Warrior will have a smooth experience. I wouldn't be surprised if you could roughly estimate the connection quality from the rollback data, but this likely greatly varies from game to game depending on the exact netcode implementation.
isn't it possible steve's game was struggling to run at 60fps, or having stuttering and screen tear/vsync issues on his end? that would feel a lot like lag and wouldn't show in the "rollback counter" maybe steve should record his pov and show TO's or this channel to diagnose his problem, if he actually has one
a year late to this vid, id assume this -123 frame start to the game of melee has something to do with the timer? cant recall how long the GO is on screen when characters are actionable. when starting 1000s of games of melee ive seen GO on screen more than ive seen most low tiers
it's important to remember: if you are _actually_ lagging noticeably worse than your opponent it is basically guaranteed that you are loosing. doesn't really matter what game we're talking about either, lag pretty much trumps any and all other advantages/disadvantages up to and including most hacking...though by far the most common form of hacking in most games is controlling latency on one end sooooo...bleh
@@idogaming3532 the problem is that in most games the server would process you sitting there and doing nothing from match start to your death before it ever processed your fly hacks moving you off the stage. the same holds true for a surprising amount of the potential interactions in most games: bad lag just straight up means that nothing coming from your end of things actually gets implemented, more modern games actually get _worse_ at this because they trade an exponential increase in lag to interpose another interaction layer between the game and everyone in it so they can use the slush zone that creates to smooth over interactions for the sake of making the game _look_ less laggy by smoothing things out in different ways from each person's perspective, in short the game is just straight up lying to you and what it shows you happening is only loosely correlated to what the game is telling itself is happening which in turn is only loosely correlated to what it tells other people is happening. to be perfectly fair to the dev side of things you are basically forced to screw over one side or the other when dealing with latency and there is very rarely a middle ground of any sort let alone one that is an efficient information flow option. stacking things up for the sake of keeping the player side of things working correctly makes the game almost laughably easy to hack, makes it exponentially harder to code (since you need to account for every lag state and "heal" errors constantly), and generally makes it so that causing other people lag is now one of the most powerful possible "hacks" to the point where in the one game I've played that was built that way my designed-explicitly-to-exploit-lag character would fairly consistently kill admin characters with all the classic invincibility and infinite damage nonsense enabled in every way they could think of that it might be possible to do from clientside with all those max/infinite/NaN stats powering a character set up to click attack at match start and auto-win (the character was their mockup of what they thought a hacker would do), mine was built from figuring out what the server's priorities were when processing things and then just doing as absolute much as possible from as high on that priority list as possible in the most automated way possible in the most efficient-to-process way possible, end result? even with them playing with a hardwire connection to the server they would just lock up stuck perpetually waiting for the server to process things after about two data packets from my side making their way into the match, usually before the game could process any controls from either player, from there all it took was waiting for the lag to cause glitches to allow damage to happen to their should-be-invincible character until my little abomination finally worked it's way through the datatype number limit worth of health.
Are there any tools that we have access to that can analyze replay files for weird behavior like that? I dont play ranked but every now and then I come across a player where the connection seems good for like 90% of the game, but then for some reason in crucial moments like when I'm in the middle of punishing/comboing them it will spike up to something like 370+ ping until they are safe again. It would be helpful to me if I had some tool to load the slp file into to see if its like the rollback scenario you have here or what in the heck is going on.
So is it possible to have lag for one person but not the other? Sometimes people quit out against me and send the message "too much lag" or whatever it is. But the game played fine for me the whole time.
You used to be able to cause lag by hitting the pause button in the dolphin launcher and it would stop the game full on but i think 3 or so months ago they fixed it
It sounds convincing in this case, but is this method really definite proof of lying? Couldn't the claimed "lag" also be caused by other things, for example a CPU/GPU or input device issue instead of the network connection? (I used to have a keyboard that would have random latency spikes for around a minute every few days)
True. But that’s on the player not the service. It’s the difference between a tennis player bringing a bad racket vs there being dead spots on their side of the court
Oh hey, you've got four of the Super Mario 64 paintings behind you, that's neat. ...What happens if you stick your hands in two different paintings at once? Which world are you sent to?
I would not count this as cheating, just dishonourable. There are many times people think they are lagging, but actually are not, usually out of frustration. I'd understand some sort of punishment for wasting other people's time, but I think a temporary ban is too far.
just check when attacks are hitting for both players and input consistency like full vs short hops and who actively tries to use their full arsenal LOL
I find it weird that Steve has a perfect connection, no issues, no roll backs what so ever. This would almost seem to imply they are the host or not online. At least without other context to know if this is normal. Numbers mean nothing without proper full context.
Slippi has a default buffer of either 2 or 3 frames (I don't remember which), or between 32 and 48 milliseconds of delay from when you input to when the game outputs. This means as long as Steve has a good enough connection to never have his latency spike above ~40ms, there will be no rollbacks. Also, I don't believe slippi uses 'hosts'. I may be wrong, but I believe it uses a peer-to-peer system, meaning that both players have to have a decent connection in order for it to not be laggy for either person.
normally there's one frame in dash dance turnaround where marth stands more or less straight up, and also the camera is a little jittery in this example
Well if the game was dysnced at least one player would register alot of rollbacks. It's seems they are just really close in terms of ping because neither of of them had any rollbacks really. Keep in mind rollback based net code usually has a set amount of input lag to allow the players games to be correctly synced and that could be the reason for no rollbacks because there is enough overhead for the connection that it never had to correct frames
Is it weird that I find the investigation of cheating in games super interesting? I don’t really play much of anything anymore - I spend more time watching.
Not to defend Steve, but is there another possibility where Steve's computer just couldn't handle running Dolphin and therefore the issue was in Steve's hardware rather than the network? I'm asking out of curiosity, I've never played Melee through Slippi so I don't know what the requirements are like.
sometimes i dont think people are lying, even though the data sais otherwise. i say this because there is a mental factor with online play where if your getting recked your mind wants to think it has to be because of lag and can fool itself into thinking it is. not saying thats what he was thinking, but i know ive caught myself thinking like this before when i first played on slippi, but got better with how slippi is after playing on it for awhile. so with that said it is possible he actually felt like it was lagging just because his mind was fooling him from assumptions. thats his own fault though
That... That is still lying. "Oh no My brain can't stand the fact I am losing... Must be because of lag." Just because you believe it, or are fooling yourself to believe it for your ego, doesn't make it not a lie.
Unless your explanation of the slp frame data was significantly dumbed down, couldn't Steve have tampered with the file to remove the rollbacks (i.e. just leave in the latest data for each frame number), thus causing the perfect zero rollback count? Of course, that would just make Steve look even more suspicious, but using the same method, couldn't a smarter future Steve do the opposite and doctor their replay file to *add* fake rollbacks (i.e. duplicate random consecutive sequences of frames and zero out the opponent's inputs during the first copy of the sequence)? How would you detect that?
That's a good question. 1) Steve's SLP replay looked incriminating, so the chances of it being modified are low. (Why would someone modify it to make it look as if they lied) If anything, it's Alice's game that should be looked at for evidence of tampering. 2) There isn't as of this comment any publicly-available tooling for editing SLP replay files. That doesn't make it impossible of course, but makes it even less likely. 3) It's difficult to lie about this sort of scenario, even with tampered SLP replays. Your opponent gets a nearly identical copy of the game you've played. So if you lie, the discrepancy will be noticed. So even if you can "get away with it", you only really can once. Naturally, there's far more detail to this case that I didn't go into in the video, because I didn't want it to be an hour-and-a-half talk about this one person and everything they did or didn't do. Just wanted to bring this sort of issue up to the community and provide a good (but imperfect of course) way of divining the truth.
@@2600AltF4 Thanks for the response! Yeah, no matter what technical trickery a Steve got up to, they wouldn't be able to explain away a consistent pattern of supposedly "random" network failures that always benefited them, true.
Really like the vids and respect the amount of effort put into them. However, I think the videos would be even better if you didn't read the script out loud the whole time. Maybe just have a clear structure to follow and talk more freely. Cheers
There are plenty of ways you can experience lag without rollbacks. I'm fact, I think most people would agree rollbacks are the least annoying disturbance you can experience compared to slow downs and hard stutters. There's also the possibility that Steve isn't lying, he just believes it is laggy when it actually isn't, or perhaps there is an issue with his display. Calling this cheating without a pattern of behavior is pretty silly.
Slow downs and hard stutters will cause rollbacks on one side, at the very least, and perhaps frequently. If you check both sides and there are nearly no rollbacks, you can be reasonably sure both players were running full speed. Also note that rollbacks aren't always visible, this script will be much more sensitive than a human would be. Steve has played enough games that they would know whether this experience is significantly different from their normal playing experience. It is very very likely they were lying.
@@Fizzi36 If the slow down or stutter is caused by internet, then sure, but are there not ways of this stuff happening only on one person's end? I know personally I have had my computer get thrown out of whack because of my GPU needing to updating. Games start to feel terrible out of nowhere and it can cause issues with how it is displayed presumably without affecting the opponent at all. There's also polling issues with adapters (I've seen mine revert to 125hz or something) as well as monitor settings like refresh rate getting downgraded because of updates or whatever. My understanding was that none of these issues would cause rollbacks on the opponents end.
@@Bones0 Fizzi covered your question in the first sentence but I'll try to explain it further. The game speed is 100%. If one side has hardware issues that cause their computer to not be able to process the game at 100% (unexpected driver updates, settings changes, etc.), then the opponent will start experiencing significant rollbacks because the game is unable to send inputs at expected timings of the receiving game. If it's only a few dips here and there then the opponent would hardly call that a "laggy game" and the connection data would show that as well. They checked both sides and saw nearly 0 rollbacks which means it was a clean game connection, both computers were running Slippi as expected with nearly no problems. If you fuck with the polling and interrupt the connection between controller to your Slippi, that wont show up as a problem for both Slippi instances because the games are running as expected and it's your adapter messing with your inputs to the game, no problems exist at the match connection. It'll just feel like shit to you because you're getting funky controller latency, there's no actual problem with the game. With the monitor thing that's a bit trickier since they're no longer dumb devices just doing what they are told. At the end, if you can run the game at 100% speed, which if your monitor is calling for 60hz then that's still potentially 100% game speed, then the connection is fine and the game is running normally. If some wild wild stuff is happening thats causing you to have game issues even without Slippi having problems running and displaying the game, then that's just the same as showing up to a local with a broken controller and expecting everyone to accommodate you. Sucks but DQ that ass, been there, hate to see it.
Hard agree. Logic can run at 60 (the fps that displays on the corner) with the rendering being much lower. Dolphin has always been extremely volatile and can perform badly even with great specs. The DQ is warranted, but putting them on blast whilst only measuring a specific type of lag is whack
@@wateverwill putting them on blast helps to prevent others from trying the same thing. I’ve helped assist TO for a few online tournaments and there are seemingly always a few people in discord after starting to claim lag effected their match but usually turn around when you ask if they want to rematch. This will help to push away even more people who think that they would be able to pursue lying to rematch and show that game stats are being kept somewhere. I’d rather “Steve” be put on blast than not know that these stats are being kept in a way that can be looked into. Also we don’t even know who the person is lol. Essentially nobody is being talked about here.
minor note you said "we will just call him or her Steve"... its probably best to just stick to "their" instead. a lot cleaner and more inclusive. Great video though! Cool to see how rollbacks are stored.
Lag can be extremely one-sided IF there is a server in between. Back then, 56k times, friend of mine played with 999 and shot ppl walking along the wall :p We also played with 150 if we were lucky but mostly 200ish. at times 450~ and warped across the map which we had to learn blindfolded to maneuver properly XD These days i hear ppl whine about 50ms! so i tell them to stfu :)) (these days i got 12~20ms)
It sounds like Steve should look into his/her own setup. In the off-chance he/she was honestly experiencing "lag", it would be in the form of local system performance or some kind of delays with the rendering pipeline.
i didn't know slippi even recorded rollbacking in the replay files, they really thought of everything huh?
I mean it wouldnt be a true replay if it didnt
In there defense melee is a extremely competitive community and given this community has had a fair share of events where cheating, lying, and generally un sportsman esc actions occur quite often. Slippi putting this much foresight into how to combat things like this is pretty much expected given the community we are dealing with here.
@@Tsukiru like ultimate.
@@videogamerNattie98 lmao what? there really havent been many instances of cheating in melee, and even less at the top level.
@@jojivlogs_4255 Cheating exists in any competitive setting so to discount it as not happening just because its infrequent in some parts is a foolish assessment.
I feel personally attacked as a Steve
Hey dad
@@JTF544 yoo
You look like a king dedede to me
I thought that this was something beyond that at first, like if someone was somehow manually triggering lag to their advantage (thus "faking" the lag), that seems like it would be much harder to detect. Still, great video !
I saw Lair and thought it was a new move.
Like lateral aerial or something 💀
Lol
You should make that little python script you wrote available to online TOs, giving them the ability to make the call soon after the claim.
It's in the official Slippi parser now, should be appearing in the Slippi Launcher in one of the next releases.
@@2600AltF4 Nice. You guys are fucking incredible. Everyone working on slippi and it's continuous improvement. Absolutely incredible.
@@2600AltF4 How do I find this?
Where did you get those mario 64 painting? they look so clean!
Id also like to know
Man, Slippi really takes note of everything.
I trust he was lying, but I will say though its *hypothetically* possible Steve experienced a frame pacing issue that happens sometimes in dolphin. It's entirely client-side and happens when dolphin fails to keep the framerate at 60 within a reasonable range, i.e. rapidly fluctuating between, say 51 and 69 FPS, still maintaining gamespeed but is not synced to the monitor. This results in like 1/2 the frames being thrown away visually monitor-wise. for reference, OBS still records a smooth 60fps game. On my old rig I used to experience it regularly on P+ Netplay and occasionally on slippi, with Freesync partially helping the issue.
How does this work with FPS slowdowns, if an opponent has an underpowered computer?
i think both system would slow down the fps
maybe frame skipping?
but frame skipping on emulator is kinda gross
That would still result in a bunch of one sided rollback that would be detectable.
Steve may not have been lying, but the connection may not have been the issue either if he was experiencing hardware lag. That being said, if he cant run the game he cant exactly try to run it back lol
If he played other games in the tournament without complaining, then claimed the lag was so bad it was unplayable during the game he was losing, that removes any last ounce of this benefit of the doubt
For resolving disputes like this, do you have any recommendations for what to consider the largest average rollback that you’d still count as playable within a tournament setting?
tbh zero rollbacks would make me suspicious that there was a problem with the recording of the game. Its not like they were plugged directly into the server
Hold on is it normal to have a game with 0 rollbacks at all when your opponent has a few? I get that they don’t have to be symmetrical, but it’s a little odd that it was 0
Wouldn't frame -123 be ready...... go!
0 rollbacks is kind of an insane number to just accept at face value. In addition to possibilities like hardware lag and emulator problem, getting literally zero rollbacks is just prima facie sus. What, were they playing using a lan connection???
have you linked the program you made for this somewhere so TOs can use it?
Do you see the link?
Steve is a liar, don't be like Steve
was*
I'd assume Steve's game was running slow since they had no rollbacks whatsoever? That would mean the opponents inputs always arrived on time ( i.e. getting sent faster than their game was running). Maybe I'm wrong but I just find it weird that they didn't get a single rollback
If steve's game was running slow then alice would get rollbacks because steve's inputs would be arriving later than expected. This may explain why alice got a few rollbacks and steve didn't get any, but there were so few rollbacks I doubt this lag would even be noticable let alone unbearable.
That doesn't work because of the rollback system. Slowdowns only happen on Delay systems, and while it's possible to have Delay and Rollback at the same time, Rollback on it's own isn't capable of "running slow"
Could you release the python code so that other TO's can use this? Cheers
questions:
1) If the rollback data can be asymmetric, doesn't that mean one player could theoretically modify their slp file to make it look like it was laggier than it was?
2) Can TO's and moderators grab SLP data directly from the games without having to ask the players to send the files, which incurs the risk of tampering?
i dont play melee myself, but this seems fun to try and reason through, so here goes
say Steve decides to try this against Alice. first, he has to decide on a point at which to inject a fake lag spike. next, he has to simulate that lag spike and its consequences in full: he has to add in frames that exactly match how the game itself would run (frame data, damage taken, etc.) given him making certain inputs and Alice making no inputs (i.e. Steve failing to receive Alice's inputs immediately, which will lead to a rollback on his side later). if there isn't some tool designed for this -- something capable of playing partway into an SLP file and then recording new SLP data in-game -- then Steve has to do all of this by hand. if he gets a single detail wrong, his SLP should diverge from a real match.
that's just the technical side, though. Steve's behavior also matters. during a faked lag spike, Steve can't react to any of Alice's behavior that a real lag spike would've hidden from him. however, his behavior also can't differ from what Alice saw or else the SLPs will diverge from each other.
so it might seem like Steve could fake a lag spike to cover for any situation where he fails to react to Alice in time or at all. there's some leeway for situations where he can claim to have predicted Alice's behavior.
but it goes a little further than that. it's not enough for Steve to simply not react to Alice's actions; to some extent, at least, he also has to react to her _inaction_. in a real lag spike, a real rollback, Steve would receive no input from Alice. for a brief lag spike, she'd appear to have failed to react to Steve in time, and he'd try to take advantage of that and outplay her. for a long lag spike, she'd seem AFK (so Steve might go in for a kill or hang back and wait) or obviously lagging (so Steve would know during play that something's wrong).
so when can Steve inject a fake lag spike without the two SLPs diverging? it'd have to be a situation where he not only fails to react to Alice's gameplay, but in fact reacts as if _she_ were failing to react to _him_. in any other situation, he won't be behaving as he would if he were experiencing real lag
I would assume it’s not possible to modify the slp file due to desyncing or a hash mismatch, either corrupting the replay or making it trigger anti-tamper detection
@@Zzzlol94 I’m sure someone could figure it out as the constructor for slippi files is publicly available and the file can be read from. Could literally run the game back in an emulator input per input and generate a new slippi file or reverse engineer to make one that constructs a slippi file from plain text.
@@DavidJCobb getting a single error wrong would only make his slippi file inconsistent with the opponents slippi file, which is just another he said she said situation.
@@DavidJCobb Also melee gameplay is so fast that even major game changing rollbacks would be very hard to distinguish from regular technical errors. Don’t react to a wave shine? Lag spike. Missed an edge guard? Lag spike. Missed SDI? Lag spike
Are these replay files authenticated in some way by the server, like with an HMAC?
Wouldn't be good if the next generation of cheaters could just insert fake rollbacks...
Late but my understanding is both replays need to be identical when submitted or an alert will pop up, basically meaning the only way to fake it would be for both players to be in on it (which doesn’t make much sense).
@@SunsetInStone but rollback data can be asymmetric, so...
@@312bigbeanburrito in their display, not in their recording of the game data. he's explained it in another video.
Hold up.. MtG full art prints? Subscribed.
Does the percent of frames rolled back with respect to each player tell you about who is "responsible" for the lag? For example, if you have 5x the number of frames rolledback than I do, am I (my internet) responsible for that, are you, or is it not possible to discern?
It wouldn't, because having a bad connection makes it both take longer for your button presses to reach the opponent and for the opponent's button presses to reach you.
@@Luuklin To add to this: Street Fighter V is infamous for its bad rollback implementation where often the player with the better connection will experience more rollbacks, while the WiFi Warrior will have a smooth experience.
I wouldn't be surprised if you could roughly estimate the connection quality from the rollback data, but this likely greatly varies from game to game depending on the exact netcode implementation.
Jesus, when you said "We'll call the liar 'Steve'", I thought "fuckin' Steve..." at the same time you said it!
From now on, it's "no Steves" lol
LMAO
isn't it possible steve's game was struggling to run at 60fps, or having stuttering and screen tear/vsync issues on his end?
that would feel a lot like lag and wouldn't show in the "rollback counter"
maybe steve should record his pov and show TO's or this channel to diagnose his problem, if he actually has one
If this were the case, Alice would be experiencing a ton of rollbacks.
How do you find the rollback count. i had a game exactly like this but I don't know how to find he rollbacks
Missed opportunity to call them Alice and bob
Games start on frame -123 to account for the announcers "ready, GO!".
How is it verified if someone simulates lag with a tool such as Clumsy?
Great video! Loved your process and breakdown of the problem
He’s a question I like to see if you answer what if Steve had control lag ? Like he pressed A but it didn’t register until like 2 frames later?
a year late to this vid, id assume this -123 frame start to the game of melee has something to do with the timer? cant recall how long the GO is on screen when characters are actionable. when starting 1000s of games of melee ive seen GO on screen more than ive seen most low tiers
this might be unclear, but it is to say GO is on screen for a long while, maybe this length? just a guess
Where do I buy those sm64 icons, they look really clean. @AltF4
@AltF4 How do you find out how many times there were rollbacks? Are you using a different form of software other than the slippi launcher?
python script to analyze the output
Your Unhinged Island is higher than your other basics. That's okay just lettin you know if you would like to know. Nice vid
Could you link to the python script you made? I want to know how it would work to make a tool for this
it's important to remember: if you are _actually_ lagging noticeably worse than your opponent it is basically guaranteed that you are loosing.
doesn't really matter what game we're talking about either, lag pretty much trumps any and all other advantages/disadvantages up to and including most hacking...though by far the most common form of hacking in most games is controlling latency on one end sooooo...bleh
I think someone with fly hacks in Melee would win against even top-level players. No offense.
@@idogaming3532 the problem is that in most games the server would process you sitting there and doing nothing from match start to your death before it ever processed your fly hacks moving you off the stage.
the same holds true for a surprising amount of the potential interactions in most games: bad lag just straight up means that nothing coming from your end of things actually gets implemented, more modern games actually get _worse_ at this because they trade an exponential increase in lag to interpose another interaction layer between the game and everyone in it so they can use the slush zone that creates to smooth over interactions for the sake of making the game _look_ less laggy by smoothing things out in different ways from each person's perspective, in short the game is just straight up lying to you and what it shows you happening is only loosely correlated to what the game is telling itself is happening which in turn is only loosely correlated to what it tells other people is happening.
to be perfectly fair to the dev side of things you are basically forced to screw over one side or the other when dealing with latency and there is very rarely a middle ground of any sort let alone one that is an efficient information flow option. stacking things up for the sake of keeping the player side of things working correctly makes the game almost laughably easy to hack, makes it exponentially harder to code (since you need to account for every lag state and "heal" errors constantly), and generally makes it so that causing other people lag is now one of the most powerful possible "hacks" to the point where in the one game I've played that was built that way my designed-explicitly-to-exploit-lag character would fairly consistently kill admin characters with all the classic invincibility and infinite damage nonsense enabled in every way they could think of that it might be possible to do from clientside with all those max/infinite/NaN stats powering a character set up to click attack at match start and auto-win (the character was their mockup of what they thought a hacker would do), mine was built from figuring out what the server's priorities were when processing things and then just doing as absolute much as possible from as high on that priority list as possible in the most automated way possible in the most efficient-to-process way possible, end result? even with them playing with a hardwire connection to the server they would just lock up stuck perpetually waiting for the server to process things after about two data packets from my side making their way into the match, usually before the game could process any controls from either player, from there all it took was waiting for the lag to cause glitches to allow damage to happen to their should-be-invincible character until my little abomination finally worked it's way through the datatype number limit worth of health.
@@evernewb2073 if you're really lagg,y your fly hacks will be a 12 year olds teleport hacks. Just go up.
@@idogaming3532 you still finally load into the game only to find a note from the server notifying you that the match is already over and you died
@@evernewb2073 at that point, you have dial-up.
what about fps drops? There are ways people can drop the fps on porpuse and slippi can't detect that as far as I know.
so is this the online equivalent of lying when reporting a set to the to
i might have to drop ultimate and go play melee just because this guy is so good.
Lag is the oldest excuse in the book for being bad.
Great video. What program do you use to find the number of rollbacks for slp files? Is it in the replay software?
made a python script to count
@@312bigbeanburrito neat!
Are there any tools that we have access to that can analyze replay files for weird behavior like that?
I dont play ranked but every now and then I come across a player where the connection seems good for like 90% of the game, but then for some reason in crucial moments like when I'm in the middle of punishing/comboing them it will spike up to something like 370+ ping until they are safe again. It would be helpful to me if I had some tool to load the slp file into to see if its like the rollback scenario you have here or what in the heck is going on.
Is his name John? Cause I was so expecting the filler name would be John for obvious reasons lol.
@John Martinez We got em boys.
My name is John
recording rollbacks is wild. very cool
So is it possible to have lag for one person but not the other? Sometimes people quit out against me and send the message "too much lag" or whatever it is. But the game played fine for me the whole time.
This is so entretaining and interesting, can wait for a new video heh
and I would have gotten away with it too.. if it wasn't for you meddling programmer kids
Steve!? *MINECRAFT STEVE!*
i cant even press my buttons bro
You used to be able to cause lag by hitting the pause button in the dolphin launcher and it would stop the game full on but i think 3 or so months ago they fixed it
It sounds convincing in this case, but is this method really definite proof of lying? Couldn't the claimed "lag" also be caused by other things, for example a CPU/GPU or input device issue instead of the network connection? (I used to have a keyboard that would have random latency spikes for around a minute every few days)
True. But that’s on the player not the service. It’s the difference between a tennis player bringing a bad racket vs there being dead spots on their side of the court
In the case of a CPU or GPU struggling, your fps will drop which will also affect your opponent
@@00Krohnos yup, it looks completely different from a rollback. you should be able to tell.
Damnit, "Steve".
Where can I get this python script?
I want to put all my replays through it
for science
i like these cheater break downs if only to better understand game mechanics.
that fox is so used to rage quitting in unranked he must he done it in the tourny subconsciously 😂
Oh hey, you've got four of the Super Mario 64 paintings behind you, that's neat.
...What happens if you stick your hands in two different paintings at once? Which world are you sent to?
One hand would go to one world, the other hand would go to the other one
How do you know that Steve's PC wasn't running his client like dog shit and creating input delay?
Is this the "Steve" that they want banned out of Ultimate?
Fantastic video as always
Audio in this video is too low
just noticed all the mtg stuff lets goooo
One could fake a laggy replay right?
I ran into a guy named test, he teleported twice and I did the fastest rq I've ever done
I would not count this as cheating, just dishonourable. There are many times people think they are lagging, but actually are not, usually out of frustration. I'd understand some sort of punishment for wasting other people's time, but I think a temporary ban is too far.
Yeah we need to ban steve
CATCH EM SLIPPIN'
just check when attacks are hitting for both players and input consistency like full vs short hops and who actively tries to use their full arsenal LOL
aight fair enouhf
I find it weird that Steve has a perfect connection, no issues, no roll backs what so ever. This would almost seem to imply they are the host or not online.
At least without other context to know if this is normal. Numbers mean nothing without proper full context.
Slippi has a default buffer of either 2 or 3 frames (I don't remember which), or between 32 and 48 milliseconds of delay from when you input to when the game outputs. This means as long as Steve has a good enough connection to never have his latency spike above ~40ms, there will be no rollbacks.
Also, I don't believe slippi uses 'hosts'. I may be wrong, but I believe it uses a peer-to-peer system, meaning that both players have to have a decent connection in order for it to not be laggy for either person.
Altf4 good video but any experienced melee player will tell you that's just what marths dash dance always looks like LMAO
normally there's one frame in dash dance turnaround where marth stands more or less straight up, and also the camera is a little jittery in this example
@@asup759 nah I didn't mean that I know there's a stand animation I just meant that's how Marths dash dance feels
@@mortaljason true true, he basically does teleport especially with those ungrabbable legs
Games should never be replayed
Ah yes the DSP method
That taunt looks like an Aklo taunt.
Do you play edh/cedh?
This is amazing!
Man SHEIT why it gotta be Steve?
No way...
0 lag actually makes no sense at all. There SHOULD be rollback, yes? If there is none, then isn't that like, a complete desync or something?
Well if the game was dysnced at least one player would register alot of rollbacks. It's seems they are just really close in terms of ping because neither of of them had any rollbacks really. Keep in mind rollback based net code usually has a set amount of input lag to allow the players games to be correctly synced and that could be the reason for no rollbacks because there is enough overhead for the connection that it never had to correct frames
Nice vid, but the like is bc of your shirt, good taste at its prime.
Is it weird that I find the investigation of cheating in games super interesting? I don’t really play much of anything anymore - I spend more time watching.
Not to defend Steve, but is there another possibility where Steve's computer just couldn't handle running Dolphin and therefore the issue was in Steve's hardware rather than the network? I'm asking out of curiosity, I've never played Melee through Slippi so I don't know what the requirements are like.
sometimes i dont think people are lying, even though the data sais otherwise. i say this because there is a mental factor with online play where if your getting recked your mind wants to think it has to be because of lag and can fool itself into thinking it is. not saying thats what he was thinking, but i know ive caught myself thinking like this before when i first played on slippi, but got better with how slippi is after playing on it for awhile. so with that said it is possible he actually felt like it was lagging just because his mind was fooling him from assumptions. thats his own fault though
That... That is still lying. "Oh no My brain can't stand the fact I am losing... Must be because of lag." Just because you believe it, or are fooling yourself to believe it for your ego, doesn't make it not a lie.
i love punishments :)
Nice shirt :)
Unless your explanation of the slp frame data was significantly dumbed down, couldn't Steve have tampered with the file to remove the rollbacks (i.e. just leave in the latest data for each frame number), thus causing the perfect zero rollback count?
Of course, that would just make Steve look even more suspicious, but using the same method, couldn't a smarter future Steve do the opposite and doctor their replay file to *add* fake rollbacks (i.e. duplicate random consecutive sequences of frames and zero out the opponent's inputs during the first copy of the sequence)? How would you detect that?
That's a good question.
1) Steve's SLP replay looked incriminating, so the chances of it being modified are low. (Why would someone modify it to make it look as if they lied) If anything, it's Alice's game that should be looked at for evidence of tampering.
2) There isn't as of this comment any publicly-available tooling for editing SLP replay files. That doesn't make it impossible of course, but makes it even less likely.
3) It's difficult to lie about this sort of scenario, even with tampered SLP replays. Your opponent gets a nearly identical copy of the game you've played. So if you lie, the discrepancy will be noticed. So even if you can "get away with it", you only really can once.
Naturally, there's far more detail to this case that I didn't go into in the video, because I didn't want it to be an hour-and-a-half talk about this one person and everything they did or didn't do. Just wanted to bring this sort of issue up to the community and provide a good (but imperfect of course) way of divining the truth.
@@2600AltF4 Thanks for the response! Yeah, no matter what technical trickery a Steve got up to, they wouldn't be able to explain away a consistent pattern of supposedly "random" network failures that always benefited them, true.
#BanSteve
Really like the vids and respect the amount of effort put into them. However, I think the videos would be even better if you didn't read the script out loud the whole time. Maybe just have a clear structure to follow and talk more freely. Cheers
There are plenty of ways you can experience lag without rollbacks. I'm fact, I think most people would agree rollbacks are the least annoying disturbance you can experience compared to slow downs and hard stutters. There's also the possibility that Steve isn't lying, he just believes it is laggy when it actually isn't, or perhaps there is an issue with his display. Calling this cheating without a pattern of behavior is pretty silly.
Slow downs and hard stutters will cause rollbacks on one side, at the very least, and perhaps frequently. If you check both sides and there are nearly no rollbacks, you can be reasonably sure both players were running full speed. Also note that rollbacks aren't always visible, this script will be much more sensitive than a human would be.
Steve has played enough games that they would know whether this experience is significantly different from their normal playing experience. It is very very likely they were lying.
@@Fizzi36 If the slow down or stutter is caused by internet, then sure, but are there not ways of this stuff happening only on one person's end? I know personally I have had my computer get thrown out of whack because of my GPU needing to updating. Games start to feel terrible out of nowhere and it can cause issues with how it is displayed presumably without affecting the opponent at all. There's also polling issues with adapters (I've seen mine revert to 125hz or something) as well as monitor settings like refresh rate getting downgraded because of updates or whatever. My understanding was that none of these issues would cause rollbacks on the opponents end.
@@Bones0 Fizzi covered your question in the first sentence but I'll try to explain it further. The game speed is 100%. If one side has hardware issues that cause their computer to not be able to process the game at 100% (unexpected driver updates, settings changes, etc.), then the opponent will start experiencing significant rollbacks because the game is unable to send inputs at expected timings of the receiving game. If it's only a few dips here and there then the opponent would hardly call that a "laggy game" and the connection data would show that as well.
They checked both sides and saw nearly 0 rollbacks which means it was a clean game connection, both computers were running Slippi as expected with nearly no problems. If you fuck with the polling and interrupt the connection between controller to your Slippi, that wont show up as a problem for both Slippi instances because the games are running as expected and it's your adapter messing with your inputs to the game, no problems exist at the match connection. It'll just feel like shit to you because you're getting funky controller latency, there's no actual problem with the game.
With the monitor thing that's a bit trickier since they're no longer dumb devices just doing what they are told. At the end, if you can run the game at 100% speed, which if your monitor is calling for 60hz then that's still potentially 100% game speed, then the connection is fine and the game is running normally. If some wild wild stuff is happening thats causing you to have game issues even without Slippi having problems running and displaying the game, then that's just the same as showing up to a local with a broken controller and expecting everyone to accommodate you. Sucks but DQ that ass, been there, hate to see it.
Hard agree. Logic can run at 60 (the fps that displays on the corner) with the rendering being much lower. Dolphin has always been extremely volatile and can perform badly even with great specs. The DQ is warranted, but putting them on blast whilst only measuring a specific type of lag is whack
@@wateverwill putting them on blast helps to prevent others from trying the same thing. I’ve helped assist TO for a few online tournaments and there are seemingly always a few people in discord after starting to claim lag effected their match but usually turn around when you ask if they want to rematch. This will help to push away even more people who think that they would be able to pursue lying to rematch and show that game stats are being kept somewhere.
I’d rather “Steve” be put on blast than not know that these stats are being kept in a way that can be looked into. Also we don’t even know who the person is lol. Essentially nobody is being talked about here.
Nerd
Just call it lagswitching, thats what its already known as.
minor note you said "we will just call him or her Steve"... its probably best to just stick to "their" instead. a lot cleaner and more inclusive.
Great video though! Cool to see how rollbacks are stored.
Cute
Lag can be extremely one-sided IF there is a server in between.
Back then, 56k times, friend of mine played with 999 and shot ppl walking along the wall :p
We also played with 150 if we were lucky but mostly 200ish. at times 450~ and warped across the map which we had to learn blindfolded to maneuver properly XD
These days i hear ppl whine about 50ms! so i tell them to stfu :)) (these days i got 12~20ms)
but have u considered that netplay fkn sux and is always laggy :)
Yo what's up Steve
Have you ever played it
You've never played it
Smash ultimate intensifies
ban him forever
It sounds like Steve should look into his/her own setup. In the off-chance he/she was honestly experiencing "lag", it would be in the form of local system performance or some kind of delays with the rendering pipeline.
Its mentioned somewhere else in these comments, but this would give Alice a ton of rollbacks, so we would be able to tell this was happening