:: Dungeon Siege University - U100 ::

Here is the 'U100' stuff:

Siege University 100: The Basics of The Siege Editor

Overview

Basic Movement around the Editor

101: Nodework

Create a Map

Create a Region

Add Floors and Walls

102: Objects

Add Details to House

Add Details to Surrounding Farmland

103: Lighting

104: Fading

Node Camera Flags

Fading Nodes With Triggers

105: Moods

106: Monster Placement

Conclusion


Overview

Building a region for Dungeon Siege using the Siege Editor ("SE") is a straightforward task, even for a beginning mod maker. The best way to start is to first take a look at a sample map before beginning this Tutorial. Download the Computer Games Magazine tutorial map and extract it according to the DSReadme.rtf included with it.

Once you have the CGM map installed on your computer:
  1. Start the Siege Editor.
  2. Select Convert .dsmap to Files... from the File Menu.
  3. For the Source File, browse to where you installed Tutorial.dsmap.
  4. For the Destination Folder, leave it at its default setting (My Documents/Dungeon Siege/Bits)
  5. Click OK.
  6. Select Open... from the File Menu.
  7. Expand the gpg_cgm map on the Load Region dialog, and select tutorial.
  8. Click OK.
Look around the region. This will give you a feel for what a level looks like within the Siege Editor. If you would like to try your hand at building a pleasant farm scene like this one, restart the Siege Editor and follow the steps below.

Basic Movement around the Editor

All actions and movement are controlled with the mouse. To move around a map, right click and hold, then move the mouse in the desired direction. To zoom, scroll the middle mouse button. To move vertically, hold down shift while right clicking and moving the mouse, or hold down both the left and right mouse buttons while moving the mouse. To rotate, click and hold the middle mouse button and move the mouse. Please note that you must use a three-button mouse in order to move within Siege Editor.

 

101: Nodework <Back to Table of Contents>

Assembling a level’s terrain is the most important aspect of designing regions for Dungeon Siege. By snapping together some of our 3,800 different nodes, you can create almost any type of environment imaginable -- from vast, rolling plains, to the deepest vertical dungeons and everything in between.

Create a Map

  1. Choose New Map from the File Menu.
  2. Enter a name. The name cannot contain any spaces and must be in lowercase. EX: my_world
  3. Enter a screen name. This will be the name the map is identified by in Dungeon Siege. EX: My World
  4. Enter a description about what the map is for. EX: Make new friends in my world!
  5. Leave everything in the Advanced section as it is.
  6. Click OK.
    Click here to see the image

Create a Region

  1. Choose New Region from the File Menu.
  2. From the drop down under Select Map to Create Region, choose the map you just created.
  3. Enter a name into the Region Name box. EX: my_house
  4. In the Advanced section, click on the Default buttons for both Scid Range and Region ID. The Scid Range and Region ID settings must be unique for all regions in the map.
  5. Select the Target Node (starting node) you will build the world around:
    a. Expand the grass_1 directory and scroll down to the houses folder.
    b. Expand the houses directory and select the node "t_grs01_houses_generic-b-log.sno."
    Click here to see the image
  6. Click OK.
  7. Click on the floppy disk icon in the upper left toolbar to bring up the Save dialogue. Make sure all options are checked and click Save.
  8. Your region will now look like a house sitting in black space.
    Click here to see the image

