All Topics  
Build engine

 

   Email Print
   Bookmark   Link






 

Build engine



 
 
The Build engine is a first-person shooter
First-person shooter

File:Freedoom aaa.pngFirst-person shooter is a Video game genres, featuring a First person , with which the player views the action as if through the eyes of the protagonist and in which the primary element is combat based around shooting....
 engine
Game engine

A game engine is a software system designed for the creation and development of video games. There are many game engines that are designed to work on video game consoles and desktop operating systems such as Microsoft Windows, Linux, and Mac OS X....
 created by Ken Silverman
Ken Silverman

Ken Silverman is a game programmer, best known for writing the Build engine used in Duke Nukem 3D, Shadow Warrior, Blood , and more than a dozen Build engine#Build engine games in the mid- to late-1990s....
 for 3D Realms
3D Realms

'3D Realms' is a video game developer and video game publisher based in Garland, Texas established in 1987. It is best known for popularizing the shareware distribution model and as the creator of franchises on the Personal computer such as Duke Nukem , and also the publisher of other franchises such as Commander Keen and Wolfenstein...
. Like the Doom engine
Doom engine

Doom Engine, also called id Tech 1, is the game engine that powers the id Software video game Doom and Doom II. It is also used by Hexen, Heretic , Strife and Doom WAD#Total conversions, and other games produced by licensees....
, the Build engine represents its world on a two-dimensional
2D computer graphics

2D computer graphics is the computer-based generation of digital images—mostly from two-dimensional models and by techniques specific to them....
 grid using closed 2D shapes called sectors, and uses simple flat objects called sprites to populate the world geometry with objects. It is generally considered to be a 2.5D
2.5D

2.5D is an informal term used to describe visual phenomena which is actually 2D with 3D looking graphics. This is often also called pseudo-3D....
 engine as the basic world geometry is two-dimensional, with an added height component, allowing each sector to have a different ceiling and floor height, and allowing them to be angled along one line of the sector.






Discussion
Ask a question about 'Build engine'
Start a new discussion about 'Build engine'
Answer questions from other users
Full Discussion Forum



Encyclopedia


The Build engine is a first-person shooter
First-person shooter

File:Freedoom aaa.pngFirst-person shooter is a Video game genres, featuring a First person , with which the player views the action as if through the eyes of the protagonist and in which the primary element is combat based around shooting....
 engine
Game engine

A game engine is a software system designed for the creation and development of video games. There are many game engines that are designed to work on video game consoles and desktop operating systems such as Microsoft Windows, Linux, and Mac OS X....
 created by Ken Silverman
Ken Silverman

Ken Silverman is a game programmer, best known for writing the Build engine used in Duke Nukem 3D, Shadow Warrior, Blood , and more than a dozen Build engine#Build engine games in the mid- to late-1990s....
 for 3D Realms
3D Realms

'3D Realms' is a video game developer and video game publisher based in Garland, Texas established in 1987. It is best known for popularizing the shareware distribution model and as the creator of franchises on the Personal computer such as Duke Nukem , and also the publisher of other franchises such as Commander Keen and Wolfenstein...
. Like the Doom engine
Doom engine

Doom Engine, also called id Tech 1, is the game engine that powers the id Software video game Doom and Doom II. It is also used by Hexen, Heretic , Strife and Doom WAD#Total conversions, and other games produced by licensees....
, the Build engine represents its world on a two-dimensional
2D computer graphics

2D computer graphics is the computer-based generation of digital images—mostly from two-dimensional models and by techniques specific to them....
 grid using closed 2D shapes called sectors, and uses simple flat objects called sprites to populate the world geometry with objects. It is generally considered to be a 2.5D
2.5D

2.5D is an informal term used to describe visual phenomena which is actually 2D with 3D looking graphics. This is often also called pseudo-3D....
 engine as the basic world geometry is two-dimensional, with an added height component, allowing each sector to have a different ceiling and floor height, and allowing them to be angled along one line of the sector. The engine renders the world in a way that looks three-dimensional; however, the sizing for perspective only depends on the horizontal distance. This is noticeable in that wall vertices are always straight vertical lines on screen, regardless of the angle of view. This can cause noticeable distortion when looking up and down; as such, most Build games restrict this to a fairly limited range.

