Build

From Blood Wiki
Jump to: navigation, search
Build Logo

"Build, the powerful 3D Realms game engine written by Ken Silverman, boasts some of the hottest features available in a 3D game."
--Blood Website

Build is the 3D rendering engine used in Blood and its expansion packs Cryptic Passage and the Plasma Pak. It was created by Ken Silverman under contract by 3D Realms (legally called Apogee). 3D Realms used this engine in its games Duke Nukem 3D and Shadow Warrior which used similar game play styles as Blood; Build has also been used in a variety of other games. It was contracted to Monolith Productions when they purchased the rights to Blood and QStudios, who originally bought it from 3D Realms.

Details[edit]

The MAPEDIT program showing "CP09: Castle"

The Build engine renders its world on a two-dimensional grid using closed 2D shapes called "sectors" and simple flat objects called "sprites" to populate the world geometry with objects. It is generally considered to be a 2.5D engine, since the basic world geometry is two-dimensional with an added height component, as each sector may have a different ceiling and floor height, and the ceiling and floor may be angled along one line of the sector. However the final result is that the world looks three-dimensional due to the way the engine renders it. The version of the Build engine used in Blood also makes use of the voxel technology for weapon/ammo pickups, power ups and occasionally decorations, such as the tombstones in the first level of episode one, "Cradle to Grave".

Development[edit]

"I wrote the Build Engine. I visited the team in Redmond 3 times, each for about a week. During those times, I worked closely with the programmers - Nick Newhard and Peter Freese. Those guys also visited Texas in 1995 for about 2 weeks. I was mostly helping them fix bugs related to the engine. I helped them to implement network code. The room over room effect was something I started collaboratively with Nick."
--Ken Silverman

Ken Silverman working in 1994
"The History of Ken Silverman's Build Engine" - YouTube

The development of the version of Build used in Blood was mostly conducted by Peter Freese and Nick Newhard in combination with Ken Silverman who visited the QStudios team two times, and once at the Monolith Productions offices. The Blood team also visited him once in Texas in 1995, where he was working with 3D Realms, and Newhard regularly called Silverman whilst he was in his first semester of college. On the split between 3D Realms and Monolith, Silverman commented:

"You would have to ask Scott Miller, George Broussard, or Jason Hall about the specific reasons for the split-up [between Monolith and 3D Realms]. From what I hear, things weren't working out very well - they disagreed on what would make a good game. I visited the Blood team a total of 3 times - the final time was at the Monolith office."
--Ken Silverman

Silverman has stated his final views on the big three games built on the engine thus:

"I like Duke Nukem 3D for being the first big title and the one that paved the way. I like Shadow Warrior for having the cleanest code and Blood for having the best artwork."
--Ken Silverman

After the source code of many game engines had been released by their respective owners, an intense fan campaign called for the release of the Blood source code (see: Blood Source Campaign)

Blood indoors
Blood outdoors

File Types[edit]

File types used with the original Blood and its various commercial and fan made add-ons.

CFG[edit]

Configuration file that stores display, control and other customizable settings information.

BAT[edit]

Batch file scripting used to store DOS commands, such as loading a set custom map or INI file.

TXT[edit]

Text files are often used for storing background materials, installation instructions, or other pertinent information.

PCK[edit]

A modem string file for use with network mutliplayer and storing INIT strings.

INI[edit]

Initialization file; often used to store information pertinent to structuring episodes, such as level order, names, music, authors, messages, etc.

Launched via the command parameter: "blood -ini example.ini"

MAP[edit]

Stores sector data for map construction, as well as tagging points and object placements.

Launched via the command parameter: "blood -map example.map"

ART[edit]

Stores information pertaining to textures, sprites and so forth.

RFF[edit]

TBD

INS[edit]

Used for storing information related to CD audio.

SMK[edit]

Stores pre-rendered video information, such as for the Monolith Productions and GT Interactive logos.

QAV[edit]

Stores information for real-time animations, such as the menus, help screen and weapon animations; modified in the "Weapons Mod".

KVX[edit]

Used to store voxel mappings (3D pixels).

RAW[edit]

A format for storing uncompressed audio.

SEQ[edit]

TBD

DEM[edit]

Stores information for re-playing live game demos. In the early days of the internet, before sharing videos or streams of gameplay was feasible, this is how you shared your gameplay. It store all the player's actions and repeats them, imitating a video.

DAT, TMP, BAK and BME[edit]

Stores generic data of any category. TMP is often used for files that are temporarily moved out the way to be replace by others. BAK is often used for files that are modified, a backup is made just in case the modification process damaged the file. BME is often used by mod developer BME for his mod sets.

MID[edit]

Musical Instrument Digital Interface files for the game's synthesized music.

OGG[edit]

The Good Old Games version of the game uses Ogg Vorbis to store the game's formerly CD audio.

Surface Attributes[edit]

  • 0 = None
  • 1 = Stone
  • 2 = Metal
  • 3 = Wood
  • 4 = Flesh
  • 5 = Water
  • 6 = Dirt
  • 7 = Clay
  • 8 = Snow
  • 9 = Ice
  • 10 = Leaves
  • 11 = Cloth
  • 12 = Plant
  • 13 = Goo
  • 14 = Lava

External Links[edit]

Ken Silverman Interviews[edit]