3d Engine Builder Game

/ Comments off
3d Engine Builder Game Average ratng: 10,0/10 1525 votes


I made this graphic for the intro screen of my Build 'test' game.

For the purpose of this question, a "3D game engine" is defined as a framework for managing game state and behavior, integrated with 3D-specific middleware (at minimum, a rendering engine). This is based on Wikipedia's definition of a game engine, specialized to 3D while taking note of the second paragraph: A game engine is the software, i.e. Some algorithms, solely responsible.

The 2d support is definitely more mature than the 3d, but this is rapidly changing. It's expected to be a competitive 3d engine for indie developers where moving fast and shipping under budget is more important than optimization. The community runs monthly themed game jams and is generally friendly and helpful. The game engine you waited for. Godot provides a huge set of common tools, so you can just focus on making your game without reinventing the wheel. Godot is completely free and open-source under the very permissive MIT license. No strings attached, no royalties, nothing. Your game is yours, down to the last line of engine code.

The Banshee engine is an open source (C) 3D game engine with a full editor, built on top of the bs framework. It also supports C# scripting. It provides Direct X, OpenGL, and Vulkan renderers and the source code is available under the LGPLv3 license. You can learn more about Banshee Engine here. 3D Builder provides everything you need to make 3D content printable. Clean up objects by smoothing and simplifying. Automatically repair objects so you can print them. Use the 3D Scan app to scan yourself in full color. Amazon Lumberyard is a game engine with no royalties or seat fees, frictionless integration with Twitch and AWS, plus much more on the horizon. Download the latest version for free.

On 03/07/2018, Do not hesitate to check out BUILD2!

On 12/23/2003, Jonathon Fowler released the first Build Engine port to use my 'POLYMOST' technology. Polymost is an extension to the Build Engine code, featuring OpenGL support with true look up/down, MD2/MD3 models, and high resolution textures. You can find more information at Jonathon's site: http://www.jonof.id.au/

I found this excellent quote on the Apogee/3DRealms website:
The Build engine, upon which Duke Nukem 3D was constructed, went on to become the most successful engine in terms of number of games released, a record still maintained at the date of this writing (May, 1999), with 12 published games. Notable games developed using the Build engine include Witchaven, TekWar, Shadow Warrior, Blood, PowerSlave and Redneck Rampage.


Maybe you've seen me in the credits of these games (original release dates shown):
Modern releases:
  • 08/15/2019: Ion Fury (VoidPoint,3DRealms): based on modern port of Build: features from JonoF's port, which were later incorporated into EDuke32
Games I was heavily involved with - aka the 'big 3':
  • 01/26/1996: Duke Nukem 3D (3DRealms,GT Interactive)
  • 03/07/1997: Blood (Monolith,GT Interactive)
  • 05/13/1997: Shadow Warrior (3DRealms,GT Interactive)
Games I did limited support for:
  • 07/??/1995: Witchaven (Capstone,Intracorp)
  • 08/??/1995: William Shatner's TekWar (Capstone,Intracorp)
  • 05/??/1996: Witchaven II: Blood Vengeance (Capstone,Intracorp)
  • 12/??/1996: Powerslave / Exhumed (Lobotomy,Playmates Interactive Ent.)
  • 04/23/1997: Redneck Rampage (Xatrix,Interplay)
  • ??/??/1997: Redneck Deer Huntin' (Xatrix,Interplay)
  • 05/31/1998: Redneck Rampage Rides Again (Xatrix,Interplay)
Some other games that I'm aware of:
  • ??/??/1994: Rock'n'Shaolin:Legend of the Seven Paladins 3D (shouldn't have been released)
  • 10/??/1996: Fate (Capstone,Intracorp) (cancelled)
  • 06/??/1998: NAM/Napalm/WWII GI (TNT Team,GT Interactive)
  • 11/??/1998: Extreme PaintBrawl (Head Games,Activision)

For a video history of the Build Engine, with excerpts from most of the above mentioned games, check out this video made by CuteFloor:
http://www.youtube.com/watch?v=VSVzn0F3pyQ

Tired of 320x200? With this, you can play in hi-res again :)

I bought a new computer a few days ago. It came with Windows XP. That means a lot of my old programs that used to work on Windows 98 don't work anymore. I didn't want to reinstall Windows 98.

Here's the problem: When DOS programs initialize the VESA 2.0 linear framebuffer mode, one of the steps (after the screen mode is set) is using DPMI function call (ax=0x800) to map video memory into a linear space. Under WinNT/2K/XP, this call always fails. I don't know why. My programs exit to DOS with this error message: 'DPMI_mapPhysicalToLinear() failed!'. Unfortunately, the screen is usually black or jumbled at this point, so to most people, it looks like a crash. (If you don't believe me, type 'duke3d > error.txt' at the command prompt and look at error.txt after running it :) Here's my workaround:

NOLFB.ZIP (1,350 bytes) A TSR that patches the VESA driver by fooling DOS programs into thinking the VESA 2.0 linear framebuffer modes aren't supported. Source code is included. You must run this program at the command prompt. Double-clicking on NOLFB.COM in the windows explorer will NOT work! If you're unfamiliar with DOS commands, then please follow these instructions:

For my example, I will assume that you have your game installed in the C:DUKE3D directory and a copy of NOLFB.COM extracted into the same directory (also C:DUKE3D). Follow these steps:

  1. Start.. Run.. type 'CMD.EXE' and press enter
  2. At the command prompt, type: 'CD DUKE3D' and press enter
  3. At the command prompt, type: 'NOLFB' and press enter
  4. At the command prompt, type: 'DUKE3D' and press enter
  5. At the command prompt, type: 'EXIT' and press enter

If you have the game installed in a different directory, then you need to modify step 2 so it has the correct directory.

NOTES:

  1. NOLFB will only fix DOS VESA 2.0 applications that have a fallback code that supports the segmented video modes (from VESA 1.2). If the application does not run in segmented video mode, then it will exit with a visible error message instead of a black or jumbled screen.
  2. NOLFB does not add any new VESA modes to your computer! In fact it does just the opposite. If your graphics adapter does not support standard VESA modes (such as 640x480x8) in any DOS application, then this patch will not help you.
  3. Some newer video chipsets (most notably those based on the GeForce4 series) do not support VESA with resolutions above 640x480 under Windows NT/2K/XP. I believe this is due to a conflict between the VESA driver and the operating system and not NOLFB. If your monitor goes into a standby/power-off mode, and you are using a resolution above 640x480, please remember to also try 640x480 mode!
  4. Here's a list of programs I've tested that are fixed by this patch (assuming the above conditions are true): Duke Nukem 3D, Shadow Warrior, most of the Build engine tools, 2Draw, and some demos on my website that are linked to my DOS VESA code: 'VES2.H'.
  5. NOLFB will not do much in Win95/98/ME other than cause the framerates to decrease in games. Use at your own risk!

Has Duke Nukem 3D been crashing predictably whenever you enter certain places in the game? It happens mostly on 'SB Live!' PCI sound cards, but may occur on others as well. Here are some examples of places that crash:

  • Episode 1, Level 2: In the sewer (behind the toilet and under the blown up building)
  • Episode 1, Level 3: Behind the church (after the cross inverts and room turns red)
  • Episode 1, Level 4: Crashes immediately!

I made a little program that fixes this problem. It disables the 'echo' effect by modifying some bytes in DUKE3D.EXE. This patch works for v1.3D (shareware & registered) and v1.5 (Atomic Edition). If you are patching v1.3d (registered), please be aware that this will require you to reinstall from the original CD if you purchase the Plutonium PAK at some point in the future.

DUKSNDFX.EXE (5,654 bytes) Please save this program to your Duke3D game directory and run it from there.

DUKSNDFX.C (5,167 bytes) Source code for hackers.

Known .EXE offsets to the start of this 5-byte sequence:
DUKE3D.EXE from:EXE File size:Hex offset to 5-byte signature (0x2D,0xE8,0x03,0x00,0x00):
v1.0 (Shareware)1,066,391 bytes0x74A29
v1.1 (Shareware)1,076,339 bytes0x75249
v1.3D (Shareware)1,178,963 bytes0x89090
v1.3D (Registered)1,179,131 bytes0x89040
v1.4 (Plutonium Pak)1,240,151 bytes0x8F1E1
v1.5 (Atomic Edition)1,246,231 bytes0x8FE51
v1.5 (Australian version)1,246,231 bytes0x8FE51
v1.5 (Walmart version)1,246,439 bytes0x8FE81

If your version is not listed here, UPGRADE NOW!

Or even better, help me find the offset in your EXE! Look for this 5-byte sequence: 0x2D,0xE8,0x03,0x00,0x00 and replace it with 0xB8,0x00,0x00,0x00,0x00. There will likely be more than one occurence, but you must only patch one (usually the first occurence). If you see a 0xE8 byte soon after the sequence, then it's a good sign. (Sometimes, Watcom C inserts instructions in between, so don't be alarmed if it's not right after the 5-byte sequence)

Exact same fix as above, but for Shadow Warrior! Use this only if Shadow Warrior crashes in these places (among others):

  • Episode 1, Level 1: In the pool
  • Episode 1, Level 1: On the train tracks (near the end of the level)
This program supports ONLY version v1.2 (shareware) and v1.2 (registered) None of the 3dfx versions are currently supported. As a side effect, reverberation will be disabled. If you'd like to make your own patch for a version of Shadow Warrior not supported, look at the instructions at the top of my C file.

SWSNDFX.EXE (5,634 bytes) Please save this program to your Shadow Warrior game directory and run it from there.

SWSNDFX.C (5,537 bytes) Source code for hackers.

These are only some of the highlights. I put the dates I found to be most crucial in the development of the Build engine in this list. The history includes everything from business deals to important features that were added to the engine. Some of the dates were quite hard to find - I had to search through old records to find evidence. In any case, it was a lot of fun to make this list even though it took a whole day out of my life.
  • 11/23/1988: Got my first PC, a 386DX-20 with 1MB dram and VGA graphics as a Bar-Mitzvah gift from my parents
  • 12/18/1988: Wrote my first program in C with significant help from my family
  • 05/05/1992: Wolfenstein 3D 1.0 Released
  • 06/09/1992: Ken's brother, Alan, hogs the computer by playing a new game titled 'Wolfenstein 3D'
  • 06/16/1992: I decide I can win over his time by making my own version, originally titled 'Walken' (Walk + Ken)
  • 10/03/1992: I change the name of the game to Ken's Labyrinth and it is coming along well. My dad convinces me to write to 6 software companies to ask them to sign an NDA to review Ken's Labyrinth. I suggested we add Apogee Software to the list even though they already had the Wolfenstein engine.
  • 10/10/1992: Scott Miller of Apogee Software signs an NDA to evaluate Ken's Labyrinth. As a nice gesture, he includes a registered copy of Wolfenstein 3D.
  • 10/27/1992: Not being satisfied with the responses from the first round of letters, I send letters to 9 other software companies.
  • 10/27/1992: Scott Miller sends a sample shareware contract, showing how their developer rates are generous compared to a typical retail game company.
  • 11/22/1992: I send Scott a 2nd version of Ken's Labyrinth to evaluate.
  • 01/01/1993: Ken's Labyrinth is released to the internet using my brother's 'Advanced Systems' company name
  • 01/13/1993: Ken's dad signs a marketing agreement with Epic MegaGames for Ken's Labyrinth
  • 03/06/1993: Write short Quickbasic program to display the recently released pre-release screenshots of Doom (custom .LBM files).
  • 03/29/1993: 'picrot4.bas': My first attempt at a new style of 3D engine which supports angled walls like in Doom. Since I had no editor, the map was typed in manually in the code. Ceilings & Floors were a solid brown color.
  • 03/30/1993: Scott Miller sends a letter congratulating me on the release of Ken's Labyrinth. He proposes doing a new release of the game through Apogee but with a complete redesign of everything (except for the core engine). He also talks about my desire to write a Doom-style engine (I may have mentioned it during a phone call?). He points out how Id Software is not licensing their Doom engine (at least not at this time).
  • 04/06/1993: Ported 'picrot4.bas' to C using the Ken's Labyrinth wall drawing assembly code: 'picrot4.c' PICture ROTation demo #4 (22,842 bytes) Some people have asked for picrot4.bas, so here it is. The date of the file should say: 03/29/1993, but doesn't because I converted it to text so it would also work in Qbasic PICROT4.BAS (8,125 bytes) Keep in mind that this code is really old, buggy, and not representative of my current work.
  • 04/13/1993: I decided I had enough 'new engine' related files to create a new directory. I just needed to pick a name. I remember using a thesaurus to find synonyms for the word, 'construction' because it had too many syllables. I decided to name the directory 'Build'. The game was called 'build', while the map editor which was in QuickBasic was called 'editbord'. Get the first ever BUILD demo (64,823 bytes)
  • 05/??/1993: Began my first original angled wall / varying height ceiling&floor engine. Maps were still based heavily on the grid concept. I had enough to show off quite an impressive demo before graduating high school in June, 1993. Here's a version of the grid-based BUILD engine (328,199 bytes, 05/08/2019) from late 1993. As a bonus, I also included my editors at the time, full source code. (NOTE: I moved my early QuickBasic prototypes for sectors to BUILDSEC.ZIP)
  • 08/01/1993: Ken gets his first bug/feature request list from George Broussard
  • 08/03/1993: Apogee suggested that I get a new compiler, Watcom C (because Id software was using it for Doom)
  • 08/13/1993: On a family trip to Toronto, Mark Rein of Epic Megagames makes a proposal for Ken's new engine (unsuccessfully) Many years later, this is what Mark had to say about it.
  • 08/18/1993: I compile my first program in Watcom C but I'm worried that I will have to learn all new assembly tricks for 32-bit mode
  • 08/24/1993: Ken signs employment agreement with Apogee Software Productions. A special provision on the contract says that Apogee cannot interfere with Ken's education.
  • 09/01/1993: Ken starts his first year at Brown University
  • 11/??/1993: Ken impresses his CS15 instructor, Andy van Dam (also co-author of the popular book, Computer Graphics, Principles and Practice), by offering him engine demos of Ken's Labyrinth and the latest Build engine. He doesn't get impressed easily!
  • 12/03/1993: Duke Nukem II 1.0 Released (Hmmm.. what should Todd Replogle and Allen Blum do next?)
  • 12/20/1993: Ken finally starts writing a new prototype of his engine using the 'SECTOR' idea after talking with John Carmack on the telephone. Before I was using a grid to find nearby walls and the 'painter's' algorithm to sort the walls front to back. There were a lot of drawing bugs with the old method. Started SECTOR.BAS (included with BUILDSEC.ZIP below).
  • 01/02/1994: SECTOR.BAS renamed to BUILD.BAS and ported to C. Look at the first sector-based Build engine (05/08/2019, 147,760 bytes): now includes 3 different versions of my early QuickBasic prototype, including a SECTOR.BAS dated 12/20/1993!
  • 01/25/1994: Ken files for a leave of absence from Brown (after parents see Ken's first report card)
  • 02/06/1994: Started 'Build Revision History' text file. From this point on, the history turns into mostly engine features.
  • 02/12/1994: Split the editor and game into 2 separate modules: GAME.C and BUILD.C - I decided to make BUILD the name of the map editor
  • 03/??/1994: Here's a nice candid photo (150k) of me in my Rhode Island 'office'. Pictures are worth a 1000 words: see how many objects you can identify!
  • 04/07/1994: Here is an early snapshot of the Build Engine distribution: Build_Apr1994.zip (515,806 bytes, 02/08/2008) At this point, the editor and sample game are looking a lot like the final version. Of course it's missing many of the bells & whistles which were to come. Note: I removed the Doom guy (used only in serial link mode) and 1 wav file to avoid copyright issues.
  • 04/24/1994: Added 'fake' LOOKING UP & DOWN after discovering that it wasn't too difficult to shift the screen up & down. 3 days later, the same effect mysteriously appears in Apogee's other game that they were working on at the time, ROTT. What a coincidence!
  • 05/26/1994: Added TRANSLUCENT sprites
  • 06/24/1994: Discovered a method of reducing communications bandwidth significantly. (A synchronous master/slave network model.)
  • 07/02/1994: First test of a Build game over a MODEM
  • 09/20/1994: Added WALL sprites
  • 09/22/1994: Allowed modification to the Build editor by supporting stub functions (BSTUB.C)
  • 11/29/1994: Added FLOOR sprites
  • 02/01/1995: Made a DOOM to BUILD converter for the first time
  • 02/26/1995: Rewrote network code to send movement packets at a constant interval. Since movements were no longer calculated once per frame, interpolation had to be added to keep the frame rate smooth.
  • 03/28/1995: Serial/modem code in Ken's Build game declared bug-free
  • 04/16/1995: Added 2D texturized MAP VIEW mode
  • 04/26/1995: HI-RES modes now supported in all resolutions
  • 06/07/1995: Designed GROUP file system (.GRP files)
  • 08/29/1995: Finally added SLOPES!
  • 09/14/1995: Added support for VESA 2.0 linear modes
  • 09/14/1995: Designed LRU/MRU-style caching system
  • 12/31/1995: First tested player movement code with no lag over a modem/network
  • 12/31/1995: Ken changes working status from employee to consultant
  • 01/29/1996: Duke Nukem 3D 1.0 Released
  • 02/08/1996: Added VOXEL support (.KVX files)
  • 04/2?/1996: STACKED SECTORS (room over room) first demonstrated in the Build engine
  • 12/31/1996: Ken terminates consulting services with Apogee Software peacefully, and by mutual agreement
  • 01/19/1997: Ken returns to Brown University after a 3-year leave of absence
  • 03/07/1997: Blood 1 Released
  • 05/13/1997: Shadow Warrior 1.0 Released
  • 06/20/2000: Complete Build Engine source code (and Ken-Build game) released on my web site (Actual time of release was at 8:35pm EDT, just before summer solstice, so it was still Spring! :)

BUILD .MAP and .ART format history:

  • ??/??/199?: PICS.DAT -> PICS.ART
  • 04/13/1993: Angled wall only engine (maps abandoned)
  • 05/??/1993: Grid-based angle&height engine (maps abandoned)
  • 12/28/1993: original sector format (maps abandoned)
  • 02/26/1994: PICS.ART -> TILES.ART (convart)
  • 03/02/1994: Build map (versionless) -> Build map version 0 (convmap)
  • ??/??/1994: Build map version 0 -> Build map version 1 (convmap1)
  • ??/??/1994: Build map version 1 -> Build map version 2 (convmap2)
  • 04/04/1994: TILES.ART -> TILES###.ART (convart1)
  • 04/05/1994: Build map version 2 -> Build map version 3 (convmap3)
  • 04/28/1994: Build map version 3 -> Build map version 4 (convmap4)
  • 09/16/1994: Build map version 4 -> Build map version 5 (convmap5)
  • 01/01/1995: Build map version 5 -> Build map version 6 (convmap6)
  • 09/25/1995: Build map version 6 -> Build map version 7 (convmap7)
During the development of the Build engine, I spent over half my time in Rhode Island (my homeland!). I went on a total of 10 'business' trips from 1994 to 1996. The Apogee/3DRealms office (which is located in Garland, Texas) was a destination to all of these flight paths. I also visited Redmond, Washington a few times to help out the Blood team (and also Lobotomy software when they were still working under the Apogee/3DRealms name).

So, how much time exactly did I spend away from home?

    Ken Silverman's Apogee/3DRealms travel summary:
  • 01/21/1994: RI->TX, 01/24/1994: TX->RI
  • 02/18/1994: RI->TX, 03/18/1994: TX->RI
  • 04/22/1994: RI->TX, 05/20/1994: TX->RI
  • 09/09/1994: RI->TX, 10/07/1994: TX->RI
  • 01/19/1995: RI->WA, 01/30/1995: WA->TX, 03/16/1995: TX->RI
  • 05/04/1995: RI->TX, 06/15/1995: TX->RI
  • 08/10/1995: RI->TX, 10/11/1995: TX->RI
  • 02/21/1996: RI->TX, 02/26/1996: TX->RI
  • 04/10/1996: RI->TX, 04/20/1996: TX->WA, 04/29/1996: WA->RI
  • 09/26/1996: RI->WA, 10/07/1996: WA->TX, 10/17/1996: TX->RI
  • Total: 261 days in Texas, 31 days in Washington
Where:
  • RI = East Greenwich, Rhode Island (USA)
  • TX = Garland, Texas (USA)
  • WA = Redmond, Washington (USA)

Any game programming in your future?

For the near future I can tell you that the answer is no. Programming will always be a hobby of mine. Perhaps someday a great idea will come to mind and I won't be able to resist temptation. Until then, I don't know. Who knows - maybe it won't be a game. If I ever do start a new game, you will hear about it on this web site. (http://www.advsys.net/ken)

(07/15/2000): I'm playing around with a new voxel engine, but I don't know if I'll get anywhere with it. Right now, it supports voxels placed anywhere (built-in room over room), look anywhere (6 degrees of freedom), and some basic editing functions.

Do you still do any 3D programming?

As long as I'm alive, I'll always be doing some kind of programming. I have many programming interests besides 3D graphics: 2D graphics, sound & music, utilities, games, compression, and of course optimization. 3D graphics will always be very high on my list.

How do I get started in 3D programming?

  1. Know your math! For 3D engine programming, you will need to master: algebra, trigonometry, and geometry (feel free to sleep through calculus). You also should learn how to manipulate vectors, such as dot and cross products.
  2. Get a 32-bit C compiler so you can generate fast code quickly. Often times, you will find it difficult to debug your C code (even worse for assembly). In these cases, you should develop small sections of your code in a programming environment that you're more comfortable with (and port it to C later). For me, that's good old Microsoft QuickBasic.
  3. Spend all of your spare time reading, studying, and thinking about computer algorithms. Warning: This will put your social life at risk! Do this ONLY if you're willing to accept the consequences.

How did you hook up with 3D Realms?

Look at my Build history. Our first contact was the letter I wrote to them, asking for them to evaluate a beta version of Ken's Labyrinth. They were one of seven companies I wrote to at the time when I was trying to find a publisher for my game.

How long did you work on the Build Engine?

It all depends on how you define 'work'. Judge for yourself by looking at my Build History. Obviously I wasn't working on it continuously, but I did spend considerable amounts of time and energy for almost four years.

What's your favorite video game?

I really don't play games much these days (other than mine, of course) Well that's not really true. Since September 1999, I have been playing Q3TEST way too much. By the way, I play under the name of 'Awesoken' (Awesome + Ken)

Are you any good at multiplayer games?

I'm ok, I guess. I used to be a keyboard-only person until a few years ago, when I forced myself to play with right hand on keyboard and left hand on trackball. (Before you ask, I'm right-handed, my older brother is left-handed, and we used to share a computer.) It improved my game quite a bit. Also, getting a low ping never hurts :)

What's the .MAP / .ART file format?

Go to my Build Source Code Page and download BUILDSRC.ZIP. I have a text file in there (BUILDINF.TXT) which describes both formats.

What's the PALETTE.DAT format?

3d engine builder game

See this separate PALETTE.TXT file which explains it all.

What's the TABLES.DAT format ?

See this separate TABLES.TXT file which explains it all.

What's the .GRP file format?

The '.grp' file format is just a collection of a lot of files stored into 1 big one. I tried to make the format as simple as possible: The first 12 bytes contains my name, 'KenSilverman'. The next 4 bytes is the number of files that were compacted into the group file. Then for each file, there is a 16 byte structure, where the first 12 bytes are the filename, and the last 4 bytes are the file's size. The rest of the group file is just the raw data packed one after the other in the same order as the list of files.

What's the .KVX file format?

Go to my Projects Page and download SLAB6.ZIP. I have a text file in there (SLAB6.TXT) which describes the format.

What's the .VOX file format?

3d Car Engine Builder Game

Both SLABSPRI & SLAB6 support a simpler, uncompressed voxel format using the .VOX file extension. (See the documentation that comes with those programs.) The .VOX format is simple enough to fit a description of it right here. Here's some C pseudocode: In the voxel array, use color 255 to define your empty space (air). For interior voxels (ones you can never see), do not use color 255, because it will prevent SLABSPRI from being able to take advantage of back-face culling.

