ZED Manual

For use with Starsiege TRIBES

I: What is ZED?

ZED is the 3-D art tool used to create mission objects for TRIBES. Objects created in ZED are static and cannot be animated, which is why this tool is primarily used for creating buildings and other "solid" objects.

II: Introduction to ZED

To go into ZED, go to the new Tools directory that was created when you downloaded the tools file within your TRIBES directory. Double-click on the ZED icon to open the program.

A: Button functions

Along the top two toolbars are several buttons, each responsible for an individual function. The table below explains what function each button is responsible for. Each function is explained in further detail later in the manual as well.

Icon | Name | Function
| New | Brings up Specify New ZED Parameters window; creates new ZED file. User can also press CTRL-N.
| Open | Opens an existing ZED file. User can also press CTRL-O.
| Save | Saves current ZED file. User can also press CTRL-S.
| Cut | Cuts selected brush from the ZED file. User can also press CTRL-X.
| Copy | Copies selected brush from the ZED file. User can also press CTRL-C.
| Paste | Pastes a copied or cut brush into the ZED file. User can also press CTRL-V.
| Quick BSP | Updates all visible textures applied to a shape and all newly added brushes (must be in Texture View to see).
| X, Y, Z Lock | Clamps an object down along these axes (defaulted to on).
| Center Crosshair | Recenters the grids in the active 2-D window.
| Snap to Grid | Automatically snaps brushes to align with the grid in 2-D windows (defaulted to on).
| Grid Settings | Brings up the Grid Settings Window. Grid size and rotational settings are set here.
| Place Light | Places a light in the 2-D window set.
| Copy Light | Copies a light.
| Light Editor | Brings up the Light Editor menu. Values for RGB color and animating lights is set here.
| Show Lights | Shows all lights that have been placed in and around an object.
| Lock Lights | Clamps lights in a level down so they cannot be moved (defaulted to on).
| Compute Lights | Shows how the finished object will appear lit.
| Show All | Shows all brushes (defaulted to on).
| Show Vis | Shows all visible brushes when selected.
| Show Cur | Shows the current group.
| Brush Attributes | Brings up the Brush Attributes Window. Textures can be placed/assigned from here.
| Reset Brush | Resets the primitive brush to its original shape.
| Hide/Show Brush | Depending upon selected state, will either hide or show the selected brush.
| Adjust Brush Order | Allows the user to re-arrange how brushes are ordered in the object.
| Group Attributes | Brings up the Group Attributes Window.
| Create New Group | Creates a new group.
| Add To/Remove From Group | Allows the user to add and remove brushes from a group.
| Add To/Remove From Shape | Allows the user to cut and add new brushes to a shape.

B: Groups

You can create, add or drop groups with these buttons. Groups are useful for storing brushes in large objects, like buildings…each floor can be a separate group. When you've got several hundred brushes in one shape, it's best to keep them organized. Click on the Group Attributes button to modify these.

To create a group, first make sure that the Show Lights button is toggled off. Select the brushes you want to add, then click on the Create Group button to bring up the Create Group box:

Create a name for the group in the Name box, then press OK. Click on the Quick BSP button to see the updated group.

To see the new group set apart from the rest of the shape, press the Show Cur button.

To add or remove brushes from a group, use the Add To Current Group and Remove From Group buttons

Note: Brushes can only exist in one group at a time.

III: Creating A Shape

A. Windows

When you create a new file, the screen will have the button menus at the top, the shape viewer menu at the left side and four windows in the center to view the shape you are creating.

Right-click in an open area of the Shape Viewer window on the left side of the screen. Select "Properties" from the pop-up window to bring up the Properties box. Click on the Build tab. Change the Geometry Scale from 1 to 0.03125. Click on OK when done.

There are six different views available for the four windows: Side View, Top View, Front View, 3D Wireframe, Solid Render and Texture View. The default views are Side, Top, Front and Texture View. The Side, Top and Front views give you two-dimensional views of the shape you are creating. Solid Render gives you a solid three-dimensional view of the object. 3D Wireframe shows a wireframe of the object, and Texture View shows the object with textures.

Use the pull-down menus in each window to adjust which view you want for each window. In the 2-D window sets, you can right-click on the windows and, while holding the right mouse button down, reposition the object grid. Using the left-mouse button will create a bounding box to select objects, discussed further down in the manual.

In the 2D windows, the mouse can be used in the following ways:

Right button (on any point of the window): move the grid on the screen in the direction the mouse is moved.

Left button: Click on a brush to select it. Click and drag to select multiple brushes. Pressing Shift and left clicking will subtract a brush from the current multiple brush selections.

