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

Slope collision plans?

Recommended Posts

I'm aware that the current EE slope implementation has no clipping / collision detection yet. Still, what are the plans for determining if a slope is passable or not? Is this going to be the actual height difference between slope front/back or will the inclination of the slope determine this?

Share this post


Link to post

Ideally, the method used will give identical gameplay to what's used in ZDoom, so that maps can be made that are compatible with both ports and will not feature slopes that can be climbed in one but not in the other.

Here's a test/example wad which uses different features that work in both ports. If you test it in ZDoom, you'll find out that in the last area, you can climb up to all but the last of the sloped tracks. (Unless you "cheat" by being half on it and half on the neighboring and slightly gentler slope, heh.) So that should give you an idea of the maximum steepness, since you can run up track 3 but not track 4.

But you'll also notice that the blue mat thing in the same room has very steep borders (also badly stretched, but I don't care about that), but you can still climb on it anyway because the overall elevation difference is small enough.

So, hopefully, both angle and height difference will matter in different ways.

Share this post


Link to post

Meh, doesn't that make it really really difficult for level designers (I mean, me) to make sure a slope is either passable or not?

I personally prefer this to be determined by the height difference in front/back of the slope. The only thing the level designer then has to worry about, is to make the slope look natural enough, and not worry if there's perhaps somewhere in his massively sloped landscape an angle that would allow the player to climb something he is not supposed to.

Share this post


Link to post

But then you'd be restricted to only sloping very tiny sectors. If you've got a 1024-unit-long ramp that climbs up 32 units, it'd be impassable because it's more than step height... Does it make any sort of sense? You'd have to cut the ramp up in tiny bits which would be mostly inconvenient. Why not just make a stairway then?

Share this post


Link to post

Provided the map is in UDMF format, there really wouldn't be any excuse for hard-codedly determining whether a given slope is passable or not based only on criteria such as its angle against the horizontal. There might be a reasonable default cutoff, but it should be capable of being overridden when the need exists.

Does ZDoom allow such yet, or not? If not, why?

Share this post


Link to post

Last time I checked, the physics involved used a #defined constant, STEEPSLOPE. (It's in p_local.h if you want to check.)

As for why not, I suppose the answer is simply that nobody yet has expressed the wish to change it in their own map, so it has remained that way according to the general principle of "don't fix what ain't broken". But people did complain when the angle was ever-so-subtly changed because the rounding macro changed too.

Share this post


Link to post

Gez said:
But then you'd be restricted to only sloping very tiny sectors. If you've got a 1024-unit-long ramp that climbs up 32 units, it'd be impassable because it's more than step height... Does it make any sort of sense? You'd have to cut the ramp up in tiny bits which would be mostly inconvenient. Why not just make a stairway then?


Correct. I'm inclined to think that slopes ought to act like "glorified staircases". If a staircase is passable by a player, so should it act when it's made into a slope. When a dropoff is not passable by the player, so it should remain even if it's made into a slope with a mile-long ramp-up.

My reasoning is that you will always have the guarantee that things work they way they should if you hadn't used slopes. And it's up to the level designer, as always, to make sure things don't look retarded (aforementioned mile-long ramp-up).

An example: imagine a staircase with tiny steps, 2 units wide, going up 24 units at a time to 128 units. Convert to slope. Situation 1: it's textured as a cavewall which you are not supposed to cover... so you make it as a dropoff. Result: can't be scaled. Situation 2: the staircase steps get all converted into a slope, and gets a ladder texture. The player is supposed to scale it. Both slopes have the same (very very steep) inclination but one is obviously intended as a barrier and one as a scalable ladder.

You can't always control the inclination to a very strict angle, nor do you want to in some cases. Especially if you use the "seesaw" structure to make natural-looking rocky terrain.

Share this post


Link to post

I've got to agree with Gez on this. In practice, determining whether a slope will be passible is generally pretty straightforward, and it's never been an issue for me in ZDoom mapping.

Really, I'd like to see EE's slope collision function more smoothly than ZDoom's, if possible. ZDoom has some really odd issues with visibly bumping up and down on slopes when crossing sector boundaries, and the player sliding around helplessly sometimes on small decorative slopes.

Share this post


Link to post
esselfortium said:

I've got to agree with Gez on this. In practice, determining whether a slope will be passible is generally pretty straightforward, and it's never been an issue for me in ZDoom mapping.

Really, I'd like to see EE's slope collision function more smoothly than ZDoom's, if possible. ZDoom has some really odd issues with visibly bumping up and down on slopes when crossing sector boundaries, and the player sliding around helplessly sometimes on small decorative slopes.

Considering that the only reference material for slope clipping is ZDoom, it may be difficult to avoid having the same issues. I will of course do my best but nothing can be promised. Slopes are so far outside the domain of DOOM's original code that there's nothing to help you deal with them that is already in there.

Share this post


Link to post

The only inconvenient part of ZDoom's slopes is how the steep slopes whose z height is smaller than 25 are NOT passable. That is, it isn't possible to create obtuse steps, like in the chart below:

24 or less   _______   <---- height of a step
            /
           /    <---- too steep to climb
0_________/

Share this post


Link to post
printz said:

The only inconvenient part of ZDoom's slopes is how the steep slopes whose z height is smaller than 25 are NOT passable.

Yes they are. Try the map I linked to above. I'm pretty sure the edges of the blue mat thing are steep enough.

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  
×