Add Floors and Walls

  1. Click on the Custom View tab at the bottom found at the lower left side of SE.
  2. Expand the tree to CGM_Afterlife_Tutorial/Nodes.
  3. Select "t_xxx_flr_08x08-v0.sno" (floor node).
    Click here to see the image
  4. Click on the house node and use the Source Doors: arrow buttons located at the lower left side of the editor to rotate through the node’s doors until you get to Door 1.
  5. Use the Destination Doors: buttons to rotate the Floor node so Door 6 of the floor node is connected to Door 1 of the house node.
  6. Select the floor node you just added and rotate through its doors until Door 3 is highlighted.
  7. With "t_xxx_flr_08x08-v0.sno" still selected in the Custom View panel, click Attach Node to add another floor node so Door 6 of the new node is connected.
  8. Snap more floor nodes around the house node by rotating to unconnected doors and adding nodes as described above. Be careful not to overlap one node over another. Node doors can only connect to one other door, so if you overlap nodes, your region will not connect correctly and has the potential to crash or display strange behavior.
  9. Save after placing every few nodes. When you save, it also connects all node doors that are adjacent to other nodes. Important note: After the target node has been placed (which is the house in this tutorial), all new nodes must connect to other nodes. If deleting a node cuts off several nodes from the target node, they will automatically be deleted. To avoid deleting an entire string of nodes, never delete a node unless you have just saved.
  10. You should now have a house in the center of a grassy area.
    Click here to see the image
  11. Add a field to the right side of the house. Select "t_grs01_field-rows-corner-b.sno."
  12. Rotate the field-row corner so Door 2 connects to the terrain and the textures match up.
  13. Continue adding field-row nodes, using all of the variations in the folder. Create a field that is three field-row nodes wide and six field-row nodes long.
    Click here to see the image
  14. Add a Chicken Coop and Well. First select "t_grs01_houses_coop-a.sno" and add it next to one of the field-row edge nodes, then select "t_xxx_flr_well-a.sno" and add it to the other side of the grassy terrain.
    Click here to see the image
  15. Continue building out the grassy terrain around the house, field, and coop using the available floor node variations.
  16. Add rock cliffs around your farm to make it into a valley. Choose from any of the wall ("wal") type nodes (ex: t_xxx_wal-12-thck) and add them to the edges of the region so Doors 1 and 2 always connect to the ground level.
  17. Use the corner ("cnr") type nodes to change Wall direction by snapping them to unconnected wall sides.
    Click here to see the image
  18. Save.
At first glance, the generic node naming conventions might seem a bit unintelligible. However, they actually can be decoded into useful information. With any node set, there are at least five different subsets separated by underscores that make up each node's name.

Let's look at the name of the generic node, "t_xxx_cnr_12-ccav.SNO," found in Terrain Nodes/Generic/Corner. The first part of the name, "t," refers to "terrain." The second part of the name is the set identifier. For example, "xxx" indicates the node is part of the generic set and has a swappable texture. If this part was something different, such as grs01, it would tell us that the node belongs to the Grass_1 set and has a grassy-looking texture. Following the set identifier, is the node type. For example, there are fifteen different node types that make up the Generic set, plus water versions for all of them. "Cnr" tells us that it's a Corner type node. If it was something else, for example, "for," we would know that it's a Forest type node, and so on. Usually, the next part of the name refers to the node's size (for nodes that have multiple sizes). "12" means that this node is 12 meters high, so any nodes we want to connect to it must also have a "12" somewhere in their name.

At this point, the basic properties of the node have been identified, and all further information defines variation. "-ccav" means this node has an inward curve - think of the mnemonic "a cave curves inward." If it was "-cnvx," then the node would have an outward curve. Both corner types allow you to turn a wall ninety degrees. The ".SNO" is the filename extension, and means "Siege NOde."

102: Objects <Back to Table of Contents>

Populating your world with objects is fast and easy. Within Siege Editor, an object is any model that is not terrain. This part of the tutorial will deal with "non-interactive objects", which are decorative objects that contain no AI or animation component, and cannot be selected by the player in-game. Objects, in general, are far more flexible than terrain. They can be scaled, rotated, and placed with great precision. The key to good object placement is using enough to make an area appear lush and realistic, while minimizing the amount of different objects used, so performance remains reasonable.

Add Details to House

Decorate the house with objects that make it look realistic and lived-in.
  1. Rotate the view until you are looking straight down into the house.
  2. Expand "cgm_afterlife_tutorial/objects/house".
  3. Select "rug_round_blue."
  4. Click on the center of the house floor to place the rug.
  5. To move the rug after it is placed, click on the rug to select it (a green selection box will appear around the rug when it is selected) and move it to the center of the house by dragging the mouse.
  6. Continue placing objects in the house using the method above.
  7. To rotate objects, select an object and choose Properties from the Object Menu and click the "Rotation" tab in the Object Properties window. Rotate the "Yaw (Y):" control to spin it about the Y-axis.
  8. Place a candle on a windowsill. Select "candle_short" from the Custom View panel and place it on the floor near a window.
    To place the candle on the sill, look under the Object Menu and uncheck Object-->Mode-->Auto Snap to Ground. Click the candle to select it, then click and hold the left mouse button over it, then press and hold the shift key. Holding the shift key allows you to change the vertical position of an object. Raise the candle up to the level of the windowsill. You can release the shift key while holding the mouse button to move the candle horizontally. Try to position the candle so that the bottom of its green selection box just disappears into the sill.
    Click here to see the image
  9. Note that some objects (like the rug) will not block the player's movement in the game, while others (the bed) will block the player. You can find out if an object is "blocking" or "non-blocking" by viewing its Properties. Look for the value marked "does_block_path".

