BUILD Design Scales   v1-24-2015  Release 18 RTCM Corvin

Introduction | Dukes Dimensions | 2D Mode Scale | 3D Mode Scale | Building Standards | Testing Results
Witchaven II | Shadow Warrior | Blood
 

Introduction

The use of a scale in BUILD and ultimately in the Game is completely up to the author of the map, con, or art. You should not feel obligated to use the Generic Scale. Just stick to the tables and the pixels if it gets too confusing for you.

For the Build Construction Standards and Testing Results, anyone should find them interesting as they provide valuable information on how your map will perform for the players movements, position and weapon usage.

Note about other BUILD Games: Each games uses a different scale than Duke. The Player character is normally larger in these games to allow the sprites and the world around them to be more detailed. The larger surfaces provide for the increased detail. If one converted a Duke Map to another game such as SW, Blood, or RR, the maps would seem smaller in height and length.

Note about DOS Mapster: Allows for more precise measurements and grid sizes. Such as raise/lower floor by 1 or 2 pixels instead of the standard 4 pixels. If you see a z value with a decimal figure. It was tested with DOS Mapster. If you see a Approximate symbol like this ~. Then the measurement defiantly wasn't measured with Mapster, the true value is defiantly less.

Please if you find errors in this document or have better measurements please let me know ASAP.

 

Dukes Dimensions

Duke3D v1.5