Shift + right button: camera zoom in/out with mouse movement. PageUp and PageDown do the same function.

In the 3-D window set, you can reposition the camera using the mouse, which is set to free look. Click on the window and hold down the right mouse button to move the camera left, right, up and down. Click on the window and hold down the left mouse button to move the camera in and out.

In the 3D windows, the mouse can be used in the following ways:

Right button: when held down, the camera can be rotated up, down, left and right (only in 3D Wireframe, Solid Render and Texture View modes).

Right button: when held down, the camera can be moved in and out.

Both buttons: when held down, the camera can be moved up, down, left and right.

To adjust the size of the windows, move the cursor to where the window boundaries meet in the center until the cross icon appears, then hold down the right mouse button and move the boundaries to where you want them. You can also use the PageUp and PageDown buttons.

B: Brushes

A shape is composed of what are called "brushes." It can be a simple as a single brush or contain over a thousand.

1: Moving Brushes

Start with the blue cube in the center of the screen, also referred to as the "primitive brush." To move it, left click on it. Using the three windows, try moving it to different points on the grids while keeping it centered. To alter the shape of the brush, left-click on one of the eight red squares around the object and try to change its shape. When all brushes in the file are de-selected, the primitive brush automatically selects itself.

There are three quick ways to select brushes. You can left-click the brush, you can drag-select (also using the left mouse button), or you can Shift-click, which will allow you to add to a drag-selection of multiple brushes. The Rotate Snap Degrees and Rotate Snap On/Off functions can be set in the Grid Settings box, accessed by pressing the previously mentioned Grid Settings button.

To rotate a brush, first select the brush in question and press the Tab key. You will see that the eight red squares previously lined up along the exterior of the brush have been replaced by five. The one in the middle represents the center around which you can rotate the brush. Left click on one of the outer squares and watch the cube rotate.

To slant (skew) a brush, press the Tab key again. The five squares have become four. Left click on one of the squares and try to stretch the cube. Very important!: if you are going to try and skew a shape, always make sure that this is the last action you perform on it! Once an object is skewed, you cannot perform further actions on it. If you are trying to create a hollow ramp inside an object, for example, it is advised you create a negative brush first, then surround it with positive brushes, rather than placing a negative brush inside a positive shape (this is discussed further in the next section).

Press Tab again to return to the normal motion settings for the cube. To reset the cube to its original shape, press the Brush Reset button (the green cube with the blue arrow through it)

2: Adding and Subtracting Brushes

In the second button bar, there are two buttons with a plus and minus icon . These are used to add and subtract brushes from a shape.

To add a brush, press the Plus button. This will create an actual shape visible in the Solid Render window. Left-click on the blue cube and pull it away from the shape you have created. In the 2-D viewing windows, the brush you have created will be seen in green. When selected, a brush will appear pink.

The subtract brush feature is used for hollowing out existing brushes. Here's an experiment for you to try: Take the blue cube and change its shape, make it longer and thinner that the brush you just added. Position it using the three 2-D view windows, making sure that it is enclosed within the cube except at the ends, so it looks something like a hot dog. Click on the Minus button. You have now created an empty space within the cube.

The subtract brush function is essential for hollowing out shapes and adding doorways and windows. Remember to use the Quick BSP button to see the latest changes made to the shape.

C: Brush Shapes

When you create a new object, a blue cube will appear in the four windows. You can change the type of shape by using the five Shape button, located on the second button bar. Your choices are triangle, cube (default), sphere, cylinder and staircase.

1: Triangle

When you click on the Triangle button, the Triangle window will appear. You will need to enter values for the size of the top of the triangle (z-axis), the bottom of the triangle (x- and z-axis), height (y-axis), thickness of the shape and whether or not the shape is hollow.

2: Cube

When you click on the Cube button, the Cube window will appear. You will need to enter values for the size of the top of the cube (x- and z-axis), the bottom of the cube (x- and z-axis), height (y-axis), thickness of the shape and whether or not the shape is hollow.

3: Sphere

When you click on the Sphere button, the Sphere window will appear. You will need to enter values for the x-, y- and z-axis, number of vertical and horizontal stripes (the more stripes, the rounder the object will appear but the higher the poly count will be), the thickness of the shape and whether or not the object is hollow. You may also select a hemisphere if so desired.

4: Cylinder

When you click on the Cylinder button, the Cylinder window will appear. You will need to enter values for the top x- and z-axis and any offset values, the bottom x- and z-axis and any offset values, height, thickness, number of stripes and whether or not the object is hollow.

5: Staircase

When you click on the Stairs button, the Stairs window will appear. You will need to enter the height, width and length of the object and the number of stairs you want. You may also create a ramp if desired (ramps have a considerably lower poly count).

