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

Differences with Build and Doom Engine

Recommended Posts

So I've been playing the The Duke3d Addon Compilation and I got reminded about my curiousities in terms of emulating Build features in Doom. I have some curiousities that people might be able to answer here.

Things I do know.
-Build has the "sector effector" features that allow platforms and such to move around freely. The closest Doom engine has gotten to this is through wall portal tricks (A custom Zdoom build is what I'm referring to, not sure if Eternity can do this).
-All of the switches, among other decorations, are flattened sprites. They help decorate much of the architecture in the levels.
-Duke is able to use sectors (mostly for elevators) via some magical Newtype (telepathic) bullshit. I've been curious in adding this to a ZDoom level via a secret using the Player Use Sector but I'm not sure if any player would be able to figure it out.
-Cracks in walls are abundant. Many of which I've noticed you need to blow up in order to progress. The level fairy has provided you a pipebomb to blow up the wall most of the time, which I tend to find pretty silly.

The stuff I'm mostly curious about is

-Is Duke's eye height taller than Doomguy's? It seems so most of the time, but actors serve a similar height relationship with Duke like the monsters do in Doom. For some reason though, I don't feel like I'm a midget running around a space station in Duke.
-What is different about the lighting? I can't put my finger on it but it seems different I was wondering if anybody know what I could be thinking of.

The reason why I put this in Doom General is hoping that some of Build's unique features can be emulated one way or the other.

Share this post


Link to post

In addition to freely moving map geometry (impossible in engines with BSP-based rendering), there are also so-called overlapping sectors, which seem to be completely impossible in Doom.

http://en.wikipedia.org/wiki/Build_engine

"Sectors could overlap one another provided they could not be seen at the same time (if two overlapping sectors were seen at the same time a corrupted display resulted). This allowed the designers to create, for instance, air ducts that appeared to extend across the top of another room (however doing so could be tricky for designers due to the 2D viewpoint used for much of the editing process). More interestingly, this allowed the designer to create worlds that would be physically impossible (e.g. a door way of a small building could lead into a network of rooms that was larger than the building itself)."

Share this post


Link to post

Well, to be fair Doom has self-referencing sectors, which for some tricks are used while actually overlapping with other sectors.

Plus, nothing prevents a map's geometry from containing actual non self-referencing overlapping sectors, though that would not be possible with most visual editors and BSP builders, and I can't imagine exactly how the engine would be supposed to behave in such a case. Maybe a hackish room-over-room effect? A sector you could both step over and step under, depending on other factors?

Share this post


Link to post

BUILD is a weird one. It can do some very neat stuff for what's fundamentally a 2.5D engine, but it's also incredibly volatile and prone to either glitching the fuck out or just crashing entirely during regular play. Hell, DN3D speedruns take advantage of the buggy and glitchy nature to glitch through walls and god knows else what fucking nonsense, skipping huge chunks of maps.

idTech1 on the other hand is comparatively limited in what stuff is allowed to do (although these limits have in turn spawned some ridiculous levels of creativity from mappers), but it's also pretty fucking reliable with it. Well, as long as you don't go over-abusing certain hacky pseudo-features, in which case you probably deserve to crash.

Share this post


Link to post
BaronOfStuff said:

BUILD is a weird one. It can do some very neat stuff for what's fundamentally a 2.5D engine, but it's also incredibly volatile and prone to either glitching the fuck out or just crashing entirely during regular play. Hell, DN3D speedruns take advantage of the buggy and glitchy nature to glitch through walls and god knows else what fucking nonsense, skipping huge chunks of maps.

That's right. Obligatory video to showcase it:

Share this post


Link to post

Been replaying Duke 3D lately and have been really noticing how weird the engine is. One on level, I rose from the water and instantly died because of some conflict between the underwater sector and the geometry "above" it. In another level, laser traps embedded in the level would go off unexpectedly or disappear. In that same level, the moving subway cars could cause insta-death in situations that are entirely inappropriate. And let's not forget swinging doors killing you.

Share this post


Link to post

How exactly do sectors over sectors work in eDuke32? I assume it uses some trick that Doom isn't capable of but it can't be the simple room over room effect because this allows you to see both sectors simultaneously. In many ways, it's actually superior to the 3D floors in some Doom source ports since you don't have to worry about tagging everything to a dummy sector.

Share this post


Link to post
GoatLord said:

Been replaying Duke 3D lately and have been really noticing how weird the engine is. One on level, I rose from the water and instantly died because of some conflict between the underwater sector and the geometry "above" it. In another level, laser traps embedded in the level would go off unexpectedly or disappear. In that same level, the moving subway cars could cause insta-death in situations that are entirely inappropriate. And let's not forget swinging doors killing you.

Isn't stuff like that fixed in Eduke32?

Share this post


Link to post
Da Werecat said:

Portals?



They'd have to be fairly massive, I was able to make an entire town full of buildings with roofs on the upper sector and rooms in the lower one. The editor even treats them as if they're in the exact same space.

Share this post


Link to post
MetroidJunkie said:

How exactly do sectors over sectors work in eDuke32?

There is no trick, sectors in the build engine are allowed to overlap on the 2D plane.

The renderer is essentially a portal-based renderer, you render the sector the camera is in, then visit the sectors which branch off the current one, then visit the sectors that branch off those, etc.... (it's rather more complicated, but that's the gist of it).

But it does not allow "true" 3D spaces, like a 3D platform where you can see underneath it and above it at the same time, which is rather limiting in practice. Places where you fall through a tunnel into a subway, for example, are done with teleportation hacks.

Share this post


Link to post
BlackFish said:

-Is Duke's eye height taller than Doomguy's?

Nope. Exactly the same (40 units). But a big difference is that the world has a square aspect ratio in Build (a 128x128 door will actually look square in Build instead of tall like in Doom), making everything look shorter (except for sprites, which have their own aspect ratio adjustment which isn't even consistent between objects). Duke is also only 16 units wide physically, which makes him feel taller and skinnier than he looks.

BlackFish said:

-What is different about the lighting?

Lighting in Build has two components: "shade" (how brightly lit an object or surface is) and "visibility" (how much brightness decreases with distance). In both cases, higher values = darker. Visibility is close to how Doom's lighting works (except there's no maximum distance at which brightness stops diminishing - over a far enough distance everything fades to total darkness), but most lighting effects in the stock Duke maps seem to use shade exclusively (in fact, the editor documentation doesn't even mention visibility).

Share this post


Link to post



I played this map last night. Holy moly it was big. Once you got to the swimming parts you wished you had more bottles of steriods to swim the map. Even with the steroids, it takes a whole minute to get from one point to the other.

I wonder how much effort it would take to make something similar in Doom. Probably a lot of 3d sectors with swim properties (edit: or a lot of this).

Share this post


Link to post
GoatLord said:

How does colored lighting work?

By the looks of it, I'd guess via multiple indexed colormaps.

Foxpup said:

Lighting in Build has two components: "shade" (how brightly lit an object or surface is) and "visibility" (how much brightness decreases with distance). In both cases, higher values = darker.

Holy crap, I never knew that. Would be interesting if it were replicated in a software mode port.

Share this post


Link to post
Sodaholic said:

Holy crap, I never knew that. Would be interesting if it were replicated in a software mode port.

What's the point though? I'm not sure I understand the benefits of controlling the latter.

Share this post


Link to post
Da Werecat said:

What's the point though? I'm not sure I understand the benefits of controlling the latter.


It seems you're not familiar with Sodaholic's obsession with Doom's coloring, lighting and aspect ratio system ;-)

Though a variable per-sector fading ratio would be trivially doable even with Doom -even if not very smooth. All it would take is an extra parameter per sector, and would be applied to floors and walls within that sector, simply by going through the colormaps faster, e.g. by a factor of 2, 3, 4 etc.

Share this post


Link to post

Dunno why everyone is talking about Duke's bugginess, I recently replayed the classic 3 episodes and haven't encountered any problems. Also wasn't it revealed that many of these exploits in the speedrun are only possible in the port he used and not in the real game? (so it's like speedrunning Doom 2 with ZDoom jumping or something)

Share this post


Link to post
Sodaholic said:

By the looks of it, I'd guess via multiple indexed colormaps.


Yeah there's a range of different palette values you can apply to sectors. You point at one and press P iirc. They have applications on a technical level as well such as on E2 maps like E2L8 where the player walks outside. Sectors with the space skies will instantly kill, but in this case they assigned palette 3 (thanks foxpup, it's been a while :P) to it to avoid this.

