Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Creaphis

The Two Types of Glides

Recommended Posts

This thread is probably going to be pretty useless for all the expert runners here, but I'm new to glides and still struggling to understand them so I'm writing this post mainly to help me solidify what I've been able to figure out so far. But, if this helps somebody else too, great! Comments are welcome.

It seems to me that there are two very distinct categories of glides that depend on different quirks in Doom's engine to work. They may almost be different enough to be considered as completely separate tricks. But, I'll stick closer to convention and call them "standard" glides and "wobble" glides.

Standard glides are those where the player squeezes his way through a 32-unit-wide gap. This gap must be aligned with the x- or y-axis of the map. To perform one of these glides, the player must line himself up with the gap, and move directly into it.* If there are no fractional components to the player's position or direction, and if the player is persistent in making small forward movements into the face of the gap, eventually the engine decides that there's really no reason that the player shouldn't be allowed in. Typical attributes of standard glides include:
- A smooth entrance into the gap
- Very little "wobbling" (vertical movement of the player's viewpoint, like when the player runs) or weapon bobbing
- Occasionally some jerky movement of the weapon sprite, as the engine struggles to decide what the player's position and velocity should be
- Unusually shaped gap entrances (ie. gaps where at least one of the linedefs that forms the gap is not orthogonal to the map's axes) may also trigger some elastic collision code when the player tries to enter them, pushing the player a small distance backward from the gap.

Wobble glides are perhaps an even more curious beast. I was recently flabbergasted by Mickaël Girard's DV.wad MAP02 UV SPEED demo because he uses a sort of glide that I didn't realize was possible at all. Previously I had only been aware of standard glides and glides through impassable double-sided linedefs, and this one was of neither sort. On second thought, though, I think that Mickaël Girard's glide and impassable linedef glides work for the same reason, and can be grouped together under the umbrella term "wobble glides."

First, I need to justify my use of the word "wobble." I believe that an important part of these glides is the fact that a wobble (again, vertical movement of the player's viewpoint) is momentum-preserving. Or, more accurately, when the engine considers the player as having momentum, even though the player may be standing still but pushing against some object, this momentum will display itself through visible wobbling. Furthermore, if the player is wobbling, and if the object in the player's way is removed, the player will instantly reach the full speed he would be moving at had the object not been in his way in the first place; there's no period of acceleration, like there normally is when the player starts moving from a stand-still. To see some "momentum-preserving wobbles" in action, read this thread and watch Grazza's demos. Also, a momentum-preserving wobble plays a significant part of my DV.wad MAP02 NIGHTMARE! SPEED demo - after teleporting to the top of the tower, I briefly build up a wobble against an impassable linedef, then slide off of the end of the line at the right moment, allowing me to shoot like a bullet towards the gate.

So, what do wobbles have to do with glides? I wouldn't know either if I hadn't fortuitously stumbled across some relevant info today. Included with Sylvain Chabert's built CO-OP NOMO run of MAP03 in 13 seconds (available on this page) is some very extensive documentation, which I only skimmed through to be honest. But, to summarize, it seems that when the player is moving quickly, it is possible for him to "cut corners." As long as the player's position is legal in successive game tics, Doom doesn't care if the player is partially inside a wall or other object "between" tics. When the player is moving at his top speed, this quirk is especially useful, because the player can be at two very different positions in two consecutive tics; there could be some seemingly-impassable object between these two positions, yet as long as each position is in itself legal, then Doomguy can just shoot past it.

This finally leads me to why wobbles are useful for glides. "Wobbling" allows the player to run at his top speed, while standing still! Therefore, if the player's current position is legal, and if there's another legal position not too far away, and there's a small obstruction in the way which the player can wobble against, then the player should be able to "run" past the obstruction, and thus perform a "wobble glide."

However, a tricky matter that I haven't quite been able to resolve is: exactly what obstacles can a player wobble against? It seems to me that the player can always get a good wobble going against impassable double-sided lines that the player would be able to move through if the lines weren't marked impassable (ie. the floor height on the opposite side of the line isn't too high for the player to step up) and against things. A great many already-existing wobble glides, to apply my term retroactively, are through "railings" and similar constructs, and it's no coincidence that these are typically built from impassable linedefs, which make for good wobbling. Fewer wobble glides involve things, because usually when a thing is in your way it'll either move or get killed, but a classic example is the "torch trick" - a wobble glide against a thing used in some speedruns of Doom 2 MAP19. Unfortunately, there's no clear rule about when you can wobble against impassable single-sided lines, or against high floors, or against low ceilings. It seems that at least two different linedefs usually have to be involved, and they must be arranged in some way that makes the Doom engine consider movement past this arrangement as plausible. I'm theorizing here that Doom's movement code makes a pair of checks before allowing a player movement. First, Doom looks at whether there's potentially enough room for the Doomguy in the direction that the player is trying to move, and if there is, then Doom gives the player thing some momentum and the wobble that comes with it. Then, Doom looks up some other data and decides whether the Doomguy actually moves. I can't read the source code so I can't confirm this theory, but it seems clear that the player's momentum and the player's movement depend on separate checks, whatever those checks may be.

Anyways, typical attributes of wobble glides include:
- A pronounced visible wobble as the player attempts the glide
- An instantaneous burst of speed when the glide succeeds
- Glide attempts are more likely to succeed if the player pushes into the obstacle with a higher movement speed.
- The exact angle of player movement is less important.
- Additional "momentum" from external sources makes these glides more likely to succeed, like when the player is struck by a cyberdemon's rocket during a glide attempt.


*There are exceptions to this second requirement, but they can probably be explained by differing map geometry. See my attached demo of a "slanted" standard glide on DV.wad MAP02.

dv-glide.zip

Share this post


Link to post

nice dissertation.

indeed, there are scenarios where doomguy takes a deep breath in and crashes through a tight opening with a boosting effect. i can recollect two other scenarios similar to yours from top of my head and all of them include an opening at least 32 units wide in the orthogonal direction (the glide), some non-orthogonal, particularly bouncy walls (the wobble) and diagonal space that shouldn't allow doomguy's hitbox to pass through (the magic).

mickael's dv map02 scenario is particularly weird, the glide is easy despite just 29 units in the bottleneck spot. whoa? the checks for diagonal space for doomguy's hitbox (45.25etcetc units) are probably... sloppy. the engine closes it's eyes and yells 'just go, ffs'.

here's a situation from early beta sod map11. the glide didn't work from the right side, there was no way to get to the gap, because the collision detection worked right and there was no wobble. interestingly, the glide worked as usual from the left (wrong) side, then you hit a short wobble (not enough diagonal space) on the other side - but you already WERE gliding, so in this case, the two elements of this trick were separated.

here's my favourite one: ks map05. it's right after start in case you want to try it. the orthogonal spacing is completely irrelevant in this case, everything has crazy angles. the diagonal space shouldn't be enough, but the wobble glide works just nicely.

Creaphis said:

- Unusually shaped gap entrances (ie. gaps where at least one of the linedefs that forms the gap is not orthogonal to the map's axes) may also trigger some elastic collision code when the player tries to enter them, pushing the player a small distance backward from the gap.

strangely enough, these glides have a lot in common with the wobble glides. the pushback effect happens when you move slow, running makes you... crash through. also often the best angle is one mouseturn step to the left of orthogonal direction, i have no idea why. doom2 map22 glide would be a perfect example.

oh and one last thing: you know how everyone thinks nirvana is the shittiest level ever on par with wow.wad? well, it's the only map i know of featuring a clean, diagonal sr40/50 glide. the opening is 24 units wide along x/y axis and 34 units wide diagonally - and there's no wobble involved. wait, what?

Share this post


Link to post
dew said:

oh and one last thing: you know how everyone thinks nirvana is the shittiest level ever on par with wow.wad? well, it's the only map i know of featuring a clean, diagonal sr40/50 glide. the opening is 24 units wide along x/y axis and 34 units wide diagonally - and there's no wobble involved. wait, what?


Interesting! This glide probably works on the same "corner-cutting" principle as wobble glides, except that the yellow key doors themselves don't provide any wobble, so the player has to use "natural" momentum and actually run up to the gap. The glide will be successful if the player's run is timed right so that his bounding box is just barely inside the doors on one tic, so that the next legal position that the player can run to in one tic with his current velocity is actually outside of the doors.

Though I believe that these glides work for the same reason as wobble glides, they could be considered as their own class of glides because of the different technique they require. To make one of these glides, the player needs to find a map pixel to begin his run from so that his bounding box will fall into all the right positions in subsequent tics. There should be many valid "starting pixels" for each of these glides, but the tricky bit would be consistently moving onto any one of those pixels before making the glide attempt. "Nirvana" makes this easy because it just so happens that the teleport destination is perfectly placed for a SR50 run-up. If the destination was moved by even two pixels, this glide would probably be far more difficult.

Share this post


Link to post

Some interesting thoughts there.

The idea that the engine is mostly interested in whether you are in viable position in each potential gametic (and less in what you are moving "through") surely has a lot of validity. Does there also need to be a line of sight between these two spots for the engine to consider allowing it? Certainly in all glides that I can think of there is a line of sight.

Wobbles are a mysterious topic. There is a wide range of physical appearances (sometimes jerky, sometimes smooth, fast/slow, large/small amplitude), and the momentum-preservation effect varies too. It seems that it is possible to get a wobble against a vertex, and that the effectiveness depends on the geometry. Glides through impassable linedefs have traditionally been viewed as only possible when the relevant vertex is not a right angle. Is this because it is all about momentum preservation, and a right-angle vertex doesn't enable the player to preserve enough momentum? I suspect there is more to it than that - otherwise players would have found ways through such spots by some sort of other speed boost.

Share this post


Link to post

Excellent analysis, all correct as far as my experience goes, apart from one refinement.

Trying to summarise, glide type #1 ,a "squeeze", is the common 32 unit one.

Then glide type #2, a "skip", has several forms of the same basic trick. The bar type with a 24x24 gap such as D2 Map21 can be done with ordinary strafe running. When the gap is smaller (24x16 I think on D2 Map19) "thing wobble" boost is needed.

But I think the irregular gap and "fence" style (eg. D2 Map10) through an impassable linedef are based on the same form of "skipping", but are a little different. My theory is that the speed boost (or perhaps a geometrical inaccuracy with little to do with speed) comes from the same source as wallrunning.

Reasons: firstly the speed boost is massive - running is not even needed, just walking will do though it's harder. Secondly, I've never seen this done when the player is not sliding along a wall that is not right-angled. I've tried rocket-jumping etc. through impassable linedefs but never succeeded, though I wouldn't be surprised if it was possible.

To clarify about the "fence" glide, vertexes are not involved. You just have to be sliding along a wall and jam up against the fence. The wall doesn't have to be touching the fence at all (it could be a column say), and you can glide straight through the middle of the impassable fence linedef. I've never seen this mentioned before - I've known about it for a while (nearly four years evidently!) but never found a map where it was useful. I had to modify a map myself to demonstrate it - see attachment (it's for Doom 1 which I forgot to mention in the text).

hangar13.zip

Share this post


Link to post

wow, that's an epic glide, cack. :) it only strenghtens creaphis' theory about checking valid states only in subsequent tics, i assume you gained enough momentum to fool the engine and teleport yourself through the linedef. the interesting part is that it needs the wobble. i've had many failed attempts on pl2 map07 where i rocketboosted myself to ease the glide, but it wasn't successful because of no wobble. this scenario is even more blatant than d2 map10 imo.

i wonder if monsters could be exploited to skip twosided linedefs in some traditional wads. i can't think of a useful scenario, but it could me magical.

Share this post


Link to post
dew said:

i wonder if monsters could be exploited to skip twosided linedefs in some traditional wads. i can't think of a useful scenario, but it could me magical.

That reminded me of this thread. Edit: heh, nothing in that thread actually states where this happened. It was in Doom.wad E2M6 (Halls of the Damned). IIRC, it was the outer corner just to the east of the blue key, with the player backed hard into the corner and punching and getting bitten by demons.

Share this post


Link to post

Thanks all for sharing your thoughts and experiences. They're making it hard, though, for me to further refine my Unified Glide Theory - I can't explain all of this nonsense!

cack_handed said:

To clarify about the "fence" glide, vertexes are not involved. You just have to be sliding along a wall and jam up against the fence. The wall doesn't have to be touching the fence at all (it could be a column say), and you can glide straight through the middle of the impassable fence linedef. I've never seen this mentioned before - I've known about it for a while (nearly four years evidently!) but never found a map where it was useful. I had to modify a map myself to demonstrate it - see attachment (it's for Doom 1 which I forgot to mention in the text).


That's a very interesting glide. Even though the player can already build up a good wobble against an impassable line on its own, the glide apparently only becomes possible when there's another properly-shaped object nearby to provide "tension." Also, the player can't run 32 map units in a single game tic under his own power so he can't just be "running" to the next legal position on the other side of the impassable line. I guess that some other force is also at work here, perhaps similar to the cause of wall-running.

Grazza said:

That reminded me of this thread. Edit: heh, nothing in that thread actually states where this happened. It was in Doom.wad E2M6 (Halls of the Damned). IIRC, it was the outer corner just to the east of the blue key, with the player backed hard into the corner and punching and getting bitten by demons.


Wow. I got it to work in PrBoom+ -complevel 2, but can't seem to record it on a demo. This seems to be a wobble glide, though it's a bit weird. I guess that "the void" can be considered as one big legal position, as Doom has no problem with letting the player run around in it. The hard part is getting through the impassable linedefs that border a level. Here's a question: do set-ups that allow gliding through impassable lines within levels also allow gliding outside of levels? Is it really that easy?

dew said:

i've had many failed attempts on pl2 map07 where i rocketboosted myself to ease the glide, but it wasn't successful because of no wobble.


I guess the problem with using rocket boosts to help with a glide is that the extra momentum is only active against the obstacle for one tic, and it's unlikely that your momentum vector and all the other mysterious unknown factors will all be perfectly aligned to let the glide succeed in that one tic. Just for fun, I took The Sky May Be's dehacked patch and played with it in PrBoom+ -complevel 2. The mine layer weapon spawns stationary things that put out an explosion every tic, and with this constant "rocket boost" (and with god-mode on of course) I was able to perform the glide into the void on e2m6 without even touching my movement keys. But, then again, the constant pressure from the explosions made me wobble against the wall. You just can't have a wobble glide without the wobble.

Share this post


Link to post

I had a look at the demo by cack_handed for hangar13.
At the point of interest the player moves approx 51 units in one tick through the impassible line.

I'll try to explain what I watched while stepping through it:
The player built up a high momentum while being blocked by the impassible line and soulsphere column.

For moves with high momentum the engine splits them into two half moves and processes them one after the other.

The first half move is blocked so the engine tries sliding the player. When trying to slide the engine uses the full distance (not the split up version). The line it chooses to slide along is line 2054 and because this line is sloped the engine calculates a slide vector for sliding along it. The distance calculated for the slide ends up at just over 35 units. This high value is due to the distance being approximated (for speed) and the angle of movement being close to the angle of the line (Note: Sliding distances are not clamped i.e. by MAXMOVE which is 30). This distance is just enough for the player to skip over the impassible line (player bounding box size is 32 and the line being skipped is aligned).

Also, after moving the player for the slide the engine continues to process the second half of the move (remember it was split). In this case the extra move is not blocked and this is what takes the total distance moved up to 51.

It looks as though it may be possible under the right conditions (block slide, block slide) for the player to travel further (i.e. in this case 35 * 2 = 70 units in a tic, skipping two impassible lines).

Share this post


Link to post
4mer said:

The line it chooses to slide along is line 2054 and because this line is sloped the engine calculates a slide vector for sliding along it. The distance calculated for the slide ends up at just over 35 units. This high value is due to the distance being approximated (for speed) and the angle of movement being close to the angle of the line (Note: Sliding distances are not clamped i.e. by MAXMOVE which is 30). This distance is just enough for the player to skip over the impassible line (player bounding box size is 32 and the line being skipped is aligned).

Thanks for this detailed explanation. Does this mean the trick could ever work by sliding along a Thing or vertical/horizontal wall (ie. wallrunning) or does there always have to be some sort of slope involved?

xepop said:

Here's one e2m6 glide demo.

Nice one! Is there an easy way of getting it to work (other than trying for hours)? I was going to moan that I'd never been able to do this trick but I managed it once just now, by accident when moving along the east wall to get into position. I suppose it's potentially doable in any corner where you can get up a "wobble".

That just leaves the second glide back in so you can exit. I've been trying to engineer some geometry where you can noclip out then glide back in, but no luck yet.

Share this post


Link to post

Nice one! Is there an easy way of getting it to work (other than trying for hours)? I was going to moan that I'd never been able to do this trick but I managed it once just now, by accident when moving along the east wall to get into position. I suppose it's potentially doable in any corner where you can get up a "wobble".


I haven't been able to do it in any other corner than the east one, yet.

I found a rather easy way to do it in this case. See nomo demo for positioning. Then you take a step backward and run forward and immediately sr50 left when you hit the corner or just a bit before. Repeat if necessary. Other way is to just wobble there and alternate sr40 and sr50 and find out yourself how it behaves. But I'm still trying to find a better way and more universal as this is not quite working in the e1m6 one, though it sometimes does.

Share this post


Link to post

Ha! What an utterly cool trick. Following your example I was able to do it with a handful of tries, and sometimes even by accident before I was ready. Much easier than the D2 Map22 glide for instance. I ended up using a slightly different method, sr50-ing along the east wall rather than stepping backwards.

Trying to find other examples was discouraging though - zero so far. But maybe this one isn't so useless after all...

e2m6-057.zip

Share this post


Link to post

p2m6-033
Forgot to ask my theoretical question:
Would this kind of glide invalidate reality demo? I mean it isn't too realistic is it? :p

p2m6-033.zip

Share this post


Link to post

Interesting, I remember being able to glide outside the maps in this manner as well. But I was always unable to exit, so I discarded it.
Glad to see it's actually possible to exit in this case. This should be researched further in other maps.

Yet, it remains a rather ugly way to exit the map :)

Share this post


Link to post

Gentlemen! I welcome you to this new age of Doom speed running, where, instead of actually running through Doom maps, we walk out of them at will.

Share this post


Link to post

the most important thing to remember at this point: for the love of doom science, no matrix quotes!

Share this post


Link to post

Haha, amazing stuff. Two nice discoveries: that there is no need for monster assistance to get out into the void, and that switches can (I surmise - correct this if it seems otherwise) be pressed from out in the the void as long as it isn't through the wall, but rather at the actual point of intersection with the switch itself.

So I suppose the next question is what is special about that particular vertex that allows the player to get a wobble big enough to break through? Node issue or pure geometry? Something else? Is it a one-off fluke, or can it be applied in many maps?

Share this post


Link to post
Creaphis said:

Gentlemen! I welcome you to this new age of Doom speed running, where, instead of actually running through Doom maps, we walk out of them at will.

I dunno if any of you are familiar with speed running and sequence breaking in the Metroid Prime series of games, but what you are playing with here is rather similar to what they call in Metroid parlance "secret worlds."

Look up the trick called "Ice Beam Before Flaahgra" if you're interested. It is a trick that is virtually required to do the so-called Varialess Magmoor run. Prime gives you a lot more tools for navigating the void than DOOM, though. There you can use jumps and, to a limited extent, the morph ball. In DOOM you might just run into the infinite extension of a line in the level and never be able to step up over a large ledge formed by it, for example.

Grazza said:

So I suppose the next question is what is special about that particular vertex that allows the player to get a wobble big enough to break through? Node issue or pure geometry? Something else? Is it a one-off fluke, or can it be applied in many maps?

I had a map I made myself, a variation of E1M1 designed for deathmatch and game testing purposes. It had a room with a secret cache of Cyberdemons - if you opened the door, they'd all come out roaring. But if you backed into one of the southwest corners of said cache, the Cyberdemons' rocket blasts could occasionally push you right through the otherwise solid wall.

So I have a feeling that this is by absolutely no means the only place this quirk could be exploited. In fact it's probably just one of countless many.

Share this post


Link to post

Quasar said:
So I have a feeling that this is by absolutely no means the only place this quirk could be exploited. In fact it's probably just one of countless many.

Yeah; this particular glitch was found by chance because the presence of a monster shoved the player character back during some fighting, and not by actively searching for such a "crack" on every possible place.

I think this needs a separate category, because othewise it'll turn DOOM speed running into the practice of wobbling or pushing against wall corners, or otherwise determining what place in a map has such a weak spot. I propose that if the player goes into the void, the run is valid as a "void demo" but it does not replace or "beat" runs that don't do this. This gives a place to this practice without discouraging play in the proper level space (the sectors the author mapped).

Share this post


Link to post
xepop said:

p2m6-033
Forgot to ask my theoretical question:
Would this kind of glide invalidate reality demo? I mean it isn't too realistic is it? :p

lol trick!

myk said:

I think this needs a separate category

Of course this does not need it.

Share this post


Link to post

entryway said:
Of course this does not need it.

I think it does, as it's similar to an "all ghosts" bug run, which has occurred to runners in the stock levels. If that kind of play were standard, then why aren't we waiting for lucky intercepts glitches to allow us to run quickly to the exit? None of the Compet-n runs involve getting out of the map to reach the exit, so there is no precedent saying this is a valid running trick for the usual categories. Many categories have rules to keep the game interesting and challenging. I think this needs one to keep the standard categories from being too hack-oriented. You would say it's valid, but you also felt sr50 on turns was valid, back when you made your TAS movie, with the "if it's technically possible, it's allowed" principle.

I put my copy of xepop's p2m6-033 in doom/misc.

I was thinking, anyway... was this so unexpected? What led Gusta to believe hitting the exit switch from outside was not possible, with the E3M6 precedent and all?

Edit: By chance I was just reading an old thread where printz mentions this glitch, or something very similar, happening in E3M8 (not that it's useful to exit there).

Share this post


Link to post
myk said:

I think it does, as it's similar to an "all ghosts" bug run, which has occurred to runners in the stock levels. If that kind of play were standard, then why aren't we waiting for lucky intercepts glitches to allow us to run quickly to the exit? None of the Compet-n runs involve getting out of the map to reach the exit, so there is no precedent saying this is a valid running trick for the usual categories. Many categories have rules to keep the game interesting and challenging. I think this needs one to keep the standard categories from being too hack-oriented. You would say it's valid, but you also felt sr50 on turns was valid, back when you made your TAS movie, with the "if it's technically possible, it's allowed" principle.

A similar controversy happened in the Metroid community, especially after the mecca of speedruns itself, SDA, reversed its ban on secret worlds in submittable runs - though as a compromise, they were defined to constitute a new category of run, so as not to present an unfair advantage over runners who remained within bounds. This offers plusses and minuses as far as motivation to use the tricks goes. On one hand you have a category you can claim a record in, but on the other hand, it's no longer *the* category.

Share this post


Link to post
Quasar said:

I dunno if any of you are familiar with speed running and sequence breaking in the Metroid Prime series of games, but what you are playing with here is rather similar to what they call in Metroid parlance "secret worlds."

In the Elder Scrolls fandom, people who do that by design or accident (usually the latter) are called "Void Rangers".

Despite the very different engines used, it's been possible in all games of the series, though Daggerfall was by far the most infamous, even prompting the developers -- who apparently couldn't even fix the bug reliably enough -- to add in a patch a hotkey that'd teleport you back to a valid position.

Share this post


Link to post

I think I agree with myk about a new category.

It's like in super mario kart where they have "nbt" and "non-nbt" categories. Both categories are encouraged and are just as competitive as the other.

Share this post


Link to post

If anything deserves a separate category it's Doom runs that use glides, at all. Think about it. Much in the same way as in xepop's demo, glides allow you to skip some of the intended play space in a level, and when performing a glide, a player puts his core Doom skills of movement, strategy and reflex on a hanger and just fidgets awkwardly with his mouse instead. It's a bit odd that we consider runs that rely on this obscure feat as better than slower runs that do not. Putting xepop's demo on the top of the podium for e2m6 pacifist runs is hardly any odder.

I'm not really arguing that demos with glides should be considered as their own category, because that's a difficult line to draw. Keygrabs and linedef-skips also exploit gaps in Doom's programming to skip level content. While we're segregating glide demos, should we also demote the demos that rely on these tricks?

Let's just face it: Doom is the sum of all its incredibly glitchy parts. If more records are beaten with void glide demos, cool. Doom running is less about competition than it used to be, anyway, and more about using the vast repository of Doom wads to show cool runs to the world. There's definitely room for void-glide and non-void-glide demos to stand side-by-side in this speedrunning scene.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×