Extrafloors in ZDoom

Archive of the old editing forum
Forum rules
Before asking on how to use a ZDoom feature, read the ZDoom wiki first. This forum is archived - please use this set of forums to ask new questions.
Anonymous

Extrafloors in ZDoom

Post by Anonymous »

I began to edit maps for ZDoom since two weeks but I can´t find any tutorial for to do an extrafloor. Can ZDoom do extrafloors like Legacy or Edge? How can I do it? Is there a ZDoom TODO list?
User avatar
HotWax
Posts: 10002
Joined: Fri Jul 18, 2003 6:18 pm
Location: Idaho Falls, ID

Post by HotWax »

ZDoom does not have a built-in room-over-room effect, no. However, there are a few ways to create something similar, thanks to ZDoom's invisible bridge thing.

The invisible bridge has a Z-height and Z-position, as well as X and Y dimensions. Using them, you can make a solid (albiet invisible) surface that can be run under and over. If you use multiple bridge things, you can have as many of these stacked as you like. To use them, however, you'll need to draw a visible floor manually. There are two ways I know of to do so:

1) The classic method. Use lines and well-placed textures to make a "grating" or other floor. The disadvantage to this method is that it's tedious and it might not look all that great. The advantage is that you can have as many floors stacked in this way as you want.

2) The transfer specials trick. Use the Boom-style fake room-over-room effect to create the different levels. Each will be drawn with a realistic-looking floor and ceiling. The disadvantage to this method is that you are limited to 3 floors. (Fake floor, real floor, fake ceiling) The advantage is that it appears as real as any other floor.

In either case, there is one additional problem you'll run into. Anything that drops onto an invisible bridge (corpses or dropped items) will fall right through it until it hits the real floor.

As for when ZDoom will get room-over-room, Randy has expressed a dislike for the kinds of hacks that Edge and Legacy use to accomplish this. Most likely, if ZDoom ever has stacked rooms it'll be because Randy has replaced the renderer with something that is truly 3D and can easily handle such constructs.
User avatar
Zell
Posts: 791
Joined: Thu Jul 24, 2003 7:47 am
Location: IN A GODDAMN BOX[In Erie.]

Post by Zell »

i read somewhere that legacy had to use edges code as a base, but, they had to preety much re-write it. is it true? or is that still a hack?
User avatar
HotWax
Posts: 10002
Joined: Fri Jul 18, 2003 6:18 pm
Location: Idaho Falls, ID

Post by HotWax »

Zell wrote:i read somewhere that legacy had to use edges code as a base, but, they had to preety much re-write it. is it true? or is that still a hack?
Last I heard, Edge's code is a mess, plain and simple. If Legacy used it as a base, it's probably not surprising they had to rewrite all of it to get it to work.

Whether it's a hack or not I guess is a matter of opinion. I do know that neither Edge nor Legacy are actually capable of using a real 3D structure. They just use some kind of workaround (a.k.a. hack) to let you use room-over-room effects in certain situations. It would be much better if ZDoom used a true-3D renderer, but of course that would require a complete rewrite of the engine.

I guess it's all a matter of opinion. Some people might see the method ZDoom uses to render slopes as a hack, and some might not. At the end of the day, however, it's Randy's opinion that matters, and he's already expressed a dislike for Edge's method of ROR.
User avatar
Hirogen2
Posts: 2033
Joined: Sat Jul 19, 2003 6:15 am
Operating System Version (Optional): Tumbleweed x64
Graphics Processor: Intel with Vulkan/Metal Support
Location: Central Germany

Post by Hirogen2 »

And, how does Vavoom do ROR?
User avatar
Zell
Posts: 791
Joined: Thu Jul 24, 2003 7:47 am
Location: IN A GODDAMN BOX[In Erie.]

Post by Zell »

...lol 3d structures arent possible? i always made neato things in legacy...=p oh well, anyway, i dont really get how to use transfer heights has a "3d" floor...i have tried it but it never did work...
User avatar
Hirogen2
Posts: 2033
Joined: Sat Jul 19, 2003 6:15 am
Operating System Version (Optional): Tumbleweed x64
Graphics Processor: Intel with Vulkan/Metal Support
Location: Central Germany

Post by Hirogen2 »

The speed of which the renderer renders a scene is inverse to the amount and complexity of your 3d floors. Includes the neato things.
User avatar
The Ultimate DooMer
Posts: 2109
Joined: Tue Jul 15, 2003 5:29 pm
Location: Industrial Zone

Re: Extrafloors in ZDoom

Post by The Ultimate DooMer »

Cyberkiller wrote:I began to edit maps for ZDoom since two weeks but I can´t find any tutorial for to do an extrafloor. Can ZDoom do extrafloors like Legacy or Edge?
Yes - the methods in HotWax's post are the ways to do it, but with limits:

1. The classic method is limited by texture sizes - ie. the number of crossbeams in a texture. If you use a default texture (like the STEP ones) you only get 2 floors. If you want 3 or more floors, you'll have to make a tall texture with more than one crossbeam in, and the bridges will then have a fixed gap between beams. And if you create a crossbeam that doesn't repeat every 32 units (which is the standard grid size for bridge floors of the classic method), you've got a lot of aligning to do....

2. The Transfer_Heights method is limited to only 2 floors due to HOM effects when looking into the room from outside the sector. If you try and build 3 floors, you will get HOM's when you look at the top floor from the outside (even if the top floor has no windows and only has doors to enter it). If you can view both floors at once, or the bottom floor of one sector and the top floor of another sector at the same time, HOM's appear again. (which rules out the use of lifts to go between floors, stairs must be outside the building and visible holes in the fake floor/ceiling are not allowed - there must be a flat visible there to prevent you seeing both floors at once)

