Theory: Map07 is possible in -nomonsters and pacifist.
Demonstration files provided in map07sr50.zip
Proof:
1) Player Speeds:
Using the patches provided (applies cleanly to prboom 2.2.6) I deduced
the following facts.
- Normal running moves you at 16 pixels per gametic. (100%)
- StrafeRunning moves you at 21 pixels per gametic. (131.25%)
- SR50 moves you at 23 pixels per gametic. (143.75%)
Therefore, for the sake of ease and argument, the following claim will
hereby be held as true:
-turbo 143 = SR50
2) Doom's Z movement handling when
related to falling:
Source code references: (PrBoom 2.2.6)
p_mobj.c
Function: P_ZMovement
Line: 385
mo->z += mo->momz;
Description: Your Z cordinate is modifyed using your Z momentum.
Line 423:
if (!(mo->flags &
MF_NOGRAVITY)) /* free-fall under gravity
*/
mo->momz -=
mo->info->mass*(GRAVITY/256);
Description: Your Z momentum is modified using your mass and GRAVITY.
Conclusion: Because your Z cordinate is modified before your momentum
is, you spend your first gametic in the air levetating.
3) The distance and height of the
platform (where the mancubus is) and the ledge (where the exit is)
The following are facts:
The floor height of the enclosure: 8 pixels.
The floor height of the platform: 64 pixels.
The floor height of the lowered platform: 16 pixels.
The floor height of the ledge: 40 pixels.
The height difference between the ledge and the platform: 24 pixels.
The maximum step height of the player: 24 pixels.
Conclusion: If you can run from the lowered platform to the ledge
without falling, you will climb up it.
Other Facts:
The distance between the closest vertices of the platform and ledge is:
91 pixels.
The diagional thickness of the player is: 68 pixels.
Deduced fact:
The minimum acceptable player speed to cross gap in one gametic is (91 - 68) : 23 units/gametic.
Deduced conclusion: If you are
lined up perfectly, while sr50ing, there is a extremely small chance that you will
make it.
Reasoning:
- The game manipulates your x and y position based on your
momentum each gametic. To make this jump you need to (on your last
gametic being grounded on the platform) be sure that you are
practically ON the vertice.
- Your next gametic will be about 1/2 way between the gap, and
because of the aforementioned Z movement bug, you will hover.
- The gametic after this, you will be on the ledge, because
your Z height is within 24 gametics of the ledges floor height, the
game will consider it a step, and move you up.
- Most of the time, depending on the location you start
running, you will spend 2 gametics in the air.
Trick rating: Extremely Difficult
Conclusion: Map07 -nomonsters and
pacifist is possible.
Demonstration:
Load up map07-1.wad in doom2.exe or
Budko's PrBoom with -file map07-1.wad -warp 7 -nomonsters -turbo 143
When the map loads, hold the forward but down, and you will make it.
Now try loading the level and moving forward a bit, and then running.
You most likely won't make it.
... Now do this with sr50 in a legitimate map07 uv pacifist run.
Just for absolute proof, I also supplied map07-2.wad and .lmp . The lmp
is a built demo of sr50 in one direction, and the wad has the player
positioned in the exact correct spot to get it.
Given how much trouble I had making this built demo (and moving the
player start spot around pixel by pixel, rechecking to see if it
worked) I'd say that.. well... Good Luck!
(map07-1.lmp provided incase you don't have doom2.exe or Budko's
prboom. Plays back with any doom2 compatabile port)
For more information please see this Anaylsis of map07-2.lmp
Written and studied by: Chris "Dashiva" Laverdure