Technical features


Sectors

Sectors could be manipulated in real-time; their shape, heights, and slope angles being completely variable, without requiring recalculation of rendering information. This allowed games to have destructible environments, such as those seen in Blood
Blood (computer game)

Blood is a IBM PC compatible game developed by Monolith Productions and distributed by GT Interactive. Released on 31 May, 1997, it utilized the first Build engine from Ken Silverman to feature voxels....
.

Developers of games based on the engine used reserved sprites, often called sector effectors, that when given special tags (numbers with defined meanings), would allow the level designer to make a dynamic world that appeared to be 3D. 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 a player fall through the floor if he walked over it and teleport him 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 a simple 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 corrupted display resulted). This allowed the designers to create, for instance, air ducts that appeared to extend across the top of another room (however doing so could be tricky for designers due to the 2D viewpoint used for much of the editing process). More interestingly, this allowed the designer to create worlds that would be physically impossible (e.g. a door way of a small building could lead into a network of rooms that was larger than the building itself). While all these things made the game appear to be 3D, it wouldn't be until later first-person shooter
First-person shooter

File:Freedoom aaa.pngFirst-person shooter is a Video game genres, featuring a First person , with which the player views the action as if through the eyes of the protagonist and in which the primary element is combat based around shooting....
s, like Quake
Quake

Quake is a first-person shooter computer game that was released by id Software on June 22, 1996. It was the first game in the popular Quake of computer and video games....
, that the engine actually stored the world geometry as true 3D information.

Voxels

Later versions of Ken's Build engine allowed game selected art tiles to be replaced by 3D objects made of voxel
Voxel

A voxel is a volume element, representing a value on a regular grid in 3D computer graphics space. This is analogous to a pixel, which represents 2D computer graphics image data....
s. This feature appeared too late to be used in Duke Nukem 3D
Duke Nukem 3D

Duke Nukem 3D is a first-person shooter video game developed by 3D Realms and published by Apogee Software. It was released on January 29, 1996....
 but was seen in several of the later Build engine games. Blood
Blood (computer game)

Blood is a IBM PC compatible game developed by Monolith Productions and distributed by GT Interactive. Released on 31 May, 1997, it utilized the first Build engine from Ken Silverman to feature voxels....
 uses voxels for weapon and ammo pickups, powerups, and occasionally eye-candy (such as the tombstones in the Cradle to Grave level). Shadow Warrior
Shadow Warrior

Shadow Warrior, often known by its initials SW, is a first-person shooter Video game featuring Lo Wang, a master ninja assassin or "Shadow Warrior", developed by 3D Realms and released on May 13, 1997 by GT Interactive....
 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) and even a rudimentary 3D enemy mode that can be toggled via the F5 key, and replaces all of the game's enemy sprites with voxels. This is extremely buggy, and seems to be little more than an unfinished test mode.

For several years Ken has been working on a modern engine based entirely on voxels, known as Voxlap.

Room over room

Several Build engine games used a trick involving rendering multiple times to draw two sectors that were joined floor to ceiling. As building the sectors over top of each other was not really feasible due to limitations of the editor, the sectors could either be moved at map load time (which made calculations during the game simpler), or left where they were. The two best known games to use this trick were Shadow Warrior (which moved the sectors at map load time) and Blood (which did not). This was not a feature of the Build engine but rather a trick that was discovered by game developers.

Build engine games


Though the Build engine achieved most of its fame as a result of powering the classic first person shooter Duke Nukem 3D
Duke Nukem 3D

Duke Nukem 3D is a first-person shooter video game developed by 3D Realms and published by Apogee Software. It was released on January 29, 1996....
, it was used for many other games. It is usually considered that the "Big Four" Build engine games are Duke Nukem 3D
Duke Nukem 3D

Duke Nukem 3D is a first-person shooter video game developed by 3D Realms and published by Apogee Software. It was released on January 29, 1996....
, Shadow Warrior
Shadow Warrior

