From Dragon Age Toolset Wiki
Jump to: navigation, search

Stages are used in conversations that take place in a predefined location. They are like the direction of a stage play, allowing the activities of the conversation's participants and the positioning of the camera to be controlled while the lines are being spoken.

The default The "face to face" conversations will occur whenever a stage is not specified for the conversation.

Creating a Stage

A simple stage with two places and one camera

A stage template can be created using DA's stage editor. The setup includes the following:

  • Setting the player's position (position includes also initial orientation)
  • Setting party members' positions
  • Setting all NPC actors' positions
  • Placing one or more cameras overlooking the stage
  • Defining the focal length and clipping plane of the camera
  • The ability to import and edit existing stages to allow for template usability.
  • Ability to define/import/edit functional shots (see below) for a stage.
  • Ability to compensate cameras procedurally, for varying heights from speaker to listener, to account for racial height difference and terrain differences.
  • Defining the stages borders. This will be used to prevent creatures from stepping into the stage. (Otherwise we'll have to manually prevent creatures from walking in, and that's very likely to fail).
  • Saving the stage object as a one defined structure. The main aspect that defines the stage is the number of NPC actors involved, but there may be more than one template for the same number of NPCs actors.

Background. If you wish to do so, you can select the area. This is done by selecting the stage name, going to the object inspector and selecting the area. I recommend against this since it is likely to cause all kinds of confusion when you are actually 'in game'.

The yellow representations. If you want those to look like the in-game NPCs, select the NPC whose appearance you want to change. Go to the object inspector, 'Visualization', 'Source' (only option), and select the utc file that you want. This will cause the NPC to look the same in game and in the stage. This will not override the designation in the dlg editor, but more on that later. You won't be able to use 'your' GW to replace the 'player' character, but you can select any of the .utc in the game.

You can also add placeables to the stage if you wish to do so by selecting the .utp extension rather than the utc extension when you are selecting the 'source' file.

Placement: The owner of the conversation should be at (0,0,0) Anything else will cause the characters to 'jump around'. If you try to have more than two participants in a conversation using a dynamic stage, there will also be 'jumping around' This post http://forum.bioware...dynamic-stages/ discusses how to resolve that issue (it isn't pretty, but it is possible).

Setting who is speaking. (read the above link, if it isn't the owner. 1) Select the first line of the conversation, on the Cinematics tab, select the name of your dynamic stage and 'at current location' Select emotion (if any) and the camera you want to use.

2) Still on the Cinematics tab, you should have a list of 'places' for each character on your stage. For each of these 'places', select the 'tag' you want associated with that 'place'. Even if you selected the NPC (or Henchman or whatever) to look like Teagan in the stage, you have to select the tag on the Cinematics tab. You must do this for every participant in the conversation and whether or not they are required. If they are not identified as 'required', I don't think they can participate in the conversation.

3) Go to the dialogue tab. There should be a list of all possible speakers. Select the tag associated with the speaker. For a dynamic stage, you must read the link that I previously posted to find out how to keep the 'jumping around' from happening. It is not fun or pretty so I try to avoid having anyone other than the owner of the dialogue and the player in a conversation. If you want to see this in action, please download my MerAnne's Dwarves mod and play through the Dwarf Noble Origin. For the female version of the Surface Dwarf (Jasmine), there are three participants in the conversation if the Aeducan GW orders Gorim to 'tell the surface dwarf not to speak to royalty' (or something like that, been a long time since I wrote it).

Using a Stage

The stage is placed using the area editor. Note how one of the places overlaps the NPC assigned to it, so that the NPC will not suddenly jump to a new position when the stage is used.

The stage then appears in the toolset in the stage palette and can be placed inside an area. The user orients the stage and gives it a tag. In the toolset, it should be possible to view placed objects in and around the stage area.

