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

Crushing ceiling movement and damage

Recommended Posts

I'm trying to build a set of fast crushers whose stroke lengths are integer ratios so that they stay synchronised, and I've realised that I have absolutely no idea how these damn things actually work. In vanilla, crushers apparently stop for 1 tic at the top and bottom of each stroke, which is easy enough to account for and get them synchronised, but in ZDoom (and possibly other ports) they don't stop (or else there's something else weird going on), so it isn't possible to get synchronised crushers working in both vanilla and ZDoom, unless there's a compatibility option I've missed.

And the damage. On a level floor, a 56 unit high object (such as a player) should spend 24 tics in the zone of hurting, taking 10 damage per sector (except in ZDoom, again, where the damage is independent of the number of sectors) every 4 tics, for a total of 60 damage, right? The wiki says that's right. But it's wrong. Fast crushers always do at least 70 damage. Where does the extra 10 damage come from? The thinker code is a total mess and I can't make any sense of it.

Part of me feels like this should be easy to understand and the only reason I don't understand it is because I'm slowly losing my mind, but the other part of me feels like I'm losing my mind because I'm trying to understand it. Which is it?

Share this post


Link to post
Foxpup said:

And the damage. On a level floor, a 56 unit high object (such as a player) should spend 24 tics in the zone of hurting, taking 10 damage per sector (except in ZDoom, again, where the damage is independent of the number of sectors) every 4 tics, for a total of 60 damage, right? The wiki says that's right. But it's wrong. Fast crushers always do at least 70 damage. Where does the extra 10 damage come from? The thinker code is a total mess and I can't make any sense of it.


How high is your crusher sector? I just made a quick test with 128-high sectors and a fast crusher consistently did 60 damage in Chocolate Doom.

Anyhow my experience with crushers is that they're a pain to work with if you want precise results. Even more so if you want compatibility across multiple ports.

Share this post


Link to post

Wait, it's the first one. I am losing my mind. It is 60 per sector. But I swear it was 70 a moment ago, and I remember doing a test years ago and getting 70. Maybe the 1 tic delay counts? That'd give a 1 in 4 chance of 70 damage. Either that or I'm hallucinating again.

EDIT: I just realised that multi-sector crushers also don't normally do extra damage for each sector. So how come mine do? My sectors are precisely concentric but that's the only thing unusual about them that I can see. I'll see if I can't isolate this phenomenon.