Shadow Warrior, often known by its initials SW, is a first-person shooter Video game featuring Lo Wang, a master ninja assassin or "Shadow Warrior", developed by 3D Realms and released on May 13, 1997 by GT Interactive....
, Blood
Blood (computer game)

Blood is a IBM PC compatible game developed by Monolith Productions and distributed by GT Interactive. Released on 31 May, 1997, it utilized the first Build engine from Ken Silverman to feature voxels....
 and Redneck Rampage
Redneck Rampage

Redneck Rampage is a 1997 in video gaming first-person shooter game designed by Xatrix Entertainment and published by Interplay Entertainment....
.
  • Games that were built directly on the Build engine.
    • Blood
      Blood (computer game)

      Blood is a IBM PC compatible game developed by Monolith Productions and distributed by GT Interactive. Released on 31 May, 1997, it utilized the first Build engine from Ken Silverman to feature voxels....
       (1997)
    • Duke Nukem 3D
      Duke Nukem 3D

      Duke Nukem 3D is a first-person shooter video game developed by 3D Realms and published by Apogee Software. It was released on January 29, 1996....
       (1996)
    • PowerSlave (Exhumed in Europe) (1996)
    • Shadow Warrior
      Shadow Warrior

      Shadow Warrior, often known by its initials SW, is a first-person shooter Video game featuring Lo Wang, a master ninja assassin or "Shadow Warrior", developed by 3D Realms and released on May 13, 1997 by GT Interactive....
       (1997)
    • William Shatner
      William Shatner

      William Alan Shatner is a Canadian double Emmy-, Golden Globe- and Saturn Award-winning actor and novelist. He gained worldwide fame and became a cultural icon for his portrayal of James T....
      's TekWar
      (1995)
    • Witchaven
      Witchaven

      Witchaven is a computer game developed using an early version of 3D Realms' Build engine. Although technically a first-person shooter, the game had distinct role-playing and fantasy elements to it, including character progression and a focus on hand-to-hand combat....
       (1995)
    • Witchaven II: Blood Vengeance (1996)
  • Games that were based on the Duke Nukem 3D code
    • Extreme Paintbrawl
      Extreme Paintbrawl

      Extreme Paintbrawl is a paintball game released for the Personal computer on October 20, 1998. The game uses a modified version of the Duke Nukem 3D: Atomic Edition v1.5 executable....
       (1998)
    • NAM (1998)
    • Redneck Deer Huntin' (1998)
    • Redneck Rampage
      Redneck Rampage

      Redneck Rampage is a 1997 in video gaming first-person shooter game designed by Xatrix Entertainment and published by Interplay Entertainment....
       (1997)
    • Redneck Rampage Rides Again (1998)
    • WW2 GI (1999)
  • Unreleased Build games
    • Legend of the Seven Paladins (completed but never released, used the Build engine illegally)
    • Fate (not completed, only a demo exists)
    • Corridor 8: Galactic Wars (never released, source code available)


Source release and further developments


On June 20, 2000 (according to his website) Ken Silverman released the Build engine source code
Source code

In computer science, source code is any collection of statements or declarations written in some human-readable computer programming language....
.

Early days

Version 2.0—the only official binary release of Matt Saettler's Eduke, a project to improve Duke Nukem 3D
Duke Nukem 3D

Duke Nukem 3D is a first-person shooter video game developed by 3D Realms and published by Apogee Software. It was released on January 29, 1996....
 for modders
Modding

Modding is a slang expression that is derived from the verb "wiktionary:modify". The term can refer to the act of modifying a piece of hardware or software or anything else for that matter, to perform a function not originally conceived or intended by the designer....
—was sent to 3D Realms for packaging. Unfortunately, it was sent just after the release of the build source and hence Duke Nukem 3D was stuck with the build libraries that 3D Realms had used in 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
Mapster

Mapster is an enhanced version of the Build Editor, the level editor for computer games using the Build Engine, including Duke Nukem 3D and Shadow Warrior....
 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
Virtual memory

Virtual memory is a computer system technique which gives an application program the impression that it has contiguous working memory , while in fact it may be physically fragmented and may even overflow on to disk storage....
 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. Not long afterwards, both Ryan C. Gordon and Jonathon Fowler created and released ports. It was possible to play Duke Nukem 3D well on the NT line of Windows (including Windows 2000/XP) and on Linux
Linux

Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL license...
 and other Unix
Unix

Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....
 Operating Systems, and interest in the ports soared.

icculus.org port

Ryan C. Gordon (icculus), with the help of others, made the first port of the engine using SDL
Simple DirectMedia Layer

Simple DirectMedia Layer is a cross-platform, free and open source software multimedia Library written in C that presents a simple interface to various platforms' computer graphics, sound, and input devices, allowing a developer to write a Personal computer game or other multimedia application that can run on many operating systems includi...
. The port was first to Linux
Linux

Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL license...
, then to Cygwin
Cygwin

Cygwin is a Unix-like environment and command-line interface for Microsoft Windows. Cygwin provides native integration of Windows-based applications, data, and other system resources with applications, software tools, and data of the Unix-like environment....
 and finally to a native Windows build using the Watcom C++
Watcom

Watcom International Corporation was founded in 1981 by three former employees of the Computer Systems Group at the University of Waterloo, in Waterloo, Ontario, Ontario, Canada....
 compiler, which was the compiler used for the original DOS build. (Despite being compiled with Watcom C++, Build is plain C.) There was some talk of Matt Saettler using this to port Eduke to Windows, but nothing came of it.

JonoF port

A second port was made to Windows, and later to Linux, by Jonathon Fowler (JonoF). This port didn't have network game support until much later, and then only worked with two players.

Polymost

The task of updating the Build engine to a true 3D renderer was taken on by Silverman himself. In the for JFDuke3D, 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."
The Polymost renderer allowed for 3D hardware-accelerated graphics using OpenGL
OpenGL

OpenGL is a standard specification defining a cross-language cross-platform Application programming interface for writing applications that produce 2D computer graphics and 3D computer graphics....
. 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, JFSW, and ports derived from their codebases.

Other ports

The source for Eduke 2.0 was released, but it took a while because some people had problems compiling the archived source. This was merged with the JonoF port of Duke Nukem 3D, and many features from 2.1 and various other Eduke branches were added by TerminX to make Eduke32. Another port based on the icculus code, Wineduke, has since died off, leaving Eduke32 the only Eduke port still in development.

Source for the last private beta of Eduke 2.1 (which never made it to a release version) was also released soon after the EDuke 2.0 source.

Eduke contained the code from Nam and WW2 GI so these could probably be made to work with it without too much effort, but there do not seem to be any current projects that do so. The Transfusion project aimed to re-create Blood
Blood (computer game)

Blood is a IBM PC compatible game developed by Monolith Productions and distributed by GT Interactive. Released on 31 May, 1997, it utilized the first Build engine from Ken Silverman to feature voxels....
 in the DarkPlaces
DarkPlaces

DarkPlaces is a mod and a source port based on the computer game Quake. It adds enhanced network code, with asynchronous delta compression inspired by Tribes networking, a built in server browser, real time lighting and bump mapping, makes use of the OpenGL Shading Language and supports Ogg Vorbis....
 engine, but as of 2006, this project is far from complete.

The Shadow Warrior
Shadow Warrior

Shadow Warrior, often known by its initials SW, is a first-person shooter Video game featuring Lo Wang, a master ninja assassin or "Shadow Warrior", developed by 3D Realms and released on May 13, 1997 by GT Interactive....
 source was released on April 1, 2005, and JonoF released a port of it on April 2, 2005. However, he that he had access to the Shadow Warrior source code about a week before its release.

The source codes of Witchaven
Witchaven

Witchaven is a computer game developed using an early version of 3D Realms' Build engine. Although technically a first-person shooter, the game had distinct role-playing and fantasy elements to it, including character progression and a focus on hand-to-hand combat....
, Witchaven II
Witchaven II

Witchaven II: Blood Vengeance is the sequel to Witchaven which was released in 1996 by Capstone Software and used Duke Nukem 3D-fame Build engine....
, Tekwar and Corridor 8 have also been released. The legal status of these releases, however, is unclear.

External links