The user then adjusts the following setting on the stage instance:

  • Select a position for the player (default is node #1)
  • Select a position for the conversation owner (default is node #2)
  • Select follower positions (default nodes #3, #4 and #5). Note: the player can not select a specific follower in a specific node — he just selects what positions will be used for followers, and the engine places them depending on current party arrangement.
  • Select a position for all other actors (random assignment by default). This is done by assigning a creature or placeable tag into a position marker.
  • For each actor position: specify if the actor is active or not. If a position is active then the actor is visible when the dialog is triggered. If the actor is inactive, then he is invisible when the dialog triggers. Functional shots can be used later to show actors entering or leaving dialog. These functional shots will need to use stage cameras and turn actors visible or invisible.

Later, if someone updates a stage template, only the global data is updated on instances. For example: actor assignments and cameras that have been manually moved should remain the same; Actor positions and other cameras might change.

The next step is for the designer to assign a specific stage tag (of instances) for dialog trees. Note that a single dialog file usually has more than one tree, and each one might be assigned a different stage. When placing a stage, the toolset associates a stage camera for each line in the tree. The toolset will assign cameras if adding new lines into a tree which already has a stage associated with it. This way the user can preview a camera shot of each line.

The stage in the game

Whenever the player clicks on a character to initiate dialog and the initiated dialog is associated with a stage, the game immediately snaps all actors into their positions (with a possible quick fade, we'll first try with no fade), and might turn some of them invisible, if they are inactive. The game also cleans up the stage area from any other objects that might be inside at the moment by turning them invisible for the duration of the dialog (optional: we may not allow path-finding into stages at all). Then, the game plays each dialog line with the camera that was automatically associated by the toolset. Note that the dialog is played in-game — ambient creatures that are in the area are still visible and walk around, but they can not enter the stage boundaries. This applies only for creatures that are non-hostile towards any actor in the stage. Hostile creatures (towards actors) are frozen and invisible during the entire dialog. Designers should still try to avoid having dialogs and combat clash at all.

Functional Shots

What is a functional shot?

A functional shot is a cinematic procedure that may be attached to a single dialog line. This cinematic procedure has parameters, including at least the participating actor/s. The functional shots are used to display small sections of cinematics that might happen several times during the game. For example: shaking hands, drawing weapons etc'.

The functional shots are also used to control actors getting in and out of stages. For example: we'll have a functional shot called ‘1 actor enters dialog' and when running, it will communicate with the staging system to make the actor visible and use one of the stage cameras to display the actor coming into the stage. Functional shots should also be used to override the automatic camera selection of the staging system. For example: if the user wants to change a camera's orientation or zoom level.

Creating a functional shot

Functional shots can be created inside DA's cutscene editor tool. In it, the user creates the cutscene and specifies what aspects of the cutscene should be a parameter:

  • All actors are considered parameters always. The user should only number the actors.
  • Camera: when flagged as a parameter, the toolset selects a stage camera instead when the functional shot is selected for a line. There can be only 1 camera parameter per functional shot.
  • Dialog line: can include up to 1 dialog line, and it will always be considered a parameter. The user will be able to attach a functional shot with a dialog parameter only to dialog line that have spoken text in them.
  • Interactive Placeable: for example: if an actor steps through a door.

These shots are supposed to be short and simple (up to 5 seconds). Anything more than that should be considered a full-fledged cutscene.

Using a functional shot

Functional shots appear in their own palette in the toolset. The user first selects the name of the functional shot, and then selects the parameters. The toolset automatically picks the speaker as actor #1 and the listener as actor #2, but the user may change these selections. Note that a placeable may also be an actor. A single functional shot can be associated with any single dialog line that belongs to a staged dialog tree. A functional shot should know how to communicate with the staging system in order to activate disabled actors and use stage cameras.

Stage properties

Resource Name
Tag A non-unique string identifier used mostly by scripts and other resources to refer to this resource.
Area Select an existing area and the stage editor will have that area displayed in it, making it easier to place actors and cameras with respect to the scenery. Works best with a stage that's only used in one spot.
Position in Area Defines the position in the area that the stage's center is located at. The easiest way to find the coordinates of a location is to open the area in the area editor and copy them from an object or waypoint located there. When placing the stage in the area editor, copy these position and orientation properties to make the stage line up exactly the same as it does in the stage editor.
Yaw in Area The orientation of the stage in the area.

Camera properties

FOV The field of view for the camera
Tag A non-unique string identifier used mostly by scripts and other resources to refer to this resource.
Camera Adjustment
Look At Type The type of look at adjustment:
  • "None" means that no camera adjustment will be performed (the primary look at target is still used by DOF.)
  • "Simple" adjustment just adjusts the camera up or down based on the average change in height between all its look at targets.
  • "Over-the-shoulder" adjustment adjusts the height based on the looking from place, and the angle based on the primary looking at place.
  • "Terrain" [Undocumented]
Looking At (Primary) The primary place that this camera is looking at. This is used by both over-the-shoulder and simple look at. It is also used when applying depth of field.
Looking At (Secondary) A list of all places being looked at. This is only used by simple look at.
Looking From This field is used by over-the-shoulder camera adjustment. This is the place whose shoulder is being looked over.
00.Apply DOF Whether depth of field will be applied to this camera.
00.Override DOF If true this camera specifies DOF settings that override the default procedural settings. Otherwise the procedural system will generate reasonable settings based on its parameters.

Place properties

Tag A non-unique string identifier used mostly by scripts and other resources to refer to this resource.
Close Up Camera This camera will be used for automatic close-up shoots of actors standing on this place. See Process camera for line
Default Camera This camera will be used by default to look at actors standing on this place. See Process camera for line
Wide Camera This camera will be used for automatic wide shots of actors standing on this place. See Process camera for line
Source The source object to display in this place for visualization. This property is for visualization only; it is not used beyond the stage editor.

Language: English  • русский