ETA: Huh, I made a test map (which I'll upload as soon as webs.com comes back up), and what do you know - concentric crusher sectors do more damage! Who'd have thought? Not only that, but after several tests, it seems a regular fast crusher can do either 60, 70, or 80 damage, but usually does 60 (I knew I wasn't hallucinating). Dammit, now I have even more questions than I originally started with.

Share this post


Link to post

Just speculation: If the crushing damage is synced to the internal clock, which is probably is, the crusher can maybe do more damage if the first tic where the player is being crushed is a damage tic.

Share this post


Link to post
Foxpup said:

...except in ZDoom...

If true, those are bugs that ought to be reported.

Share this post


Link to post

Alright, here's the test map and a demo (v1.666) demonstrating both glitches: temp-host.com/download.php?file=dv35gm

In the demo, the first crusher does 120 damage, double normal because it is composed of two concentric sectors (I still haven't been able to determine why that makes a difference), and the second crusher (which is composed of two non-concentric sectors) does 80 damage (instead of 60) for no reason other than to mess with my mind.

Gez said:

If true, those are bugs that ought to be reported.

At this point, I still have no idea what the correct behaviour for a crushing ceiling actually is. :/

Share this post


Link to post

I'm pretty sure I'm the one who added that factoid in there, and the way I calculated that was simply by making a test map in chocolate doom and testing it several times. Turned out to be 60 damage every time. The slow crusher was tested by pausing the game whenever I was close to death, and toggling degreelessness mode on and off to restore back to 100%, recorded the amount of damage, and unpaused the game. Repeat until the crusher stopped doing damage and adding up the values. But now that I think of it, it may be possible to have a crusher that descends into a pit, and have the player stand over the edge, half on the cliff and half under the crusher. I think in that circumstance the player may take more than 60 damage. The only map I can think of that has something like that is E3M4: House of Pain.

I don't think this is related to your issue but I do think this information is worth documenting in the wiki, (How some source ports interpret crushing damage, and functionality of concentric crushing sectors to multiply damage.)

makes me wonder if there could be a way to make a damaging floor do fast damage by crushing a voodoo doll, where the sector is surrounded by stop crusher WR lines and an inset sector inside could start the crusher. Would that stop the player from moving though? Also I've found in specific circumstances that it is possible to escape from a crusher and only take 10 or 20 damage instead of the full 60 if only a little bit of your hitbox is trapped under and you try to full sprint away. Does that have to do with the crusher changing speeds (which would effect your synchronized crushers btw unless you do a perfect run) or it it some kinda blockmap bug?

Share this post


Link to post
40oz said:

I'm pretty sure I'm the one who added that factoid in there, and the way I calculated that was simply by making a test map in chocolate doom and testing it several times. Turned out to be 60 damage every time.

Well, not every time. I guess it goes to show, you can't prove a negative.

40oz said:

I don't think this is related to your issue but I do think this information is worth documenting in the wiki, (How some source ports interpret crushing damage, and functionality of concentric crushing sectors to multiply damage.)

What information? This is all guesswork at this stage. The only hard data I have is that a) crushers can do up to 80 damage with no variations in floor height, for no conceivable reason; and b) multi-sector crushers can sometimes multiply their damage by the number of sectors (I have no evidence that concentricity is a necessary or sufficient condition for this effect).

Someone needs to go dive into the thinker code and see just what, exactly, crushing ceilings actually do. Preferably someone other than myself, since my brain is still recovering from my previous unsuccessful attempt.

Share this post


Link to post

Well does the wiki explicitly state that you can't make inferences? All I'm saying is that these types of things aren't in the wiki at all. I feel as though it would be more beneficial to post incomplete or even erroneous observations than nothing at all. Because that might prompt someone who knows better to correct it or flesh it out. I feel as though misinformation is much more productive than no information at all.

not that this thread is entirely groundbreaking but id like the wiki to siphon as much info from the forums as possible. to me, it seems like quite a few articles are lacking in length/depth. I'd fill in some gaps myself but I can't help but feel like my writing is too informal and can come off too subjective. I'm not entirely sure if the wiki moderators would be very welcoming towards it.

Share this post


Link to post

The source says 10 damage from each sector the target is being crushed by (that bit I can read).

Share this post


Link to post

I'm not sure what's going on exactly, but in the test maps I've made I was unable to reproduce the same error; it was 60 every time. I did try your map and did manage to land a couple 80 damage crushes. The screen flashes a little redder on the very last bit, it seems like a final 20 damage blow somehow, it seems to happen every other time I stand under it.

This seriously is a rare phenomenon, i edited your map changing the size of one of the crushers and now none of the 4 are doing the 80 damage again. No matter how many times I stand under it. Maybe its something to do with the nodebuilder or blockmap or something.

Share this post


Link to post

is it possible the variation has something to do with damage being applied every 4th tic? Sort of how you can spend some time in damaging floors and not take damage until the counter rolls over every 32nd tic? idk, just a guess after poking around the source for a bit.

Share this post


Link to post
40oz said:

I'm not sure what's going on exactly, but in the test maps I've made I was unable to reproduce the same error; it was 60 every time. I did try your map and did manage to land a couple 80 damage crushes. The screen flashes a little redder on the very last bit, it seems like a final 20 damage blow somehow, it seems to happen every other time I stand under it.

What port are you using? In vanilla the west crusher does 120+ damage every time. That's why the test map has a megasphere - it otherwise kills you in one stomp.

40oz said:

Maybe its something to do with the nodebuilder or blockmap or something.

Doesn't look like it. I rebuilt the nodes using WARM (I used ZenNode originally) and got the exact same results. The demo plays back identically on both versions.

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
×