Teleporters are a memorable feature of the Doom engine, with much potential for a creative designer. This tutorial will guide you through building a basic teleporter, and assumes that you know how to use the basic functions of a map editor, namely creating and editing sectors, linedefs, and things.
To create a basic teleporter for vanilla Doom, you need two main elements:
First, you need the teleporter itself. (Marked A on the diagram.) Technically, what you need to worry about are the linedefs of the pad, but in most cases, you will style the pad itself to help signify its purpose.
So, set up a bare room in your map editor, at least 192 by 320 units. For the teleport pad, put a square 64 by 64 sector in one half of the room (red in the image). Teleport linedef actions only work when passing from the front side, so make sure that all four sides of the pad are facing outward. Next, edit these linedefs, and give them a teleport action, in this case number 97 - (Teleport WR), which is a normal repeatable teleport. Also set their tags to an unused number which will correspond to the destination sector.
After setting up the lines of the teleporter, you need the spot for the player to warp into (Marked B on the diagram). This consists of a properly tagged sector, and a teleport destination (Thing 14) within that sector.
A good way to start is by placing the teleport destination. The destination thing's position is the exact spot in that sector that the player will arrive, and the thing's angle determines where the player will face, so set both accordingly (green in the image).
Almost any sector can contain a teleport destination, but each sector should only have one, because the sector's tag is what the teleporter action looks for. You can simply use the main sector surrounding the teleport, but for the diagram I created a new circular sector (in yellow,) for the purpose. In either case, set the chosen sector's tag to match the teleport linedefs' tag which you set above.
Aesthetics and other uses
You should now have a functional teleporter. To make it actually stand out as such though, it could use some detailing. Try giving the pad a suitable floor. The GATE1 - GATE4 flats work well, as do others like FLAT22 and TLITE6_x. If you did not while building it, ensure that the pad sector is aligned to the 64 by 64 grid, or else most flats will look misaligned. Raise (or lower) the floor, and add the missing lower textures, to give it some depth. A popular effect is to increase the brightness on the pad, and if you are frisky, you can add a flashing or glowing sector effect too.
You can also easily modify this method to create other teleporter effects.
- For example, you can change the teleporter linedef actions to number 52, which finishes the level when crossed. Similarly, action number 124 warps to a secret level.
- Instead, you can set each line's sector tags to teleport you to different sectors depending on which side you cross. (E3M5 of Doom did this in the courtyard.)
- There are also monster-only teleport actions (numbers 125 & 126), so it's possible to move only your enemies around the map, instead of players. For example, the frontmost linedef of the secret teleporter in MAP02: Underhalls (Doom II) is one of these types, so monsters which step onto the pad teleport to the platform across the river from the start, whilst players are teleported to the start.
- Rather than using a pad at all, you could set the teleport action on any linedef, which can serve to disorient the player if they do not anticipate the teleport. Combining this technique with monster-only teleporters is one way to create effects like the teleporter ambush in E1M9: Military Base.
- You can create an "instant death" teleporter by placing a voodoo doll on the teleporter destination, causing the player to telefrag themselves. This will kill even an invulnerable player or a player using the iddqd cheat code. This trick is used on MAP30: Last Call (TNT: Evilution), amongst many others.
To see these above ideas in practice, an example WAD demonstrating various teleporter functions is available here.