SecularSteve Posted September 16, 2023 (edited) I mean, think of the possibilities, and not just magic tricks like this: Before you say "If you want floors, go to Quake", I'm just saying if we're going to have a Source Port where the focus isn't vanilla accuracy, might as well go all the way, and add this kind of enhancement, right? I mean, unless it could cause some kind of game-breaking bug or something. But that's just a question. I'm not desperate for the answer if there's a good reason. Edited September 16, 2023 by SecularSteve 0 Quote Share this post Link to post
Kinsie Posted September 16, 2023 "Why isn't there a source port that supports 3D floors? But not those 3D floors. The other ones. I will not elaborate." 35 Quote Share this post Link to post
Jayextee Posted September 16, 2023 I think he means like moving 3D floors or something, I dunno. 0 Quote Share this post Link to post
Ecafr8708 Posted September 16, 2023 These "magic tricks" are probably the best you're gonna get without changing so much of the engine that it no longer feels or looks like Doom. By the time someone (somehow) implements true 3D, that source port might as well be a different engine. (Unless you meant something else, you didn't give much detail) 2 Quote Share this post Link to post
SecularSteve Posted September 16, 2023 (edited) I meant just plain "floor stacking". Like if you were to make a multi-story building, basements included. Purely without any trickery. Just plain "platforms are allowed" logic. True 3D and all that. I'm not trying to offend anyone. I'm just more curious than anything as to why there wasn't really an attempt yet. If you're going to go all the way with an "impure" port, might as well go all the way with the benefits is all I'm saying. I mean, the closest I've ever seen it materialised was probably the GZDoom Port of Unreal: But I'm still kind of new. Duck if I know what the Goose can be discussed here and what can't. Edited September 16, 2023 by SecularSteve 0 Quote Share this post Link to post
Darkcrafter07 Posted September 16, 2023 - GZDoom for GL3 and higher cards, lots of OS support, can do the most off all, best 3D floors, optimal stacked sectors and portals support, 3D models support, LZDoom for GL2 cards; - Ace engine, supports some 3D floors in software mode and runs on a fast 386 PC, a great source-port-add-on for Doom2.exe v1.9, support for lots and lots of OS thanks to the fact Doom2.exe can be emulated via DosBox, which can be run everywhere. Doesn't have stacked sectors support. - Eternity, there are no 3D floors but really advanced stacked sectors - some OS are supported; 2 Quote Share this post Link to post
SecularSteve Posted September 16, 2023 (edited) 3 minutes ago, Darkcrafter07 said: - GZDoom for GL3 and higher cards, lots of OS support, can do the most off all, best 3D floors, optimal stacked sectors and portals support, 3D models support, LZDoom for GL2 cards; - Ace engine, supports some 3D floors in software mode and runs on a fast 386 PC, a great source-port-add-on for Doom2.exe v1.9, support for lots and lots of OS thanks to the fact Doom2.exe can be emulated via DosBox, which can be run everywhere. Doesn't have stacked sectors support. - Eternity, there are no 3D floors but really advanced stacked sectors - some OS are supported; Thank you for an immediate answer with no fuss. I'll check them out. You'd think "EDGE-Classic" would be on that list somewhere, but I'm not trying to offend the hard-working developers here. Edited September 16, 2023 by SecularSteve 1 Quote Share this post Link to post
Jayextee Posted September 16, 2023 Just now, SecularSteve said: You'd think "Edge Classic" would be on that list somewhere, but I'm not trying to offend the hard-working developers here. It should be, you can totally stack floors with its extrafloor linetype. 0 Quote Share this post Link to post
SecularSteve Posted September 16, 2023 (edited) 4 minutes ago, Jayextee said: It should be, you can totally stack floors with its extrafloor linetype. And there's my immediate answer. Thanks. Speaking of which, if you were to compare GZDoom and EDGE-Classic, what benefits would one have over the other besides EDGE being "Low-Spec Optimised and Compatible"? I've come across this 23 Y/o thread, and I'm curious as to how they would compare today: Edited September 16, 2023 by SecularSteve 0 Quote Share this post Link to post
Karnasis Posted September 16, 2023 3 minutes ago, SecularSteve said: but I'm not trying to offend the hard-working developers here. Dude, there is literally nothing offensive about this question, calm down. You're fine. 1 Quote Share this post Link to post
Dark Pulse Posted September 16, 2023 (edited) If you mean actual, proper 3D floors without tricks like portals or the usual 3D floor stuff, that basically isn't possible. If I'm interpreting your post right, what you're looking for would more or less be called "stacked sectors" or "Room-Over-Room." Doom levels are always laid out on a 2D plane (though many of the game's calculations are done in 3D space with a few exceptions), and so it's not possible to have one linedef "on top" of another linedef to create a multi-floor building in the traditional manner - instead, they must occupy their own area of the map and then (depending on the specific trick) are rendered at, or otherwise "moved to", the proper area at runtime. You can make the illusion of it happen with portals, 3D floor tricks like you mentioned, and so on, but all those slices of the map must occupy an entirely unique piece of the map space to itself - you can't place it "on top" or "below" another sector, because that just wouldn't make sense. Instead, what most engines will do is render the geometry as if it were where you tell it to render it, but in truth it's elsewhere on the map. There was at one point a source port called RORDoom that actually could do this, but EDGE came out with its own method, which proved to be more popular, and development of RORDoom ceased. Edited September 17, 2023 by Dark Pulse Better explanation. 0 Quote Share this post Link to post
dasho Posted September 16, 2023 (edited) 5 minutes ago, SecularSteve said: And there's my immediate answer. Thanks. Speaking of which, if you were to compare GZDoom and EDGE-Classic, what benefits would one have over the other besides EDGE being "Low-Spec Optimised and Compatible"? A bit tied up, but to be clear it is much more forgiving of old hardware at the expense of not being able to do certain things that other ports with modern hardware do as well (rendering very complex maps, using a lot of models or voxels, etc). For the rest, it would sound too biased coming from me but I clearly like and believe in EDGE's way of doing things. Edited September 16, 2023 by dasho 1 Quote Share this post Link to post
SecularSteve Posted September 16, 2023 (edited) 15 minutes ago, Karnasis said: Dude, there is literally nothing offensive about this question, calm down. You're fine. Just trying to avoid misunderstandings if I can. I'm not an advanced developer, I have no idea how Advanced Coding of Doom Engines work, so I'm making it clear for the people who put effort into this stuff, sometimes for free, that I'm naive when it comes to how the stuff actually runs and works. You'd probably be surprised how many don't appreciate that. 10 minutes ago, Dark Pulse said: If you mean actual, proper 3D floors without tricks like portals or the usual 3D floor stuff, that basically isn't possible. If I'm interpreting your post right, what you're looking for would more or less be called "stacked sectors" or "Room-Over-Room." Doom is at its fundamental core a 2D game rendered into 3D, and so it's not possible to have one linedef "on top" of another linedef - it would simply not make sense. You can make the illusion of it happen with portals, 3D floor tricks like you mentioned, and so on, but all those slices of the map must occupy an entirely unique piece of the map space to itself - you can't place it "on top" or "below" another sector, because that just wouldn't make sense. There was at one point a source port called RORDoom that actually could do this, but EDGE came out with its own method, which proved to be more popular, and development of RORDoom ceased. I'm satisfied with that answer. No reason to drag it on other than what I've already mentioned of comparing GZDoom with EDGE-Classic today, but it just so happens to be answered already: 10 minutes ago, dasho said: A bit tied up, but to be clear it is much more forgiving of old hardware at the expense of not being able to do certain things that other ports with modern hardware do as well (rendering very complex maps, using a lot of models or voxels, etc). For the rest, it would sound too biased coming from me but I clearly like and believe in EDGE's way of doing things. I'd like to thank you for the work you've put in, and I'll probably drop a donation for it later today. As someone who's been trying to run Doom on a Pi, this engine is about as advanced as we can get, and furthermore more than enough. Not as "middle-of-the-road" as PrBoom+, nor as purist as the "Chocolate Bars". And I appreciate that. Like the Snes9X of Doom Engines today (and I say that as a compliment). Finally at a point where it can be considered "pseudo-accurate", even on lower-spec hardware. Edited September 16, 2023 by SecularSteve 0 Quote Share this post Link to post
Blzut3 Posted September 16, 2023 I feel like by your use of the terms "magic" and "tricks" that you're thinking 3d floors are something they're not. They actually do exist physically in the coordinate space they appear to be in. The reference/dummy sector exists because you need to store the data about the partitioned space somewhere in the map. You could of course throw away the map format and all the tooling that was created for them, but then what is the difference between that and just using Quake? Put another way having a map format that allows you to create "platforms" in the way you're imagining wouldn't change anything except you wouldn't be able to use a Doom editor to make said map. Presumably the reason you have any interest in this question is because you want to use those tools. 6 Quote Share this post Link to post
Individualised Posted September 16, 2023 (edited) 1 hour ago, Blzut3 said: I feel like by your use of the terms "magic" and "tricks" that you're thinking 3d floors are something they're not. They actually do exist physically in the coordinate space they appear to be in. The reference/dummy sector exists because you need to store the data about the partitioned space somewhere in the map. You could of course throw away the map format and all the tooling that was created for them, but then what is the difference between that and just using Quake? Put another way having a map format that allows you to create "platforms" in the way you're imagining wouldn't change anything except you wouldn't be able to use a Doom editor to make said map. Presumably the reason you have any interest in this question is because you want to use those tools. This is the correct answer. 3D floors are like this because of the limitations of Doom map formats (including UDMF), in-game they are "true 3D", they're just represented weirdly in map editors. Doom editors are just not suitable for "true 3D" editing as they are primarily focused on editing from a plan view, the 3D view is secondary. If you don't like that, you might want to check out BSP2Doom, which allows you to make UDMF Doom maps using a Quake editor such as Trenchbroom: Edited September 16, 2023 by Individualised 1 Quote Share this post Link to post
SecularSteve Posted September 16, 2023 19 minutes ago, Blzut3 said: I feel like by your use of the terms "magic" and "tricks" that you're thinking 3d floors are something they're not. They actually do exist physically in the coordinate space they appear to be in. The reference/dummy sector exists because you need to store the data about the partitioned space somewhere in the map. You could of course throw away the map format and all the tooling that was created for them, but then what is the difference between that and just using Quake? Put another way having a map format that allows you to create "platforms" in the way you're imagining wouldn't change anything except you wouldn't be able to use a Doom editor to make said map. Presumably the reason you have any interest in this question is because you want to use those tools. Understandable... Though it was possible for a while with the following mentioned: 5 minutes ago, Individualised said: This is the correct answer. 3D floors are like this because of the limitations of the Doom map formats (including UDMF), in-game they are "true 3D", they're just represented weirdly in map editors. Doom editors are just not suitable for "true 3D" editing as they are primarily focused on editing from a plan view, the 3D view is secondary. If you don't like that, you might want to check out BSP2Doom, which allows you to make UDMF Doom maps using a Quake editor such as Trenchbroom: I guess it's not as uncommon as I've perceived it. I think I'm more surprised as to why people don't take advantage of these RoR features in a select few engines a lot more. Seems like an enhancement that even purists would welcome for a chance to make "tower levels" or something. But that's just me. 0 Quote Share this post Link to post
TheMagicMushroomMan Posted September 16, 2023 RoR is definitely used a lot in many maps. There are a lot of "tower levels" and stuff out there. I feel like you might enjoy something like Elementalism if you're looking for some cool engine tricks. I was really impressed with that one on a visual/architectural level. 3 Quote Share this post Link to post
tornado potato Posted September 16, 2023 I think the most straightforward answer to the question as is posed in the op is, because the more features like those are added to the engine, the less it can be considered Doom. It's like the Ship of Theseus. Where do you draw the line where it has stopped being a source port and it's just a different engine alotgether? For many people Gzdoom already tiptoes around this line 1 Quote Share this post Link to post
Individualised Posted September 16, 2023 (edited) 5 minutes ago, tornado potato said: I think the most straightforward answer to the question as is posed in the op is, because the more features like those are added to the engine, the less it can be considered Doom. It's like the Ship of Theseus. Where do you draw the line where it has stopped being a source port and it's just a different engine alotgether? For many people Gzdoom already tiptoes around this line This doesn't really answer their question because as already established, it's not really an issue with the ports and more of an issue with the current map formats the community uses. Edited September 16, 2023 by Individualised 0 Quote Share this post Link to post
dasho Posted September 16, 2023 (edited) 2 hours ago, SecularSteve said: I'd like to thank you for the work you've put in, and I'll probably drop a donation for it later today. Sorry for the confusion, but what do you mean by donation? We do not solicit or even have a method to accept funds, although the thought is appreciated. If someone is claiming to accept money on behalf of EDGE-Classic it is not an official team member. Edited September 16, 2023 by dasho 0 Quote Share this post Link to post
boris Posted September 16, 2023 11 minutes ago, Individualised said: it's not really an issue with the ports and more of an issue with the current map formats the community uses. No, first and foremost it's an port issue. Movement, collision, LOS checks, sound propagation... everything relies on how the map format works. It'd be easier to make an true 3D engine act like Doom than the other way around. 0 Quote Share this post Link to post
Individualised Posted September 16, 2023 2 minutes ago, boris said: No, first and foremost it's an port issue. Movement, collision, LOS checks, sound propagation... everything relies on how the map format works. It'd be easier to make an true 3D engine act like Doom than the other way around. I would have thought that GZDoom would have rewritten all of this stuff by now, but I'll take your word for it. 0 Quote Share this post Link to post
Kinsie Posted September 17, 2023 14 hours ago, SecularSteve said: Purely without any trickery. Just plain "platforms are allowed" logic. True 3D and all that. News Flash: Everything in a video game is fake. Hoaxery. Flimflammery, if you will. It’s all just a giant pile of stage magician’s illusions nailed together during hour 12 of overtime two days before release. A world where floors are a collective hallucination and your train carriage is just a very expensive hat. And honestly? The more you burrow into it, the more you appreciate the effort put into the lies. 7 Quote Share this post Link to post
Dark Pulse Posted September 17, 2023 (edited) 14 hours ago, Individualised said: I would have thought that GZDoom would have rewritten all of this stuff by now, but I'll take your word for it. Some of it, yes (the movement code is less buggy for example), but if it were all extensively rewritten, it would technically no longer be capable of properly playing Doom, especially on stuff like the AI routines, propagation, or basically anything at all to do with monsters. As a result, some aspects of it simply must be kept in order for it to do so. Edited September 17, 2023 by Dark Pulse 0 Quote Share this post Link to post
Edward850 Posted September 17, 2023 18 hours ago, Dark Pulse said: If I'm interpreting your post right, what you're looking for would more or less be called "stacked sectors" or "Room-Over-Room." Doom is at its fundamental core a 2D game rendered into 3D, and so it's not possible to have one linedef "on top" of another linedef. Your explanation kinda stinks. Doom is 3D, lines have height information provided by the sectors explicitly, however the map data is optimized to present the information in a very specific order for the renderer to perform. It was designed so your viewpoint could very quickly determine from a simple bsp traversal what segs and visplanes could be seen and their order from the subsector you're located in. Basically the notion that you can't have two overlapping sectors is because the information the renderer used was optimized around it only needing nodes with the scene depth being the only necessary thing to sort, it never needed to sort height and the node graph didn't need to store that kind of information. 1 Quote Share this post Link to post
camper Posted September 17, 2023 19 hours ago, Dark Pulse said: If you mean actual, proper 3D floors without tricks like portals or the usual 3D floor stuff, that basically isn't possible. If I'm interpreting your post right, what you're looking for would more or less be called "stacked sectors" or "Room-Over-Room." Doom is at its fundamental core a 2D game rendered into 3D, and so it's not possible to have one linedef "on top" of another linedef. You can make the illusion of it happen with portals, 3D floor tricks like you mentioned, and so on, but all those slices of the map must occupy an entirely unique piece of the map space to itself - you can't place it "on top" or "below" another sector, because that just wouldn't make sense. Instead, what most engines will do is render the geometry as if it were where you tell it to render it, but in truth it's elsewhere on the map. There was at one point a source port called RORDoom that actually could do this, but EDGE came out with its own method, which proved to be more popular, and development of RORDoom ceased. I'm afraid everyone here is already tired of me with my example of an invisible 3D floor from the Cube1 engine. Please forgive me for this. But I would like to say again that the map in cube1 is two-dimensional and consists of elements, each of which has a floor and ceiling height, textures (for floor/ceiling/wall) and other properties. And yet, in this 2.5D engine, there is an invisible 3D object with a height above the floor, its own height, length and width. It is used to create collisions. Video with an example of this: media.mas.to/masto-public/media_attachments/files/111/042/796/544/992/022/original/ad5b0dd6ec6afcc6.mp4 Why can't this be done in doom ports? 0 Quote Share this post Link to post
esselfortium Posted September 17, 2023 24 minutes ago, camper said: Why can't this be done in doom ports? It can. You can pretty easily make an invisible (or visible) 3D floor in ports like GZDoom. It's not a trick or illusion. 0 Quote Share this post Link to post
Kinsie Posted September 17, 2023 38 minutes ago, camper said: I'm afraid everyone here is already tired of me with my example of an invisible 3D floor from the Cube1 engine. Please forgive me for this. But I would like to say again that the map in cube1 is two-dimensional and consists of elements, each of which has a floor and ceiling height, textures (for floor/ceiling/wall) and other properties. And yet, in this 2.5D engine, there is an invisible 3D object with a height above the floor, its own height, length and width. It is used to create collisions. Video with an example of this: media.mas.to/masto-public/media_attachments/files/111/042/796/544/992/022/original/ad5b0dd6ec6afcc6.mp4 Why can't this be done in doom ports? You can absolutely do this. I posted a real-world example in your other thread and you immediately preceded to ignore it. 0 Quote Share this post Link to post
camper Posted September 17, 2023 31 minutes ago, Kinsie said: You can absolutely do this. I posted a real-world example in your other thread and you immediately preceded to ignore it. Sorry. I thought it wasn't quite the same. Since the model is located inside the clips, and not on the surface of the 3d floor. 0 Quote Share this post Link to post
Dark Pulse Posted September 17, 2023 (edited) 2 hours ago, Edward850 said: Your explanation kinda stinks. Doom is 3D, lines have height information provided by the sectors explicitly, however the map data is optimized to present the information in a very specific order for the renderer to perform. It was designed so your viewpoint could very quickly determine from a simple bsp traversal what segs and visplanes could be seen and their order from the subsector you're located in. Basically the notion that you can't have two overlapping sectors is because the information the renderer used was optimized around it only needing nodes with the scene depth being the only necessary thing to sort, it never needed to sort height and the node graph didn't need to store that kind of information. I know it sucks on a technical sense, but in a layman's sense, if you say "It's 3D", you then have to explain why you can't simply build a stacked 3D section like any other 3D engine and at that point it's no longer a simple explanation. It's a lot easier to say "Levels are a 2D plan and any 3D floor stuff needs the floor laid out in its own map area, which is then moved over to the proper position at runtime." 1 hour ago, camper said: I'm afraid everyone here is already tired of me with my example of an invisible 3D floor from the Cube1 engine. Please forgive me for this. But I would like to say again that the map in cube1 is two-dimensional and consists of elements, each of which has a floor and ceiling height, textures (for floor/ceiling/wall) and other properties. And yet, in this 2.5D engine, there is an invisible 3D object with a height above the floor, its own height, length and width. It is used to create collisions. Video with an example of this: media.mas.to/masto-public/media_attachments/files/111/042/796/544/992/022/original/ad5b0dd6ec6afcc6.mp4 Why can't this be done in doom ports? This is fully possible, and there's even vanilla tricks around it that faked 3D bridges. Most of them rely on sectors rather than invisible Things, however. Edited September 17, 2023 by Dark Pulse 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.