/me sits back and waits to be corrected on one or both of these.
User avatar
Zell
Posts: 791
Joined: Thu Jul 24, 2003 7:47 am
Location: IN A GODDAMN BOX[In Erie.]

Post by Zell »

..lol how would you use transfer heights do this? i have always just suspended step4 or etc to make my bridges...
User avatar
Hirogen2
Posts: 2033
Joined: Sat Jul 19, 2003 6:15 am
Operating System Version (Optional): Tumbleweed x64
Graphics Processor: Intel with Vulkan/Metal Support
Location: Central Germany

Post by Hirogen2 »

Using the K2 Bridge, you can do any number of "floors". Including the rendering speed penalty.
User avatar
The Ultimate DooMer
Posts: 2109
Joined: Tue Jul 15, 2003 5:29 pm
Location: Industrial Zone

Post by The Ultimate DooMer »

Zell wrote:..lol how would you use transfer heights do this? i have always just suspended step4 or etc to make my bridges...
Create 2 sectors, one of which is inside a column (making a building) and the other must be in the void. Give sector 1 a height of (0, 256) and sector 2 (in the void) a height of (128, 256). Give sector 1 a tag, and give one of sector 2's linedefs the Transfer_Heights special, with the same tag.

Then choose your sector properties (flats, lighting etc.), remembering that sector 1's properties will appear on the top floor, and sector 2's properties will appear on the bottom floor.

Next, place invisible bridge things in sector 1, with a radius of 32 (so place them 64 units apart), a thickness of 16 and a z-height of 112. You now have a basic 2-storey building.

To complete it, add doors to each floor at the relevant heights - (0, 72) and (128, 200) for small doors. You can also add windows if you want, but you must not be able to see both floors at once or HOM's appear. The means of going from one floor to the other (eg. stairs, lift) must be on the outside of the building.
User avatar
HotWax
Posts: 10002
Joined: Fri Jul 18, 2003 6:18 pm
Location: Idaho Falls, ID

Post by HotWax »

Zell wrote:...lol 3d structures arent possible? i always made neato things in legacy...=p oh well, anyway, i dont really get how to use transfer heights has a "3d" floor...i have tried it but it never did work...
I said *true* 3D structures. When you can literally create any conceivable construct within the engine (regardless of rendering speed, which is not an engine limitation), it will be able to create true 3D structures. Typically this requires polygon handling and a 3D map structure as found in such games as Unreal, Quake, etc.
User avatar
Zell
Posts: 791
Joined: Thu Jul 24, 2003 7:47 am
Location: IN A GODDAMN BOX[In Erie.]

Post by Zell »

im guessing since doom doesnt have a 3dmap structure, it doesnt lag like some maps on quake or unreal? (just my guess ^_^ )

hmmm...(thinks veeeerrryy deeply on game structures)
is it becuase that some 3d engines are (i dunno if they are) poorly built that they lag? or is it something else? becuase i heard HL2 is gonna run great on a crappy computer...unlike it did before(my comp can barely handle it, thats why i decided to get CS =p )
User avatar
HotWax
Posts: 10002
Joined: Fri Jul 18, 2003 6:18 pm
Location: Idaho Falls, ID

Post by HotWax »

Zell wrote:im guessing since doom doesnt have a 3dmap structure, it doesnt lag like some maps on quake or unreal? (just my guess ^_^ )

hmmm...(thinks veeeerrryy deeply on game structures)
is it becuase that some 3d engines are (i dunno if they are) poorly built that they lag? or is it something else? becuase i heard HL2 is gonna run great on a crappy computer...unlike it did before(my comp can barely handle it, thats why i decided to get CS =p )
It is a combination of mapper effeciency, engine effeciency, and CPU (and/or GPU) speed that determines rendering speed. Doom may not slowdown as much on today's lightning fast systems, but it also makes absolutely no use of the 3D accelerator in your machine, either. Because newer engines make use of the GPU, they can render much more complex scenes and maintain the same high speed as Doom in most cases. And yes, the "fake 3D" map structure of Doom certainly helps it go much faster than it would trying to render a true polygonal world using only the CPU.

I haven't really looked into HL2 (Frankly I'm far more interested in Doom 3), but there are a few options programmers can choose when it comes to improving speed on lower-end systems. The most common is to scale the graphics down as the framerate drops to keep the game running smoothly at the cost of graphical purdiness. Or they may use card-speicific code based on what GPU you have in your machine. Or, maybe, they've actually gone to the trouble of making a highly effecient engine that simply runs lightning fast even on older machines. That would certainly be a refreshing change from the norm these days. :)
User avatar
Hirogen2
Posts: 2033
Joined: Sat Jul 19, 2003 6:15 am
Operating System Version (Optional): Tumbleweed x64
Graphics Processor: Intel with Vulkan/Metal Support
Location: Central Germany

Post by Hirogen2 »

>It is a combination of mapper effeciency,
So not Frederik :p (Vrack2)

>engine effeciency
Improved (see the 273 FPS)

>and CPU (and/or GPU)
Or? Cool! Show me a game that needs few CPU but awesome GPU.
I haven't really looked into HL2 (Frankly I'm far more interested in Doom 3), but there are a few options programmers can choose when it comes to improving speed on lower-end systems. The most common is to scale the graphics down as the framerate drops to keep the game running smoothly at the cost of graphical purdiness. Or they may use card-speicific code based on what GPU you have in your machine. Or, maybe, they've actually gone to the trouble of making a highly effecient engine that simply runs lightning fast even on older machines. That would certainly be a refreshing change from the norm these days. :)
LOD technique, eh?

Return to “Editing (Archive)”