How does SLABSPRI convert images to voxels?

It starts out with a solid cube. Then it runs through all of the rotations, chopping out any voxels that lie behind a transparent pixel (color 255). Once this is done, it runs through all the rotations again, this time painting colors onto the voxel object. If an individual cube is painted twice, the colors get averaged. Voxels that don't get hit by paint get randomly set to a nearby color.

What is a voxel? Where does the name come from?

VOXEL = VOlume + piXEL. You can think of a voxel as a pixel with volume - a 3D pixel. It is an individual cube inside a 3D array of cubes, just like a pixel is a square inside a 2D array of squares. I actually got the name out of an old computer graphics book.

In Build, when I go into 3D mode the screen is jumbled. What am I doing wrong?

Wow! You're the first person to ask this question. That's why it's in my FAQ. Wait a minute.. how could it be in my FAQ if you were the first.. that doesn't make sense! Please read the text files that come with the game and stop asking this!

Do you have an old Build editor which can edit Lameduke (map version 5) or Witchaven (map version 6) maps? If not, then do you have a way of converting between the formats? What about supporting Legend of the Seven Paladins (map version 4)?

Due to a gap in my archives, I actually don't have any Build editors that are compatible with map version 5. (Version 5 only existed for about 3.5 months) I probably have a map version 6 editor somewhere, but I'd rather not release it because you can now download converters that let you take any Build map forwards in history from 4->5->6->7, or backwards from 7->6->5. Notice that there is no map version 5->4 converter. It is not an oversight. Write your own if you want it. Download here: CONVMAPS.ZIP (25,631 bytes, 04/25/2012, includes source code)

