Hi everyone. I hope you're having a better day than I am.
Anyways, I was trying to help out @Krackerz with his collapsing run because it was rejected. I was messing around with TAS replays to prove there wasn't a way to cheat. Sadly, I found one.
TAS replay codes have 'TAS_' before your username. You can delete that as long as you add something equivalent to what you deleted. (I'm pretty sure you can't delete any of the movements or else it'll break) This means that any run could have been an edited TAS. Anybody skilled enough in TAS making could replicate Human movements, threfore making it impossible to recognize a cheated run. My run could have been TASed, a level 1 time could have been TASed (just an example :)).
I don't know if there is any solution to this.
Well, not to be too much of a downer here, but I'm not sure it was the best idea to share it with the community. Now, anyone who is skilled in making TASes can use this strategy... as you said, I'm not sure if there's a foolproof solution to this.
One thing we could do is study the beginning of a Replay Code. You said that you can delete "TAS_" from your username, as long as you add an equivalent. The cheater in question would be forced to add random "l's" and "j's", and they could be a sign of a cheated run if they do not follow the ordinary rules of a Replay Code.
...although, I have no clue what the beginning of a Replay Code would look like, so unless someone can figure it out, this is an unusable solution.
Lastly, about the run by @Krackerz, I don't think this is proof that his run was TASed. His Replay Code included "R's", meaning that there is no way that one is cheated, since the Appel TAS Maker uses "l's" and "j's."
What are everyone's thoughts on this?
If I had kept this from the community, someone else might do it, or might have already done it. I would rather we address issues before they turn into arguments.
Secondly, the sprite for 'TAS' is quite short in comparison to other sprites in appel. Anybody could have copied the code into Absurd Appel and the replay would have R's instead.
A replay code is 8 digits followed by your username (or on turbowarp, player and 4 more digits) After removing the TAS_, any 4 characters will satisfy a working replay.
It doesn't actually matter how long your username is. Part of the code in 'TAS' adds TAS_ to the replay. Even I could figure it out, and I'm a very inexperienced coder. Deleting this keeps you from having to add any characters.
Firstly, considering that there is no way to figure out if someone is cheating using TAS or not, this simply helps cheater instead of hurting them.
Secondly, you can't just import the code from Appel TAS Maker into Absurd Appel. Even if you tried to just copy it by hand, the variables are different and it wouldn't work well.
Thirdly, yes, I know any four characters will satisfy the replay. However, since the cheater in question would add random "l's" and "j's", meaning that they would not follow the same rules that Replay Codes do. However, this does not matter much, since we wouldn't be able to tell the difference.
Lastly, I actually have nothing to counter this. If what you say is true, my third point is countered as well, since you don't actually have to add any characters.
I thought of this as well. Will this help cheaters? If I were to avoid mentioning the issue, then it could happen and nobody would know. I realize that someone might try to do this. I think the best solution is to look at thier speedrunning history. Have they gotten good times in the past? This is very imprecise, but will help rule out anyone who just joins the community with a causual 24.8 level 4 run.
Well, that's fair. I was simply suggesting that cheaters might use this forum to TAS their runs undetected.
Honestly, I think the "past runs" strategy is the best we have. I mean, there's always the off chance that someone didn't have access to speedrun.com or simply didn't want to join, but they still speedran Appel.
Sadly, I think anything you add to a TAS can be taken away just as easily. A solution I thought of would be to take out the replay option for a TAS. Its very far fetched, but it would prevent anybody from using them. Anybody who wants to show their TAS would have to share the project. This is probably too much to ask... even then, what is there to prevent people from making their own TAS maker? ugh...
I feel like removing the replay feature form tasses would just encourage cheaters to make better tas makers with new stuff like save states and other stuff. Also it is quite easy to change the name added to a tas (im not going to explain it here for obvious reasons)
Agreed... there's no foolproof solution; smarter cheaters who are better at coding will always find a way to get around them.
Would it be too much if someone created a brand new APPEL where the code is unreadable (and yes, you can actually do it) and the replay system is much more complicated and more sophisticated? It would be impossible to cheat!
Anyway I believe this idea will end in the trash bin since I always give weird suggestions (also it's 11 pm by me - I need to sleep)
I think that could work! But, the only thing I will say is that for new players who don't use speedrun.com, they wouldn't know that they should use the new appel instead of the old one. If the player is like me, who didn't have access to speedrun.com before a couple weeks ago, they would use the wrong type of replay code and their runs would be invalid :(
I don't think making the code inaccessible or not understandable to players is a good idea because scratch is a coding website, and taking away the ability to learn from Griffpatch would be sad. An idea I had would be to ask Griffpatch himself, as he would know the most about how the replays work and stuff. He might not answer because I'm guessing he's really busy, but It's worth a shot.
Guys this is not how replays work. A replay is just a way to store what buttons are pressed for how long and when. So if you make a new way to store it the cheater could just run their tas through the new compression.
Basically you would have to record yourself getting a pb? At least for me, recording creates some lag and makes it a lot harder to play. Besides, loading a replay, going out of the level, and pressing on that level again will still show the replay. You would have to require restarting the game before you get a run, and I'm sure nobody wants to load the game after every failed run.
Timing starts at the first frame of movement and ends at the first frame of touching the flag