Add Details to Surrounding Farmland

  1. Add a crop to your farm in front of the house.
    a. When working with foliage, you can easily randomize the size and orientation of the objects as you place them by using the "Next Object" function. Select Next Object… from the Object Menu. On the Next Object Placement Settings window check the Random Orientation/Yaw (Y) and Scale/Random Scale boxes. Set Minimum Multiplier to "0.65" and Maximum Multiplier to "1.1." Click "OK". Now each time you place an object, Siege Edit will randomly vary its scale from 0.65 to 1.1 times normal size, as well as randomly vary its rotation.
    Click here to see the image
    b. Select "grs_cabbage" from the foliage directory and click on the field area to add your crop, varying the rows to give them a realistic look. Placing foliage, trees and other plants "too neatly" almost always looks artificial.
  2. Add a forest around your house.
    a. Select "grs_bush_rhod_sm." Add clumps of six to eight rhododendrons around the valley, as well as a few bushes around the corners of the house, the back of the chicken coop and some at the base of the canyon wall. Create two clumps behind and on either side of the well.
    b. Select "grs_flr_aster_blue" and add them around the outskirts of the rhododendron patches here and there and around the well and house.
    c. Select "grs_pine_9m_sway" and add them on top of the rhododendron clumps. The trees should look as if they are growing out of the rhododendron undergrowth. This will help blend the trees into the terrain, giving a much more natural appearance. Space the trees so they touch a bit, but without too much overlap. Add in some "grs_aspen_red_lg_sway_grassy" in the same way for variety.
  3. Add Starting Positions.
    a. Select the Starting Positions Gizmo from the gizmos folder and place seven of them in front of the house. Move the original starting position that was automatically created with the house node to be grouped with the others. These define the location where your heroes will enter when the map is loaded.
    Click here to see the image
  4. Save.

 

103: Lighting <Back to Table of Contents>

Lighting a region well can make a decent environment something spectacular. Lighting can range from subtle tones to full-on vibrant color, depending on the mood you want to set. A well-lit level makes an area feel believable to the player – for example, every light object in the world (i.e. - a candle) has an obvious lightsource (i.e. - the glow and flicker of its flame).

The following steps will explain how to set ambient light for your region, how to create sunlight using directional lights, and how to place and modify point lights.

Ambient Light

Set the general brightness of your region's terrain, objects, and actors by adding region-wide ambient light:
  1. In the Lighting Menu, select Ambient Lighting to bring up the Region Ambient Light Settings window.
  2. In the Ambient Intensity portion, select the value box labeled General: and enter a value of "0.2" (the "General" setting will affect terrain). Repeat this for Object: with a value of "0.2", and Actor: with a value of "0.25".
  3. You may view your changes by clicking the Update button. When you have finished, click OK.
    Click here to see the image
Directional Light

Create sunlight for your region by adding directional lights:

  1. In the Lighting Menu, select Edit Directional Lights.
  2. In the Edit Directional Lights window, click the New button. A number, representing the ID of a new directional light, will appear in the small box to the left of the button. Select this number, and click the Edit button. This will open the Directional Light Properties window.
  3. Create sunlight for your region. Select the Lighting tab. In the Direction section, enter a value of 2.0 in the "X:" box.
  4. In the "Options" section of the window, make sure all boxes are checked. Note that selecting "On Timer" will make the light change its color and intensity in game based on time of day. Click OK.
    Click here to see the image
  5. Create lighting to realistically illuminate shadows in your region. Add a second directional light and click Edit.  Under Color in the Color Values portion of the window, make the light a shade of blue by entering in the values 0.5 for Red:, 0.55 for Green:, and 0.98 for Blue:. Click Apply, and then click the Lighting tab to continue configuring the light.
    Click here to see the image
  6. In the Lighting window for the shadow light, enter a Direction value of –2.0 for X:. In the Intensity: box, enter a value of 0.7. Do not check any additional check boxes under Options.
    Click here to see the image
  7. In the remaining Edit Directional Lights window, click Update All, and then click OK.  There may be a pause as Siege Editor updates the region’s lighting before the window disappears.
