I have a suggestion, to make it more detectable, and clear, when someone cheats a game, by altering the RNG to increase the luck.
Best to "solve" such problems in the future, would be to have some "speedrunning mod" or similiar (that SDC could officially create) that players must insert in their game, that alters the RNG seed to depend on movement, game time, the world seed or other form of input, but still give the same percentual drop rates. In this way, you can require that the speedrunner submits his input sheet, and then the exact gameplay can be replicated on the moderator's side. Comparing this with a live stream where the keyboard or controller is visible in the frame, would with 100% conslusion either tell if they are cheater or not, without having to analyze RNG drop rates.
This mod could either be a EXE that either modifies system RNG to act predictable based on inputs, which then would need to be "initialized" (maybe by pressing a key sequence that is specified in rules after game is started - making this key sequence visible in input sheet - and thus the speedrun would play successfully even on the moderator's computer regardless of how other things look). The advantage of this, is that the mod-EXE would work for any game that uses system RNG to calculate drop rates, but the disadvantage is that some games uses their own RNG that is not system dependent, and thus would require separate code in the EXE in question. OR it could be a game-specific mod, that is unique to each game that must be created by the moderators, but that gives more workload.
Because, then, an unmodified game, with the speedrunning mod, with the same world seed, should, given the speedrunners input sheet, give a completion of the game in the time claimed. If not (ergo, the speedrun becomes "desynced" just because the RNG drop rates does not match), then the original game has been modified. And in the same way, if the input sheet doesn't match the claimed stream (with the keyboard or controller visible), then the input sheet has been TAS'ed to give unfair advantage.
There is a kind of problem with analyzing RNG rates, and that is that its possible to say its impossible to win on the lottery = you cheated when you won on Jackpot with that 8 digit number matching your ticket. and thus forfeiting your monetary win. So its kind of difficult to prove that a random number generator was tampered with, unless you get to analyze the exact RNG - thats why official lotteries have their RNGs analyzed and then sealed with a tamper evident sticker. So nobody can claim the generator was cheated if the number of lottery tickets that won, is lower than the "expectation".
In the case with Dream's rum, its more clear-cut, but imagine if Dream would just up' their drop rates with a little bit, causing the rates to not be "impossible" or "unobtainable".
Thats why I suggest that a "speedrunning mod" should be used to submit speedrunning samples, which is then a official SDC mod that MUST be used when submitting speedruns.
This could then apply to all games were a RNG affects the run in such way that it would affect speedrunning.
Note that the mod itself doesn't need to be in any way "verified running" or "verified unmodified" - because when the speedrunner submits the input sheet and stream - the moderators just set up a identical setup on their side, meaning the run can be verified. If anything is modified or cheated with - the run will not complete successfully on the moderator's side.
And in this way, the actual run, can be replicated with 100% accuracy on anyone verifying the speedrun, giving more credibility even if something unlucky happens.
NOTE: This idea post applies to ANY moddable game (or even unmoddable ones if the system-RNG approach is used), where RNG is a great factor in speedrunning - not just Minecraft that caused this concern/idea/feedback.
This is a pretty bad idea in my opinion. Under no circumstances should anyone be playing on a modified game. The idea that to prevent modifications to a game is to play on a modified game is quite backwards. How do you verify someone played on a the modified game? What happens when someone who is proficient in coding and modding further modified the modded game? How would you detect that?
Playing on modified games is a big no-no for this reason. If people play on modified games, they usually get caught and the proper action is taken. People cheating like this isn’t a common thing, nor does it need such a solution as this in my opinion.
Timmiluvs: I just outlined that in my post, how that is verified.
The moderator, takes the input sheet (which is then a file containing all the inputs, given in specific time) and "runs" the input sheet (basically runs a "TAS" kind of), on THEIR computer, with the same modification running.
If the run completes - then the run was played on a unmodified version of the game with the "SDC mod" applied. If the game was modified in a way that would affect the run in question - then the input sheet wouldn't complete on the unmodified game with the "SDC mod" applied, basically it would be desynced. For example, if Dream would modify their game to increase the drop rate of ender pearl. IF SDC mod were not used The run would ofcourse not complete either on moderator's verification run, since the game would be using their RNG and not the SDC-modded one, and thus the run would desync when anything random happens in-game.
Then in the moderators "verification run", then the game would obviously drop whatever is supposed to drop if the game weren't modified (lets say a flask of healing potion) and then the whole run would desync when the runner is "trying to combine a flask of healing potion with blaze powder" which wouldn't work.
Same would applied if the SDC mod in itself would be modified. Because the moderators would ofcourse run the input sheet with the unmodified original SDC mod. Then even a small nudge in the drop rate, would still invalidate the run because the run wouldn't complete on the moderator's computer. The rest of the verification is just to verify that the input sheet matches the stream in question - so the runner hasn't spliced or TASed the run.
No amount of coding ever, would be able to fool the moderator's verification run, that is done on their hardware, their software and the original SDC mod.
So the idea is that the modification in question, should make it possible to "re-run" a game play, on the moderator's side.
This problem doesn't exist when it comes to other modifications than RNG, because then its clearly visible in the stream or run, that something doesn't play out as expected - for example, gun recoil might be smaller than expected without reason for it to be so (like a addon item that player purchased in-game that reduces recoil).
With RNG however, its practically impossible to prove that it has been modified, unless when it has been modified in such large amounts that it becomes obvious.
Thats why I endorse a method, where the RNG is made predictable based on input events, thus a run can be "re-played" on the moderator's side, as a verification method.
Note also, it doesn't just apply to moderators. ANYONE with access to the stream and the input sheet file, could verify the run, by running the game + the SDC mod, and then applying the input sheet file. So even if someone doubts the moderators decision to accept the run, they could verify it themselves and be outproven by technology that the run was fair and legit.
The reason a mod is required, is to make it possible to "re-run" a full gameplay - inclusive any random events, as-is the runner played it. Just recording the inputs to a input sheet isn't enough, since when moderators replay the input sheet, the original unmodified RNG would ofcoruse fire differently, desyncing the run.
Thats why the RNG must be modified in such a way it does NOT give any advantage to the player or runner - from his perspective it would be to run the original unmodified game - but in such a way that a run can be "replayed" anywhere to prove its fair and legitimate.
Hello, I see you've put a lot of effort into these posts however I should probably point out that this the general forum for general speedrun discussion. Minecraft discussion should be directed to the Minecraft community as very few people who browse the general forums will care or understand what you are suggesting.
I don't know enough about Minecraft to direct you to the specific place, but you can find all the categories and stuff here: https://www.speedrun.com/minecraft
ckellyedits: Note the last sentence in my original post: "NOTE: This idea post applies to ANY moddable game (or even unmoddable ones if the system-RNG approach is used), where RNG is a great factor in speedrunning - not just Minecraft that caused this concern/idea/feedback."
Thus, this is not something that is isolated to just Minecraft where this type of cheating happened (by Dream), but in any game where the time of speedrun relies heavily on RNG, where there is risk of tampering with the RNG to get better times.
Its just easier to talk in regards with Minecraft, since there is a specific cheating case there (call it Dream case) that can be used as an example on how this idea/system can be used to prevent or detect that type of cheating. The problem itself, applies to any game that uses a RNG where the result of the RNG affects the gameplay such so tampering with the RNG can give you better times.
I honestly don't see the point in creating a mod to do all of that, considering that the current verification process doesn't seem to be flawed (from my perspective, at least).
"If it ain't broke, don't fix it."
Walgrey: I agree about its not currently flawed, but the reason Dream got caught was because he overdid it. Imagine he didn't overdo it, but just upped it enough to be able to beat the leadership, but not enough to raise suspicion.
Thats why I propose a method where it will be 100% clear cut if the run was cheated or not. With my proposed method, it would be enough to just up it with 1 point, and it would be caught IF the RNG would land on that modified point.
And its not a "mod to do all that" - but rather a mod, either a general purpose that works with any game, or a mod that works with specific games - that just modifies the seeding to the RNG so its dependant on game input instead of game state or system state. Thus forcing the RNG to depend on inputs, and thus allowing a run to be perfectly replicated by anyone that wants to verify the run is legit.
I agree on the fact that influencing/modding the game would be counterproductive in that case. Thats why the mod itself must be made such, so from the player's point of view, the game is effectively unmodified. Bascially, the drop rates and luck in game doesn't change.
And of course, I suggest it being a official "speedrun mod" so it would get accepted by the speedrunning community.
Its kind of hard, but you propably understand how im thinking... In the same way FPS counters and timers and other verification helpers/mods are added to the game to ensure the run hasn't been cheated - which technically - are mods - but are used to aid in verifying the run is legit, in the same way I propose some verfication for RNGs aswell, as RNGs are almost impossible to verify they are unmodified unless you have a large sample data or access to the RNG itself.
In Doom/Doom2 for example, the RNG is based entirely on input, same with Super Mario 64. This makes it very easy for anyone to verify these runs using a input sheet, as provided the exact same inputs, will result in the exact same gameplay. And thats what makes such games so nice in speedrunning, because nobody needs to suspect modified game as the run can be easily be re-run on a known unmodified copy of the game. (There other cheating methods however, but just the problem with modifyed game is eliminated).
Do the community have any other ideas on how this method of cheating could be eliminated?
@Walgrey post is really the crux of my point as well - this idea is centralized in "in order to prevent people from modding the game and changing RNG, we're going to mod the game to change the RNG". This statement just doesn't make any sense, and it also assumes that the RNG is completely static and singular (which in and of itself is flawed logic).
Lots of games have multiple RNG values that are influenced by various things and sometimes combinations of things. The idea of modding a game to change the RNG based on movement assumes that you have a singular RNG value that needs to be changed and that changing that RNG value doesn't change anything else in the game. Otherwise any mods like this could have a trickle effect where other parts of the game change simply by changing this RNG value. That then becomes a nightmare to manage because then you open up a huge can of worms trying to account for all other touch points.
Not only is this not feasible in most games, creating predictable RNG such that a run can be 100% replicated with an "input sheet" (this by the way, would only work on PC games because there would be no getting an input sheet from a console game) would essentially mean that you're advocating for creating a scenario where a set of inputs creates a predictable result. What is stopping people then from just doing the same set of inputs as every other runner? If these input sheets would be readily available, anyone could essentially take an input sheet from a run that had great RNG and literally copy the inputs - this creating a run that is identical to someone else. This means running the game would essentially change from any form of competition to just who can replicate a good run the best by mirroring inputs.
Again, I don't think this is a good idea at all. Not only is the idea of modifying a game to prevent modifying a game flawed, it's just not feasible for a vast majority of games that don't operate as simplistically as you're assuming. Besides, this really isn't as common an issue as you're assuming. There is no widespread cheating that occurs through this method, at least not enough significant cheating to require such a solution. This is something I bring up all the time when these topics come up - when cheating occurs, it tends to be high profile and gets a lot of attention and people then associate it with something that occurs much more commonly than it does. I can promise you that cheating doesn't occur on the scale some YouTubers make it out to.
By the way, running a pre-recorded set of inputs that will result in the same game play, is literally a TAS.
Thats why I said it needed to be accompanied by a stream or video where the input device is visible in frame. The idea of the pre-recorded set of inputs were just to be able to verify it on the verifier end.
It was this youtube video, that made me suggest this idea, to close that loophole.
And this video: Because this time it was detected, just only because Dream did up the drop values by such an amount it was just plain obvious that he couldn't be that lucky.
Imagine if Dream would just tamper with the RNG a little bit. Just enough to beat leadership, but not too much to raise suspicion or being caught in careful analysis. Then he would get away with it.
Thats why im trying to come up with a solution. Im thinking of other solutions, like recording RNG values (that then can be replayed by a verifier or moderator during a verification run) or something similiar. But then the cheater could just modify the RNG generator to create the "desired values" instead of editing drop rates.
Kind of difficult problem/nut to crack. Thats why I started this discussion to come up with good ideas and collaborate with the speedrunning community to find a "antidote" to this cheating method.
If you read this page about Doom: https://dsdarchive.com/rules you propably understand how im trying to apply the same "verification" method to any game where cheating is achievable by tampering with luck or RNGs.
Its mainly this I am out after: "The authenticity of a run, in terms of compatibility with the original game, can be easily determined. If a user made edits to the game logic, their demo file would desync when another player tries to play it back." "demo file" = input sheet.