Jump to content

Horizon effect in vanilla (only)!


Recommended Posts

Note: this effect currently works only in Chocolate Doom and Doom Legacy, as it relies on an obscure nodebuilder hack.

 

CQjOSoB.jpg

 

So how to make it? It's actually very simple.

 

1. change your nodebuilder to BSP.

(in DB2: press F6, select your configuration, click the "nodebuilder" tab and change the nodebuilder to BSP)

 

9aYIRUC.png

 

2. Make a square room or whatever, it can be of any complexity. The ceiling flat is preferably F_SKY1, but anything will do.

 

gUaNYGO.png

 

3. Now the cool part. Pick a horizon linedef, I think it should be 1-sided. Change its offsets to (180, 0), set its tag to 999.

 

2wayEqO.png

 

4. Get psyched, run the map.

 

5. ???

 

6. H O R I Z O N !

EEBx5Hs.jpg

 

Now you don't have to surround the playable area of your map with 15000 units to simulate the horizon! Yes! Yes! It's that cool!

 

---------------------------------

Some peculiarities:

1. If the sector in front of the linedef is too tall, you will see a thin strip of its texture far in the distance (see the screenshot above). If you have a tall sky sector, make a thin sector on its edge with a height of 1 or so, then the strip will be unnoticeable.

2. The horizon linedef is still collidable, so it will block bullets/projectiles/players/everything.

3. You can do something similar with Boom's action 242, if you set the control sector's ceiling and floor to F_SKY1, IIRC. But this is obviously far better.

 

Once more:

Note: this effect currently works only in Chocolate Doom and Doom Legacy, as it relies on an obscure nodebuilder hack.

DOS Boom 2.02 renders this properly only from some angles. All other ports I've tried display just a wall.

I assume that some MBF enhancement breaks it. Kinda ironic, as it was (AFAIK) Lee Killough that added this effect to the BSP nodebuider!

----------------------------------

Now, why does this work? Let's refer to the BSP webpage:

 

2cHo8Q3.png

 

The 999 tag on a line makes the nodebuilder rotate the sidedef by the angle specified in the x offset. If the angle is 180, it will get flipped! As our line is 1-sided, there's nothing on the other side, so you get a cool flat bleeding effect!

horizon.zip

Edited by bzzrak
one more screenshot

Share this post


Link to post
  • 1 month later...

This is also possible to with the upcoming ZokumBSP 1.0.10

We've added these 4 different new linedef specials:

Numeric Effect
1080    Rotate the rendered wall N degrees, where degrees is taken from tag.
1081    Set the wall rotation to a hardcoded degree, degree taken from tag.
1082    Rotate the rendered wall N BAMs, BAMs taken from tag.
1083    Set the wall rotation to a hardoced BAM, taken from tag.

 

A BAM is Binary Angle Measurement. In Doom these are unsigned 16 bit, so from 0x0000 to 0xFFFF. This allows for maximum precision over the rotation.

Share this post


Link to post
  • 6 years later...

I have tested this effect in chocolate doom, and its great! However, would it be possible to have a map that utilizes this effect when played vanilla, but is able to utilize the Line Horizon parameter when played in GZ-Zandronum-Zdoom? I’ve been racking my brain of how to pull it off, but I’m assuming if I built my map in Doom 2 format, even Zdoom derivatives will not allow this. I just think it would be quite neat to have a map that can have a consistent horizon effect in and out of vanilla.

Share this post


Link to post
6 hours ago, Razordoom said:

I have tested this effect in chocolate doom, and its great! However, would it be possible to have a map that utilizes this effect when played vanilla, but is able to utilize the Line Horizon parameter when played in GZ-Zandronum-Zdoom? I’ve been racking my brain of how to pull it off, but I’m assuming if I built my map in Doom 2 format, even Zdoom derivatives will not allow this. I just think it would be quite neat to have a map that can have a consistent horizon effect in and out of vanilla.

That's the problem with many ports, they're not completely vanilla compatible. They only support a sub set of all the things doom2.exe supports. This limits 'vanilla' mapping as many will not use effects 1.9 supports that common ports do not handle correctly.

Your best bet would be to have the doom map as map01 and add port-specific definitions that make it load another map instead when loaded by a port. In hat version you have a slightly different way of producing the effect. It's a lot of duplicated data... You might be able to get away with pointing to the same file offset for the things and other identical structures. I have never tried it, and it is definitely a hack :) You'd most likely have to do some hex editing or possibly use a wad compression tool.

Share this post


Link to post
On 1/9/2024 at 6:53 AM, zokum said:

That's the problem with many ports, they're not completely vanilla compatible. They only support a sub set of all the things doom2.exe supports. This limits 'vanilla' mapping as many will not use effects 1.9 supports that common ports do not handle correctly.

Your best bet would be to have the doom map as map01 and add port-specific definitions that make it load another map instead when loaded by a port. In hat version you have a slightly different way of producing the effect. It's a lot of duplicated data... You might be able to get away with pointing to the same file offset for the things and other identical structures. I have never tried it, and it is definitely a hack :) You'd most likely have to do some hex editing or possibly use a wad compression tool.

I appreciate the prompt answer, I’ll consider doing a Zdoom maplisting or something similar, but may do well to simply make minimal use of the effect. Sorry for the necro-post but I was too curious, and have a happy new year!

Share this post


Link to post

No worries. I tend to do a limited form of 'support' of zokumbsp on these forums. I don't always catch everything and your best bet is to just message me on irc. I sometimes check other places like Discord and Github and I check with google once in a while.

Edited by zokum

Share this post


Link to post
5 hours ago, zokum said:

No worries. I tend to do a limited form of 'support' of zokumbsp on these forums. I don't always catch everything and your best bet is to just message me on irc. I sometimes check other places like Discord and Github and I check with google once in a while.

I gotcha, thank you for the help! I did eventually just settle on extending the sector enough that it looked normal in Zandronum, then utilizing the effect to take care of the HOM on chocolatedoom, though I've found it can still be janky on DOSbox.

Share this post


Link to post

If it works fine in chocolate doom, but looks odd in doom2.exe in dosbox, then chocolate doom has a bug. If it really is like this, you should make a reproducible case for Fraggle. This could be a weird edge case or a problem with dosbox :). I don't have my rig for actual hardware up and running, but when I eventually get it up and running I can test these things on real hardware :)

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...