Posted: Mon Aug 19, 2013 6:02 am Post subject: Render middle floor, possible?
The idea of 3D floors was discussed numerous times already and they will not be supported by Zdaemon. I was thinking about an another way in which some 3D like structures can be built. I came up with the following:
When using textures, you have a lower texture, an upper texture and a middle texture. Right now, middle textures are used to build bridge-like things. The idea is to have a "middle floor" between the floor and ceiling, which is rendered with no thickness, but both of it's top and bottom is visible. One sector could have more middle floors, and one could set different textures for both the top and bottom of the middle floor.
Using the middle floor in conjunction with middle textures, 3D floor alike structures could be built. The middle textures could give thickness, and there would be a lower and an upper middle floor for the bottom and top of the 3D structure.
An appropriate ACS code for creating a middle floor could look like this:
Script 1 open
{
Sector_RenderMiddleFloor(6,"FLOOR0_3","FLOOR0_1",48);
}
The above code would create a middle floor in all sectors with tag 6 using FLOOR0_3 as the top texture, FLOOR0_1 as the bottom texture and at 48 height.
What do you think, possible to implement?
EDIT: Picture showing a 3D structure built like this.
It might be possible to do this using bridge things placed at the appropriate Z Heights. Basically have two layers of them and a middle texture floating to separate them as you wrote. ZD used to have the "jackhammer effect" when players would walk across simple bridges like on Magical Ice Forts from zdctfmp. That fix was a real godsend when it was handed down to mere mortals. I haven't seen that bug in a long time, and I imagine it would be the only thing holding back the feasible implementation of this.
So are we building a multi-layer suspension bridge now or wot.
Joined: 16 Jul 2005 Location: Oh god, what year is this?!
Posted: Thu Dec 26, 2013 12:52 am Post subject:
The reason why Doom doesn't support multiple ceiling/floor planes per sector is a fundamental design decision in how the drawing algorithm works—the game draws the real ceiling and floor on the screen as infinite planes (think like staring at a linedef tagged to be a horizon) after crawling over the map's BSP tree and determining where the sector bounds are on the screen.
The implementation of a full 3D floor hack requires modifying very complex code that no one's touched in almost twenty years; it's drastically easier to just switch to using OpenGL. Out of all the 2.5D games released in the 90s, I think Shadow Warrior is the only one that supports the necessary portals, and that was after Ken Silverman had been developing the BUILD engine for 4-5 years, a much longer cycle than Carmack had on Doom. (In that time he actually wrote a real Quake-like 3D engine, called Polymost, and probably back-ported code from it.)
It would be a much better idea to beg for floor sprites, instead, like Duke 3D had. These have an innately finite area, unlike middle ceilings/floors, and require little more clipping code than normal sprites.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum