Doom Builder
Doom Builder is a Doom level editor with full support for ZDoom editing, including the "Game-in-Hexen" and "Game-in-UDMF" map formats. It is being developed by Pascal vd Heiden (alias CodeImp) and is free software, licensed under the terms of the GNU General Public License. Popular features include lots of customizability, prefabs, advanced drawing code, and a 3D mode that lets you browse and edit your levels in real time.
See also the Doom Builder ACS configuration.
The current version of Doom Builder is Doom Builder 2, a total rewrite. The last version of Doom Builder 1 is 1.68.
Contents |
Doom Builder
The original Doom Builder was written mostly in Visual Basic. It can run on Windows 98, 2000, or XP, but not on newer versions of Windows (Vista, 7 and above). It can be used to create maps in the Doom and Hexen formats; but it is generally outdated and unsupported. It is able to parse DECORATE lumps to find custom actors, and also supports graphics defined in TEXTURES.
Doom Builder 2
A complete rewrite in C#, DB2 was the first map editor to support UDMF in addition to the older binary map formats. It requires Windows XP, Vista, or 7.
GZDoom Editing Plugin
An alternate version of the 3D visual mode, which was never completed. It shows 3D floors and slopes. It has been replaced by GZDoom Builder, which does not use it.
Doom Builder 64
A fork of DB2 specialized on creating maps for
Doom64 EX. It cannot be used to edit maps in the formats supported by ZDoom.
GZDoom Builder
Another fork of DB2 specialized on creating maps for ZDoom and GZDoom. It boasts enhanced support for ZDoom features such as showing slopes, 3D floors, and dynamic lights in visual mode, displaying models, and parsing MAPINFO, GLDEFS and MODELDEF lumps in addition to DECORATE to obtain the data it needs to give an accurate preview of the level in 3D mode.
DECORATE keys
Both versions of Doom Builder include a DECORATE parser used to obtain relevant information (such as editor number, Radius, Height, Scale, and so on) from custom actors. Additional information can be conveyed with keys in the form of special comments inserted within an actor's declaration block:
- //$Category <category>
- Specifies in which category (Monsters, Weapons, etc.) it should be sorted. By default, a custom actor not identified in a configuration file will be put in the Decorate category.
- //$Sprite <sprite>
- Specifies which sprite to use to represent the actor in the editor. By default, a custom actor not identified in a configuration file will use the first suitable sprite it finds in the actor definition, trying first the states in the sequence Idle, See, Inactive, Spawn, and if all these fail, the first defined state. This key is therefore especially useful for stateless actor definitions.
- Keep in mind that this sprite name must match an image in the wad (i.e., if the sprite in your wad is named JUNKA0D0, you need to put JUNKA0D0, JUNKA0 won't work).
- //$Title <title>
- Specifies which name to give to the actor. By default, a custom actor not identified in a configuration file will use the Tag property, and if not present, will default to the class name.
Example
Note: It is a good idea to include the Doom Editor Number after the actor definition if you want it to show in Doom Builder, even if it is replacing a standard Doom actor.
Actor ChexShield : ResistanceRune replaces ResistanceRune 5104
{
//$Category powerups
//$Sprite ARMXA0
//$Title "Chex Shield"
Height 44
Radius 26
Inventory.PickupMessage "Picked up the energized Chex armor!"
States
{
Spawn:
ARMX A 1
Loop
}
}