Have you made any maps for Duke3D?

No, only maps for Ken-Build.

Is there a way to increase the limits to the number of sectors, walls, and sprites in BUILD?

Yes, but since it's hard-coded into the engine, the only way is by doing a re-compile.

Can you answer my question about .CON files?

No! I had nothing to do with the design of the .CON files. They were designed by Todd Replogle, for use with Duke Nukem 3D. This is why you don't see them in Shadow Warrior or Blood. However with many of the sublicenses, Apogee/3DRealms gave out the Duke Nukem 3D source along with the Build engine. This is why you see it in some other games.

How do you pronounce Todd Replogle's last name?

He used to say it this way: 'Ree-ploh'-gull'. Then later, he told me it was: 'Rep'-low-gull' (accent on 1st syllable), explaining that he used to mispronounce his name on purpose (just to confuse people). I'm still not sure which is right.

Can you release a version of Duke Nukem 3D with features that were in newer Build engine games?

Some features wouldn't be difficult, such as voxels because 99% of the code was part of my Build engine. Other features like room over room were added by individual developers - so that would take a lot longer for me. The hardest part of any update (if I had to do it all myself) would be to find the right places in Todd Replogle's code. I haven't looked at his code in a long time. But all this doesn't matter because I haven't been keeping in regular contact with Todd. And even if I did get it working, I would have to seek permission from 3DRealms.