TRIBES collision recognizes a stair height of eight zed units. You cannot create a step higher than eight zed units or the player will not be able to traverse it.

D: Shapes/Detail Levels

This function is for creating copies of the shape at lower detail levels, so when the player is a great distance from the shape, it will draw a simpler version so as not to put too many polys on the screen at one time. For example, a structure that might be 200 polys up close should only be around ten or even less from a great distance. This is essential for creating missions that do not overtax the engine when drawing shapes.

When you create a shape, a detail level is automatically created. To view the detail level, click on the plus icon next to the State icon in the Shape Viewer directory to the left of the screen. To create additional detail levels, you can either right-click on the State icon and select Add Detail, or click on the Detail icon and select Copy.

Right-click on the Detail icon to bring up the Detail Setting box. To give you an idea of how detail levels are set, look at sample shapes sent in the /sample directory.

For objects that have multiple detail settings, each setting after the first should have a lower Min Pixels value. This value represents the distance (in world units) the player is from the object before this detail level pops in. For example, say you had an object that had three detail settings, set to 255, 50 and 0. From 255 to infinity, the player would see the first, or lowest detail level of that object; that object would generate the fewest polygons. From 50 to 255, the player would see the second detail level, and from 0 to 50 the player would see the third or most complex detail level.

It is tricky determining how to set detail levels to keep an object from "popping" or otherwise looking oddly when placing it in a level; you may have to experiment quite a bit with placing an object in a level and determining the correct distances the detail levels need to be set at.

Note: you do not have to change any of the settings in the Linkable Faces box. Leave all boxes checked.

Note: If you have animating lights, animating lights must exist in every detail level, or else the shape will not work.

E: Applying Textures

To apply textures to shapes, there are two methods; one will apply a texture to the entire shape, the other will apply it to a single face or polygon.

1: Applying Textures to An Entire Shape

Select a brush and click on the Brush Attributes button. This will bring up the Brush Attributes window.

Cycle through the texture list in the upper left hand corner. Once you have found the texture you want, press Apply. You do not need to change the brush's state.

To see the finished texture, make the Texture View window active and click on the Quick BSP button.

2: Applying Textures To A Single Face

Make the Texture View window active. Click on a single face with the mouse while holding down the CTRL key. This will bring up the Assign Texture window.

Use the window at the top to select the texture you want. You can use the other features of the window to rotate, slide and flip the texture on the face. When finished, press Apply. Note: When using Texture Scale Shift bar, the negative scale is larger than the positive scale, that is, a setting of -1 will create a larger texture than a setting of 1.

H: Zedlighting

4: Lights

Clicking on the Light Editor button will bring up the Light Editor menu. Using this tool, you can set the RGB values for animating lights if you wish to add this feature.

Clicking on the Show Lights button will reveal all the lights that have been placed in and around an object. To prevent lights from being accidentally moved during editing, click on the Lock Lights button (defaulted to On).

To the right of the second button bar is the Compute Lights button . Clicking on this will generate how the lights will look in the finished object.

A: Light Components And Modifying Lights

There are three basic components of a light in ZED: Lights, states and emitters.

The values you set in the Light Properties dialog box control the name of the light group, and enable the animations in ZED via the Auto Start and Random Flicker check boxes. There are also two animation styles in ZED; random flicker and stepping through multiple states of a light to create animation.

Lights also contain states, single or multiply. States control various aspects of the emitter(s) stored in the state, including color, and duration if animating. In any given light you can switch between states to create animated lighting effects. Selecting a state will automatically select all of the entities contained in the state.

Emitters are the actual light-emitting entities that are placed in the ZED shape. A state can hold many emitters. The Emitter dialog box lets you control position, hotspot and falloff, and style of light (point light, like a standard light bulb, and spotlight.) Note: While developing TRIBES, quadratic lights were not used.

To open the Light Properties window, click on the Light Editor button, then right click on the State Icon, then right click on the Emitter icon to bring up the Properties window for that emitter.

The Falloff box should always be set to Linear, not Quadratic (not used). The falloff distances control the ambience of the light cone. In the above example, from zero to ten zed units, the light would be at 100% ambience. It would then fall off to 0% ambience moving out to a distance of 250 zed units. The ambient distance is seen on the 2-D windows as a purple circle.

In the Type box, do not use Spot, leave it as Point. The directional numbers control which direction the light is pointing.

A fourth type of light known as ambient light is controlled via the Properties dialog box. Ambient light lets you add a uniform light value to all faces in your shape. Ambient light may be turned off or on for exterior faces only. If your shape is glowing in the distance in the game engine, toggling off the ambient light on the exteriors may fix your problem.