Point Lights

Add individual light sources to your region:

  1. Add a light source near the candle.  Select Point Light from the custom view, and place a point light near the candle in the house.
  2. Select the point light and, using the same method for moving objects, position the light slightly above the candle you’ve placed on the windowsill.
  3. Select the light, and right click on it. Click Properties, and then click on the Lighting tab.
  4. Set the reach of the light by entering a value of 2.0 for the Inner Radius: box, and a value of 5.0 for Outer Radius:.
  5. Click Choose Color.  In the Color window, select a bright shade of yellow.  Click OK.
    Click here to see the image
  6. Under Options (still on the Object Properties window), check the Occlude box so that the light will be blocked by terrain, and check the Draw Shadows box so that actors near the light will cast shadows. Leave the rest of the options as they are. Click OK to close the Object Properties window.
    Click here to see the image
  7. Under the Lighting Menu, select Update All Node Lighting to see your changes applied.
  8. Save.


104: Fading <Back to Table of Contents>

Fading is the term we use to describe terrain becoming invisible at times when you do not want it to obstruct the camera. This is done with a mixture of node camera flag settings and special trigger gizmos that control node behavior.

Node Camera Flags

  1. Add the door top to the house. The node "t_grs01_houses_generic-b-log-door-top.sno" connects to Door 16 of the house node.
  2. Set Camera Flags to define how the game camera will behave when it encounters the nodes in your region. From the Node Menu, choose Select All Nodes.
  3. Choose Properties from the Node Menu to bring up the Node Properties dialogue box. Under the General tab, only Occludes Light and Bounds Camera should be checked. Click OK.
  4. Select just the house node. Open Node Properties again and adjust the settings so only Occludes Light and Occludes Camera are checked. Click OK.
  5. Select just the Door Top node. Open Node Properties again and adjust the settings so only Occludes Light and Camera Fade are checked. Click OK.
  6. Save.

Fading Nodes With Triggers

Add the roof node to the house by snapping either "t_grs01_houses_generic-b-roof-shingle.sno" or "–thatch.sno" to door 15 of the house node.

To make the roof fade away when somebody goes inside the building, and fade back in when somebody leaves the building:

  1. Change the roof node's fade flags.
    a. Select the roof node and open its Node Properties dialog.
    b. Under Fade Settings, set the Section, Level, and Object fields all to 5, then click OK.
  2. Add two fade triggers.
    a. Under the Settings Menu, select Region.
    b. Copy the value from the Region GUID field.
    c. Select "trigger_generic" from the gizmos folder.
    d. Click on the floor in the doorway of the house to make a new trigger there.
    e. Select the gizmo by clicking on it, then right click on the trigger and select Properties.
    f. Select the Trigger Properties tab.
    g. Press the New button at the bottom-left. In the Triggers field (upper-left), this has created a new trigger attached to our trigger_generic object.
    h. Click the box marked with a plus symbol to the left of "trigger_generic", which will bring down the text "trigger_0". Click on "trigger_0" to select it.
    Click here to see the image
    i. Click the Add Condition button.
    j. Select "party_member_within_bounding_box" from the drop-down dialogue that pops up, then press OK.
    k. Change the values (in the Value column) for Half diag X, Y, and Z to 1, 1, and 0.5, respectively. This creates a bounding box that is long and thin. Click the Add Action button, and select "fade_nodes" in the drop-down dialog, and press OK.
    l. Paste the region GUID into the value field for the region ID.
    m. Set the Section, Level, and Object all to 5.
    n. Double-click on the field in the Value column (to the right of Fade Type). This will bring up a drop-down list of all valid choices; select out:black.
    o. Click the Rotation tab, and enter in 20 as the Y value. Basically, rotate the trigger so that the bounding box covers the entire floor beneath the doorway.
    p. Click OK on the bottom of the Object Properties window.
    q. With the trigger selected, click on Copy (or press ctrl-c) in the Edit Menu.
    r. Point the mouse cursor at the front steps of the farmhouse, and press ctrl-v to paste. This creates a copy of the first trigger.
    s. Select the second trigger, and bring up its properties.
    t. Change the value for Fade Type to in.
    u. Rotate and position the trigger so that its bounding box completely covers the stairs leading to the house.
    Click here to see the image
  3. Save.

 