I have a problem with a tool that is unique to Blood. Can you help me?

No, probably not. The Blood team wrote a lot of custom utilities for themselves and I just don't remember what most of them do anymore since I have my own tools that do much of the same thing.

Why does BSETUP have all those extra options that don't get used for anything?

Some of those extra options are used in my Build test game: 'Ken-Build'

I have no life, and for fun, I was looking through Duke Nukem's BUILD.EXE with a hex editor. I noticed that there were some VERY interesting messages that never seem to appear inside the editor.

This is one of the few things in BUILD.EXE that I can't take credit for. Allen Blum made this modification to make his job even more interesting. In his code, the messages were disabled from displaying, but he forgot to also remove the message declarations themselves. A different message would pop up depending on what the current frame rate of Build was. 'Slow' meant just over the line, and as the frame rate of Build got progressively worse, so did the messages.

Can you help me solve a problem with conflicting IRQ's / DMA's? Is your sound patch supposed to fix this?

Please don't ask me this. I don't install computers for a living. I usually have to resort to good old trial and error to get stuff like this to work. About the sound patches: They only fix a crashing bug inside the game when you walk into certain places that have the 'echo' effect. My patch WILL NOT help you if you can't get the sound to work at all.

Will you be making a sound patch for Blood, Redneck Rampage, and the rest of the Build games?