I: Exporting to .ZVL

Once you have finished creating your object, save, then go to the File pull-down menu. Select Export Optimal to ZVL, or press CTRL-E. This will convert the .zed file to a .zvl file. A .zvl file is convertible to a game shape.

1: Adding Objects To TRIBES

Bring up a DOS prompt box. To convert a .zvl file to a .div file, which is what is used in the game, go to the directory where the .zvl file is stored and enter the following:

zedshape (object).zvl

or

zedshape (object).zvl -h

This will create a file named box1.div. The .div files are what TRIBES objects are actually made of.

Adding the -h flag will turn on the vizzing process and calculate lights more accurately, however, this will cause the process to take much longer to complete. The shape will be fully optimized, however, for placement in the game.

You will then need to add the file to a volume. You can either create a unique volume or add it to an existing one. It is recommended that you do not try to add shapes to a pre-existing volume in the game, such as human1.vol.

To add a shape, use the following command while in the DOS box:

vmerge <volume_name.vol> <object_name.div>

For example, if you wanted to add your box.div shape to the boxes.vol volume, the command would be:

vmerge box.div boxes.vol

If the specified volume does not exist, it will be automatically created. If you are creating several new shapes, it is advised you place them in a new, unique volume.

You will then need to add this volume to the game directory in order for TRIBES to access it. First, place the volume file in the build\base directory. Then, open the Mission Editor (see the Mission Editor manual) and bring up the Object menu by pressing F2. Locate the group called "MissionGroup\Volumes" and click on it. Press F3 and select "Mission\Volume." Enter the name of the volume and click on OK. This will add your new volume to the volume directory.

V: Tutorial

1. Start ZED by double-clicking on the ZED icon in the TRIBES folder.
2. Click on the NEW shape button in the upper left corner of the ZED tool bar, or press CTRL-N.
3. Type in the file name of your choice for you new shape; call it "box1". Make sure that you have selected a palette, material list and appropriate volume files.

Any name you create will automatically have the ".zed" suffix attached to it.

Click on Open when done.

4. Right-click in an open area of the Shape Viewer window on the left side of the screen. Select "Properties" from the pop-up window to bring up the Properties box. Click on the Build tab. Change the Geometry Scale from 1 to 0.03125. Click on OK when done.

5. Click on the Create Cube button from the tool bar button to bring up the Create brush dialogue box. Click on OK.
6. Select Hollow from the Static box, as shown below. Click on OK when done.

7. Position the cube so it is in the upper right corner of all three 2-D windows (Top, Side & Front). It should be touching both the vertical and horizontal yellow lines, as shown below.

To move the cube, click on the box and drag it to its new location. It will automatically "snap" to the nearest grid lines, automatically aligning the shape.

8. Click on the Add Brush button to create your new shape--a hollow cube. Use the left mouse button to move the blue primitive brush away from the newly added brush.
9. Click on the Reset Brush button to reset the primitive brush to its original shape.
10. Next, you will need to subtract a brush to create an entrance into the cube. Manipulate the primitive brush until you have created a smaller cube that will become a "door." Position the primitive brush inside the cube, as seen below:

To manipulate a brush, select it and then click on one of the red squares along its corners and sides. In this fashion, you can alter the shape of the brush in all dimensions.

11. Click on the Subtract Brush button to subtract the brush from the shape, then move the primitive brush away from the shape. The subtracted brush will appear in red, as seen below. Press the Quick BSP button

to see what the object looks like in the Texture View window:

12. To apply a uniform texture to the object, first select the cube by clicking on it in one of the 2-D windows (the positive (green) brush, not the negative (red)) and click on the Brush Attributes button to bring up the Brush Attributes window:

Select Texture 1 from the Texture Box and press Apply, then press the Quick BSP button. The selected texture will now cover the box. You can also add textures on individual faces by pressing CTRL-Left Mouse and choosing a texture from the window that will appear. Note: one window must be in Texture View in order to see the textures.

Note that the negative brush will not be textured. To add a texture to this brush, you would have to select the negative brush and repeat the procedure above.

13. Add a light to the shape by clicking on the Add Light button. Position the light so it is outside the box using the 2-D windows.
14. Click on the Light Properties icon to bring up the Light Properties menu. Right click on the State icon, then the Emitter icon to bring up the Properties window for that light.

15. For Distance 1, enter 10. For Distance 2, enter 400. Leave everything else alone. Click on Apply when done.
16. Save the shape. You will be prompted to give the shape a name; use the name you used previously, "box1".
17. Go to the File pull-down menu and select "Export Optimal to ZVL." This will convert the shape from .zed format to .zvl format. Quit out of ZED once this process is done.
18. Open a DOS box and go to the folder containing ZED. Enter the following:

