Demo Data: TWO WARNINGS!!!
Moderators: EddyMataGallos, TheRealOne
-
- Why Was Six Afraid of Seven? Because...
- Posts: 789
- Joined: 2008.10.30 (19:35)
- NUMA Profile: http://www.nmaps.net/user/999_Springs
- Location: In the toilet, flushing down springs, one by one.
The problem is that: suppose you take a demo and use demo editing techniques to take the last few frames off. Now you load it along with the map data in the box in userlevels, and play it. Now the demo plays as usual, and when the end-point is reached, something notable happens. The demo continues to be played as if the ninja were to do nothing. Since this is only for the last few frames, the ninja almost always reaches the exit, regardless of what happens. So the run looks legitimate, even though frames have been taken off. The problem? When the demo end-point is reached, THE CLOCK STOPS while the demo continues playing. So the time reached at the end when the ninja reaches the exit is a few milliseconds higher than what it should be.
Let's illustrate the potential problems with an example. I will use the fbf'd demo posted by bhz in the "Post a run!" for 121027, simply because it makes the number-crunching easier. This is his demo:
32:202116108|12632256|202116108|12632256|3084
If you load this into the box in userlevels, you will find that the ninja reaches the exit with a time of 89.200. This is consistent with the number of frames in the demo.
Now suppose that this level were being used for a contest where people submit their demo data. Suppose someone submits this demo which has been trimmed by FOUR whole frames:
28:202116108|12632256|202116108|12632256
(I know that it's fbf so can't be used for a contest, but that's beside the point here.) If you load this and watch it, it does look like the ninja reaches the exit. The ninja does reach the exit, BUT only because after the demo end-point it does nothing for the next few frames, and its upward velocity is enough to get it to reach the exit. However, THE CLOCK STOPS before the ninja reaches the exit, so the time appears to be 89.300, which is also consistent with the frame count, so it looks legitimate. So it does seem that someone managed to do a 28-frame demo on this level, which is impossible - it is just that demo editing has been used to chop frames off.
Now suppose we stick some extra frames onto the end.
35:202116108|12632256|202116108|12632256|0
Here the ninja reaches the exit in 33 frames, the last 5 of which were spent doing nothing. The timer, however, continues for the full 35 frames to 89.125; but we see that at the top left, the frame counter says "35f 33f", indicating that this was actually a 33-frame demo. This is a way of checking whether a demo has had frames cut off, like the one above.
The point of all this is that I am warning anyone whose contest involves posting demo data about the dangers of demo editing to achieve "better" times by stopping the clock. You will never know whether a demo has had such treatment done to it just by looking at it. In particular this may affect very greatly competitions such as golfkid's "The Time Is Right" where a single frame means everything. It would be muhc better to, for example, ask that a link be posted instead of demo data to prevent this problem. Of course, at the moment people trust each other here not to do these things, but I am highlighting a potential problem just in case someone decides to do this.
Wow... what a loooooooooooooooooooooooooong post!
Completed N and NReality.
106 N v1.4 highscores.
I used to maintain 1000 NReality Level Top20 Highscores - Ranked 0th
Former Owner of Episode 169, way back when.
I've taken 10 Metanet 0ths. 6 of them lasted <2 days. I don't have any of them anymore. >:(
Third Place in BLUR 4 highscore.
Not highscoring anymore until v2.
EddyMataGallos is an alien.
- Albany, New York
- Posts: 548
- Joined: 2008.11.03 (05:22)
- NUMA Profile: http://nmaps.net/user/kablamo_boom
- MBTI Type: ESTJ
- Location: Driving around...
- Contact:

Hi Everybody!
- Legacy Elite
- Posts: 327
- Joined: 2008.09.26 (14:55)
- NUMA Profile: http://nmaps.net/user/TheAdster Check 'em out! =D
- MBTI Type: ESTJ
- Location: Southampton Uni. (euch), England.
B) Watch the demos in NED, it adds more frames on to the end until you actually complete the map. Just check the frame count before and after.



-
- Hawaii Five-Oh
- Posts: 919
- Joined: 2009.03.06 (19:50)
- Moderator
- Posts: 1402
- Joined: 2008.10.01 (01:36)
- NUMA Profile: http://nmaps.net/user/therealone
ok well its not that easy, because I did that on my stupidly hard map (too lazy to look up the map id) but yes you can string together demo data to make a run, but its takes alot of work to get n to line up on the exact pixel that he left off on even with playing the demo data and continuing.Blackson wrote:I found out another trick. Lets say you have a difficult map. You can beat it part by part, but not all at once. Press 1, get past the first part, and stop everything. Go back to debug mode, copy the demo data, and press 1, 3, Q. Your demo will start. Where you stopped, you can continue, and it will add it to the original demo. If you mess up, just paste the demo data you copied, and then press 1, 3, Q again. If you make it past another difficult obstacle, go to debug mode, and copy the demo data. Rinse and repeat until you've finished the map.
EDIT: the map id is the first link if you scroll over my NUMA id on the forums under my avatar.
<@gloomp> Holy sweet, balls run.
<@Izzy> Sweet, balls run holy.
<@gloomp> Run sweet, balls holy.
<@Izzy> Sweet run, ballsy hole.
<@gloomp> All's sweet, holeb run.
<@Izzy> Ballsy nun, sweet mole.

<@Kool> bro no joke, I saw the sexiest swedish chick giving herself anal on one of those pop-up alarm-clocks at my uncle's house
- Ego Lancer
- Posts: 303
- Joined: 2008.09.26 (06:13)
- NUMA Profile: http://nmaps.net/user/PsychoSnail
- MBTI Type: ISTP
- Location: The Gaming subforum
Wow, I tried doing something like that before, but I think I did something wrong, because it didn't work. This does, though!Blackson wrote:I found out another trick. Lets say you have a difficult map. You can beat it part by part, but not all at once. Press 1, get past the first part, and stop everything. Go back to debug mode, copy the demo data, and press 1, 3, Q. Your demo will start. Where you stopped, you can continue, and it will add it to the original demo. If you mess up, just paste the demo data you copied, and then press 1, 3, Q again. If you make it past another difficult obstacle, go to debug mode, and copy the demo data. Rinse and repeat until you've finished the map.

Opera innovates, Firefox emulates.
Last updated: September 27th, 2009
- Beyond a Perfect Math Score
- Posts: 834
- Joined: 2008.09.30 (06:37)
- NUMA Profile: http://nmaps.net/user/Nexx
- MBTI Type: INTJ
- Location: California, USA
When watching demos in userlevels, 2 framecounts are shown: the purported framecount (left), and the real framecount (right). So that's nice and all, but unfortunately there's a glitch: if the demo continues past the purported framecount (exit not reached), the real framecount will disappear (at least with NReality v6c2). Therefore, you can still know that a demo has undergone framecutting if there's only 1 framecount by the time the exit is reached.
To confirm this (and to find the real framecount), you can open up the map in NEd. Load up the demo, but before you watch it, press 1 to begin recording. NEd will re-record the demo while showing it to you. Because NEd's demo record function (when playing a map) only stops when the exit is reached, the framecount will be accurate.
Did I get everything?
-
- Why Was Six Afraid of Seven? Because...
- Posts: 789
- Joined: 2008.10.30 (19:35)
- NUMA Profile: http://www.nmaps.net/user/999_Springs
- Location: In the toilet, flushing down springs, one by one.
Again, one of the contests most badly affected is golfkid's "The Time Is Right" because (say) if the ninja gets next to the exit with 0.3 seconds too much time, the player can count off remaining frames in his head (or on his fingers) and get the exact time.
Completed N and NReality.
106 N v1.4 highscores.
I used to maintain 1000 NReality Level Top20 Highscores - Ranked 0th
Former Owner of Episode 169, way back when.
I've taken 10 Metanet 0ths. 6 of them lasted <2 days. I don't have any of them anymore. >:(
Third Place in BLUR 4 highscore.
Not highscoring anymore until v2.
EddyMataGallos is an alien.
- Beyond a Perfect Math Score
- Posts: 834
- Joined: 2008.09.30 (06:37)
- NUMA Profile: http://nmaps.net/user/Nexx
- MBTI Type: INTJ
- Location: California, USA
Yes, underclocking is like the weaker-sauce version of FBFing: it helps you do better than you would do normally and it's undetectable if done well.999_Springs wrote:I have discovered another potential problem with demo data: underclocking.
But in any case, this doesn't change much. FBF has been around since at least N v1.4, so everyone's aware that if you want to do a serious scoring contest, you need to use NReality submission. If, on the other hand, it's not that big of a contest, then the use of NReality can hurt participation, and in any case there's less incentive for people to cheat on a smaller contest.
Who is online
Users browsing this forum: No registered users and 6 guests