Duke4.net Forums: Angled sliding doors - Duke4.net Forums

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Angled sliding doors

User is offline   MC84 

#1

I'm having difficulty with a single masked sliding door that is constructed on a 45 degree angle. Even though the SE15 is angled correctly/parallel to the sliding door sector, the door shifts backwards as it opens up and ends up buried in the wall. If I continue activating it, the door keeps moving further and further away from the original door sector. I've tried adjusting the SE angle to compensate for the 'drift' but it doesn't seem to help. I know that this type of angled construction is possible, as the very first door in Z1L1 of Ion Fury has a very complex double sliding door that is also constructed on a similar angle.

I've attached a pic of my door in 2d mode. The second pic is my messy visualisation of the door sector's movement each time I activate it.

I'm using build 8039 of mapster32.

Attached thumbnail(s)

  • Attached Image: SLIDING_DOOR.JPG
  • Attached Image: SLIDING_DOOR2.JPG


This post has been edited by conoklast: 18 November 2019 - 02:18 AM

0

User is offline   Seb Luca 

#2

Maybe I'm wrong, but I think I remember that these doors can not work in a diagonal direction :o
0

User is offline   MC84 

#3

 Seb Luca, on 18 November 2019 - 02:27 AM, said:

Maybe I'm wrong, but I think I remember that these doors can not work in a diagonal direction :o


Perhaps Ion Fury version of mapster32 has overcome these limitations? Here's a screengrab of Davox's sliding door from the first level; as you can see, it's much more complex

Attached thumbnail(s)

  • Attached Image: davox_door.jpg

0

User is offline   MetHy 

#4

The angle of the SE has to be UP or DOWN, no matter how angled the door is.

Source: I got the same trouble when making a diagonal double swing door in IF's z5a1.map and Oasiz had the solution.

Edit: sorry I got that wrong, it's sliding you want and not swinging. Check the angle of your SE in F8 mode and make sure it is correct, a difference of 1 unit won't be noticeable when you view it in 2D mode but can bring trouble.

This post has been edited by MetHy: 18 November 2019 - 02:37 AM

0

User is offline   MC84 

#5

 MetHy, on 18 November 2019 - 02:31 AM, said:

The angle of the SE has to be UP or DOWN, no matter how angled the door is.

Source: I got the same trouble when making a diagonal double swing door in IF's z5a1.map and Oasiz had the solution.


hmm.. I tried with the SE both straight up and down, and it just made the sliding door move in the direction of the SE. Just to be clear, I'm not using Ion Fury's mapster, just the standard eduke32 version.

edit: yep sliding! - I checked the angle in F8 mode and it's 1792 (2048 minus 256) so it's aligned correctly. I think I'll play around with some minor adjustments to the angle to see if I can get it to work.

This post has been edited by conoklast: 18 November 2019 - 02:44 AM

0

User is online   ck3D 

#6

That's funny (well not really, but), I was running into the same issue just last week myself. Same set-up: basic sliding door in diagonal settings, and with every new activation it would just calculate and complete the drawing of a new translation back and forth as opposed to returning into what one might logically assume to be locked positions, meaning that the player could literally push the door across the whole room by activating it dozens of times. Gave me idea for potential rare effects (to be used with care as I'm not sure one wants the player to be able to push a sector outside of its sector of origin), but in my situation it wasn't crucial to have that door be a sliding door so I just said that's fun, but screw it and made another type of door as a replacement.

I know there are several ways to build sliding doors, from the looks of it we both use the easy/quick/cheap method where the sector is completely independent from any white wall but IIRC the original way of building them (which I remember as a bit more tedious) involved connections to fixed vertices, so (just a guess here) maybe rebuilding your door that way would provide it with an anchor to a white wall, and hopefully prevent it from running away.

Lately I've been working with diagonal map sections a lot, it's really a lot of fun but one does have to pay more attention to whatever it is they're doing than usual in such spaces, little oddities like this can happen easily, the best way I've found to make my life easier is to try and have as many of those wall lines as possible at a perfect 45 degree angle (or any multiple); the less 'straight' your diagonal plan will be, the harder getting away with the occasional sketchiness is going to get.

edit - if you want to make sure your SE really is at the perfect angle, try making it wall-aligned with your door for a second and press O on it so that it should align itself with its sector, then give it the default alignment again, but I'm not sure if it's even humanly possible to find a perfectly viable solution like this, even if one got it right somehow, the calculations are probably so precise that just moving the SE by a pixel I assume could eventually mess it all up (which I reckon the game itself would love finding odd reasons to do during casual playthroughs).

This post has been edited by ck3D: 18 November 2019 - 09:56 AM

0

User is offline   MC84 

#7

Thanks for the tips - I tried constructing the door the 'old school' way but it still drifted back upon subsequent activations. I also tried your idea of wall-aligning the SE to ensure the correct angle, but the problem persisted.

