[Tutorial] NPC Dialogue; Linedef type 45

With the courtesy of 40oz

Linedef type 45 - SR Floor Lower to highest floor

This is a tutorial demonstrating how to abuse a linedef action to do something it wasn't really meant to do. In this case, you can create interactive elements in your map that make sectors move, or floating middle texture appear/disappear at will.

It pays in dividends to design practice maps to test unconventional uses of linedef actions. If you can make things do weird stuff in your test area, then you can carry that knowledge into your real maps that you intend to release. Once you get familiar with it, it helps to train your brain to remember some linedef actions having secret powers that do cool things that contradict what the editor says it's supposed to do. With mastery of the use of a mapping trick such as instantaneously moving floors, it helps to rethink this as a new action that makes entire sectors/textures appear or disappear at will.

Using Linedef type 45 is one example you can use to unlock some new mapping features often unused in Doom maps except by very experienced mappers.

The action reads lower to highest floor. But if all highest floors are above it, the floor instantly moves up to the next one

You can also append the tagged sector with 'steps,' which moves the lowest sector up instantaneously multiple times. With each switch press, the floor instantly bumps up to the next floor. You can add as many steps as you want.

These steps can exist out of the playable area (out of the player's sight.) By joining/merging the lowest step with a sector in the map, you can isolate this special action to a chosen sector. You can also place a middle texture with lower unpegging on it. Lower unpegging makes the texture move with the floor, so when I press the switch, the sector will move up and carry the texture up with it.

(I textured the sectors with redwall to indicate that they are 'joined' together as one sector)

In this visual, the sectors are only moving up 16 units. I could lower the sector into the floor 256 units so it is completely obscured from view. From the player's perspective, pressing the switch makes the texture magically appear in front of them.

If I sink the sector an additional 256 units into the ground, and change the middle textures offsets to 0,256. This will have the texture floating 256 units above the tagged floor, but still sunken below the surrounding floor so it is out of the players sight. When I add an additional control sector that is 256 units higher, the sector will have two levels to move up to when pressing the switch.

When I press the switch once, the texture appears just like last time. The second time I press the switch, the middle texture gets ejected into the ceiling, out of sight. From the player perspective, it looks like the switch made the texture appear, and then pressing it again made it disappear.

As said in the beginning, you can create as many control sectors as you want, which gives the sunken floor additional steps. You can put multiple textures on the same sector, offset the textures correctly (y axis + the number of units to get to the next step) and far apart enough so that they are either too high or too low to see, and you can make multiple texture appear and disappear from one switch.

In DBP59 Zeppelin Armada, (the steampunk project,) you can use the alphabet texture to assemble words or phrases, set the texture to lower unpegged, and put them on a sunken sector that rises instantly on multiple steps of control sectors. You can use this to create NPCs with entire dialogue trees that appear and dissappear each time the player presses USE.

Those who have studied and examined the doom engine via the source code, or reviewed documentation of it's various bugs and glitches probably already know that there's a variety of doom linedef actions that sometimes do weird things when applied differently than its intended use case. Things that are functional errors/oversights in doom's code can be used intentionally to produce cool effects. What are some of your favorites?

edit: By the way, if you want me to teach you how to do the tavern sidequest example thing with conditional dialogue where new phrases are unlocked based on completing objectives, that involves chains of control sectors where the dummy sector moves up to a fixed height, but a separate linedef action moves the control sector higher so the dummy can move to a new higher level, but to be honest I was really racking my brain to come up with that and I still don't understand it well enough to write anything coherent about it and I don't even fully realize what kind of potential it has or all the ways it can go wrong.

Edit
Pub: 30 May 2023 13:35 UTC
Views: 79