Grrr.. I have to draw the line somewhere. Blood - it might happen, but don't count on it. I don't even have copies of the others, so you can forget about those. You must realize that this problem is not even in my code. Apparently, there is a conflict with Jim Dose's echo routines and newer sound cards. It's not fair to blame him since these new sound cards didn't exist back in 1996. I don't know why it crashes. Just consider yourself lucky that I was able to make patches for Duke Nukem 3D and Shadow Warrior.

Are you going to release the Build Engine source code and if so, when?

(Update: 06/20/2000) Ummm.. I think this link will answer your question in a most satisfying way. :)

What programming languages are you familiar with?

Basic (Microsoft QuickBasic 4.5), C (Watcom C/C++ v11.0, Microsoft Visual C/C++ 6.00), and x86 assembly language (16-bit, 32-bit, MMX, and Pentium III instructions). I use all 3 of them regularly. I first develop algorithms in QuickBasic because it has a great debugger. When I'm satisfied, I then port the code to C. The final step is converting some critical parts of the C code to assembly.

What C compiler do you recommend?

I recommend Microsoft Visual C because it's the industry standard.. and also what I use for current projects. I used to use Watcom C when it was the only 32-bit compiler. I had lots of trouble finding example code for it because it was not so popular. Thankfully, everything is 32-bit these days. You'll save yourself a lot of trouble in the future by starting with a popular compiler.

Since April 2004, Microsoft has been giving out their latest command line compiler for free! You can get it here: Visual C++ Toolkit 2003 The difference between this and their commercial version is this doesn't include their fancy GUI/debugger interface. Strangely, I've always compiled things at the command line, so I'm perfectly happy with it :)

As for optimization, I've heard good things about Intel's compiler, but it's expensive and I've never tried it myself.

How do you program games?

By typing things on a keyboard. I love my Key-tronic 101 and wouldn't trade it for the world.

Do you answer your E-mails or are you just too busy?

I try very hard to answer all my E-mails. If you're really looking for no response, then all you have to do is go on and on about how 'U da' MAN', ask no questions, and while you're at it, throw some exclamation marks all over the place!!! That should do the trick.

Do you use IRC or ICQ?

I used IRC a few times around the time of that Dukeworld interview, but haven't been back since then. ICQ: never used it. I also used AOL Instant Messenger for a while. Nowadays, I use Skype.

Is it ok if I mirror a part of your site onto my own site?

Yes, but only if you provide a link back to my site and are willing to update yours often enough - by that I mean that you should check my site for updates every once in a while. I hate having old stuff just lingering around.

What are your plans after graduation?

