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

How do slime trails happen?

Recommended Posts

I'm not even sure I have the idea of what a slime trail is correct in my mind. A slime trail, I think, is that effect that happens when it looks like a wall, ledge, or other linedef is kinda sinking to the bottom up the world, below the physical construct of the map.

If that is correct, my simple question is this: how do they happen in map editing?

I've created a few slime trails on accident, and the only way I know how to fix them is fuck around with the linedefs for ages, or just delete the entire sector and recreate it. If I knew what actually caused it, I could probably save myself a lot of time.

Share this post


Link to post

Most slimetrails are caused by loss of precision during nodebuilding.

You probably know that a Doom map is cut in tiny bits during nodebuilding. The nodebuilder chooses linedefs and uses them as the axis with which to cut the remaining geometry in two halves. When a sector is split by this process, it creates subsectors (aka ssectors). When a linedef is split by this process, it creates segments (aka segs). Just like full linedefs, segs are delimited with vertices (aka vertexes). The engine does not actually use linedefs and sectors when rendering, but segs and subsectors.

Normally, these vertexes are added to the standard vertexes. But what if one of them is added at fractional coordinates? VERTEXES only stores integral coordinates. So it's rounded. This rounding can cause subsectors to no longer be perfectly level with each others: there appears a tiny hole in the geometry. If you're aligned the right way, you look into the hole, and the floor and/or ceiling textures will bleed through it the same way as if you had forgotten to put wall textures somewhere.

Fiddling with vertex position can cause the nodebuilder to split geometry a different way and hopefully get rid of the slimetrail. Some nodebuilders attempt to prevent or reduce the formation of them by trying to work around splits that would create vertices at fractional coordinates. There's also the possibility to use extended nodes, but then you need to use ZDBSP and it's only compatible with GL/PrBoom+, Eternity, (G)ZDoom and Skulltag 98e. Extended nodes write their extra vertices in a node-specific part of the map and use full fixed-point precision to store them, so slime trails can generally be eliminated or at least make them so tiny they're unnoticeable.

Finally, the boring way to get rid of slimetrails is to use Wolfenstein-like orthogonal architecture. If there's no risk of a line traced from a linedef to ever intersect another linedef at a fractional coordinate point, slimetrails are not going to happen.

Share this post


Link to post

Interesting. You must be pretty experienced to have known all of that.

I thought it was caused by overlapping linedef that weren't exactly part of a sector or something. Like, when I was building the sector and making it exotic by inserting extra vertices and linedefs to give it an interesting shape, I accidentally ended up putting extra linedefs or vertices that weren't even part of the sector.

Thanks for that explanation.

Share this post


Link to post

Just a heads up, slime trails are normally excusable if they aren't too large and are accompanied by complex geometry. It's just a side effect of the engine itself, as Gez said; Sometimes it can't really be helped.

Share this post


Link to post
Iceykiller said:

Interesting. You must be pretty experienced to have known all of that.

I thought it was caused by overlapping linedef that weren't exactly part of a sector or something. Like, when I was building the sector and making it exotic by inserting extra vertices and linedefs to give it an interesting shape, I accidentally ended up putting extra linedefs or vertices that weren't even part of the sector.

Thanks for that explanation.


You are not incorrect though; malformed geometry can and does cause slime trails. It's just not a common source of them because you can easily fix bad geometry.

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
×