Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
40oz

Pressure Plates

Recommended Posts



In Mutiny MAP04, I created a little puzzle for the player to solve. Outside the window in the screen shot shown above, there are two large columns which are too dark to see. I put borders around them so you can see. When the player steps on the red pad on the right, the column with the red border will begin moving up and down. When the player steps off of it, the column will stop, allowing the player to toggle the the height he/she wants the column to be. The green pad on the left does the same to the column on the left with the green border. The puzzle is to adjust the heights of the columns so that the player can run across them to get to the building on the other side.



I set up the pads (or pressure plates) to be like this. The squares inside the GATE flat are angled to avoid "linedef skipping" which is something that happens in maps with linedefs that are at perpindicular angles. The linedefs of the inner square are linedef type "87 - Floor Start Moving Up and Down" with the front side pointing outward, and the linedefs of the outer square are linedef type "89 - WR Floor Stop Moving" with the front side pointing inward.

My logic is that the player will step on the GATE flat, tripping the "Floor Stop" first, then the "Floor Start" immediately after when standing on the flat. Then when stepping off, redundantly trigger the "Floor Start" again followed by the "Floor Stop" to stop the floor.

The picture above is sort of what it looks like on Mutiny MAP04, except that it included some extra lines that would trigger a noise and illuminate the corresponding columns so that the effect would be more noticeable in gameplay.

In some rare cases I caught the player playing around with the pressure plates on the map and sometimes the floor would be moving even when the player was not standing on it, or it would be stopped while the player was standing on it. Can linedef skips still happen even on angled lines? Is there a safer way to produce the desired effect?

I'd like to use the "pressure plates" trick in future Doom puzzles but I want to be sure I can ascertain that the effect will always work.

Here's the wad in question, MAP04

https://www.dropbox.com/s/yduk6iqnt1fke93/MUTINY_RC3.zip?dl=1

Share this post


Link to post
40oz said:

The squares inside the GATE flat are angled to avoid "linedef skipping" which is something that happens in maps with linedefs that are at perpindicular angles.

Could you uh... explain this?

Share this post


Link to post
40oz said:

My logic is that the player will step on the GATE flat, tripping the "Floor Stop" first, then the "Floor Start" immediately after when standing on the flat. Then when stepping off, redundantly trigger the "Floor Start" again followed by the "Floor Stop" to stop the floor.

That logic is based on a false assumption that the linedefs would be triggered in the same order in which the player crossed them. However, being so close to each other, the player would be likely to cross both of them within the same tic, and then their actions would be executed in an order corresponding to the linedef ordering inside BLOCKMAP (either that, or increasingly by their linedef indexes, though the two are usually the same). If you wanted to be 100% sure that the player won't cross both of them within the same tic, you'd have to put them at least 60 map units away from each other.

40oz said:

Can linedef skips still happen even on angled lines? Is there a safer way to produce the desired effect?

Sure they can happen on angled linedefs, and your slightly-angled ones will not decrease the probability of their happening almost at all. See this thread to learn how linedef skips actually work and (in later posts in that thread) how to actually reliably prevent them (it requires putting multiple lines with the same action after each other and with specific distances between them).

Share this post


Link to post
Linguica said:

Could you uh... explain this?


Not very well, apparently?

Share this post


Link to post
scifista42 said:

That logic is based on a false assumption that the linedefs would be triggered in the same order in which the player crossed them. However, being so close to each other, the player would be likely to cross both of them within the same tic, and then their actions would be executed in an order corresponding to the linedef ordering inside BLOCKMAP (either that, or increasingly by their linedef indexes, though the two are usually the same). If you wanted to be 100% sure that the player won't cross both of them within the same tic, you'd have to put them at least 60 map units away from each other.
Sure they can happen on angled linedefs, and your slightly-angled ones will not decrease the probability of their happening almost at all. See this thread to learn how linedef skips actually work and (in later posts in that thread) how to actually reliably prevent them (it requires putting multiple lines with the same action after each other and with specific distances between them).

This is exactly what I was going to post. The inner vs. outer lines must be further apart than DoomGuy can travel in one tic, to ensure that they are triggered in the proper order.

It's the same problem that occurs when a missile explodes on a thin column - sometimes the explosion occurs inside the column, and the explosion cannot be seen. This occurs when the missile radius causes the missile to be touching the inside of the column at the same time it's touching the outside.

So, yes, spread them apart. Alternately, maybe you can prevent the player from crossing the back side, and that can buy you some distance:

    +--------+
    |        |
    |        |  <- pillar
    |        |
    |        |
    +--------+

+---------------------------------------+   <- block player movement

 (a ledge, suggesting blocked movement)

+---------------------------------------+   <- block player movement
    +---------------+  <- block player movement
    |               |
    |...............|  <- #87 start moving
    |               |
    |               |
    |               |
    |               |
    |...............|  <- #89 stop moving
    |               |
    +---------------+
You want the player to be looking at the pillars, so the ledge would be in a reasonable spot. This setup gives you distance between the lines (hopefully enough), without really losing any important functionality.

Please reply and let me know if this works, ok? Good luck!

Share this post


Link to post
40oz said:

Not very well, apparently?


If this is something that happens in Doom with regularity, then Ling is likely going to find out the specifics on why this behaviour occurs. That's what he does. So any info on this would be great to have.

I've always wanted to know this myself, it popped up in the KDIKDIZD concept maps a few times.

Share this post


Link to post
Csonicgo said:

I've always wanted to know this myself, it popped up in the KDIKDIZD concept maps a few times.

Whatever you're thinking of from KDiKDiZD was probably not related to linedef skips. (Linedef skips are totally separate from the maddeningly-volatile barrelhax stuff that was causing so many headaches there.)

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
Sign in to follow this  
×