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

Best way to trigger multiple linedefs at Boom

Recommended Posts

So I making this WAD with some rather complex (lol) sequences that are made with use of PassThru flag.
Right now it looks like that: https://i.imgur.com/Mqb4PCS.png
Leftmost vertical trigger linedef is impassable and has switch texture and linedefs beyond that one trigger other actions. This works fine but there's a slim chance player might activate only some of them by not being close enough. As that happened to me once this should be fixed in some way.
It's critical for some triggers to be fired simultaneously so I can't use one voodoo doll as it has slight delay between triggering each W1 action. Best solution I see is to use multiple voodoo dolls at once but that seems a little bit overcomplicated.
So, what's the best way to activate multiple linedefs at once eliminating and possibility of such a contraption glitching out?

Share this post


Link to post

I think multiple voodoo dolls simultaneously crossing linedefs is the most elegant way to do it tbh. If there's some slight leeway you can usually get away with using one voodoo doll that very quickly scrolls across action linedefs spaced very close together.

one limitation to keep in mind is that only 8 (?) actions can occur on the same tic, so if you want more than that there will need to be a delay.

Share this post


Link to post
Ribbiks said:

one limitation to keep in mind is that only 8 (?) actions can occur on the same tic, so if you want more than that there will need to be a delay.

You mean Spechits overflow. It only happens in vanilla engine. It's fixed since Boom.

EDIT: Or wait, I'm not so sure now. The wiki page also talks about some limit in demo format, maybe that one remains. I don't know.

Share this post


Link to post

wouldn't surprise me if there was a config option for it or something, but I've definitely encountered it while mapping for boom.

Share this post


Link to post

I have another sequnce like this that activates 12 linedefs at once. It works perfectly in Boom with default compatibility settings but I guess it's still a good idea to keep less than 8 actions from happening at once.

Share this post


Link to post

Just to clarify, 8 actions can start at the same tic or 8 actions can be "in progress in the same tic"? I.e. if I trigger 8 elevators at once and then trigger one more nothing bad should happen?

Share this post


Link to post

poking through the prb+ source I stand corrected:

// 1/11/98 killough: remove limit on lines hit, by array doubling
if (numspechit >= spechit_max) {
    spechit_max = spechit_max ? spechit_max*2 : 8;
    spechit = realloc(spechit,sizeof *spechit*spechit_max); // killough
}
boom fixes it by default, unless told to emulate it for demo playback sync.

Not sure what I was thinking of then, could've sworn I ran into a similar issue once but it must've been something else. my apologies!

Share this post


Link to post

A little trick I got from TimeOfDeath in order to have linedefs activate at the same time was to make the next linedef a little shorter on both ends than the one before it and then manually change the numbers of each vertex so they line up with the other vertices: this makes sure that the vertex doesn't connect with anything and means you can have a pile of linedefs that all activate when you walk over them. Can't find a wad that uses it at the moment, but I definitely know it works.

Share this post


Link to post

oh yeah, forgot about that. you can also turn merge-geometry off in doombuilder and super-impose different lines on top of each other. drawback there imo is it's a little harder to manage.

dozen ways to skin a cat, ey

Share this post


Link to post
Obsidian said:

manually change the numbers of each vertex so they line up with the other vertices

Can you explain this part in more detail please? I don't understand what is this about and why it is necessary to change some numbers, what does that do? How do you do this anyway, just drag all linedefs to the same place or what?

Ribbiks said:

dozen ways to skin a cat, ey

What a gruesome idiom...

Share this post


Link to post
Memfis said:

Can you explain this part in more detail please? I don't understand what is this about and why it is necessary to change some numbers, what does that do? How do you do this anyway, just drag all linedefs to the same place or what?


Dragging the vertices with the mouse makes them bind to the linedef you're trying to move them over, as opposed to changing the vertex position numbers.

Share this post


Link to post

Ohh, I get it, thanks. So the "vertex properties" window isn't so useless after all.

Share this post


Link to post

That dragging a vertex over a line action only happens with some editors, and not with Yadex. You need to mention which editor has this problem.

Share this post


Link to post

Doom Builder 2 and GZDoom Builder only do it when you have "Merge Geometry" on, which is default value. It's not a problem, it's a feature, and can be disabled/enabled in one click ("Edit -> Merge Geometry").

Share this post


Link to post

Quick related question:
In my mapping I've run across situations where I've put line triggers one-after-another and had trouble with them all going off, unless spaced by I think it was 16 to get them to be reliable. Is this because they were merged into the same wall close together?

