BSP (node builder)


BSP is one of the earliest node builders created in 1994 by Colin Reed and Dylan Cuthbert, based on preliminary work by Raphaël Quinet. The node builder was afterwards maintained by Lee Killough, Simon Howard, and Colin Phipps. The last version, BSP 5.2, was released in 2006.

It was the first node builder to identify and fix various bugs that could cause a hall of mirrors effect,[1] and used floating point math for accuracy. As a result, BSP required a program titled EMU387 to run if the computer had no math coprocessor.


  • BSP 0.9 (BSP09) - Released March 28, 1994.
  • BSP 1.1 (BSP11x)
  • BSP 1.2 (BSP12x)
  • BSP 1.5 (BSP15x)
  • BSP 2.2 (BSP22x)
  • BSP 2.3 (BSP23x)
  • BSP 2.4 (BSP24x)
  • BSP 3.0 (BSP30x)
  • BSP 5.2 (BSP52x)


BSP's impact on Doom was and is significant: it was one of the first node builders to combine practicality with versatility, leading it to become one of the most popular node builders. Because of this, various editors used a version of BSP as their internal node builder, whilst others included a copy of BSP as external program in their distribution:

  • DCK referred to use BSP in version 1.0 despite not being included; versions 1.1 and 1.1a used BSP12x as an external node builder. Versions 2.0 till 2.2 used BSP12x as an internal node builder.
  • DCS (Doom Construction Set) used BSP11x and BSP12x as external node builders by including a copy of BSP.EXE with their distributions.
  • DEUH was a modified DEU 5.1 hack that replaced the DEU node builder with BSP11x as an internal node builder.
  • Laura Beyer's Level Creator (LBLC) used BSP12x as internal node builder.
  • WadAuthor uses a version of BSP12x as an internal node builder.
  • ZETH versions 4.03 till 4.05 include ZBSP, a modified version of BSP23x that supports ZDoom 1.x maps. It was the precursor to ZDBSP.

BSP v1.1TC[edit]

There was an "unofficial" version, released by Eugen Woiwod, under the archive name BSP11TC.ZIP. In the text file, Eugen claims that the included executable is "direct from the author himself." In reality, it was completely unsupported, and was released without permission, mainly because it has memory problems. Dylan Cuthbert called on idgames archive sysops to remove the file, and stated the official release of the time was BSP11X.ZIP.[2] This official version was not in the idgames archive until September 1, 2015. The unofficial TC version still exists in the archives.


DelphiDoom author Jim Valavanis (Jval) created PBSP, a port of BSP to the Pascal programming language in 2019. It is based on BSP v5.1.


  • BSP trees were also used in Argonaut Games' Star Fox, the premiere Super FX game for the Super Nintendo, on which Dylan Cuthbert also worked. The development of Star Fox predated Doom by just less than a year, making it an earlier application of the technology for real-time rendering in games, in that case being used for ordering of surfaces within 3D models.
  • A GUI version of BSP that may have allowed for manual editing of BSP trees was in the works, but "work at Nintendo got in the way".[3] [4]

External links[edit]


  2. USENET post referencing "unofficial" BSP release