105: Moods <Back to Table of Contents>

Moods are atmospheric settings used to polish and optimize a level. They consist of weather events such as rain, snow, and fog, music, ambient noises, and a few other advanced features that are covered in Siege U:204. For now, we have provided a pre-created mood to use with this tutorial.

  1. Create a new generic trigger in the middle of the start points.
  2. Add a new Condition and choose "party_member_within_sphere."
  3. Change the radius of the sphere to 5.
  4. You should see a sphere debug HUD with the new trigger in the middle. Visually verify that this encompasses all of the start points.  You can move the Object Properties window if it occludes your view.
  5. Add a new Action to the trigger and choose "mood_change."
  6. Enter the following value for the mood name: "map_world_fh_r1_4." (no quotes or period)
    Click here to see the image
  7. Save.

106: Monster Placement <Back to Table of Contents>

Monster placement is one of the easiest aspects of the Siege Editor, but also one of the most influential. Where the monsters are placed directly affects how the game will eventually play out. A few simple guidelines:

  • Never place monsters right next to Starting Positions.
  • The monster classes are similar to the player classes: Melee, Ranged, and Magic.
  • Monsters appear in 3 variations: Normal, Revealing, and Generators.

For this tutorial you will be placing 2 groups of monsters: one group of Melee/Normal and one group of Melee/Generator.

[Note: This "exploding door" generator is not included with Dungeon Siege v1.0. If you do not have Dungeon Siege v1.09B or greater, skip down to the "Move over to the well node" paragraph and continue on. Once you have upgraded your version of Dungeon Siege, we encourage you to revisit the "exploding door".]
  1. First is the Generator group. From the custom view open the monsters folder and select "gen_explode_door-krug_grunt".
  2. Find the house node, and place the "exploding door" object near the doorway.
  3. Adjust the door to fit into the doorway.  If it is too small to cover the doorway, open the door's Properties, click on the Template Properties tab, and adjust the scale_multiplier setting until the door fits.
    Click here to see the image

You’ve just placed an exploding door that will spawn in a Krug Grunt (a very tough monster) so watch out when approaching the house. Also of note, you’ll see a red circle around the door generator; this is its detection range. In game, when a player enters that circle, the door will explode and a Krug Grunt will appear.

Move over to the well node.  If you did not place shrubbery behind the well, go ahead and add two groves now.  This is a good place to have a Krug Scavenger ambush.

  1. Select "krug scavenger" from the custom view.
  2. Place three Krug Scavengers near the well.
  3. Select one Scavenger and move it to the middle of the area between the groves.
  4. Select another Scavenger, and drag it inside one of the forest groves (Note: watch the outermost circle as you do this, it is the monster’s player detection range, just as with the door generator. You’ll want to make sure each of the Scavengers detection circles overlap, so they will converge on the player at the same time).
  5. Repeat step 4 with the third Scavenger, moving it to the other forest grove.
    Click here to see the image
  6. Save.

 

Conclusion <Back to Table of Contents>

Congratulations, you have built your first Dungeon Siege region! You can now close the editor, launch Dungeon Siege, choose your map from the list (in either single player or multiplayer), and play in your very own level!  If this has whetted your appetite for more, visit our website and read through more in-depth documentation, tutorials, and examples at http://www.dungeonsiege.com/su.shtml.

 

©2002 eXtensive Design
View terms of use | Email WebMaster

Dungeon Siege is ©2002 Gas Powered Games, Corp. All rights reserved.
Dungeon Siege is a registered trademark of Gas Powered Games, Corp. in the United States and/or other countries.
Most images are copyright to their respected copyright holders.