Page 1 of 1

[can't fix] odd bounce with slopes next to 3D floors

Posted: Fri Oct 13, 2006 16:37
by simc
Noticed this first with a Vavoom style 3D floor, but it happens
with GZDoom 3D floors too.

If there's a 3D-floor with "a sloped-floor-system" in a sector
next to it, the player can suddenly bounce on top of that 3D
floor atleast at 50 units height.

It's a bit hard to explain, but it's like using no clipping mode.
A small example wad here:

http://www.geocities.com/gearlost/misc3/bounce.zip


This bounce-effect happens with all three plats there. It's
easiest with the plat in the middle, but with a bit speed and
the right selection of the place the other two are bouncable too.
(the cool demo is from 1.0.21 ;)

Dunno if this is related to anything, but that wad's base floor
is at height -5. But if the floor+ceil heights of all sectors
are raised by value 5 the bounce-effect no longer occures?

Posted: Sat Oct 21, 2006 9:30
by Graf Zahl
Ugh...


If there is one thing in Doom that's uglier than the collision code it's the sliding code. And that's what causes this problem. I'm sorry to say that I don't understand a thing that's going on here so I can't fix it. :(

Posted: Mon Oct 23, 2006 14:38
by Cutmanmike
Doom's collision code needs... a rewrite!

Posted: Mon Oct 23, 2006 15:10
by Graf Zahl
Indeed. But this bug is not in the collision code, it's in the sliding code.

But that one should be rewritten as well.

Posted: Mon Oct 23, 2006 15:23
by Cutmanmike
If only...

Posted: Mon Oct 23, 2006 18:55
by Nash
If Doom's physics code were to be re-written... it wouldn't really behave like Doom anymore, now would it?

Wouldn't that make Doom fanboys whine "MY VANILLA DOOM TRICKS DON'T WORK ANYMORE" etc?

Posted: Mon Oct 23, 2006 21:55
by Graf Zahl
You'd have to be extremely careful. Doom's movement code is so full of design flaws that it is impossible to fix it. I think the end result would be to keep the old code unaltered for compatibility and only use the new one if the player chose that option. Of course this would mean that the old code wouldn't get any more maintenance but wouldn't that be the point?

And if that ever happened, I'd dump all 3D-floor handling from the old code. It's such an ugly mess full of bugs and side effects that I'll never be able to fix properly.

Posted: Mon Oct 23, 2006 22:33
by Cutmanmike
I wouldn't give a crap about all the old "tricks" you could do with the buggy Doom engine, and no one else should.

But oh curse wishful thinking. Over all in the end i'd just want a better map format.

Posted: Tue Oct 24, 2006 6:30
by wildweasel
The only "trick" I care about is being able to strafe-run, in the traditional sense (none of this fancy wallrunning or SR50 stuff). Other than that, the movement code is long overdue for a rewrite.

And the bobbing code, too - I keep bringing that up but nothing has ever really been done to it.

Posted: Tue Oct 24, 2006 8:55
by Graf Zahl
Straferunning is caused by the movement input code so that wouldn't be affected by new collision detection code.