Difference between revisions of "Boom"
From DoomWiki.org
[unchecked revision] | [checked revision] |
(→Features: added BEX, spacing) |
Redneckerz (talk | contribs) m (→Revision: updated genealogy, added ReBoom.) |
||
(22 intermediate revisions by 12 users not shown) | |||
Line 1: | Line 1: | ||
− | '''Boom''' is a [[source port]] created by [[TeamTNT]]. | + | {{InfoboxSourcePort |
+ | |logo = [[File:TNT_Boom_logo.jpg|240px]] | ||
+ | |title = Boom | ||
+ | |developer = [[Jim Flynn]], [[Stan Gula]], [[Ty Halderman]], [[Lee Killough]], [[Rand Phares]] | ||
+ | |baseparent = [[Versions of Doom and Doom II|Final Doom]] v1.9 | ||
+ | |programming language = {{wp|C (programming language)|C}} | ||
+ | |status = Discontinued | ||
+ | |initialversion = 2.00 | ||
+ | |initialdate = 1998-04-17 | ||
+ | |platform = DOS | ||
+ | |license = [[Doom Source License]], {{GPL||2+}} | ||
+ | }} | ||
+ | '''Boom''' is a [[source port]] created by [[TeamTNT]]. The design goals of the Boom project were to create a source port of professional quality, fix bugs and remove limitations of [[vanilla Doom]], and add extra editing features, while keeping the same "feel" and "spirit" of the original Doom engine. The final version of Boom was released on October 22, 1998. The source code for Boom was released in October 1999. | ||
− | Boom itself only ran under MS-DOS and was developed using DJGPP, the DOS port of gcc. | + | Boom itself only ran under MS-DOS and was developed using DJGPP, the DOS port of gcc. The code was later ported to other operating systems. |
− | + | Boom can be viewed as a much more conservative source port than some others because of its strong emphasis on maintaining the original feel of the Doom engine. While many contemporary source ports concentrated on adding [[Quake]]-like features (such as a [[console]], restructuring menus, or adding impressive new graphical features), Boom behaves very similarly to the original Doom executable. Many of the changes made in Boom are not immediately visible, such as the removal of limits (e.g. the [[visplane limit]] error) and the addition of editing features which, while immensely useful to level designers, may not be obvious to the player. | |
− | A large number of [[WAD]] files have been developed which require Boom to run. | + | A large number of [[WAD]] files have been developed which require Boom to run. Because of the attractive editing features provided by Boom, many popular source ports have adopted support for these features. This has led to the term "[[:Category:Boom compatible|Boom-compatible engine]]": such WADs may run on many different source ports provided that the source port used supports the Boom editing extensions. |
== Features == | == Features == | ||
− | + | * Removal of engine limits and bugs. This includes the [[visplane limit]], the [[tutti-frutti effect|tutti-frutti]] and [[Medusa effect|medusa]] effects, the [[savegame buffer overflow|savegame size limit]], the [[venetian blind crash]], and many others. | |
− | * Removal of engine limits and bugs. This includes the [[visplane limit]], the [[tutti-frutti effect|tutti-frutti]] and [[Medusa effect|medusa]] effects, the [[savegame]] | + | * Optimizations to the engine. |
− | * | + | * New editing features. These include: |
− | * | + | ** Configurable [[ANIMATED|animated]] and [[SWITCHES|switch]] textures. |
− | ** Configurable animated and switch textures. | + | ** [[Deep water]] effects. |
− | ** Deep water effects. | + | ** Scrolling walls, floors, and ceilings, including support for [[conveyor belt]]s. |
− | ** Scrolling walls, floors, and ceilings | + | ** [[Translucency|Translucent]] walls and [[sprite]]s. |
− | ** Translucent walls. | + | ** [[Friction]] effects, such as mud and ice. |
− | ** Friction effects, such as mud and ice. | ||
** Custom [[colormap]]s (which can provide, for example an underwater blue "tint"). | ** Custom [[colormap]]s (which can provide, for example an underwater blue "tint"). | ||
− | ** Silent | + | ** Silent [[teleporter]]s, which can be useful for fake "room over room" effects. |
− | ** Generic linedef types - a particular linedef behaviour can be "calculated" using a separate linedef calculator program called TRIGCALC.EXE . | + | ** [[Elevator]]s which move the floor and ceiling of a sector together. |
+ | ** Generic [[linedef]] types - a particular linedef behaviour can be "calculated" using a separate linedef calculator program called {{c|TRIGCALC.EXE}}. | ||
** A [[DeHackEd]] extension standard, [[BEX]]. | ** A [[DeHackEd]] extension standard, [[BEX]]. | ||
Line 34: | Line 46: | ||
== Derived source ports == | == Derived source ports == | ||
− | After the Boom project ended, several source ports arose which were derived from the Boom source code. | + | After the Boom project ended, several source ports arose which were derived from the Boom source code. These include: |
− | * [[LxDoom]], which later merged | + | * [[LxDoom]], which later merged with [[PrBoom]], a portable version of Boom. |
− | * [[MBF]], | + | * [[MBF]], [[Lee Killough]]'s continuation of his work on the Doom engine. |
+ | * [[Steve Boom]], initially meant as a learning experience, it became a port of its own, based on Boom 2.01. | ||
+ | * [[PrjDoom]], the successor of Steve Boom, based on Boom 2.02. | ||
+ | * [[ReBoom]], [[Adam Bilbrough (Gibbon)]]'s continuation of the Boom engine to modern systems. | ||
== External links == | == External links == | ||
− | + | * {{archived link|http://www.teamtnt.com/boompubl/ixboom.htm|TeamTNT's Boom website|http://web.archive.org/web/20050817024842/http://teamtnt.com/boompubl/boom2.htm|Archive.org}} | |
− | * | ||
*{{idgames|title=Download Boom|id=10447}} | *{{idgames|title=Download Boom|id=10447}} | ||
*{{idgames|title=Download Boom source code|id=10448}} | *{{idgames|title=Download Boom source code|id=10448}} | ||
+ | * [https://soulsphere.org/projects/boomref/ Interactive HTML version of the Boom reference guide] | ||
{{s-start}} | {{s-start}} | ||
{{s-port}} | {{s-port}} | ||
− | {{s-bef|before=[[Versions of Doom and Doom II|Final Doom v1.9]]}} | + | {{s-cond}} |
− | {{s-ttl|rows= | + | {{s-bef-cond|rows=4|before=[[Versions of Doom and Doom II|Final Doom v1.9]]}} |
− | {{s-aft|after=[[LxDoom]]}} | + | {{s-ttl|rows=9|title=Boom}} |
− | {{s-bef|rows= | + | {{s-aft-cond|after=[[LinBoom]]}} |
− | {{s-aft|after=[[ | + | {{s-aft-cond|after=[[LxDoom]]}} |
− | {{s-aft|after=[[ | + | {{s-aft-cond|after=[[MBF]]}} |
− | {{s-aft|after=[[RORDoom]]}} | + | {{s-aft-cond|after=[[PrBoom]]}} |
+ | {{s-bef-cond|rows=5|before=[[DOSDoom|DOSDoom v0.2]]}} | ||
+ | {{s-aft-cond|after=[[PrjDoom]]}} | ||
+ | {{s-aft-cond|after=[[Risen3D]]}} | ||
+ | {{s-aft-cond|after=[[RORDoom]]}} | ||
+ | {{s-aft-cond|after=[[Steve Boom]]}} | ||
+ | {{s-aft-cond|after=[[ReBoom]]}} | ||
{{s-end}} | {{s-end}} | ||
+ | |||
[[Category:Source ports]] | [[Category:Source ports]] | ||
[[Category:Boom compatible]] | [[Category:Boom compatible]] | ||
+ | [[Category:Doom ports]] | ||
[[Category:Limit removing source ports]] | [[Category:Limit removing source ports]] |
Revision as of 07:57, 11 September 2021
Boom | |
Codebase | Final Doom v1.9 |
---|---|
Developer(s) | Jim Flynn, Stan Gula, Ty Halderman, Lee Killough, Rand Phares |
Initial release | 2.00 (1998-04-17, 26 years ago) |
Latest release | 2.02 (1999-10-09, 24 years ago) |
Development status | Discontinued |
Written in | C |
Target Platform | DOS |
License | Doom Source License, GNU General Public License v2+ |
Boom is a source port created by TeamTNT. The design goals of the Boom project were to create a source port of professional quality, fix bugs and remove limitations of vanilla Doom, and add extra editing features, while keeping the same "feel" and "spirit" of the original Doom engine. The final version of Boom was released on October 22, 1998. The source code for Boom was released in October 1999.
Boom itself only ran under MS-DOS and was developed using DJGPP, the DOS port of gcc. The code was later ported to other operating systems.
Boom can be viewed as a much more conservative source port than some others because of its strong emphasis on maintaining the original feel of the Doom engine. While many contemporary source ports concentrated on adding Quake-like features (such as a console, restructuring menus, or adding impressive new graphical features), Boom behaves very similarly to the original Doom executable. Many of the changes made in Boom are not immediately visible, such as the removal of limits (e.g. the visplane limit error) and the addition of editing features which, while immensely useful to level designers, may not be obvious to the player.
A large number of WAD files have been developed which require Boom to run. Because of the attractive editing features provided by Boom, many popular source ports have adopted support for these features. This has led to the term "Boom-compatible engine": such WADs may run on many different source ports provided that the source port used supports the Boom editing extensions.
Features
- Removal of engine limits and bugs. This includes the visplane limit, the tutti-frutti and medusa effects, the savegame size limit, the venetian blind crash, and many others.
- Optimizations to the engine.
- New editing features. These include:
- Configurable animated and switch textures.
- Deep water effects.
- Scrolling walls, floors, and ceilings, including support for conveyor belts.
- Translucent walls and sprites.
- Friction effects, such as mud and ice.
- Custom colormaps (which can provide, for example an underwater blue "tint").
- Silent teleporters, which can be useful for fake "room over room" effects.
- Elevators which move the floor and ceiling of a sector together.
- Generic linedef types - a particular linedef behaviour can be "calculated" using a separate linedef calculator program called TRIGCALC.EXE.
- A DeHackEd extension standard, BEX.
Authors
The primary authors of Boom were:
Derived source ports
After the Boom project ended, several source ports arose which were derived from the Boom source code. These include:
- LxDoom, which later merged with PrBoom, a portable version of Boom.
- MBF, Lee Killough's continuation of his work on the Doom engine.
- Steve Boom, initially meant as a learning experience, it became a port of its own, based on Boom 2.01.
- PrjDoom, the successor of Steve Boom, based on Boom 2.02.
- ReBoom, Adam Bilbrough (Gibbon)'s continuation of the Boom engine to modern systems.
External links
- TeamTNT's Boom website (archived 🗺)
- Download Boom at Doomworld/idgames
- Download Boom source code at Doomworld/idgames
- Interactive HTML version of the Boom reference guide
Source code genealogy | ||
---|---|---|
Based on | Name | Base for |
Final Doom v1.9 | Boom | LinBoom |
LxDoom | ||
MBF | ||
PrBoom | ||
DOSDoom v0.2 | PrjDoom | |
Risen3D | ||
RORDoom | ||
Steve Boom | ||
ReBoom |