If so, then I should be able to fix it the way Obsidian said. But I'm wondering if that's the problem in the first place (I like to know how stuff works).

Share this post


Link to post

No, linedefs don't get merged like that. Unless I misunderstood you. If you provided an editor screenshot of linedefs placed "one-after-another" as you said, it would be clearer.

Also, I'm convinced that if the player crosses multiple walkover action linedefs in the same tic, their actions will not necessarily be performed in the same order in which he has physically crossed them. Therefore, if they perform some instantaneous actions that rely on being performed in a certain order, it's not guaranteed to work.

But if you're only asking if they should trigger at all - they should.

Share this post


Link to post

Yeah, that's the thing, the order doesn't matter, just that they work every time.

I ran across this problem in 2 of the maps I've released so far to the community. One was MAP05 of my megawad with the MAP01 that everyone hated and the other was in my Father's Day map. Of course there should be no troubles with the father's day map as that was completed, but MAP05 is as of yet incomplete, for many reasons (it's a complicated map, all 3 difficulties are different, and with limited space to place triggers it's like a giant puzzle for me). I'll post one screenshot for each map so you can see it and I'll post the wads so you can actually look at it, if you so choose.

Screenshots here:
http://imgur.com/gallery/ZsO4m
The one that looks like a grid is MAP05 of the megawad, which is gonna be a concept that many players may hate; I'll cross that bridge at another time. The lines here were actually not cut into the walls (I forgot), they were put one pixel away from the walls so I wouldn't cut the sectors, but are all the same lengths. I forget if all of them work in my MAP05, but I think some fail to activate.

The second pic is of the very beginning of the Father's Day map. I ran into the same problem here, but made the little halls before each teleporter slightly longer to make them work. I would have preferred to not do that though, it led to much frustration. I should state that in this map the lines were attached to the walls.

Here are the wads:
Megawad:
https://www.dropbox.com/s/5ykije531jxws7q/DFLoE1.4.zip?dl=0
Father's Day map:
https://www.dropbox.com/s/1fmn51n977tijrv/FathersD.zip?dl=0

Resources required: TNT for megawad / Doom 2 for Father's Day map.
Port: zDoom; map spots used
Format for DB2: zDoom(Doom in Hexen)

Thanks in advance for any help :)
Mostly I just want to understand why so I can prevent it easily in the future.

Share this post


Link to post

Fonzo, you should consider using the build in "Snipping Tool" to take screenshots of your monitor. Just go into the start menu and type the tool mentioned in the blank space on the botton right corner.

Share this post


Link to post

Oh ok, I knew there was a was to do it, but it seemed faster to take a pic on my phone than figure it out. Since I have to transfer the files to my phone to upload lol. Thank you though, I'll have to look into that when I get home.

Share this post


Link to post

Not to bump this for no reason, but does anyone have any insight as to why this thing that I've noticed is going on? There doesn't appear to be too many triggers to work in one tic, as the time limit on one tic is too small to matter here.

Could it have to do with map spots used?

Share this post


Link to post

MAP05 had a linedef overlapping with another linedef through 2 sectors. You should be aware that such a thing will cause both rendering and collision detection glitches for the particular linedef AND sectors, so, avoid doing it.

Otherwise, please point me to particular linedefs in your maps that didn't activate as you wished. I've explored them in an editor and playtested for some time, but they're too big for me to memorize their entirety and even recognize that something was supposed to happen but didn't.

Share this post


Link to post

Yeah I think the linedef you're referring to is in the beginning of the map and just reduced the lighting. That was a mistake on my part, but mostly placeholder status as the lighting of that area is unfinished anyway. I don't even know why I put the linedef in that spot, I feel like there was a reason, but I can't think of any important ones now. If you're referring to another linedef it was prolly a mistake that I'll have to find later.

MAP05 is gonna be a tough one to look at if you want to spend only a couple minutes on it. It's almost tough for even me to look at simply because the map changes so much. But the beginning section up until the second teleporter is the same as far as where you go for each difficulty. I seem to remember having troubles getting certain monsters/items to spawn in that one. One area in particular is the west hall that opens up when you hit the first switch. The first box that opens should have enemies in it. Unless I lost some progress along the way and never realized it, that should be a good spot to look at. But you can take any 3 lines that work on the same difficulty and put them closer together to get the error. With them all free-floating, it should be much easier than having to separate them or dragging them while attached to the rest of the level.

The Father's Day map is easier on the eyes as it only involves those types of lines used close together in the beginning of the map, as seen in the screenshot. You can move them closer together, but not touching of course, and get the error.