The first thing I plan to do after graduation is to lose all my wisdom. Oops, I omitted a word - I meant to say: ..lose all my wisdom teeth. :( Assuming I survive that (which I did BTW), my plans are: #1. Take over the world #2. Ok get the point, Ken: I have no plans right now.

Do you have any regrets about leaving Apogee/3D Realms?

Sure, I miss all the fun we used to have testing the game. The reality of it is this: the only way I could have maintained a future with Apogee/3DRealms is if I went into direct competition with Quake. At the time I was far behind, and I just wasn't interested in making a commitment with Apogee for several more years. (If you estimate the release date of Duke Forever, that would have been a lifelong commitment!) I thought it would be best if I returned to school while I was still young.

Interviews:

04/01/1998: An interview of me by the Brown Daily Herald.

3d Engine Builder Games

11/29/1998: An interview of me by Brad Wernicke at (http://www.planetduke.com) PlanetDuke (originally at Dukeworld).

12/19/2001: An interview of me by Peter Bridger of (This/That) Strife (Streams). Also featured on Peter's page are his unique comic strips, which he made with the help of the Build Engine.

04/11/2002: An interview of me by Dr. Curween from the Doom Encyclopedia website.

07/20/2003: An interview of me by (http://www.dosgamesarchive.com>www.dosgamesarchive.com).

06/20/2004: An (http://eliteincorporated.org/Worlds/FPS/games/Ken's%20Labyrinth/interview.html) interview of me by Advocate of (http://firstpersonshooters.org) .

10/01/2004: An interview of me by Mike359 of (http://www.polarismapcentral.com) Polaris Map Central.

09/14/2005: An interview of me by (http://cppjunky.online.cx) CPP Junky.

/free-motorola-codes.html. 11/21/2005: An interview of me by Classic DOS Games.

12/03/2005: An interview of me by Peter Bridger of (This/That) Strife (Streams).

02/27/2006: An interview of me by 3D Realms (part of their Apogee legacy series)

10/23/2008: An interview of me by Tcerhnobog of the Blood Wiki.

05/13/2009: An interview of me by Duncan Rule of Retroaction (see issue two)

03/25/2010: An interview of me by Mister Dai (aka David Boyer)

04/28/2015: An interview of me by Zach at picklesrevil.com

05/01/2017: An interview of me by Arcade Attack.

(NOTE: I have converted dead links to be unclickable : /)

Other links:

Find out more about these games from the company that was in the middle of it all: Apogee/3DRealms.

I made a 'What is the Build Engine? FAQ' to clear any confusion about what my role was during its development.

Jonathon Fowler's Build engine page- A compilation of all the Build games onto one site, with screenshots and download links for each game. His site is also home to a great Windows port of Build and Duke Nukem 3D.

Back to Ken Silverman's Official Home Page

We believe game developers deserve another choice. That’s why we’re building Lumberyard: a game engine with no royalties or seat fees, frictionless integration with Twitch and AWS, plus much more on the horizon.

Free. Powerful. Fully Customizable.

We believe game developers deserve another choice. That’s why we’re building Lumberyard: a game engine with no royalties or seat fees, frictionless integration with Twitch and AWS, plus much more on the horizon.

Build Bigger.

Lumberyard is architected for performance, modularity, and productivity. Reduce time to quality and maximize ambition, across PC, console, and mobile.

Build a Fanbase.

Engage and grow your community inside and outside of your game, and build games as fun to watch as they are to play, with Lumberyard's Twitch integration.

Build Free.

Lumberyard is free and includes full source. There are no seat fees, subscription fees, or requirements to share revenue. Only pay for the AWS services you choose to use.

More Tutorials

We have tutorials for every level of Lumberyard user - you'll find something whether you're entry level or expert.

Learn how to use the editor and more.

Community

Learn from the talented Lumberyard community and get in touch with our community managers. We're here to help.

Talk with them on our forums.

Documentation

Get detailed instructions on how to use Lumberyard, check out release notes, and learn from written tutorials.

Learn more.

Download Samples

Discover a collection of sample projects that showcase the possibilities using the tools and features available in Lumberyard.

See Available Samples.

Introduction to Building Games on AWS using Amazon Lumberyard

Learn about Amazon Lumberyard features and explore various AWS solutions that can be integrated into games built with Lumberyard.

October 5, 2020

Announcing Amazon Lumberyard 1.26

3d Engine Builder

Let's usher in a new season of game development with the release of Amazon Lumberyard Beta 1.26! This release brings you improvements to Dynamic Terrain and Landscape Canvas, general availability of the PhysX Gem, updated Amazon GameLift support, usability improvements to the White Box Tool, and more.

July 17, 2020

With an updated UI and Starter Game project, Lumberyard 1.25 is better than ever

Lumberyard 1.25 is available now, bringing you an updated UI, an updated Starter Game project to help you get set up with best practices, and the brand new White Box Tool. Check out some of our favorite updates.

May 15, 2020

Chock full of improvements, Lumberyard Beta 1.24.0.0 now brings you updates to Script Canvas, PhysX, the core editor, and more!

Spring has sprung, and it’s time for a fresh release of Amazon Lumberyard beta! We’re very pleased to bring you version 1.24.0.0, which contains many improvements to the Lumberyard engine and tools, particularly around quality of life with Script Canvas, the core editor, and asset bundling.

March 9, 2019

Carbonated Games teases mobile shooter on Amazon Lumberyard

In an interview with GamesBeat, Boatman said that the El Segundo, California-based company has gone big with Amazon, using its game tools such as GameLift and Amazon Web Services.

February 21, 2019

Denis Dyack is coming back from the dead with Deadhaus Sonata

I’m coming back from the dead. We’re using Amazon Lumberyard, and the way we’re using it speaks to a new type of gaming mentality for a new marketplace, which is yielding itself every day.

March 9, 2019

Carbonated Games teases mobile shooter on Amazon Lumberyard

In an interview with GamesBeat, Boatman said that the El Segundo, California-based company has gone big with Amazon, using its game tools such as Gamelift and Amazon Web Services.

February 21, 2019

Denis Dyack is coming back from the dead with Deadhaus Sonata

I’m coming back from the dead. We’re using Amazon Lumberyard, and the way we’re using it speaks to a new type of gaming mentality for a new marketplace, which is yielding itself every day.

'As a small team, using Lumberyard along with the support of Amazon, has allowed us to move ahead faster and more smoothly than I have ever done in 20 years of making games.'
Jamie Jackson, SlingShot Cartel
'We decided that Amazon would be the best partner going forward for the future of Star Citizen.'
Chris Roberts, Cloud Imperium Games
'Amazon’s vision for the future enables us to make a new type of game never before possible.”
Leslie Benzies, Everywhere
'As a small team, using Lumberyard along with the support of Amazon, has allowed us to move ahead faster and more smoothly than I have ever done in 20 years of making games.'
Jamie Jackson, SlingShot Cartel
'We decided that Amazon would be the best partner going forward for the future of Star Citizen.'
Chris Roberts, Cloud Imperium Games
'Amazon’s vision for the future enables us to make a new type of game never before possible.”
Leslie Benzies, Everywhere
Contact us