Build (game engine)
![]() | |
![]() Screenshot showing Build in 2D mode | |
Developer(s) | Ken Silverman |
---|---|
Initial release | September 30, 1995 |
Repository | advsys |
Successor | Build 2 |
License | Source-available[1] |
Website | advsys |
The Build Engine is a first-person shooter engine created by Ken Silverman, author of Ken's Labyrinth, for 3D Realms. Like the Doom engine, the Build Engine represents its world on a two-dimensional grid using closed 2D shapes called sectors, and uses simple flat objects called sprites to populate the world geometry with objects.
The Build Engine is generally considered to be a
Though the Build Engine achieved most of its fame from powering the
, it was also used for many other games.Technical features
Sectors
Sectors are the building blocks of a level's layout, consisting of a two-dimensional
Developers of games based on the engine used special reserved "sprites" (game objects), often called "sector effectors [sic]", that, when given special tags (numbers with defined meanings), would allow the level designer to construct a dynamic world; similar tag information could be given to the sector walls and floor area to give a sector special characteristics. For example, a particular sector effector may let players fall through the floor if they walk over it and teleport them to another sector; in practice, this could be used to create the effect of falling down a hole to a bigger room or creating a body of water that could be jumped into to explore underwater. A sector could be given a tag that made it behave like an elevator or lift.
Sectors could overlap one another, provided they could not be seen at the same time (if two overlapping sectors were seen at the same time, a
Voxels
Later versions of Ken Silverman's Build Engine allowed game selected art tiles to be replaced by 3D objects made of voxels. This feature appeared too late to be used in Duke Nukem 3D, but was seen in some of the later Build Engine games. Blood uses voxels for weapon and ammo pickups, power-ups, and eye-candy (such as the tombstones in the "Cradle to Grave" level, some chairs, and a crystal ball in "Dark Carnival"). Shadow Warrior makes even more advanced use of the technology, with voxels that can be placed on walls (all of the game's switches and buttons are voxels).
For several years, Ken worked on a modern engine based entirely on voxels, known as
Room over room
One limitation of the Build Engine is that its level geometry is only capable of representing one connection between sectors for any given wall. Due to this, a structure as simple as a shelf with space both above and below it is impossible, though sometimes sprites or voxels can be substituted. Buildings with several floors are technically possible, but it is not possible for such a building to contain an external window directly above or below another window. In addition, some liberties will need to be taken with the staircases, elevators, and other methods of access for each floor.
Several Build Engine games (namely Shadow Warrior, Blood, and Redneck Rampage) worked around this by displaying a "viewport" to another sector through an additional rendering pass. This technique, called
In 2011, a feature was added to EDuke32 called true room over room (TROR), which allows multiple sectors to be stacked vertically so that each sector's wall has its own connection, enabling vertically-unrestricted structures. The difference between ROR and TROR is that TROR sectors physically overlap in the map data and editor (allowing for easy creation and visualization), rather than being drawn from separate locations using view portals, hence true room over room. TROR is a feature of the EDuke32 source port, not a game feature or trick.
List of Build Engine games
Games that are built directly on the Build Engine
Year | Title | Developer | Notes |
---|---|---|---|
1994 | Rock'n Shaolin: Legend of Seven Paladins 3D | Accend Inc. | Illegally used an earlier version of the engine, only released in Taiwan and South Korea.[4][5] |
1995 | Witchaven[2] | Capstone Software | |
William Shatner's TekWar[2] | |||
1996 | Duke Nukem 3D[6] | 3D Realms | Also Plutonium PAK, Atomic Edition, Duke!ZONE II, Xtreme, Duke it Out in D.C., Life's a Beach and Nuclear Winter expansions. |
PowerSlave | Lobotomy Software | ||
Witchaven II: Blood Vengeance | Capstone Software | ||
1997 | Blood[6] | Monolith Productions | Also Plasma Pak and Cryptic Passage expansions. |
Shadow Warrior[6] | 3D Realms | Also Twin Dragon and Wanton Destruction expansions. | |
2024 | Skilander | Hackers and Hiihtoliitto | Released at the Revision 2024 gamedev competition.[7][8] |
Games that are based on the Duke Nukem 3D code
Year | Title | Developer | Notes |
---|---|---|---|
1997 | Redneck Rampage | Xatrix Entertainment
|
Also Suckin' Grits on Route 66 expansion. |
1998 | Redneck Rampage Rides Again | ||
Redneck Deer Huntin' | |||
Extreme PaintBrawl | Creative Carnage | ||
NAM | TNT Team | ||
Liquidator[9] | Akella | Illegally used the engine, only released in Russia. | |
1999 | WWII GI | TNT Team | Also WWII GI: Platoon Leader expansion. |
2019 | Ion Fury | Voidpoint | via EDuke32 .
|
2022 | A.W.O.L.[10] | Shotspark Studios |
Unreleased Build Engine games
- Fate (unfinished, only a demo exists)
- Corridor 8: Galactic Wars (unfinished, source code is available)
- Shadow Warrior: Deadly Kiss (unreleased, screenshots were released in January 1998)
Development
The Build Engine was essentially a one-man project for Ken Silverman, though he consulted John Carmack for guidance early in the project.[3] Silverman was hired by 3D Realms on the basis of his demo for Build. Though he continued to refine the engine after becoming employed at 3D Realms, according to Silverman he never teamed with any other 3D Realms employees on the project and was never directed to tailor the engine towards any particular game.[2]
Source release and further developments
On June 20, 2000 (according to his website) Ken Silverman released the Build Engine
Early days
Version 2.0 of Matt Saettler's EDuke, a project to improve Duke Nukem 3D for modders, was sent to 3D Realms for packaging shortly after the release of the Build source, leaving Duke Nukem 3D the pre-built libraries that 3D Realms had used with the original Duke. (Both Duke Nukem 3D and EDuke were still closed-source at this point.)
With the 2.1 private betas, Saettler worked towards integrating Silverman's build source into the Duke source code, but the project fizzled out before producing anything more than some very buggy private betas. A few total conversion teams for Build games decided to work from Silverman's Build code directly, and an enhanced version of the Build editor known as Mapster was also developed.
It was claimed at the time by many on the 3D Realms forums that it would be impossible to port Build to a multitasking OS, as it needed a large contiguous block of memory that wouldn't be available in a multitasking environment. This statement did not hold up to scrutiny, as all modern operating systems use virtual memory which allows apps to get contiguous logical memory without using contiguous physical memory, but conventional wisdom of the time was that porting Build to such an OS was unfeasible.
Duke Nukem 3D source release
On April 1, 2003, after several years of claims to the contrary, 3D Realms released the source code to Duke Nukem 3D under the GPL-2.0-or-later license. Not long afterwards, both Ryan C. Gordon and Jonathon Fowler created and released source ports of the game, including the Build Engine. It was possible to play Duke Nukem 3D well on the NT line of Windows (including Windows 2000/XP) and on Linux and other Unix operating systems, and interest in the source ports soared.
icculus.org port
JonoF port
A second source port was made to Windows, and later to Linux and Mac OS X, by Jonathon Fowler (JonoF). This port, JFDuke3D, initially did not have network game support, though this was added later in development. After a long period of dormancy it was put on GitHub in 2020 and received updates in 2021 and 2024.[14][15][16] He also ported the Ken-Build test game.[17]
Polymost
The task of updating the Build Engine to a true 3D renderer was taken on by Silverman himself. In the release notes for Polymost, he wrote: "When 3D Realms released the Duke Nukem 3D source code, I thought somebody would do a OpenGL or Direct3D port. Well, after a few months passed, I saw no sign of somebody working on a true hardware-accelerated port of Build, just people saying it wasn't possible. Eventually, I realized the only way this was going to happen was for me to do it myself."[18]
The Polymost renderer allowed for 3D hardware-accelerated graphics using OpenGL. It also introduced "hightile", a feature that made it possible to replace the game's original textures with high-resolution replacements in a variety of formats. Polymost has been utilized in Jonathon Fowler's JFBuild, JFDuke3D, JFShadowWarrior, and source ports derived from their code bases.
EDuke32
The source for EDuke 2.0 was later[when?] released, followed by the source for the last private beta of EDuke 2.1 (which never made it to a release version). Richard Gobeille (TerminX) merged the EDuke 2.0 source with JFDuke3D to make EDuke32. Another port, Wineduke, based on the icculus code, has since died off, leaving EDuke32 the only EDuke port still in development.[19]
EDuke32 also supports the games NAM and WWII GI, as EDuke was based on the code to those games.
Polymer
On April 1, 2009, an OpenGL shader model 3.0 renderer was revealed to have been developed for EDuke32, named Polymer to distinguish from Ken Silverman's Polymost. At first it was thought to be an April Fools' joke, but the renderer was later made public. It allows for more modern effects such as real-time dynamic colored lighting and shadow mapping, specular and normal mapping, and other shader-based features in addition to most of the features added to Polymost over the years. Although Polymer is completely usable, it is technically incomplete and unoptimised, and is still in development. The developers of EDuke32 have stated that once Polymer has been rewritten for speed, it will supplant Polymost completely, as it is a superior renderer, and can be made to look identical to Polymost.
Other game ports
Developer(s) | Alexander "[M210]" Makarov |
---|---|
Initial release | January 12, 2018 |
Stable release | 1.16
/ December 5, 2021 |
GNU GPL v2 | |
Website | m210 |
The Shadow Warrior source code was released on April 1, 2005 under the GPL-2.0-or-later license, and JonoF released a source port of it, JFShadowWarrior, on April 2, 2005.[20] However, he admitted that he had access to the Shadow Warrior source code about a week before its release.[21] The port was left in a partially incomplete state, before being put on GitHub in 2020 and receiving updates in 2021 and 2024. The earlier version was later forked by Ben "ProASM" Smit for the SWP port.[22] An icculus port of Shadow Warrior was started, but remained alpha.[23] A VoidSW port by the Ion Fury and EDuke32 developers entered public beta on May 21, 2020.[24] A fork from an earlier version, called IcedSW, by Justin "IceColdDuke" Marshall also exists.[25]
The Transfusion project aimed to re-create
The source code of Witchaven, Witchaven II: Blood Vengeance, William Shatner's TekWar, and Corridor 8: Galactic Wars have also surfaced. The legal status of these, however, is unclear, though the derived EGwhaven patches for Witchaven were included in the game's Steam and GOG.com re-releases.[42] JonoF released ports for Witchaven and TekWar on March 3, 2024;[43] with derived ETekWar and EWitchaven ports also prototyped.[44] The full source code for various alpha versions of Blood have also leaked over time.[45]
This was then used as a reference for an otherwise
A further port of Blood, called NBlood, was released in January 2019 by Alexey "Nuke.YKT" Khokholov based on EDuke32,
Successor
After multiple attempts to design a successor to Build, Silverman again began experimenting with such an idea in 2006. He used this work - now called Build 2 - while teaching 3D game programming to children at a summer camp from 2007 until 2009, and work continued until 2011 when he lost interest in the project. It features a more advanced lighting system, voxel rendering for entities and true room-over-room 3D spaces, and at least in part retained backwards compatibility with the original Build. Silverman released his drafts to the public on March 7, 2018.[58][59] The source code was published under a proprietary non-commercial license on June 8, 2019.[60]
References
- ^ a b "buildlic.txt". 2000-06-20. Archived from the original on 2017-05-12.
- ^ a b c d e f Rule, Duncan (Summer 2009). "Building Classics". Retroaction. No. 2. pp. 8–15. Retrieved 26 December 2021.
- ^ Rock, Paper, Shotgun.
- Clint Basinger [@lazygamereviews] (June 11, 2017). "As a result, Legends of the Seven Paladins (illegally) became the first Build Engine game, using code they didn't have the rights to" (Tweet). Retrieved 2022-09-16 – via Twitter.
- ^ "TWIM". A History of Korean Gaming. Hardcore Gaming 101. Retrieved 2017-07-01.
- ^ Imagine Media. October 1995. pp. 99–102.
- ^ "Demozoo". Revision 2024 results - Demozoo. Retrieved 2024-05-17.
- ^ "Pouet.net". Skilander by Hackers & Hiihtoliitto - Pouet.net. Retrieved 2024-05-17.
- ^ Eddy, Zykov (2013-06-12). "The Liquidator". RTCM - EDuke32 Duke3D Mod Reviews. Retrieved 2023-03-21.
- ^ Dawe, Liam (2022-09-16). "A.W.O.L. is a new FREE retro FPS using the Build Engine (Duke Nukem 3D, Ion Fury)". GamingOnLinux. Retrieved 2023-03-15.
- ^ "Ken Silverman's Build Engine Source Code Page". Retrieved July 7, 2008.
- icculus.org. Retrieved 2024-05-15.
- icculus.org. Retrieved 2024-05-15.
- ^ Fowler, Jonathan. "JFDuke3D". JonoF's Games and Stuff. Retrieved 2024-05-15.
- ^ "JonoF's Duke Nukem 3D Port (JFDuke3D)". FPS Ports. Archived from the original on 2023-06-10. Retrieved 2024-05-15.
- ^ "JFDuke3D". Linux Format. Summer 2020. Retrieved 2024-05-15.
- ^ Fowler, Jonathan. "JFBuild". JonoF's Games and Stuff. Retrieved 2024-05-15.
- ^ Fowler, Jonathon (October 9, 2005). "Release Notes for JFDuke3D". JonoF's Games and Stuff. Archived from the original on June 17, 2014.
- ^ "WinEDuke". FPS Ports. Archived from the original on 2023-01-30. Retrieved 2024-05-16.
- ^ "Shadow Warrior Feature". Captain Williams. Retrieved 2023-03-21.
On April 1, 2005 3D Realms released the source code for SW's engine under GPL. The timing of the source release lead to believe it was an April fools joke, it spawned its first source port a day later entitled JFShadowWarrior and had the improvements of JFDuke3D and Linux support.
- ^ Fowler, Jonathon (3 April 2005). "JFShadowWarrior". JonoF's. p. 1. Archived from the original on 2007-11-06. Retrieved 3 August 2011.
…I [JonoF] did have a week head start…
- ^ Royko, Vaughn (2006-03-01). "Shadow Warrior (PC) - OpenGL Port". The Gamer's Journal. Retrieved 2023-03-20.
- icculus.org. Retrieved 2024-05-15.
- ^ "Shadow Warrior". Nuku's Collage of Life. 2022-04-01. Retrieved 2023-03-21.
- ^ Marshall, Justin. "SW Iced Port". Retrieved 2024-05-16.
- ^ Von Kallenbach, Gareth (2003). "Devoted to the cause - Blood Transfusion to save aging game". Game Industry News. Archived from the original on 2003-04-08.
- ^ Sledge (2017-04-07). "BloodCM – Blood v Eduke32". High Voltage. Retrieved 2023-03-23.
- ^ Bardin, Maxim (2009-11-09). "I Live, Again..." Linux Gaming News. Retrieved 2023-02-19.
- ^ "Play Redneck Rampage on Windows Vista, 7 or 8". Play Old PC Games. 2013-03-21. Retrieved 2023-03-19.
- ^ Blondeau, Bella (2020-10-08). "Doom Nukem? Modder Brings Duke To Doom". The Gamer. Retrieved 2024-05-10.
- ^ Reuben, Nic (2020-10-07). "Duke Nukem while you Doom with this crossover mod". PCGamesN. Retrieved 2024-05-10.
- ^ Papadopoulos, John (2020-10-07). "Duke Nukem 3D Total Conversion Mod for Doom Version 1.06 Released". DSOGaming. Retrieved 2024-05-10.
- ^ "Shadow Warrior Total Conversion". GamingRoom.NET. 2016-09-17. Retrieved 2024-05-09.
- ^ "Doomed Redneck". GamingRoom.NET. 2023-03-17. Retrieved 2024-05-09.
- ^ "Re-Blood". Kotaku. Retrieved 2024-05-10.
- ^ "Re-PowerSlave". GamingRoom.NET. 2024-01-17. Retrieved 2024-05-09.
- ^ Galekovic, Filip (2019-08-15). "VietDOOM is Apocalypse Now in DOOM". Game Watcher. Retrieved 2024-05-10.
- ^ Gera, Emily (2019-08-15). "VietDoom is the love-child of Apocalypse Now and id Software". VG247. Retrieved 2024-05-10.
- GamingOnLinux. Retrieved 2024-05-10.
- ^ Ek, Robin (2019-08-26). "Sergeant Mark IV is working on a Vietnam war inspired "Doom II" mod called "VietDoom"". Retrieved 2024-05-10.
- ^ "Fate". Obscure Game Aesthetics. Retrieved 2024-05-10.
The only remaining part of the game is a 4-level demo with 7 weapons and 10 enemies, released just before IntraCorp's closure.... There's also a mod called Fatedoom that transports the demo's content into Doom.
- ^ SNEG. "Witchaven II: Blood Vengeance". Steam. Retrieved 2024-05-12.
You're getting two builds: patched (Enhanced) and retail (Original) for those of you who prefer an unaltered experience as a bonus. Both builds are running on DOSBox with a custom configuration tool. The Enhanced build features fixes introduced in EGwhaven, a must-have community project, which addresses an array of bugs and issues with the game (we'd like to thank ETTiNGRiNDER for the contribution to this release). Additionally, the controls are re-mapped to what you'd expect to see as a default in a first-person game nowadays.
- ^ Fowler, Jonathan. "JFTekWar and JFWitchaven". JonoF's Games and Stuff. Retrieved 2024-05-15.
- ^ "NBlood / Rednukem / PCExhumed binaries". Duke4. Retrieved 2024-05-16.
- ^ Litchfield, Ted (2023-01-05). "The Duke Nukem Forever leaker just dropped the source code for another beloved '90s FPS". PC Gamer. Retrieved 2023-11-12.
- ^ Alex Walker (2017-05-23). "You Can Play The Original Blood Using Java Now". Kotaku. Retrieved 2020-08-15.
- ^ Tarason, Dominic (2018-02-19). "William Shatner's Tekwar lives again... for some reason". Rock Paper Shotgun. Retrieved 2023-03-20.
- ^ Tarason, Dominic (2018-09-10). "Redneck Rampage looks smarter but feels as dumb as ever with this modern port". Rock Paper Shotgun. Retrieved 2023-03-20.
- ^ Papadopoulos, John (2018-09-11). "RedneckGDX is a Java port for Redneck Rampage, offering better mouse support, OpenGL renderer and more". DSOG. Retrieved 2023-03-19.
- ^ Liam Dawe. "Raze - a new open source fork of EDuke32 backed by GZDoom tech". GamingOnLinux. Retrieved 2023-03-19.
One of the team said to think of it a bit like BuildGDX, as Raze "shares the renderer, the sound system and the input/system interface code across games".
- ^ "Duke Nukem 3D (with BuildGDX engine)". The Linux Game Book. Retrieved 2023-03-20.
- ^ Liam Dawe. "NBlood, an open source port of the classic FPS 'Blood' using EDuke32". GamingOnLinux. Retrieved 2020-08-15.
- ^ "Redneck series (with Rednukem engine)". The Linux Game Book. Retrieved 2023-03-20.
- ^ "Duke Nukem 3D (with Rednukem engine)". The Linux Game Book. Retrieved 2023-03-20.
- ^ Liam Dawe. "Exhumed/PowerSlave can now be played easily with a cross-platform game engine". GamingOnLinux. Retrieved 2022-03-19.
- ^ Liam Dawe. "Raze - a new open source fork of EDuke32 backed by GZDoom tech". GamingOnLinux. Retrieved 2020-08-15.
- ^ TheGuardian (2022-11-17). "PS Vita Release: jfblood-vita (Blood port)". Wololo.net. Retrieved 2024-05-15.
- Rock, Paper, Shotgun. p. 1. Retrieved 23 June 2018.
- Gamasutra. p. 1. Retrieved 23 June 2018.
- ^ "BUILD2 Demo and Tools". advsys.net. Retrieved 2019-08-22.