Could it be that map spots use multiple definitions/actions in a tic and therefore less can be used?

Share this post


Link to post
Fonze said:

If you're referring to another linedef

I'm referring to the one linedef that gives a sector-related error message when you run "Map Analysis Mode" (Check for Errors) in Doom Builder.

Share this post


Link to post

Wow Wtf... Lol. Yeah I see it now, idk how I could have left it like that. I apparently haven't done any map analysis on this one yet, prolly because it's unfinished so far. That's funny.

Thank you for pointing that out scifista, you're right, that is something that should be avoided and yes I have learned the hard way on that before, multiple times, (MAP04 is a great example of it because I hadn't at that point attempted anything on that great of a scale as far as weird geometry and many sectors needing to at least seem to be overlapping) lol. But for what ever strange reason that line action in MAP05 never gave me any troubles. I suppose after the screw-up I never noticed it because it worked >.< Hell I don't even remember why that sector was divided into 2 sectors... maybe it was the midpoint of the map and it was just a reference line or something.

The more I learn about tics and their relation to actions the more this situation boggles my mind. It's gotta be for some reason, I just wish I could figure out what it is.

The spot in the top-right of MAP05 is UV only if you have to test it to figure it out. Thatll make it easier to determine what lines are actually being used, because it's all :) The Father's Day map is also very easy to test on because almost all changes can be seen as soon as you step through the teleporter, or close to it.

I can only go so far as to notice that if a certain number of lines (less than 8) are near each other and activated close to the same time, that some do not work.

Once again, thanks for the help man :)

Share this post


Link to post

Since you are mapping for the ZDoom (Doom in Hexen) format, instead of using a sequence of stacked linedefs such as this



it would be appropriate to use scripts, such as this

#include "zcommon.acs"

//  137:Thing_SpawnNoFog (tid, type, angle, newtid)
//  252:Ceiling_RaiseToNearest (tag, speed)

script 1 (void)
{
    Thing_SpawnNoFog (27, 5, 255, 0); // spawn IMP
    delay (5);
    Ceiling_RaiseToNearest (17, 8);
    delay (5);
    Thing_SpawnNoFog (48, 12, 255, 0); // spawn BOX of SHELLS
    delay (5);
    Thing_SpawnNoFog (49, 24, 255, 0); // spawn MEDKIT
    delay (5);
    Thing_SpawnNoFog (50, 33, 255, 0); // spawn SUPERSHOTGUN
    delay (5);
    Thing_SpawnNoFog (51, 132, 255, 0); // spawn MEGASPHERE
    delay (5);
    Thing_SpawnNoFog (52, 69, 255, 0); // spawn BLUEARMOUR
    delay (5);
    Thing_SpawnNoFog (53, 69, 255, 0); // spawn BOX of AMMO
}
Just make the first linedef an action special http://zdoom.org/wiki/ACS_Execute and point it to script 1,
or whatever script number you want to use. And you can control precisely when the items are to be spawned.

Share this post


Link to post

You know what, I like that idea. I knew that scripts could be used to do multiple actions with one trigger, but I have been trying to avoid them when they're not abosulutely necessary. On a map like MAP05 that I'm making, scripts might help simplify things for me, though I have exploited certain limitations associated with using only lines for actions, such as if you walk through a threshold one way, certain enemies spawn, but going the opposite way spawns different ones. I also like the idea of putting in a delay; anything to screw with the player's head, lol

I appreciate the tip, it would most likely make my life much easier with this type of a thing :)

Having said that, I like to know the limitations of everything so I can make something truely unique. Also, like most things, the better you know the rules, the happier others will be when you decide to break them. Look towards jazz and Shakespeare for examples.

Oh, also, thanks for putting the script out there to show me an example, as well as the link. I like learning new stuff and reviewing old stuff that I rarely use. Keeps me and my ideas fresh, especially since the only real limitation in Doom mapping is our own imaginations :)

Share this post


Link to post

Nice, yet another way script simplifies things. I shall have to put more thought into going back and reworking the triggering systems on MAP05 to just go with scripts. Like I said, I really wanted to avoid using too many scripts, as I feel like the more I use the more people will expect out of the maps. I want them to feel as close to vanilla as possible, with just a few bits of "magic" not available in it. That's one reason I went with zDoom. But I don't plan on using any slopes or gzDoom features. However, scripting is unavoidable in many cases and this may be another one of those.

If anyone knows more about the workaround using only line actions I'd still like to hear more of that, though in the end I will prolly take Kappes Buur's advice on just moving it completely over to scripts.

Thanks again y'all :)

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
×