Maisth Posted August 12, 2017 How do i make Explosions like Duke Nukem 3D Ones? im pretty sure it requires scripting and also how do i make holes in a wall? do i use 3D Sectors floor for that? 0 Quote Share this post Link to post
Nevander Posted August 12, 2017 There's a few ways you could do it. One way is to use 3D floors like you suggested and use a 3D floor to fill gaps in a wall. Upon explosion, remove the line special in your control sector to remove the 3D floor and expose the hole. Another way is to build a hole in a wall and then make the upper and lower textures unpegged so the textures don't move. Move the hole's floors up to the ceilings of the hole and then upon detonation, instantly lower them to the desired heights to create said hole. In fact, I'm pretty sure this is how Duke 3D did it. Areas of the map that move or change to open holes, but it happens instantly. 1 Quote Share this post Link to post
Maisth Posted August 12, 2017 3 minutes ago, Nevander said: There's a few ways you could do it. One way is to use 3D floors like you suggested and use a 3D floor to fill gaps in a wall. Upon explosion, remove the line special in your control sector to remove the 3D floor and expose the hole. Another way is to build a hole in a wall and then make the upper and lower textures unpegged so the textures don't move. Move the hole's floors up to the ceilings of the hole and then upon detonation, instantly lower them to the desired heights to create said hole. In fact, I'm pretty sure this is how Duke 3D did it. Areas of the map that move or change to open holes, but it happens instantly. Right we got that out of the way. but how do i recreate the explosion? putting barrels behind the wall where the player can't see them? or another thing 0 Quote Share this post Link to post
Nevander Posted August 12, 2017 Create a new actor in DECORATE which is just the explosion sprites from the rocket or something. Spawn these things while your explosion should happen. In random MapSpots around the hole. You can use a for loop to spawn the explosion actors in random places by doing a range of the MapSpots for the spawn function TIDs. 0 Quote Share this post Link to post
scifista42 Posted August 12, 2017 7 hours ago, Nevander said: remove the line special in your control sector to remove the 3D floor That will not work, since the line special is static (it initializes a 3D floor upon map startup, then becomes useless), but there are other ways to make a 3D floor disappear (at least by moving the control sector's floor/ceiling to move the 3D floor up/down). 1 Quote Share this post Link to post
Gez Posted August 12, 2017 Make the hole in normal geometry (protip: use slopes) and make the area occupied by the 3D floor slightly larger than the hole to avoid Z-fighting. Basically the 3D floor should be the entire "intact" wall and it should be sticking one unit away from the damaged wall inside. When the wall is destroyed, spawn a lot of explosions and debris and dust clouds and instantly lower the intact wall below the floor. 0 Quote Share this post Link to post
ReX Posted August 12, 2017 (edited) The method that I use is similar to Gez's suggestion - create a hole in the wall and use slopes if desired. Then, cover up the hole with a linedef that is 1 unit in front of the real wall. The mid-texture of the linedef should be the same as the wall behind. Assign a line ID to the linedef using Line_SetID. Either make the linedef blocking or use an OPEN script with Line_SetBlocking. The script that triggers the explosion should also remove the texture and blocking of the linedef. I first started using this method nearly 10 years ago, but I think Gez's method is simpler to implement. EDIT: One point of note - my method does not require any 3D sectors, whether in the hole or outside. I'm simply mentioning this, and not stating this as any sort of advantage. Edited August 12, 2017 by ReX 0 Quote Share this post Link to post
Gez Posted August 12, 2017 True, there's no need to bring in 3D floors. At first I thought about using one to plug the hole, but then I worried about Z-fighting and made it stick out, and once you do that it could also be a regular sector that instant-lower from the ceiling (or instant raise from the floor, would work too). There are a lot of ways to do it. 0 Quote Share this post Link to post
Nevander Posted August 12, 2017 11 hours ago, scifista42 said: That will not work, since the line special is static (it initializes a 3D floor upon map startup, then becomes useless), but there are other ways to make a 3D floor disappear (at least by moving the control sector's floor/ceiling to move the 3D floor up/down). Damn. Does that also mean you can't create one mid-map by doing SetLineSpecial? That's kinda bummer. 0 Quote Share this post Link to post
Mordeth Posted August 12, 2017 10 minutes ago, Nevander said: Damn. Does that also mean you can't create one mid-map by doing SetLineSpecial? That's kinda bummer. Fun stuff: you can with Eternity's linked portals. So you can destroy a floor and fall into a room below, or re-assert a floor to close a gap. 2 Quote Share this post Link to post
Gez Posted August 12, 2017 31 minutes ago, Nevander said: Damn. Does that also mean you can't create one mid-map by doing SetLineSpecial? That's kinda bummer. You can perfectly well have your 3D floor start below the map, and then move it up (including with an instant move so it seems to appear out of thin air) at some point. 1 Quote Share this post Link to post
Nevander Posted August 13, 2017 Are 3D floors not subject to the rule of floors and ceilings never entering each other? I suppose not since the control sector is what moves and since it's in void space, it can keep going. 0 Quote Share this post Link to post
Gez Posted August 13, 2017 There's no rule like that (you can definitely lower a ceiling below its floor), and even if there were, 3D floors wouldn't be bound by them given how they work. 0 Quote Share this post Link to post
scifista42 Posted August 13, 2017 9 hours ago, Nevander said: Are 3D floors not subject to the rule of floors and ceilings never entering each other? The actual rule is that things (like players, monsters or items) can't exist below the floor or above the ceiling of the sector they're in, but floors themselves generally can exist above the ceilings of their own sectors, and ceilings can exist below floors in the same way, and some (even vanilla compatible) mapping tricks exploit that. 0 Quote Share this post Link to post
Nevander Posted August 13, 2017 (edited) Then something is wrong because I tried to do that in my maps in UDMF format and the rising floor would always stop at the meeting ceiling even if I scripted it to go higher with ACS. Edited August 13, 2017 by Nevander 0 Quote Share this post Link to post
scifista42 Posted August 13, 2017 (edited) Were there any things on the floor that could be blocking it? EDIT: Indeed, the standard action specials for floor/ceiling movement apparently don't allow regular floors and ceilings to move into each other. The map can start with regular floors and ceilings already inside each other, though, if you set floor height to be above ceiling height in the map editor, and such floors and ceilings can be moved away from each other (that's the principle of the vanilla compatible tricks I mentioned earlier). The action specials also successfully move 3D floors through floors and ceilings, as suggested in this thread. I don't know how to do that with only regular floors and ceilings, though. Edited August 13, 2017 by scifista42 0 Quote Share this post Link to post
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.