All good - I'll just come up with an alternative I think.

This post has been edited by conoklast: 18 November 2019 - 01:17 PM

0

User is offline   oasiz 

  • Dr. Effector

#8

Fury uses DS sprites to reset this.
On original d3d they will always drift.
0

#9

Sliding doors always ranked highly among the most unreliable effects for me, they're irritating little shits, you can't even put SE10s in them and have to dream up complex mechanisms elsewhere in the map if you want them to close automatically. Their speed is fixed, they occasionally do weird things with sounds, dodgy things. Even when you think they're set up right it's not unheard of for them to wander off on their own with repeated use.


Older games rarely handle angles beyond the four cardinal directions very well, if you walk back and forth on a diagonal line you'd eventually drift off course, especially as you let go of walk and the momentum runs out - sometimes this is even visible, in that it almost looks like Duke is hitting a wall and sliding along it. As usual it was probably a case of more precise math versus frame rate, they could probably have made the movement in these games more accurate, they could even have used floats, but then the rest of the game/engine would also have to be built with this in mind and performance would have taken a hit. Making something work on a PC used to be something of a balancing act and it was never a help that the tools weren't that good either.
0

User is offline   Kyanos 

#10

 oasiz, on 18 November 2019 - 01:22 PM, said:

Fury uses DS sprites to reset this.
On original d3d they will always drift.

Someone should back port some of these fancy new IF features to a D3D mod.
0

User is offline   oasiz 

  • Dr. Effector

#11

Maybe, but we're not too keen on in the idea of years worth of accumulated code being lifted as-is :o
It took a lot of effort to make some of the code, some of it is not directly very duke friendly either.
0

User is online   ck3D 

#12

 conoklast, on 18 November 2019 - 01:17 PM, said:

Thanks for the tips - I tried constructing the door the 'old school' way but it still drifted back upon subsequent activations. I also tried your idea of wall-aligning the SE to ensure the correct angle, but the problem persisted.

All good - I'll just come up with an alternative I think.



Sorry that didn't work; now, maybe if your door is switch-activated and your map isn't using RPV's, you could instead make it a two-way train? Haven't built one in a while myself, and never a diagonal one I don't think but I assume the Locator sprites might function as anchors to effectively lock the sector into position, all the while being a pretty similar set-up and achieving the desired visual effect?

edit - don't waste your time trying that; see Forge's post below

This post has been edited by ck3D: 20 November 2019 - 09:14 AM

0

User is offline   Forge 

  • Speaker of the Outhouse

#13

 ck3D, on 20 November 2019 - 05:29 AM, said:

Sorry that didn't work; now, maybe if your door is switch-activated and your map isn't using RPV's, you could instead make it a two-way train? Haven't built one in a while myself, and never a diagonal one I don't think but I assume the Locator sprites might function as anchors to effectively lock the sector into position, all the while being a pretty similar set-up and achieving the desired visual effect?

most likely wouldn't work out of the box.

even though the 'nose' of the sector "aims" for the locator, the center of the door would be the point from which the door would move. The effect still gives the grid line preferential treatment. The shorter the distance of travel, the more 'bull in a china shop' it will act.

The 'door' could possibly be manipulated to properly open without wandering through the wall, but short distances don't work so well for the return part of the effect.

You'd probably have to do some expert joined-sector magic to make the door-train think it's traveling farther than it really is.


I could be wrong, that just what I observed when I tried to use the train effect to make rotating wall pictures on an angle.

This post has been edited by Forge: 20 November 2019 - 06:04 AM

1

User is offline   oasiz 

  • Dr. Effector

#14

Theoretically you could have a HUGE rise-rotate sector and expertmode it to open halfway across the map but this is just theorycrafting.

You'd place the rotation pivot somewhere extremely far away, slidedoor would technically just rotate around the pivot but if the diameter is large enough, it might fool the player to think that the object moves diagonally to some degree.
with rotate rise you can give the rotation amount with gpspeed, which is why this could work.

Slidedoors themselves have internal fuckery to reset the position if you try to control it via two simultaneous wallpoint controls (possible with fury effects).
But otherwise, they will always drift, unavoidable bug.

2way trains are not really good as they have a minimum distance you need to meet, plus the trains tend to kill the player.
1

User is offline   MC84 

#15

All good - I'm willing to let it go. I'm very much of the school of thought that limitations are necessary for creativity, so I just take it as a hard limitation and move on. Any 'hacky' solutions are likely to be buggy and may break in future revisions of mapster32 anyway.
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic


All copyrights and trademarks not owned by Voidpoint, LLC are the sole property of their respective owners. Play Ion Fury! ;) © Voidpoint, LLC

Enter your sign in name and password


Sign in options