Palettes can even be assigned to sprites, though this wasn't visibly used. You can use higher values to make simple recolours of monsters, such as pig tanks with blue armour or the flying assault commander with orange skin. These were only used in-game for the mini-battlelord though, which was literally a standard battlelord but with palette 21.

(You can also use palette 21 to make Mini-cycloids and mini-overlords, but they only have 1 health)

Share this post


Link to post
Sodaholic said:

By the looks of it, I'd guess via multiple indexed colormaps.

You guess correctly. I forgot about coloured lighting because I always considered that to be a separate property from the lighting itself, as it's used for much more than just lighting effects, which can lead to some strange side effects. (Of course, everything in Build is used for more than its actual purpose. That's why sky ceilings make subways shoot rockets at you.)

Sodaholic said:

Holy crap, I never knew that. Would be interesting if it were replicated in a software mode port.

The exact formula is (visibility+16)*distance + shade. Shade is signed, with negative values being used for very bright objects to not darken over distance so much. Visibility is unsigned, and overflows at 240 (due to the +16), though I haven't seen any maps actually use such values (I don't think this fact is commonly known). I've no idea about the scaling factor for distance; the source code is a complete mess and I don't really care enough to divine the value through experimentation.

Eris Falling said:

Sectors with the space skies will instantly kill, but in this case they assigned palette 4 to it to avoid this.

3, actually. 4 is pitch black, used in conjunction with transparency for shadows.

Share this post


Link to post
BlackFish said:

Was referring to this experimental ZDoom version.

Awesome music in the video - who is it? (And what song?)

Share this post


Link to post
Sodaholic said:

Holy crap, I never knew that. Would be interesting if it were replicated in a software mode port.


Actually, you can replicate that in ZDoom. The traditional light level would be 'visibility' (it really is nothing else) and the sector's color would be 'shade', if you limit yourself to grayscale.

Share this post


Link to post

If you're talking about the Duke3d one, yes it comes with a launcher.

There's no "Doom Compilation" with a launcher so to speak, yet.

Share this post


Link to post

The stuff you can do with sprites in Build I find extremely fun for some reason. You can create some pretty cool things with those alone. Plus, the city maps fascinated me when I was little, and build makes creating city levels very easy and fun.

Share this post


Link to post
Flesh420 said:

The stuff you can do with sprites in Build I find extremely fun for some reason. You can create some pretty cool things with those alone. Plus, the city maps fascinated me when I was little, and build makes creating city levels very easy and fun.

Yes but only Doom has the cool gameplay and atmosphere by default. It takes a shitty map to manage to screw with those.

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
×