=======================================================================================
Duke_Nukem Character Dimensions:
(Duke's Height IS the scale.)
=======================================================================================

Formula to make scale:
10.75z * 4pixels = 43 pixels is 6.375FT x 12 FT = 76.5 inches / 43 pixels = 1.77906976744186 inches is 1 pixel

 

(From GT Interactive Web Site)
Duke Nukem is:
Height: 6' 4 " (6.375 FT) (43 pixels where each pixel is 1.77906976744186 Inches)
Weight: 240 lbs

(These default dimensions are hard-coded)
Tall: 10.75z (43 pixels)
Eyes/Weapon Center: ~ 9.75 (39 pixels)
Wide: Less than 11x In the actual game (9x in the BUILD Editor)
Depth: Less than 11y



The Characters Extreme Box Dimensions on the x and y are based in the smallest Grid (Grid 6):
An object can rest upon or touch. Note that the Detection Hit Box is actually smaller than the actual sprite, at least in the Z it is. If you make a ceiling just high enough for the player to pass, there will be some clipping to his head.


    ______  <--------
   |\     !\         \ ~ 11y or 22 pixels 
   | \    ! \         \
   |  ----!-- <---------
   |  |   !  |         |
   |  |   !  |         |
   |  |   !  |         | 
   |  |   !  |         | 10.75z Key Presses (43 pixels)
   |  |   !  |         |
   |--|-- !  |         |
   \  |    \ |         |
    \ |     \|         |
      ------- <---------
      ^      ^ 
      |      |
      |      |
      |      |
       ------
        ~ 11x {9x In Editor}
        	or
       	22 pixels (18 pixels In Editor) 
    

Action Dimensions:
Reaching - is 33y,x beyond box? Doors and Switches can be operated.
Pushing - object is at the box edge.
Kicking - object is at the box edge.
Grabbing - is 11y,x beyond box?
Touching - item or object is on top of or on the bottom edge of the box. An Item is grabbed after 1 sec of it touching the box.
Air Control (side by side movement) - moves the box sideways up to a max of 11y,x
Jumping - moves the box up by 16z (64 pixels)
Ducking - moves the box down by 5z (20 pixels)
Ducking and Jumping - moves the box up by 3z (12 pixels)
MAX ZV = 6144
 

Technical Notes: For collision in the X,Y plane, sprites are treated as an axis-aligned square. The "radius" of the square is determined by spr[?].clipdist. By radius of a square, just imagine a circle is drawn inside the square, touching all 4 edges. Here's an excerpt about it from BUILD.TXT: - Made sprite[].clipdist work as the FACE SPRITE'S clipping
fatness. NOTE: Sprite[].clipdist is shifted up 2 to allow a range from 0-1020, so if the sprite[].clipdist is set to 32, then the clipping radius is actually 128 (x,y BLD Units).

For height collision of sprites, Build uses the y-dimension of the texture (as you would see in Editart), multiplies it by the y-scale of the sprite (spr[?].yrepeat). You need to shift this product up 2 bits (multiply by 4) to convert it to BLD Z units.

-Ken S.

 

2D Mode Scale
 +      Y
        |
        | 
        |
 X------+------Width
        |
        |
        |     -
      Length


The 2D Mode Units are be based upon the grid size. The Grid Scale is similar to Architectural Scaling.
Grid 3 is the default when you start up BUILD.

Grid# # x,yBLD Units # pixels per block Generic Scale Resolution
Grid 1 =   1024 64 pixels 9.4883 FT 64x64
Grid 2 =   512 32 pixels 4.7441 FT 32x32
Grid(3)=   256 16 pixels 2.3720 FT 16x16
Grid 4 =   128 8 pixels 1.1860 FT 8x8
Grid 5 =   64 4 pixels 7.11627906976744 Inches 4x4
Grid 6 =   32 2 pixels 3.55813953488372 2x2
Grid 7 (Mapster)= 16 1 pixel 1.77906976744186 1x1
Grid 8 (Mapster)= 8 0.5 pixel 0.88953488372093 0.5x0.5

 

3D Mode Scale

The BLD Units in 2D mode are measured differently than they are in 3D Mode. For an example 1024 in 3D Mode does not equal 1024 in 2D Mode. Clarified; 1024 zBLD Units is 4 pixels while in 2D Mode 1024 x,yBLD Units is 64 pixels. A big difference. If you get confused, only refer to the pixel measurements to find your scale.

z is the distances of vertical measurement. Altitude or UP and DOWN.

-Max height, from floor to ceiling. = 16z or 16,384 BLD Unit or 64 pixels. Which is 8z above and below centerline.
-Half of max height, from floor to center 0(z)coords. = 8z or 8,192 BLD Unit or 32 pixels.
-Center line = 0(z)coords (see DNCOORDS Cheat)

Formula:
1.77906976744186 inches x pixels = total inches / 12FT = Feet


Key Presses zBLD Units Pixel Generic Scale
24 24576 96 pixels 14.232 FT
23 23552 92 pixels  FT
23 22528 88 pixels  FT
21 21504 84 pixels 12.453 FT
20 20480 80 pixels  FT
19 19456 76 pixels 11.267 FT
18 18432 72 pixels  FT
17 17408 68 pixels  FT
16 16384 64 pixels 9.488 FT
15.5 15872 62 pixels  FT
15 15360 60 pixels  FT
14 14336 56 pixels 8.302 FT
13 13312 52 pixels  FT
12 12288 48 pixels 7.116 FT
11 11264 44 pixels  FT
10.75 11009 43 pixels 76.5 in. or 6 4 1/2 FT (Dukes Height)
10.5 10753 42 pixels  FT
10 10240 40 pixels  FT
9 9216 36 pixels  FT
8 8192 32 pixels  FT
7 7168 28 pixels  FT
6 6144 24 pixels  FT
5 5120 20 pixels  FT
4 4096 16 pixels 2.372 FT
3 3072 12 pixels 1.779 FT
2 2048 8 pixels 1.186 FT
1 1024 4 pixels 7.11627906976744 inches
Mapster Required* 512    zBLD Units = 2 pixels 3.55813953488372 inches
Mapster Required** 256    zBLD Units = 1 pixel 1.77906976744186 inches
  128    zBLD Units = .5 pixels 0.8895348837209302 inches
  64      zBLD Units = .25 pixels 0.4447674418604651 inches
  32      zBLD Units = .125 pixels 0.2223837209302326 inches

*Use the [END] key and [PGUP] or [PGDWN] keys to move by 2 pixels.
**Use the [HOME] key and [PGUP] or [PGDWN] keys to move by 1 pixel.

 


Building Construction Standards

Duke must be in scale with his surroundings, to avoid the 'little mouse' or 'giant' effect you get in many user-created levels. You don't want door knobs in your face and you want cover to hide all of Duke. Try using the Duct texture as your guide for scaling. It is as high and wide as the largest square on the grid. (64x64 pixels) This way you can draw out a map and build it in exact scale. (It's almost 10 feet square, read above.) When making a room, the ceiling is between 3-5 above a level where you're forced to crouch.)

Remember, when you lay down a sprite, be it a chair, dancing girl, trash can, or whatever, don't assume it's automatically the correct size. And don't assume we won't notice it if you decide to leave it as-is (unless, of course, the map calls for irregularly sized objects). It can often make the difference between a so-so level and a great one.

If mappers want their textures to line up properly, they should be using standards. As textures tend to have dimensions in powers of 2, wall heights should also be in powers of 2. 16 key presses will tile your textures properly. You may prefer 20 key presses (with 16 for doors), so put 2 key pressed high "trim" around the top and base of the wall to keep things tiling right.

 

How high is the actual visible Duke Player sprite?  13 In the Editor. Not sure what it is in game?

What's largest grid size one equal to in vertical key presses?  16 wide.

What's the smallest grid size six equal to in vertical key presses?  8 wide.

How high is a standard room height?  16 for normal to 18 for common and 20 for taller. In a house you want about 8FT high.

