N
Advertisement

Manually Built Demos (or MBDs) are demos which are created using manual input (usually 7 frames at a time). It is similar to demo splicing in this respect, as demos can be cut and modified using trial and error to find the most optimal route on a map, although the entire process is very tedious and can take hours to do properly. The term MBD was first coined and popularised by Mohamedraif, and he has created over 160 MBDs, all of which can be found here. TheRealOne and EddyMataGallos are both MBD contributors; however, much less so.

MBDs can be quite useful for highscorers who want to implement tricks or strategies used in MBDs to improve their own runs and/or to try to improve an existing 0th. MBDs, despite their similarity, should not be confused with TAS (Tool Assisted Speedruns), as MBDs are not technically played in frame by frame, but rather manually built using groups of key inputs, due to the way N handles demo data.

How Demo Data Works

Within N, all demos are saved in plain text format, which is then interpreted by N. This is just another one of the many features that make N a really optimised game (as far as storage size is concerned). The demo code is a series of numbers, continuously separated by vertical bars (|), which represent which keys are pressed on each frame, and this is then decoded by N. So, when you are watching a demo on N, its literally a replay, since the game is reproducing automatically each key you pressed on each frame. This technique is used by a lot of other games, but the way it saves the key presses is unique.

Each number between two vertical bars codes 7 frames of run, that is, it contains the information of the key-presses on 7 consecutive frames. Remember that you can be pressing up to three keys at the same frame, which is also saved in this number. Each action (right, left, jump, hold jump, etc.) has got a different and unique value whether they are on the 1st frame of the set, on the 2nd one, etc. To get the final number that codes all 7 frames, you must add up all values. If two keys are pressed at the same frame, the values are also added, of course.

The following table, created by Mohamedraif, contains all values from all possible combinations you need and information you must know in order to be able to MBD. The only thing you need to do is add up. It is highly recommendable, however, that you download and use a spreadhsheet created by Raif that does all the operations automatically.

Demo Data Codes

Demo Data Codes
Frame # 1 2 3 4 5 6 7 Code
Left
Movement
left 0 0 0 0 0 0 1
0 left 0 0 0 0 0 16
0 0 left 0 0 0 0 256
0 0 0 left 0 0 0 4096
0 0 0 0 left 0 0 65536
0 0 0 0 0 left 0 1048576
0 0 0 0 0 0 left 16777216
Frame # 1 2 3 4 5 6 7 Code
Right
Movement
right 0 0 0 0 0 0 2
0 right 0 0 0 0 0 32
0 0 right 0 0 0 0 512
0 0 0 right 0 0 0 8192
0 0 0 0 right 0 0 131072
0 0 0 0 0 right 0 2097152
0 0 0 0 0 0 right 33554432
Frame # 1 2 3 4 5 6 7 Code
1 Frame
Jump
Jump 0 0 0 0 0 0 12
0 jump 0 0 0 0 0 192
0 0 jump 0 0 0 0 3072
0 0 0 jump 0 0 0 49152
0 0 0 0 jump 0 0 786432
0 0 0 0 0 jump 0 12582912
0 0 0 0 0 0 jump 201326592
Frame # 1 2 3 4 5 6 7 Code
Theoretical
Hold
Values
hold 0 0 0 0 0 0 4
0 hold 0 0 0 0 0 64
0 0 hold 0 0 0 0 1024
0 0 0 hold 0 0 0 16384
0 0 0 0 hold 0 0 262144
0 0 0 0 0 hold 0 4194304
0 0 0 0 0 0 hold 67108864
Frame # 1 2 3 4 5 6 7 Code
Jump Holds
From All
Frames
jump hold 0 0 0 0 0 76
jump hold hold 0 0 0 0 1100
jump hold hold hold 0 0 0 17484
jump hold hold hold hold 0 0 279628
jump hold hold hold hold hold 0 4473932
jump hold hold hold hold hold hold 71582796
1 2 3 4 5 6 7 Code
0 jump hold 0 0 0 0 1216
0 jump hold hold 0 0 0 17600
0 jump hold hold hold 0 0 279744
0 jump hold hold hold hold 0 4474048
0 jump hold hold hold hold hold 71582912
1 2 3 4 5 6 7 Code
0 0 jump hold 0 0 0 19456
0 0 jump hold hold 0 0 281600
0 0 jump hold hold hold 0 4475904
0 0 jump hold hold hold hold 71584768
1 2 3 4 5 6 7 Code
0 0 0 jump hold 0 0 311296
0 0 0 jump hold hold 0 4505600
0 0 0 jump hold hold hold 71614464
1 2 3 4 5 6 7 Code
0 0 0 0 jump hold 0 4980736
0 0 0 0 jump hold hold 72089600
1 2 3 4 5 6 7 Code
0 0 0 0 0 jump Hold 79691776
Frame # 1 2 3 4 5 6 7 Code
Holds From
A Jump In
Previous 7 Frames
hold 0 0 0 0 0 0 4
hold hold 0 0 0 0 0 68
hold hold hold 0 0 0 0 1092
hold hold hold hold 0 0 0 17476
hold hold hold hold hold 0 0 279620
hold hold hold hold hold hold 0 4473924
hold hold hold hold hold hold hold 71582788
Advertisement