zedshape box1.zvl

19. Now enter the following once the zedshaping process is completed:

vmerge box.vol box1.div

This will create a new volume for your object. Quit out of ZED and locate the box.vol file. Place it in TRIBES in the build\base directory.

20. Open TRIBES and go to the Mission Editor. Press F2 and locate the group named "MissionGroup\Volumes". Select it, then press F3 and select "Mission\Volume" and enter the name of the volume (in this case, "box.vol"). Click on OK when done.

This process must be repeated for each object you wish to add. This object will now appear in the Mission Editor the next time you open it.

VI: Tips & Pointers

Please note that ZED is an unsupported tool. It may crash unexpectedly.

20. When using a negative brush to create a ramp in a positive space, make sure that the skewing of the brush is always the last action taken. Skewed objects seem to cause geometry problems after they have been skewed.
21. Don't rely on the Texture Lock button to keep textures frozen in place. Even when toggled on, textures occasionally shift.
22. When changing grid sizes while working on a shape, make sure you have deselected all geometry and lights. Selected objects and lights may be offset to the new grid settings, possibly ruining several hours of work.
23. When using a negative brush to accent the face of a positive brush, such as creating a space for a team logo texture, make sure the brush is recessed and not flush with the positive brush. This is especially important when a beveled surface is involved.
24. Pay close attention to brush order. The brush at the bottom of the order is the most recent and dominant brush. This order can be adjusted to maximize the use of brushes. The brush you want to move in the order stack, however, first needs to be selected in ZED before you can move it in the stack.
25. You may need to overlap brushes in order to avoid there being holes in a shape.
26. All TRIBES geometry and textures are based on powers of 2.
27. Use the Primitive Brush to manipulate shapes as much as possible prior to the actual creation of the brush. Manipulate the blue box, not the red or green brushes whenever possible.
28. Group brushes as much as possible. When you export to .zvl, only active groups will be exported. You can use this to zedshape selected pieces of your shape.
29. When creating a brush group via the file menu, the group must be contained within a group. When reading a brush group into a ZED file, the group will automatically update your Groups list.
30. Maximize your shapes for low polygon count by taking the "vizzing" process into account. Large shapes with multiple features and openings into their interiors will have higher polygon counts. Use turning hallways and "T" junctures to block the visibility of polygons in a given area. Also, any feature in ZED will give the zedshaping process another chance to cut visibility at the cost of potentially increasing vizzing process time.
31. You cannot undo a Delete Brush action! Be careful of this one, you do not want to destroy your hard work with one missed keystroke…which leads us to the next tip…
32. Save early and save often. You may want to use some kind of incremental saving process so you can backtrack if you have a serious problem with your shape. When finished with the shape, you can save the file under the correct name and delete the old iterations, i.e. Shape1.zed, Shape2.zed, etc.
33. Try experimenting with lighting using a simple shape, then apply what you need in your final shape. Lights can be tricky at first, so when you want a particular effect, sometimes it is quicker to light a test object first to perfect the process.
34. The polys displayed in ZED are not representative of the final poly count that will be created during the zedshaping process.
35. Use the texture scaling features to reduce polygon count. On the outside of large structures you can often scale up the exterior textures to reduce polygon count and use texture memory more efficiently.
36. Large hallways are 256 units or larger in width and at least 128 units tall. Small hallways can be 128 wide. Smaller than this may be inaccessible to players.
37. Use simple shapes at intersections of complex shapes in large areas. For example, if you place an eight-sided cylinder on the floor in the middle of a huge room, the floor will probably be fractured with polys, pushing up the poly count. If you were to place a small square brush at the base of the cylinder encompassing the footprint of the shape, the floor would probably be split up much more efficiently.
38. Be wary of creating rooms with too many crossing faces. Where any two faces cross when projecting into 3D space, they have the potential to be created as a .bsp node to be calculated. A .bsp node is used in the vizzing process to determine which polygons are visible from any other given .bsp node. For example, if you create a room with two half-spheres in it, each intersection of any of the two faces could make another .bsp node. This will drastically slow down the zedshaping process.
39. Each state of a light creates more light maps to be calculated and stored in the shape, increasing the file size. If you create a shape with a complex room and many animating lights, the light maps will be massive and more texture information will have to be pushed through the display driver that is drawing the scene, slowing down the drawing process.
40. The space bar is a toggle-able lock function. If you press the space bar, ZED locks itself down and cannot be used. Press the space bar again to unlock ZED.