How high and wide do you make a door?  11 or 12, Two and a half times wider than the player or on Grid2 make it as wide as that and as thin as possible using the Grid6. Interior House Door is 6FT 8Inches high.

How high and wide to you make swinging doors?  14, and bit wider than the player. For thickness try Grid6 and use one block.

How high for a table, sink or counters?  5 or 6. This is one or two more than Duke can climb over but not high enough to get in the way if the player uses the RPG.

How high, wide, deep for a Refrigerator/Freezer Combo?  68 Inches , 30 Inches , 24 Inches. Duke is tall enough to see over this.

How High for a Window Sill?  6. This enables Duke to be hidden from view when crouching, and he cannot run over the obstruction.

How high for stair steps? 1 for long stairs, 2 for a standard or 3 for large. Two allows Duke to glide up them, without creating that 'bumpy' look when ascending stairs, or making the player jump up the stairs (when's the last time you had to jump up a step?)

How high to place vents? 8

How wide do you make a standard hallway?  Two dukes wide or in Grid1 size use two blocks wide for larger hallways.

How wide do you make a bathroom stall?  As wide as the player, or a little bit thinner.

 


Testing for Right Of Way and Weapon Line Of Sight

These measurements are accurate to the best of my current knowledge. They have been tested a numerous times. To fully use this chart you do need to understand that a  z  is measured by Key Presses [PGUP] or [PGDWN] keys.
Note: Part of these tables where referenced from rmgates HEIGHT.TXT.


Width and Height Results
--------------------------

Description         Standing Ducking 
Max. height to see over, jumping 25z -
Max. height to see over, standing 10.5z 5.5z
Min. height to walk onto 0z. 0z
Max. height to AutoStep up on 4z(?3Z) Can't
Max. height to jump on 20z Can't
Min. height that can be entered 11z(10z AutoDuck). 6z
Min. height to jump into 11z Can't
Max. fall without damage 42z. *
Min. fall when Duke starts screaming 214z  *
Max. fall without squishing (~60 damage) 357z *
Max. walking Jump Distance (Run Mode off): 8 BLK** Can't
Max. running Jump Distance (Run Mode on): 14 BLK** Can't
Max. Steroid Jump Distance (Run Mode on): 27 BLK** Can't
Min. Width of an opening to pass through 11BLK***(9BLK Editor) 11BLK***(9BLK Editor)
Max. height at the point of squish less than 5z**** less than 5z****


* Notes on falling:  Add 5 for Ducking, subtract 20 for Jumping.
** Notes on Blocks:  Measurements are based on the Default Grid 3 Blocks.
*** Notes on Blocks:  Measurements are based on the Grid 6 Blocks.
**** Armor and Health:  Maximum Health and Armor will not save Duke from getting squished.

Weapon Results
-----------------

Note: All weapon tested below where done with crosshairs centered with view level : KeyPad 5

Description Standing Ducking
Max. height of floor to shoot over 8z(9z)* 3z(4z)*
Min. height of ceiling to shoot under 10z(9z)* 5z(4z)*
Min. height of ceiling to shoot under (RPG)       11z 6z
Max. height of floor to jump and shoot over 23z(8z Shrinker)** Can't
Min. height of wall to place a Tripbomb 10z 4z(?5z)


* Notes on shooting:  The second (z) is provided for when only some of the shots pass between the opening.
**Notes on jump shots: The jump and shoot over test is for all weapons. The Shrinker requires less wall height.

 


Witchaven

Witchaven II v2.0g and EGwhaven v2.0g+

(These default dimensions are hard-coded)
Tall: 5' 11.8" (5.99 FT)  16.75z (67 pixels)
Eyes/Weapon Center: ~ 16z (64 pixels)
Wide: Less than 9x
Depth: Less than 9y

The Characters Extreme Box Dimensions on the x and y are based in the smallest Grid (Grid 6):
An object can rest upon or touch. Note that the Detection Hit Box is actually smaller than the actual sprite, at least in the Z it is. If you make a ceiling just high enough for the player to pass, there will be some clipping to his head.

    ______  <--------
   |\     !\         \ ~ 9y (18 pixels)
   | \    ! \         \
   |  ----!-- <---------
   |  |   !  |         |
   |  |   !  |         |
   |  |   !  |         | 
   |  |   !  |         | 16.75z Key Presses (67 pixels)
   |  |   !  |         |
   |--|-- !  |         |
   \  |    \ |         |
    \ |     \|         |
      ------- <---------
      ^      ^ 
      |      |
      |      |
      |      |
       ------
        ~ 9x  (18 pixels)
       

The Witchaven II Level Editor documentation indicates a 64 pixel high tile is approximately 10 ft. That would make the player sprite in game taller than that. So we will have to ignore that and go with a more adequate scale. The WH1 manual also gives outrages FT values for the weapons, those need to be ignored also.

1 pixel = 1.071428571428571
64 pixels = 5.714285714285712FT = 5FT 8.6Inches

Formula to make scale:
5.714285714285712FT x 12 FT = 68.57142857142854 inches / 64 pixels = 1.071428571428571 inches is 1 pixel.
1.071428571428571 inches * 67 = 71.78571428571426 / 12 = 5.982142857142855 FT is 16.75z Player Height.

Weapon Action (Default)

- Fist: 1024 BLD Unit (64 pixels) [5.72 feet]
- Dagger: 1024 BLD Unit (64 pixels) [5.72 feet]
- Short Sword: 1536 BLD Unit (96 pixels) [8.571428571428568 feet]
- Morning Star: 1536 BLD Unit (96 pixels) [8.571428571428568 feet]
- Broad Sword: 1536 BLD Unit (96 pixels) [8.571428571428568 feet]
- Battle Axe: 1536 BLD Unit (96 pixels) [8.571428571428568 feet]
- Magic Bow: 2048* BLD Unit (128 pixels) [Unlimited]
- Pike Axe: 1024 BLD Unit (64 pixels) [5.72 feet]
- Two-Handed sword: 2048 BLD Unit (128 pixels) [11.42857142857142 feet]
- Halberd: 2048 BLD Unit (128 pixels) [11.42857142857142 feet]

BLD Units Sourced from the WH2 source code.
*The Magic Bow distance may apply when the enemy activates/starts using his bow.
[#]The feet listed in these marks indicate what the attack distance is in a generic scale.

 

Player Action

- Max. height to see over, standing: 16.75z
- Max. height to see over, jumping: ??
- Max. height to jump on: ~83z (~33z) (running and jumping does not produce further results)
- Min. height that can be entered: ~17z (there is no autoduck in WH2)
- Min. width of an opening to pass through: 8BLK***
- Max. height to AutoStep up on: ~15z
- Max. height to crawl under: ~5z
- Max. height at the point of squish: Less Than ~5z
- Max. height to shoot bow over: 15z

(#)In EGwhaven source modification the Jump Height was reduced for the better.
*** Notes on Blocks:  Measurements are based on the Grid 6 Blocks.

 


Shadow Warrior

Shadow Warrior v1.2

(These default dimensions are hard-coded)
Tall: 17z
Eyes/Weapon Center:
Wide: Less than 17x
Depth: Less than 17y

The Characters Extreme Box Dimensions on the x and y are based in the smallest Grid (Grid 6):
An object can rest upon or touch. Note that the Detection Hit Box is actually smaller than the actual sprite, at least in the Z it is. If you make a ceiling just high enough for the player to pass, there will be some clipping to his head.

    ______  <--------
   |\     !\         \ ~ 17y (34 pixels)
   | \    ! \         \
   |  ----!-- <---------
   |  |   !  |         |
   |  |   !  |         |
   |  |   !  |         | 
   |  |   !  |         | 17z Key Presses (68 pixels)
   |  |   !  |         |
   |--|-- !  |         |
   \  |    \ |         |
    \ |     \|         |
      ------- <---------
      ^      ^ 
      |      |
      |      |
      |      |
       ------
        ~ 17x  (34 pixels)
       
       	

 

 


Blood

Blood v1.21

(These default dimensions are hard-coded)
Tall: 17z
Eyes/Weapon Center: ??
Wide: Less than 13x
Depth: Less than 13y

The Characters Extreme Box Dimensions on the x and y are based in the smallest Grid (Grid 6):
An object can rest upon or touch. Note that the Detection Hit Box is actual size of sprite, There was no clipping.

    ______  <--------
   |\     !\         \ ~ 13y (26 pixels)
   | \    ! \         \
   |  ----!-- <---------
   |  |   !  |         |
   |  |   !  |         |
   |  |   !  |         | 
   |  |   !  |         | 17z Key Presses (68 pixels)
   |  |   !  |         |
   |--|-- !  |         |
   \  |    \ |         |
    \ |     \|         |
      ------- <---------
      ^      ^ 
      |      |
      |      |
      |      |
       ------
        ~ 13x  (26 pixels)
       
       	

Player Action

- Max. height to see over, standing: 17z
- Max. height to see over, jumping: ??
- Max. height to jump on: 22z
- Min. height that can be entered: 17z (autoduck 16z)
- Min. Width of an opening to pass through: 13BLK***
- Max. height to AutoStep up on: 7z
- Max. height to duck under: ~6z (autoduck 5z)
- Max. height at the point of squish: Less Than ~5z

*** Notes on Blocks:  Measurements are based on the Grid 6 Blocks.