<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://datoolset.net/mw/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=AmstradHero</id>
		<title>Dragon Age Toolset Wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://datoolset.net/mw/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=AmstradHero"/>
		<link rel="alternate" type="text/html" href="https://datoolset.net/wiki/Special:Contributions/AmstradHero"/>
		<updated>2026-08-04T08:36:53Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.25.6</generator>

	<entry>
		<id>https://datoolset.net/mw/index.php?title=File:Katriana.jpg&amp;diff=13939</id>
		<title>File:Katriana.jpg</title>
		<link rel="alternate" type="text/html" href="https://datoolset.net/mw/index.php?title=File:Katriana.jpg&amp;diff=13939"/>
				<updated>2010-10-16T23:14:32Z</updated>
		
		<summary type="html">&lt;p&gt;AmstradHero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>AmstradHero</name></author>	</entry>

	<entry>
		<id>https://datoolset.net/mw/index.php?title=Community_Contest_3_mini:_Head_Morph&amp;diff=13938</id>
		<title>Community Contest 3 mini: Head Morph</title>
		<link rel="alternate" type="text/html" href="https://datoolset.net/mw/index.php?title=Community_Contest_3_mini:_Head_Morph&amp;diff=13938"/>
				<updated>2010-10-16T23:13:39Z</updated>
		
		<summary type="html">&lt;p&gt;AmstradHero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Community_Contest_back.jpg|link=Community_Contest_Main_Page]] [[File:CC_BSN_GetInvolved.jpg|link=http://social.bioware.com/group/2535/&amp;amp;v=discussions]]&lt;br /&gt;
&lt;br /&gt;
== Brief ==&lt;br /&gt;
&lt;br /&gt;
Create a head morph for a charater of your own design. The morph must be made in the Toolset and contain MRH and MOR files. This contest is a '''Raffle''' - all entries have an even chance of winning the prizes, and '''will not be judged'''. The contest discussion thread can be found [http://social.bioware.com/group/2535/discussion/10611/ here].&lt;br /&gt;
&lt;br /&gt;
This is a raffled mini contest coinciding with the [[Community_Contest_3:_Character_Contest|Character Contest]], which also includes creating conversation for the character - we'd love if you entered both!&lt;br /&gt;
&lt;br /&gt;
'''DEADLINE: Monday 18 October''' - your entry must be ready for judging before midday GMT+0. It is strongly recommended you submit well before this time in case you run into troubles. Modifications to your submission are welcomed - the newest version of your entry will be judged, although modifications made after the submission date will not be judged.&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
All entries must:&lt;br /&gt;
* Include MRH source material as well as exported MOR file and post on the [http://social.bioware.com/project/3410/ BSN Project] (do not make your own)&lt;br /&gt;
* Post a single, clear screenshot on the contest page&lt;br /&gt;
* Use only &lt;br /&gt;
** DA assets (hairs, textures) &lt;br /&gt;
** (optional) hairs from [http://www.dragonagenexus.com/downloads/file.php?id=392 More Hairstyles] (the agreed mod)&lt;br /&gt;
** (optional) hairs/textures which are '''your own work''' and are '''included with your submission'''&lt;br /&gt;
* Any further modifications must be '''your own work''' (your own textures, for example) and '''must be included''' with the files.&lt;br /&gt;
* Be submitted before Monday 18 October midday (GMT+0)&lt;br /&gt;
&lt;br /&gt;
=== Allowable ===&lt;br /&gt;
While &amp;quot;bonus points&amp;quot; '''will not''' be given for the following, entries may:&lt;br /&gt;
* Include custom textures/hairs (please only '''your own''' work though)&lt;br /&gt;
* Multiple entries are always allowed, however your name will only be entered into the raffle ONCE (more entries will NOT increase your chance of winning).&lt;br /&gt;
&lt;br /&gt;
=== Disallowable ===&lt;br /&gt;
* For this contest, please '''do not use other peoples mods''' except [http://www.dragonagenexus.com/downloads/file.php?id=392 More Hairstyles] and anything which is '''your own''' work and is included.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Groups and Prizes ==&lt;br /&gt;
&lt;br /&gt;
=== Groups ===&lt;br /&gt;
This contest has only one group. The winner will be selected by '''Raffle''', and '''not by judging'''.&lt;br /&gt;
&lt;br /&gt;
* 1st place - 5 points, chooses first&lt;br /&gt;
* 2nd place - 3 points, chooses second&lt;br /&gt;
* 3rd place - 2 points, chooses third&lt;br /&gt;
* All other entries meeting requirements - 1 point&lt;br /&gt;
&lt;br /&gt;
To receive an &amp;quot;entry point&amp;quot;, your submission must meet the requirements of the contest, listed at the top of this page&lt;br /&gt;
&lt;br /&gt;
=== Prizes ===&lt;br /&gt;
&lt;br /&gt;
Please see [[Community_Contest_Prizes|Community Contest Prizes]]&lt;br /&gt;
&lt;br /&gt;
== Helpful Links ==&lt;br /&gt;
* [[Morph|Head Morph]] - Builder Wiki&lt;br /&gt;
* [http://www.youtube.com/watch?v=qR8AkAfNbvk Head Morph video tutorial] - mikemike37&lt;br /&gt;
* [http://social.bioware.com/forum/1/topic/72/index/569359#604626 Custom face tattoo tutorial] - DarthParametric&lt;br /&gt;
* [http://social.bioware.com/forum/1/topic/72/index/2452603 Custom scalp tattoo tutorial] - DarthParametric&lt;br /&gt;
&lt;br /&gt;
= Entries = &lt;br /&gt;
&lt;br /&gt;
This contest is a little different entry procedure than others.&lt;br /&gt;
&lt;br /&gt;
=== Submitting an entry ===&lt;br /&gt;
* Join the [http://social.bioware.com/group/2535 Community Contest Group]&lt;br /&gt;
* Add your MRH and MOR file to a .7z or .zip file&lt;br /&gt;
* Name the file &amp;quot;Character Name - Entrant Name.zip&amp;quot;&lt;br /&gt;
* upload the file to the [http://social.bioware.com/project/3410/ Mini Contest project]. Ensure it is &amp;quot;Viewable by everyone&amp;quot;&lt;br /&gt;
* upload a screenshot and make an entry on this Contest Page (below)&lt;br /&gt;
&lt;br /&gt;
For general contest entry FAQs please see the [[Community_Contest_Entry_FAQ|Entry FAQs]]. Note that some may not apply to this mini contest.&lt;br /&gt;
&lt;br /&gt;
For information on Judging, please see the [[Community_Contest_Judging|Judging]] page.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font size=&amp;quot;5&amp;quot; color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;IMPORTANT - consent to share&amp;lt;/u&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;b&amp;gt;By entering this competition you consent to share your work for other community members to benefit from.&lt;br /&gt;
 Where appropriate, source files should be shared (include the MRH head morph). &lt;br /&gt;
 The work *MUST* be your own (obviously you may use DA assets).&lt;br /&gt;
 Do not use custom hair/textures/voicework etc unless you have explicit consent from the author to share. You must include them with your submission.&lt;br /&gt;
 Others may use and modify your work in their Dragon Age mods, though are encouraged to give credit. &lt;br /&gt;
 As the entries are judged, local copies will be saved If your work is taken down.&lt;br /&gt;
 If your work is taken down, you allow for it to be re-uploaded, crediting the work in your name. &amp;lt;/b&amp;gt; &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Granny Rockbottom by Bloodsong Vengeance ==&lt;br /&gt;
&lt;br /&gt;
[http://social.bioware.com/project/3410/#files Granny Rockbottom]: Racing Nug Breeder of Orzammar.  A cantankerous old coot who's been breeding and raising nugs for decades.&lt;br /&gt;
&lt;br /&gt;
[[File:Grannyrockbottom.jpg|Granny Rockbottom]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ratha by Jackkel Dragon ==&lt;br /&gt;
&lt;br /&gt;
[http://social.bioware.com/project/3410/#files Ratha], an Avvar hillswoman from the Frostbacks.&lt;br /&gt;
&lt;br /&gt;
[[File:Cc_ratha_morph_screen.png|250px|Ratha]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Arbither by Lord Uber Dowzen (uberdowzen) ==&lt;br /&gt;
&lt;br /&gt;
[http://social.bioware.com/project/3410/#files Arbither], a snooty knight in the service of Arl Eamon.&lt;br /&gt;
&lt;br /&gt;
[[File:Arbither.jpg|250px|Arbither]]&lt;br /&gt;
&lt;br /&gt;
== Sin by Princecorg ==&lt;br /&gt;
&lt;br /&gt;
[http://social.bioware.com/project/3410/#files Sin], a young female dalatian rogue.&lt;br /&gt;
&lt;br /&gt;
[[File:Sin.jpg|250px|Sin]]&lt;br /&gt;
&lt;br /&gt;
== Knives by Vaylise ==&lt;br /&gt;
&lt;br /&gt;
[http://social.bioware.com/project/3410/#files Knives], a violent elf with criminal tendencies.&lt;br /&gt;
&lt;br /&gt;
[[File:CC3_Knives.png|250px|Knives]]&lt;br /&gt;
&lt;br /&gt;
== Sinister Elf Man by mikemike37 ==&lt;br /&gt;
&lt;br /&gt;
[http://social.bioware.com/project/3410/#files Sinister Elf Man]. Title says it all.&lt;br /&gt;
&lt;br /&gt;
[[File:Cc3_sinisterelfman.jpg|250px|Sinister Elf Man]]&lt;br /&gt;
&lt;br /&gt;
== Amber by MidnightGuardian ==&lt;br /&gt;
&lt;br /&gt;
[http://social.bioware.com/project/3410/#files Amber], a feisty rogue.&lt;br /&gt;
&lt;br /&gt;
[[File:Amber_MidnightGuardian.png‎|250px|Amber]]&lt;br /&gt;
&lt;br /&gt;
== Saarebas by uberdowzen ==&lt;br /&gt;
&lt;br /&gt;
[http://social.bioware.com/project/3410/#files Saarebas], a Qunari mage.&lt;br /&gt;
&lt;br /&gt;
[[File:Saarebas.jpg|250px|Amber]]&lt;br /&gt;
&lt;br /&gt;
== Katriana by AmstradHero ==&lt;br /&gt;
&lt;br /&gt;
[http://social.bioware.com/project/3410/#files Katriana], an aging woman bearing a hint of bitterness.&lt;br /&gt;
&lt;br /&gt;
[[File:Katriana.jpg|250px|Katriana]]&lt;/div&gt;</summary>
		<author><name>AmstradHero</name></author>	</entry>

	<entry>
		<id>https://datoolset.net/mw/index.php?title=Conversation_tutorial&amp;diff=13739</id>
		<title>Conversation tutorial</title>
		<link rel="alternate" type="text/html" href="https://datoolset.net/mw/index.php?title=Conversation_tutorial&amp;diff=13739"/>
				<updated>2010-09-24T06:44:27Z</updated>
		
		<summary type="html">&lt;p&gt;AmstradHero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox conversation}}&lt;br /&gt;
&lt;br /&gt;
Dialog is perhaps the most important part of making an adventure into a story. In Dragon Age, dialog is a collection of lines that are arranged in an interactive tree-shaped structure. This tree structure can be simple or complex, and each line can have conditions and actions attached to it that interact with the state of the world at large.&lt;br /&gt;
&lt;br /&gt;
For this tutorial we will start simple and then progressively add new features and options to a [[conversation]] as we go. Later on there will be a separate tutorial for adding cinematic direction to conversations.&lt;br /&gt;
&lt;br /&gt;
== Creating and setting a conversation for a creature ==&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* The root node of a conversation tree holds global (conversation-wide) settings.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In the [[creature tutorial]] we created a [[creature]] named &amp;quot;Quest Giver&amp;quot;, who is standing outside a hut that's filled with monsters. The goal is to have the quest giver ask you to go in and kill all the monsters for him.&lt;br /&gt;
&lt;br /&gt;
First, we need to create the conversation resource. Using the new resource command, select &amp;quot;conversation&amp;quot; and give it a resource name that will help keep track of its purpose. We're calling this conversation &amp;quot;conv_quest_giver&amp;quot;. The new conversation starts out empty, with only a &amp;quot;root&amp;quot; node. The root node of a conversation doesn't contain any dialog itself; it is merely a container that holds various global settings that apply to the conversation as a whole.&lt;br /&gt;
&lt;br /&gt;
With the root node highlighted, the global settings become accessible in the tabbed pane at the bottom of the conversation editing window:&lt;br /&gt;
&lt;br /&gt;
[[Image:Conversation root global settings.png]]&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* &amp;quot;OWNER&amp;quot; is the creature the conversation &amp;quot;belongs&amp;quot; to.&lt;br /&gt;
* &amp;quot;PLAYER&amp;quot; is the player's character&lt;br /&gt;
* A conversation is assigned to a creature in the ''creature's'' properties (the &amp;quot;Conversation&amp;quot; property)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
These settings have defaults that will be perfectly good for a conversation between a PC and a single NPC, as we will be doing here. The &amp;quot;OWNER&amp;quot; of the conversation will be the creature the conversation is attached to - in this case, Quest Giver. The &amp;quot;PLAYER&amp;quot; is, of course, the player's character.&lt;br /&gt;
&lt;br /&gt;
*Default NPC Speaker: This is the creature who, by default, responds to the player's dialog selections.&lt;br /&gt;
*Default NPC Listener: This is the creature who the NPC is directing those responses to. This is used to determine who the NPC should turn his head toward when speaking.&lt;br /&gt;
*Default PC Listener: This is the creature who the PC is talking to when he makes dialog selections, determining who the PC's avatar turns his head toward.&lt;br /&gt;
&lt;br /&gt;
These settings can be overridden on a line-by-line basis, something you'll usually only need to do when you're writing a conversation with more than two participants. We won't do that in this introductory tutorial. It's also possible to have an inanimate object (a placeable) as a participant in a conversation, which we also won't get into here.&lt;br /&gt;
&lt;br /&gt;
Also on this page are a number of checkboxes for locking cinematics. This is usually used to prevent the toolset from generating new automatic animations after you've fine-tuned things manually, we won't need to worry about that for now.&lt;br /&gt;
&lt;br /&gt;
Once the conversation resource is created, we'll need to tell the quest_giver creature that he's supposed to use it when the player tries to talk to him. Open the quest giver in the creature editor and change his &amp;quot;Conversation&amp;quot; property from the default (none) to &amp;quot;conv_quest_giver&amp;quot; by pressing the ellipsis ([[Image:ellipsis.png]]) button and selecting the conv_quest_giver dialog.&lt;br /&gt;
&lt;br /&gt;
== Adding some dialog ==&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* Red lines of dialog are spoken by NPCs one at a time&lt;br /&gt;
* Blue lines of dialog are selected from by the player and are presented as groups of options&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
To add a line to the root, you can right-click on it and select &amp;quot;Add Line&amp;quot;. It's also available as a button in the toolbar (button #23, below) and with the shortcut &amp;quot;control-A&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conversation toolbar.png]]&lt;br /&gt;
&lt;br /&gt;
The added node will be in red text, indicating it's non-interactive (spoken by the NPC) and tagged with &amp;lt;nowiki&amp;gt;[[[[OWNER]]]]&amp;lt;/nowiki&amp;gt; to indicate who's speaking it. When the player initiates conversation with the conversation's owner, this is the first line that will be said.&lt;br /&gt;
&lt;br /&gt;
To determine what it is that the conversation owner says, select the node and go down to the dialog tab to enter the text. For the time being we won't need to worry about the other options below the dialog's main text entry field.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conversation dialog.png]]&lt;br /&gt;
&lt;br /&gt;
Once the creature has spoken its line, the player needs to be prompted to give some sort of response. The player could greet the Quest Giver, ask him a question, or choose to ignore him. To add these options, select the line you just added and &amp;quot;Insert line&amp;quot; three times. This will add three blue lines as children of the red one. In each of these lines' dialogue tabs, add the text of the response the player can give.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conversation tutorial 1.png]]&lt;br /&gt;
&lt;br /&gt;
Here's how it looks in game once we've initiated this conversation:&lt;br /&gt;
&lt;br /&gt;
[[Image:Conversation tutorial quest giver speaks.png|600px]]&lt;br /&gt;
&lt;br /&gt;
The conversation can continue being built in this vein with one NPC response for each of the player's options and one or more player options branching out in turn. When the player runs off the end of the conversation it ends, sending him back to explore mode.&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* &amp;quot;Copy&amp;quot; and then &amp;quot;Paste as Link&amp;quot; allows conversation trees to loop or merge branches&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Thanks to this branching pattern it is possible for a conversation's volume to grow at an exponential rate, rapidly becoming very tedious to write. Worse, there could be many points within a conversation tree where the same lines might be spoken, leading to redundancy. This can be solved by &amp;quot;linking&amp;quot; lines to each other, allowing the conversation to jump from one branch to another or to loop back on itself to replay parts over again.&lt;br /&gt;
&lt;br /&gt;
In this example, we'll have the Quest Giver respond to the player's first option with &amp;quot;Excellent! I have a quest I need performed for me!&amp;quot;. At this point the player could respond with the same &amp;quot;Oh? What quests do you have in mind?&amp;quot; line that was an option initially, leading to the same response. Rather than duplicate the entire tree, select the existing &amp;quot;Oh? What quests do you have in mind?&amp;quot; line and copy it to the clipboard (control-C, or right click copy, or edit -&amp;gt; copy). Then select the new owner line and paste as link (control-shift-V, right click paste as link, or edit -&amp;gt; paste as link)&lt;br /&gt;
&lt;br /&gt;
[[Image:Conversation tutorial 2.png]]&lt;br /&gt;
&lt;br /&gt;
The linked line is shown in gray. To find out where a grey line links to, right-click on it and select &amp;quot;Jump to Target&amp;quot; (or just double click it). To find all the places the target line is linked to from, right-click on it and select &amp;quot;Find Links&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now both of these paths through the conversation will lead to the same line, wherein the Quest Giver tells the player that the hut behind him is full of monsters. We can add an option to the dialog after this where the player can accept the mission to slay them all, and now when he enters the hut to fight them there will be more of a story behind about how he came to that point.&lt;br /&gt;
&lt;br /&gt;
== Keeping track of quests via plots ==&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* Plots contain lists of flags for keeping track of quest status and other world events&lt;br /&gt;
* Each flag can also contain journal text for the player to read&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Now that we have a mechanism in place where we can assign a quest to the player we'll want some way to keep track of his progress. In Neverwinter Nights this was done using scripting directly, but in Dragon Age a new type of resource has been introduced that helps to simplify the process. These are &amp;quot;[[Plot]]s&amp;quot;. Go to the resource palette and create a new plot with the resource name &amp;quot;clear_the_hut&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
A plot consists of a series of named flags that can be set to true or false. The intent is for these flags to represent significant accomplishments or developments in the plot, with the values being set in response to the player's actions. Each flag can also have an associated journal text, a block of text that is displayed in the  player's journal under the plot's title. Journal text is normally used to keep the player informed of his progress and remind him of important information he's discovered along the way.&lt;br /&gt;
&lt;br /&gt;
We'll need to give the plot a &amp;quot;Name&amp;quot; property, which will be seen by the player as the plot's title in the journal. This plot's name will be &amp;quot;Clear the Hut&amp;quot;. There are three significant landmarks in the course of this plot; the moment the player accepts the plot, the moment the player has succeeded in slaying all of the monsters in the hut, and the moment when the player reports back to the quest giver to receive his reward. We will therefore create three flags:&lt;br /&gt;
&lt;br /&gt;
*QUEST_ACCEPTED&lt;br /&gt;
*MONSTERS_SLAIN&lt;br /&gt;
*REWARD_RECEIVED&lt;br /&gt;
&lt;br /&gt;
Create flags by right-clicking on the plot editor and selecting &amp;quot;Insert -&amp;gt; Main Flag&amp;quot;, or by clicking on &amp;quot;Insert Main Flag&amp;quot; in the toolbar, or by selecting &amp;quot;Edit -&amp;gt; Insert -&amp;gt; Main Flag&amp;quot; from the menu bar.&lt;br /&gt;
&lt;br /&gt;
[[Image:Plot tutorial 1.png]]&lt;br /&gt;
&lt;br /&gt;
Each time a plot flag is set, that flag's journal text replaces the previous text that was in the journal for that plot.&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* The &amp;quot;Action&amp;quot; section of the &amp;quot;Plots and Scripting&amp;quot; tab of a conversation node allows plot flags to be set (made &amp;quot;true&amp;quot;) or unset (made &amp;quot;false&amp;quot;) when that line is finished&lt;br /&gt;
* The &amp;quot;Condition&amp;quot; section of the tab allows the line to be hidden or shown to the player based on the state of plot flags&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The easiest way to set a plot flag is in a conversation. When the player accepts the quest to slay the monsters in the hut, we'll want to set the &amp;quot;QUEST_ACCEPTED&amp;quot; flag of the clear_the_hut plot. Select the line where the player accepts the quest and then click on the &amp;quot;Plots and Scripting&amp;quot; tab. Under the &amp;quot;Action&amp;quot; section we'll want to select the clear_the_hut plot. It won't initially appear in the dropdown list since we haven't selected it before (the dropdown list contains recently-used resources), so click on the ellipsis button and select it from the list of all plot resources. Then, once the correct plot is accepted, select the &amp;quot;QUEST_ACCEPTED&amp;quot; flag. The default action is &amp;quot;set&amp;quot;, which will set the flag to true.&lt;br /&gt;
&lt;br /&gt;
Now when we reach this line in the conversation, the &amp;quot;QUEST_ACCEPTED&amp;quot; flag in the clear_the_hut plot will be set to true. This will also update the player's journal to show the journal text associated with that plot flag. You'll note that an &amp;quot;A&amp;quot; also appears in the icon for this conversation node, an indicator that this line of dialog has an action associated with it.&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* The first NPC (red) line that can be shown to a player will be; all subsequent NPC lines branching from the same node will be hidden&lt;br /&gt;
* Make sure the last child line of a node has no condition attached so that there will always be a default line to show the player&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Once the quest has been accepted, it makes no sense for the Quest Giver to offer it a second time. Indeed, if the player were to partially complete the quest and then accept it all over again, his progress through the quest would be disrupted and quite likely unexpected errors would slip into the game. Therefore, we are going to go back to the first line in this conversation and add a condition to it. Select the first line, go to the &amp;quot;Plots and Scripting&amp;quot; tab, and this time put the &amp;quot;clear_the_hut&amp;quot; plot in the ''condition'' section. Set the flag to &amp;quot;QUEST_ACCEPTED&amp;quot;, and set the condition to &amp;quot;is false&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conversation tutorial 4.png]]&lt;br /&gt;
&lt;br /&gt;
This means that this line of dialog will only appear if the quest has not yet been accepted. You'll note that a &amp;quot;C&amp;quot; appears in the node icon to indicate that this line of dialog has a condition attached. Since all of the other lines of dialog depend on this line appearing, including the offer of the quest and the line where the player accepts it, this means that the quest can only be accepted once; once it's been accepted the quest giver will not offer it again.&lt;br /&gt;
&lt;br /&gt;
However, this will now leave the quest giver with nothing at all to say. We'll want to give him a different line to say instead. Select the root node of the conversation tree, add a line, and you'll get a second &amp;quot;first&amp;quot; line for the quest giver to say. The game will always pick the first line that can be spoken, so the player will never see the line &amp;quot;Have you slain the monsters yet?&amp;quot; until after he has accepted the quest and the line &amp;quot;Ahoy! I am the Quest Giver!&amp;quot; becomes hidden.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conversation tutorial 5.png]]&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* Player responses can also be made conditional, being hidden from the player if the condition fails.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Conditions can also be placed on player lines. In this case, we want the player to only be able to tell the quest giver that he's completed the quest once the monsters are actually dead. We'll be showing how the MONSTERS_SLAIN flag will be set up later, using scripting, but the details of how it is set are not important right now; we can set the conversation up to account for it and implement it later.&lt;br /&gt;
&lt;br /&gt;
Set the condition for the line &amp;quot;Yes, I have&amp;quot; to require the MONSTERS_SLAIN flag to be true. The subsequent response from the quest giver can then set the REWARD_RECEIVED flag to true.&lt;br /&gt;
&lt;br /&gt;
To prevent the player from accepting his reward multiple times, add a condition to the line &amp;quot;Have you slain the monsters yet?&amp;quot; to require REWARD_RECEIVED to be false. Finally, add a third line off of root for the quest giver to say once the quest has been confirmed completed and there's nothing more for him to do.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conversation tutorial 6.png]]&lt;br /&gt;
&lt;br /&gt;
And there you have it, a simple interactive conversation that will affect and be affected by the world around it.&lt;br /&gt;
&lt;br /&gt;
== Simple stages ==&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* Stages define where characters stand and how the camera is positioned during a conversation&lt;br /&gt;
* A conversation without a stage will use a basic default camera positioning&lt;br /&gt;
* You need to define a stage for a conversation before you can give the actors animations&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If you run through the conversation as it currently exists you'll find that all of the mechanics are there, but that the performance of our virtual actor leaves a lot to be desired - he simply stands there silent and motionless, staring at the player. The camera angle is also somewhat bland. This can be remedied by adding a [[stage]] to perform the conversation in.&lt;br /&gt;
&lt;br /&gt;
A stage is a set of locations where the participants in a conversation will be positioned, and locations where various cameras will be placed. Create a new stage resource and name it something informative, such as hut_exterior_quest_giver. You'll be presented with an empty, featureless stage. The stage editor window defaults to having four different views of the stage; if you want to change this you can find the setting for this under the &amp;quot;Tools-&amp;gt;Options&amp;quot; menu.&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* &amp;quot;place&amp;quot; objects are spots where the conversation's participants will stand&lt;br /&gt;
* The identity of the creatures occupying places is set in the conversation editor&lt;br /&gt;
* Each place should have a default camera selected. This camera is used by default when the creature occupying that place is talking.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Stages can be complex but in this case we'll keep it simple. Right-click somewhere near the center of the stage and insert a &amp;quot;place&amp;quot; object, and then again to insert a second &amp;quot;place&amp;quot; object. You'll create two blank-looking yellow figurines. These figurines will represent the two creatures who will be involved in the conversation, the player and the quest giver. You'll want to turn one of them to face the other and put them relatively close together.&lt;br /&gt;
&lt;br /&gt;
You'll then want to insert a camera for the conversation to use. Right-click, select insert, and select camera. Position the camera so that it has a view over the shoulder of one of the two figures and is looking at the other figure, a standard over-the-shoulder shot. You can adjust the camera more easily by setting one of the four views to be the camera's view; right-click on the frame, go down to the &amp;quot;camera&amp;quot; option, and select which of the cameras the frame should provide the view of. You can also select the &amp;quot;Safe Frame&amp;quot; option, which puts a border on the view showing only what will be visible in-game.&lt;br /&gt;
&lt;br /&gt;
[[Image:Stage tutorial 1.png]]&lt;br /&gt;
&lt;br /&gt;
For each place you'll want to define a default camera; this is the camera that will be used to view the creature standing in this place when that creature is talking in the game. Select the place and in the object inspector select &amp;quot;camera1&amp;quot; for the default camera.&lt;br /&gt;
&lt;br /&gt;
If you wish, you can put in additional cameras. In the conversation editor you will have options to select which cameras are active, and even to cut from one camera to another in the middle of a line. We won't do that yet, however; we currently want this to be as simple a stage as possible. A future tutorial will cover stages in more depth.&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* Once a stage resource is created, it must then be placed in the area editor&lt;br /&gt;
* Place the stage so that the conversation's participants won't have to be moved far&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Once the stage has been created, we'll need to place it in the area where the conversation is to take place. Open the hut exterior area in the area editor and go to the location where you've placed the Quest Giver. Find the stage in the resource palette, place it in the area, and you'll see the blank figures and the camera appear. There will also be a red flag similar to a [[waypoint]]; this marks the center of the stage and is useful for distinguishing them when there are many stages overlapping each other in an area. Position the stage so that the place where the quest giver will be standing is approximately where he is right now; it doesn't have to be exact, but if he changes location dramatically when the conversation starts it might be a bit jarring.&lt;br /&gt;
&lt;br /&gt;
[[Image:Stage tutorial 2.png]]&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* Assign the stage to the conversation in the conversation editor&lt;br /&gt;
* Then assign which conversation participants use which places defined by the stage&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Now that the stage has been placed, we can set the conversation to use it. Go back to the conversation editor, select the root node, and then select the &amp;quot;Cinematics&amp;quot; tab. There will be an option there to set a stage. Since we've never selected this stage before it won't be in the dropdown list, use the ellipsis button to select the stage from the available stage resources.&lt;br /&gt;
&lt;br /&gt;
Once the stage has been selected the two places that are part of the stage will be listed below. You'll want to assign them to the two participants in this conversation, OWNER and PLAYER.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conversation tutorial 7.png]]&lt;br /&gt;
&lt;br /&gt;
== Gestures ==&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* Once a stage is set you can automatically generate gestures&lt;br /&gt;
* To generate gestures for all nodes in a conversation, select the root node and generate gestures for children&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Select the root node of the conversation and then click on the &amp;quot;Generate Gestures for Children&amp;quot; button (#35 on the toolbar, or in the right-click menu for the node, or in the edit menu)&lt;br /&gt;
&lt;br /&gt;
[[Image:Conversation toolbar.png]]&lt;br /&gt;
&lt;br /&gt;
This will run through all of the nodes beneath root and automatically generate some random gestures appropriate for a man standing and talking to someone. These gestures can be customized and fine-tuned, but this will be the subject of a separate tutorial.&lt;br /&gt;
&lt;br /&gt;
Now at last our actors are a little less wooden; they move around a bit, and the camera is in an interesting place. But their faces are still completely blank. This too can be easily remedied.&lt;br /&gt;
&lt;br /&gt;
== Voice-over and FaceFX ==&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* You need to have voice-over recorded to generate a facial performance with FaceFX.&lt;br /&gt;
* You can generate a basic placeholder voice-over automatically.&lt;br /&gt;
* See [[Voice-Over]] for information on how to record your own voice over.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Every line of dialog in Dragon Age can have [[voice-over]] recorded for it, which as one might imagine can be a daunting task. As a temporary measure during game development you can instead generate a temporary placeholder voice-over using a basic speech synthesis program. Under &amp;quot;Tools&amp;quot; select &amp;quot;Generate VO&amp;quot; and synthesized voice-over will be added to every line.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conversation generate VO.png]]&lt;br /&gt;
&lt;br /&gt;
The synthesized voice over is very primitive, but it allows you to test the conversation and fine-tune other details without having to record voice as you go - you can leave voice recording until later, once you've finalized all the dialog. It also allows us to generate a facial performance using [[FaceFX]].&lt;br /&gt;
&lt;br /&gt;
[[Image:Conversation generate FaceFX.png]]&lt;br /&gt;
&lt;br /&gt;
The most obvious component of facial performance is lip-synching. FaceFX generates lip-synching from the actual audio of the line, not just from the text of the dialog, so voice over needs to be generated before FaceFX can be run. FaceFX also adds emotional cues to the character's expression using an extension called RoboBrad. You can select the emotion to be added from the &amp;quot;Emotion&amp;quot; field in the cinematics tab for each line of dialog.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conversation cinematics.png]]&lt;br /&gt;
&lt;br /&gt;
Once you've generated a facial performance, you can fine-tune it by selecting &amp;quot;Edit FaceFX&amp;quot; from the tools menu. This will open FaceFX with the selected line of dialogue loaded. We won't be doing this in this tutorial, but if you want to try it out and see what options FaceFX provides see the [[FaceFX]] page for more detail.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conversation edit FaceFX.png]]&lt;br /&gt;
&lt;br /&gt;
To record your own [[voice-over]], you'll need some method for recording your voice (Windows comes with a basic sound-recording program but other more sophisticated programs are available free for download as well) as a wav file. The wav file must be recorded in or converted to PCM 24 khz 16 bit mono format, otherwise the process will fail and an unhelpful error message will be displayed.&lt;br /&gt;
&lt;br /&gt;
Real vo needs to be stored in ~installpath~\Dragon Age\addins\[moduleuid]\module\override\toolsetexport\[lineid]_m.wav - you can dump wav files anywhere under the toolsetexport directory and they will be picked up but for organizational purposes you should probably organize it into subfolders grouped by conversation.&lt;br /&gt;
&lt;br /&gt;
The wav file's filename must be of the form &amp;quot;[lineid]_m.wav&amp;quot; with [lineid] replaced by the ID number for the conversation line's string table entry. For example, if a conversation's line ID number is 344169, you'd save the voice over for this line as &amp;quot;344169_m.wav&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
When you select &amp;quot;generate vo&amp;quot; from the toolset, the toolset will first check the above directory for properly named files. Any wav files that are not present will have robo vo created, and any that do exist will be used as-is.&lt;br /&gt;
&lt;br /&gt;
A quick way to verify that voice over generation worked after processing: go to ~installpath~\Dragon Age\addins\[moduleuid]\core\override\toolsetexport\[conversationname].fsb and play it with windows media player. You will hear all of the vo lines for that conversation packaged together with whatever combination of real and robo vo all slapped together in one file.&lt;br /&gt;
&lt;br /&gt;
Note that when you are doing a [[Builder_to_player]] create, you do not need to include the .wav files within the package. The sound used by the game is all stored in the .fsb files, and thus including the .wav files will only unnecessarily increase the size of mod.&lt;br /&gt;
&lt;br /&gt;
[[Category:Conversations]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>AmstradHero</name></author>	</entry>

	<entry>
		<id>https://datoolset.net/mw/index.php?title=Conversation_tutorial&amp;diff=13738</id>
		<title>Conversation tutorial</title>
		<link rel="alternate" type="text/html" href="https://datoolset.net/mw/index.php?title=Conversation_tutorial&amp;diff=13738"/>
				<updated>2010-09-24T06:43:26Z</updated>
		
		<summary type="html">&lt;p&gt;AmstradHero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox conversation}}&lt;br /&gt;
&lt;br /&gt;
Dialog is perhaps the most important part of making an adventure into a story. In Dragon Age, dialog is a collection of lines that are arranged in an interactive tree-shaped structure. This tree structure can be simple or complex, and each line can have conditions and actions attached to it that interact with the state of the world at large.&lt;br /&gt;
&lt;br /&gt;
For this tutorial we will start simple and then progressively add new features and options to a [[conversation]] as we go. Later on there will be a separate tutorial for adding cinematic direction to conversations.&lt;br /&gt;
&lt;br /&gt;
== Creating and setting a conversation for a creature ==&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* The root node of a conversation tree holds global (conversation-wide) settings.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In the [[creature tutorial]] we created a [[creature]] named &amp;quot;Quest Giver&amp;quot;, who is standing outside a hut that's filled with monsters. The goal is to have the quest giver ask you to go in and kill all the monsters for him.&lt;br /&gt;
&lt;br /&gt;
First, we need to create the conversation resource. Using the new resource command, select &amp;quot;conversation&amp;quot; and give it a resource name that will help keep track of its purpose. We're calling this conversation &amp;quot;conv_quest_giver&amp;quot;. The new conversation starts out empty, with only a &amp;quot;root&amp;quot; node. The root node of a conversation doesn't contain any dialog itself; it is merely a container that holds various global settings that apply to the conversation as a whole.&lt;br /&gt;
&lt;br /&gt;
With the root node highlighted, the global settings become accessible in the tabbed pane at the bottom of the conversation editing window:&lt;br /&gt;
&lt;br /&gt;
[[Image:Conversation root global settings.png]]&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* &amp;quot;OWNER&amp;quot; is the creature the conversation &amp;quot;belongs&amp;quot; to.&lt;br /&gt;
* &amp;quot;PLAYER&amp;quot; is the player's character&lt;br /&gt;
* A conversation is assigned to a creature in the ''creature's'' properties (the &amp;quot;Conversation&amp;quot; property)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
These settings have defaults that will be perfectly good for a conversation between a PC and a single NPC, as we will be doing here. The &amp;quot;OWNER&amp;quot; of the conversation will be the creature the conversation is attached to - in this case, Quest Giver. The &amp;quot;PLAYER&amp;quot; is, of course, the player's character.&lt;br /&gt;
&lt;br /&gt;
*Default NPC Speaker: This is the creature who, by default, responds to the player's dialog selections.&lt;br /&gt;
*Default NPC Listener: This is the creature who the NPC is directing those responses to. This is used to determine who the NPC should turn his head toward when speaking.&lt;br /&gt;
*Default PC Listener: This is the creature who the PC is talking to when he makes dialog selections, determining who the PC's avatar turns his head toward.&lt;br /&gt;
&lt;br /&gt;
These settings can be overridden on a line-by-line basis, something you'll usually only need to do when you're writing a conversation with more than two participants. We won't do that in this introductory tutorial. It's also possible to have an inanimate object (a placeable) as a participant in a conversation, which we also won't get into here.&lt;br /&gt;
&lt;br /&gt;
Also on this page are a number of checkboxes for locking cinematics. This is usually used to prevent the toolset from generating new automatic animations after you've fine-tuned things manually, we won't need to worry about that for now.&lt;br /&gt;
&lt;br /&gt;
Once the conversation resource is created, we'll need to tell the quest_giver creature that he's supposed to use it when the player tries to talk to him. Open the quest giver in the creature editor and change his &amp;quot;Conversation&amp;quot; property from the default (none) to &amp;quot;conv_quest_giver&amp;quot; by pressing the ellipsis ([[Image:ellipsis.png]]) button and selecting the conv_quest_giver dialog.&lt;br /&gt;
&lt;br /&gt;
== Adding some dialog ==&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* Red lines of dialog are spoken by NPCs one at a time&lt;br /&gt;
* Blue lines of dialog are selected from by the player and are presented as groups of options&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
To add a line to the root, you can right-click on it and select &amp;quot;Add Line&amp;quot;. It's also available as a button in the toolbar (button #23, below) and with the shortcut &amp;quot;control-A&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conversation toolbar.png]]&lt;br /&gt;
&lt;br /&gt;
The added node will be in red text, indicating it's non-interactive (spoken by the NPC) and tagged with &amp;lt;nowiki&amp;gt;[[[[OWNER]]]]&amp;lt;/nowiki&amp;gt; to indicate who's speaking it. When the player initiates conversation with the conversation's owner, this is the first line that will be said.&lt;br /&gt;
&lt;br /&gt;
To determine what it is that the conversation owner says, select the node and go down to the dialog tab to enter the text. For the time being we won't need to worry about the other options below the dialog's main text entry field.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conversation dialog.png]]&lt;br /&gt;
&lt;br /&gt;
Once the creature has spoken its line, the player needs to be prompted to give some sort of response. The player could greet the Quest Giver, ask him a question, or choose to ignore him. To add these options, select the line you just added and &amp;quot;Insert line&amp;quot; three times. This will add three blue lines as children of the red one. In each of these lines' dialogue tabs, add the text of the response the player can give.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conversation tutorial 1.png]]&lt;br /&gt;
&lt;br /&gt;
Here's how it looks in game once we've initiated this conversation:&lt;br /&gt;
&lt;br /&gt;
[[Image:Conversation tutorial quest giver speaks.png|600px]]&lt;br /&gt;
&lt;br /&gt;
The conversation can continue being built in this vein with one NPC response for each of the player's options and one or more player options branching out in turn. When the player runs off the end of the conversation it ends, sending him back to explore mode.&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* &amp;quot;Copy&amp;quot; and then &amp;quot;Paste as Link&amp;quot; allows conversation trees to loop or merge branches&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Thanks to this branching pattern it is possible for a conversation's volume to grow at an exponential rate, rapidly becoming very tedious to write. Worse, there could be many points within a conversation tree where the same lines might be spoken, leading to redundancy. This can be solved by &amp;quot;linking&amp;quot; lines to each other, allowing the conversation to jump from one branch to another or to loop back on itself to replay parts over again.&lt;br /&gt;
&lt;br /&gt;
In this example, we'll have the Quest Giver respond to the player's first option with &amp;quot;Excellent! I have a quest I need performed for me!&amp;quot;. At this point the player could respond with the same &amp;quot;Oh? What quests do you have in mind?&amp;quot; line that was an option initially, leading to the same response. Rather than duplicate the entire tree, select the existing &amp;quot;Oh? What quests do you have in mind?&amp;quot; line and copy it to the clipboard (control-C, or right click copy, or edit -&amp;gt; copy). Then select the new owner line and paste as link (control-shift-V, right click paste as link, or edit -&amp;gt; paste as link)&lt;br /&gt;
&lt;br /&gt;
[[Image:Conversation tutorial 2.png]]&lt;br /&gt;
&lt;br /&gt;
The linked line is shown in gray. To find out where a grey line links to, right-click on it and select &amp;quot;Jump to Target&amp;quot; (or just double click it). To find all the places the target line is linked to from, right-click on it and select &amp;quot;Find Links&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now both of these paths through the conversation will lead to the same line, wherein the Quest Giver tells the player that the hut behind him is full of monsters. We can add an option to the dialog after this where the player can accept the mission to slay them all, and now when he enters the hut to fight them there will be more of a story behind about how he came to that point.&lt;br /&gt;
&lt;br /&gt;
== Keeping track of quests via plots ==&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* Plots contain lists of flags for keeping track of quest status and other world events&lt;br /&gt;
* Each flag can also contain journal text for the player to read&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Now that we have a mechanism in place where we can assign a quest to the player we'll want some way to keep track of his progress. In Neverwinter Nights this was done using scripting directly, but in Dragon Age a new type of resource has been introduced that helps to simplify the process. These are &amp;quot;[[Plot]]s&amp;quot;. Go to the resource palette and create a new plot with the resource name &amp;quot;clear_the_hut&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
A plot consists of a series of named flags that can be set to true or false. The intent is for these flags to represent significant accomplishments or developments in the plot, with the values being set in response to the player's actions. Each flag can also have an associated journal text, a block of text that is displayed in the  player's journal under the plot's title. Journal text is normally used to keep the player informed of his progress and remind him of important information he's discovered along the way.&lt;br /&gt;
&lt;br /&gt;
We'll need to give the plot a &amp;quot;Name&amp;quot; property, which will be seen by the player as the plot's title in the journal. This plot's name will be &amp;quot;Clear the Hut&amp;quot;. There are three significant landmarks in the course of this plot; the moment the player accepts the plot, the moment the player has succeeded in slaying all of the monsters in the hut, and the moment when the player reports back to the quest giver to receive his reward. We will therefore create three flags:&lt;br /&gt;
&lt;br /&gt;
*QUEST_ACCEPTED&lt;br /&gt;
*MONSTERS_SLAIN&lt;br /&gt;
*REWARD_RECEIVED&lt;br /&gt;
&lt;br /&gt;
Create flags by right-clicking on the plot editor and selecting &amp;quot;Insert -&amp;gt; Main Flag&amp;quot;, or by clicking on &amp;quot;Insert Main Flag&amp;quot; in the toolbar, or by selecting &amp;quot;Edit -&amp;gt; Insert -&amp;gt; Main Flag&amp;quot; from the menu bar.&lt;br /&gt;
&lt;br /&gt;
[[Image:Plot tutorial 1.png]]&lt;br /&gt;
&lt;br /&gt;
Each time a plot flag is set, that flag's journal text replaces the previous text that was in the journal for that plot.&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* The &amp;quot;Action&amp;quot; section of the &amp;quot;Plots and Scripting&amp;quot; tab of a conversation node allows plot flags to be set (made &amp;quot;true&amp;quot;) or unset (made &amp;quot;false&amp;quot;) when that line is finished&lt;br /&gt;
* The &amp;quot;Condition&amp;quot; section of the tab allows the line to be hidden or shown to the player based on the state of plot flags&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The easiest way to set a plot flag is in a conversation. When the player accepts the quest to slay the monsters in the hut, we'll want to set the &amp;quot;QUEST_ACCEPTED&amp;quot; flag of the clear_the_hut plot. Select the line where the player accepts the quest and then click on the &amp;quot;Plots and Scripting&amp;quot; tab. Under the &amp;quot;Action&amp;quot; section we'll want to select the clear_the_hut plot. It won't initially appear in the dropdown list since we haven't selected it before (the dropdown list contains recently-used resources), so click on the ellipsis button and select it from the list of all plot resources. Then, once the correct plot is accepted, select the &amp;quot;QUEST_ACCEPTED&amp;quot; flag. The default action is &amp;quot;set&amp;quot;, which will set the flag to true.&lt;br /&gt;
&lt;br /&gt;
Now when we reach this line in the conversation, the &amp;quot;QUEST_ACCEPTED&amp;quot; flag in the clear_the_hut plot will be set to true. This will also update the player's journal to show the journal text associated with that plot flag. You'll note that an &amp;quot;A&amp;quot; also appears in the icon for this conversation node, an indicator that this line of dialog has an action associated with it.&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* The first NPC (red) line that can be shown to a player will be; all subsequent NPC lines branching from the same node will be hidden&lt;br /&gt;
* Make sure the last child line of a node has no condition attached so that there will always be a default line to show the player&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Once the quest has been accepted, it makes no sense for the Quest Giver to offer it a second time. Indeed, if the player were to partially complete the quest and then accept it all over again, his progress through the quest would be disrupted and quite likely unexpected errors would slip into the game. Therefore, we are going to go back to the first line in this conversation and add a condition to it. Select the first line, go to the &amp;quot;Plots and Scripting&amp;quot; tab, and this time put the &amp;quot;clear_the_hut&amp;quot; plot in the ''condition'' section. Set the flag to &amp;quot;QUEST_ACCEPTED&amp;quot;, and set the condition to &amp;quot;is false&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conversation tutorial 4.png]]&lt;br /&gt;
&lt;br /&gt;
This means that this line of dialog will only appear if the quest has not yet been accepted. You'll note that a &amp;quot;C&amp;quot; appears in the node icon to indicate that this line of dialog has a condition attached. Since all of the other lines of dialog depend on this line appearing, including the offer of the quest and the line where the player accepts it, this means that the quest can only be accepted once; once it's been accepted the quest giver will not offer it again.&lt;br /&gt;
&lt;br /&gt;
However, this will now leave the quest giver with nothing at all to say. We'll want to give him a different line to say instead. Select the root node of the conversation tree, add a line, and you'll get a second &amp;quot;first&amp;quot; line for the quest giver to say. The game will always pick the first line that can be spoken, so the player will never see the line &amp;quot;Have you slain the monsters yet?&amp;quot; until after he has accepted the quest and the line &amp;quot;Ahoy! I am the Quest Giver!&amp;quot; becomes hidden.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conversation tutorial 5.png]]&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* Player responses can also be made conditional, being hidden from the player if the condition fails.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Conditions can also be placed on player lines. In this case, we want the player to only be able to tell the quest giver that he's completed the quest once the monsters are actually dead. We'll be showing how the MONSTERS_SLAIN flag will be set up later, using scripting, but the details of how it is set are not important right now; we can set the conversation up to account for it and implement it later.&lt;br /&gt;
&lt;br /&gt;
Set the condition for the line &amp;quot;Yes, I have&amp;quot; to require the MONSTERS_SLAIN flag to be true. The subsequent response from the quest giver can then set the REWARD_RECEIVED flag to true.&lt;br /&gt;
&lt;br /&gt;
To prevent the player from accepting his reward multiple times, add a condition to the line &amp;quot;Have you slain the monsters yet?&amp;quot; to require REWARD_RECEIVED to be false. Finally, add a third line off of root for the quest giver to say once the quest has been confirmed completed and there's nothing more for him to do.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conversation tutorial 6.png]]&lt;br /&gt;
&lt;br /&gt;
And there you have it, a simple interactive conversation that will affect and be affected by the world around it.&lt;br /&gt;
&lt;br /&gt;
== Simple stages ==&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* Stages define where characters stand and how the camera is positioned during a conversation&lt;br /&gt;
* A conversation without a stage will use a basic default camera positioning&lt;br /&gt;
* You need to define a stage for a conversation before you can give the actors animations&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If you run through the conversation as it currently exists you'll find that all of the mechanics are there, but that the performance of our virtual actor leaves a lot to be desired - he simply stands there silent and motionless, staring at the player. The camera angle is also somewhat bland. This can be remedied by adding a [[stage]] to perform the conversation in.&lt;br /&gt;
&lt;br /&gt;
A stage is a set of locations where the participants in a conversation will be positioned, and locations where various cameras will be placed. Create a new stage resource and name it something informative, such as hut_exterior_quest_giver. You'll be presented with an empty, featureless stage. The stage editor window defaults to having four different views of the stage; if you want to change this you can find the setting for this under the &amp;quot;Tools-&amp;gt;Options&amp;quot; menu.&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* &amp;quot;place&amp;quot; objects are spots where the conversation's participants will stand&lt;br /&gt;
* The identity of the creatures occupying places is set in the conversation editor&lt;br /&gt;
* Each place should have a default camera selected. This camera is used by default when the creature occupying that place is talking.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Stages can be complex but in this case we'll keep it simple. Right-click somewhere near the center of the stage and insert a &amp;quot;place&amp;quot; object, and then again to insert a second &amp;quot;place&amp;quot; object. You'll create two blank-looking yellow figurines. These figurines will represent the two creatures who will be involved in the conversation, the player and the quest giver. You'll want to turn one of them to face the other and put them relatively close together.&lt;br /&gt;
&lt;br /&gt;
You'll then want to insert a camera for the conversation to use. Right-click, select insert, and select camera. Position the camera so that it has a view over the shoulder of one of the two figures and is looking at the other figure, a standard over-the-shoulder shot. You can adjust the camera more easily by setting one of the four views to be the camera's view; right-click on the frame, go down to the &amp;quot;camera&amp;quot; option, and select which of the cameras the frame should provide the view of. You can also select the &amp;quot;Safe Frame&amp;quot; option, which puts a border on the view showing only what will be visible in-game.&lt;br /&gt;
&lt;br /&gt;
[[Image:Stage tutorial 1.png]]&lt;br /&gt;
&lt;br /&gt;
For each place you'll want to define a default camera; this is the camera that will be used to view the creature standing in this place when that creature is talking in the game. Select the place and in the object inspector select &amp;quot;camera1&amp;quot; for the default camera.&lt;br /&gt;
&lt;br /&gt;
If you wish, you can put in additional cameras. In the conversation editor you will have options to select which cameras are active, and even to cut from one camera to another in the middle of a line. We won't do that yet, however; we currently want this to be as simple a stage as possible. A future tutorial will cover stages in more depth.&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* Once a stage resource is created, it must then be placed in the area editor&lt;br /&gt;
* Place the stage so that the conversation's participants won't have to be moved far&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Once the stage has been created, we'll need to place it in the area where the conversation is to take place. Open the hut exterior area in the area editor and go to the location where you've placed the Quest Giver. Find the stage in the resource palette, place it in the area, and you'll see the blank figures and the camera appear. There will also be a red flag similar to a [[waypoint]]; this marks the center of the stage and is useful for distinguishing them when there are many stages overlapping each other in an area. Position the stage so that the place where the quest giver will be standing is approximately where he is right now; it doesn't have to be exact, but if he changes location dramatically when the conversation starts it might be a bit jarring.&lt;br /&gt;
&lt;br /&gt;
[[Image:Stage tutorial 2.png]]&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* Assign the stage to the conversation in the conversation editor&lt;br /&gt;
* Then assign which conversation participants use which places defined by the stage&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Now that the stage has been placed, we can set the conversation to use it. Go back to the conversation editor, select the root node, and then select the &amp;quot;Cinematics&amp;quot; tab. There will be an option there to set a stage. Since we've never selected this stage before it won't be in the dropdown list, use the ellipsis button to select the stage from the available stage resources.&lt;br /&gt;
&lt;br /&gt;
Once the stage has been selected the two places that are part of the stage will be listed below. You'll want to assign them to the two participants in this conversation, OWNER and PLAYER.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conversation tutorial 7.png]]&lt;br /&gt;
&lt;br /&gt;
== Gestures ==&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* Once a stage is set you can automatically generate gestures&lt;br /&gt;
* To generate gestures for all nodes in a conversation, select the root node and generate gestures for children&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Select the root node of the conversation and then click on the &amp;quot;Generate Gestures for Children&amp;quot; button (#35 on the toolbar, or in the right-click menu for the node, or in the edit menu)&lt;br /&gt;
&lt;br /&gt;
[[Image:Conversation toolbar.png]]&lt;br /&gt;
&lt;br /&gt;
This will run through all of the nodes beneath root and automatically generate some random gestures appropriate for a man standing and talking to someone. These gestures can be customized and fine-tuned, but this will be the subject of a separate tutorial.&lt;br /&gt;
&lt;br /&gt;
Now at last our actors are a little less wooden; they move around a bit, and the camera is in an interesting place. But their faces are still completely blank. This too can be easily remedied.&lt;br /&gt;
&lt;br /&gt;
== Voice-over and FaceFX ==&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* You need to have voice-over recorded to generate a facial performance with FaceFX.&lt;br /&gt;
* You can generate a basic placeholder voice-over automatically.&lt;br /&gt;
* See [[Voice-Over]] for information on how to record your own voice over.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Every line of dialog in Dragon Age can have [[voice-over]] recorded for it, which as one might imagine can be a daunting task. As a temporary measure during game development you can instead generate a temporary placeholder voice-over using a basic speech synthesis program. Under &amp;quot;Tools&amp;quot; select &amp;quot;Generate VO&amp;quot; and synthesized voice-over will be added to every line.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conversation generate VO.png]]&lt;br /&gt;
&lt;br /&gt;
The synthesized voice over is very primitive, but it allows you to test the conversation and fine-tune other details without having to record voice as you go - you can leave voice recording until later, once you've finalized all the dialog. It also allows us to generate a facial performance using [[FaceFX]].&lt;br /&gt;
&lt;br /&gt;
[[Image:Conversation generate FaceFX.png]]&lt;br /&gt;
&lt;br /&gt;
The most obvious component of facial performance is lip-synching. FaceFX generates lip-synching from the actual audio of the line, not just from the text of the dialog, so voice over needs to be generated before FaceFX can be run. FaceFX also adds emotional cues to the character's expression using an extension called RoboBrad. You can select the emotion to be added from the &amp;quot;Emotion&amp;quot; field in the cinematics tab for each line of dialog.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conversation cinematics.png]]&lt;br /&gt;
&lt;br /&gt;
Once you've generated a facial performance, you can fine-tune it by selecting &amp;quot;Edit FaceFX&amp;quot; from the tools menu. This will open FaceFX with the selected line of dialogue loaded. We won't be doing this in this tutorial, but if you want to try it out and see what options FaceFX provides see the [[FaceFX]] page for more detail.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conversation edit FaceFX.png]]&lt;br /&gt;
&lt;br /&gt;
To record your own [[voice-over]], you'll need some method for recording your voice (Windows comes with a basic sound-recording program but other more sophisticated programs are available free for download as well) as a wav file. The wav file must be recorded in or converted to PCM 24 khz 16 bit mono format, otherwise the process will fail and an unhelpful error message will be displayed.&lt;br /&gt;
&lt;br /&gt;
Real vo needs to be stored in ~installpath~\Dragon Age\addins\[moduleuid]\module\override\toolsetexport\[lineid]_m.wav - you can dump wav files anywhere under the toolsetexport directory and they will be picked up but for organizational purposes you should probably organize it into subfolders grouped by conversation.&lt;br /&gt;
&lt;br /&gt;
The wav file's filename must be of the form &amp;quot;[lineid]_m.wav&amp;quot; with [lineid] replaced by the ID number for the conversation line's string table entry. For example, if a conversation's line ID number is 344169, you'd save the voice over for this line as &amp;quot;344169_m.wav&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
When you select &amp;quot;generate vo&amp;quot; from the toolset, the toolset will first check the above directory for properly named files. Any wav files that are not present will have robo vo created, and any that do exist will be used as-is.&lt;br /&gt;
&lt;br /&gt;
A quick way to verify that voice over generation worked after processing: go to ~installpath~\Dragon Age\addins\[moduleuid]\core\override\toolsetexport\[conversationname].fsb and play it with windows media player. You will hear all of the vo lines for that conversation packaged together with whatever combination of real and robo vo all slapped together in one file.&lt;br /&gt;
&lt;br /&gt;
Note that when you are doing a [[Builder_to_player][Builder to Player]] create, you do not need to include the .wav files within the package. The sound used by the game is all stored in the .fsb files, and thus including the .wav files will only unnecessarily increase the size of mod.&lt;br /&gt;
&lt;br /&gt;
[[Category:Conversations]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>AmstradHero</name></author>	</entry>

	<entry>
		<id>https://datoolset.net/mw/index.php?title=File:Hillside6.jpg&amp;diff=13510</id>
		<title>File:Hillside6.jpg</title>
		<link rel="alternate" type="text/html" href="https://datoolset.net/mw/index.php?title=File:Hillside6.jpg&amp;diff=13510"/>
				<updated>2010-09-12T12:00:03Z</updated>
		
		<summary type="html">&lt;p&gt;AmstradHero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>AmstradHero</name></author>	</entry>

	<entry>
		<id>https://datoolset.net/mw/index.php?title=File:Hillside4.jpg&amp;diff=13509</id>
		<title>File:Hillside4.jpg</title>
		<link rel="alternate" type="text/html" href="https://datoolset.net/mw/index.php?title=File:Hillside4.jpg&amp;diff=13509"/>
				<updated>2010-09-12T11:58:55Z</updated>
		
		<summary type="html">&lt;p&gt;AmstradHero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>AmstradHero</name></author>	</entry>

	<entry>
		<id>https://datoolset.net/mw/index.php?title=File:Hillside1.jpg&amp;diff=13508</id>
		<title>File:Hillside1.jpg</title>
		<link rel="alternate" type="text/html" href="https://datoolset.net/mw/index.php?title=File:Hillside1.jpg&amp;diff=13508"/>
				<updated>2010-09-12T11:57:33Z</updated>
		
		<summary type="html">&lt;p&gt;AmstradHero: The entrance to the village&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The entrance to the village&lt;/div&gt;</summary>
		<author><name>AmstradHero</name></author>	</entry>

	<entry>
		<id>https://datoolset.net/mw/index.php?title=Community_Contest_1:_Settlement_Level&amp;diff=13507</id>
		<title>Community Contest 1: Settlement Level</title>
		<link rel="alternate" type="text/html" href="https://datoolset.net/mw/index.php?title=Community_Contest_1:_Settlement_Level&amp;diff=13507"/>
				<updated>2010-09-12T11:56:38Z</updated>
		
		<summary type="html">&lt;p&gt;AmstradHero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Community_Contest_back.jpg|link=Community_Contest_Main_Page]] [[File:CC_BSN_GetInvolved.jpg|link=http://social.bioware.com/group/2535/&amp;amp;v=discussions]]&lt;br /&gt;
&lt;br /&gt;
== Brief ==&lt;br /&gt;
&lt;br /&gt;
Design a town/village/hamlet level. The contest discussion thread can be found [http://social.bioware.com/group/2535/discussion/9469/ here].&lt;br /&gt;
&lt;br /&gt;
'''DEADLINE: Monday 13 September''' - your entry must be ready for judging before midday GMT+0. It is strongly recommended you submit well before this time in case you run into troubles. Modifications to your submission are welcomed - the newest version of your entry will be judged, although modifications made after the submission date will not be judged.&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
All entries must:&lt;br /&gt;
* portray a &amp;quot;friendly&amp;quot; settlement of some kind&lt;br /&gt;
* be complete - do not enter a small section of a larger city, unless you also submit the rest of the city.&lt;br /&gt;
* lvl source as well as exported layout files must be included. ''(.lvl file, as well as the folder generated by Do All Local Posts, which can be found: My Documents/Bioware/Dragon Age/Addins/(addinname)/Core/Override/ToolsetExport/(layout))''&lt;br /&gt;
* contain at least the &amp;quot;outdoor&amp;quot; level. Additional rooms are optional, but if included, areas must be set up with area transitions.&lt;br /&gt;
* be submitted before monday 13 september midday (GMT+0)&lt;br /&gt;
&lt;br /&gt;
=== Guidelines ===&lt;br /&gt;
Strong entries will:&lt;br /&gt;
* ... have around a dozen or so buildings and outhouses. Consideration will be made for extending the level by adding interior levels.&lt;br /&gt;
* ... visually portray the towns primary function such as fishing town, mining town, farm town, etc. For example, a farm town might include features like a miller, grocery market and bakery. A defensive outpost might have a wall around it.&lt;br /&gt;
* ... consider access to the town. This may inlude roads, paths, harbours, etc.&lt;br /&gt;
* ... include an area resource to add a handful of important interactive objects, such as doors. The town doesn’t need to be populated in this contest.&lt;br /&gt;
* ... have considered the sky and surrounding environment in the distance.&lt;br /&gt;
* ... be usable in a variety of mods. Please don’t go too overboard with weird additions such as crashed alien ships or other features that would make it extremely specific to a module.&lt;br /&gt;
* ... prioritise level design over custom content. While custom props are allowed, such contributions must be shared with the level and will not gain &amp;quot;bonus points&amp;quot;. You should try entering any custom props you make to our [[Community_Contest_2:_Prop_Model|second contest]]!&lt;br /&gt;
&lt;br /&gt;
== Groups and Prizes ==&lt;br /&gt;
&lt;br /&gt;
=== Groups ===&lt;br /&gt;
This contest has only one group.&lt;br /&gt;
&lt;br /&gt;
* 1st place - 15 points, chooses first&lt;br /&gt;
* 2nd place - 10 points, chooses second&lt;br /&gt;
* 3rd place - 5 points, chooses third&lt;br /&gt;
* All other entries meeting requirements - 1 point&lt;br /&gt;
&lt;br /&gt;
To receive an &amp;quot;entry point&amp;quot;, your submission must meet the requirements of the contest, listed at the top of this page&lt;br /&gt;
&lt;br /&gt;
=== Prizes ===&lt;br /&gt;
&lt;br /&gt;
Please see [[Community_Contest_Prizes|Community Contest Prizes]]&lt;br /&gt;
&lt;br /&gt;
== Helpful tutorials ==&lt;br /&gt;
* [http://www.youtube.com/watch?v=M_4SgkiYUsw Complete Outdoor Level Making Video Guide] by mikemike37 (recorded for this contest)&lt;br /&gt;
* [[Level|Level Editor]] by various (Builder Wiki)&lt;br /&gt;
* [[Level_Editor_Tutorial|Level Editor Tutorial]] by various (Builder Wiki)&lt;br /&gt;
* [[Making a new, playable module]] by Fen Tabris&lt;br /&gt;
* [[Building levels]] by Fen Tabris&lt;br /&gt;
*[http://www.youtube.com/watch?v=szWKgj2ZuXo Custom Level and Room Building] video tutorial by [http://social.bioware.com/64020/ st4rdog].&lt;br /&gt;
* [http://bg2redux.student.utwente.nl/trac/wiki/TutorialLightmapping Lightmapping guide and troubleshooting] by mikemike37&lt;br /&gt;
* [[Model_list|Model List]] - Wiki list of prop/structural models with pictures&lt;br /&gt;
* [http://social.bioware.com/project/3270/ DA Toolset Prop List] - Downloadable prop list files - .doc and .xls&lt;br /&gt;
&lt;br /&gt;
= Entries = &lt;br /&gt;
&lt;br /&gt;
For information on how to enter, please see the [[Community_Contest_Entry_FAQ|Entry FAQs]]&lt;br /&gt;
&lt;br /&gt;
For information on Judging, please see the [[Community_Contest_Judging|Judging]] page.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font size=&amp;quot;5&amp;quot; color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;IMPORTANT - consent to share&amp;lt;/u&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;b&amp;gt;By entering this competition you consent to share your work for other community members to benefit from.&lt;br /&gt;
 Where appropriate, source files should be shared. &lt;br /&gt;
 The work *MUST* be your own (obviously you may use DA props and selection groups).&lt;br /&gt;
 Do not use custom props unless you have explicit consent from the author to share. You must include them with your level.&lt;br /&gt;
 Others may use and modify your work in their Dragon Age mods, though are encouraged to give credit. &lt;br /&gt;
 As the entries are judged, local copies will be saved If your work is taken down.&lt;br /&gt;
 If your work is taken down, you allow for it to be re-uploaded, crediting the work in your name. &amp;lt;/b&amp;gt; &amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Swamp by Ponozsticka ==&lt;br /&gt;
&lt;br /&gt;
* '''[[CC_The_Swamp_by_Ponozsticka|Full Wiki Page]]'''&lt;br /&gt;
* '''[http://dragonagenexus.com/downloads/file.php?id=1599 Dragon Age Nexus Project Page]'''&lt;br /&gt;
&lt;br /&gt;
As you can see from screenshots and other files, the village is situated in the middle of the swamp, among ancient ruins of the city that used to be there long time ago (before the place turned into a swamp). Remainings of the city can be seen to the north of the settlement, while southern roads are being used by merchants, this way there are less plants (carriage wheels, walking etc.)&lt;br /&gt;
&lt;br /&gt;
Village itself is surrounded by wooden fences, to secure it from anything that might come from the swamp. In the middle of the village you can find the market, while the outskirt serves as camp for merchantes or traspassers.&lt;br /&gt;
&lt;br /&gt;
[[File:Plot2.jpg|400px|Fences]] [[File:Swamp13.jpg|400px|The Fog in the Village]]&lt;br /&gt;
&lt;br /&gt;
=== Judges Comments ===&lt;br /&gt;
&lt;br /&gt;
Judges will leave comments both as contructive suggestions for the entrant and also as impartial guidance for any looking to make use of your work.&lt;br /&gt;
&lt;br /&gt;
== Settlement of Belgray by Jackkel Dragon ==&lt;br /&gt;
&lt;br /&gt;
* '''[http://www.dragonagenexus.com/downloads/file.php?id=1635 Dragon Age Nexus Project Page]'''&lt;br /&gt;
&lt;br /&gt;
Belgray is a small human settlement in the Brecilian Passage, on the road to Gwaren. It is nestled in the hills in the southern part of the Brecilian Forest, and a mountain stream provides water and travel into the forest. A mountain trail leads to the main road to Gwaren.&lt;br /&gt;
&lt;br /&gt;
This is a small area (~ 64m x 32m walkable). It is best used in a hilly area near water. The name, of course, can be changed to whatever fits the setting best. There is a night version of the area that has a lit bonfire along with altered lighting.&lt;br /&gt;
&lt;br /&gt;
[[File:CC1_jackkel_day1.jpg|250px|Day 1]][[File:CC1_jackkel_day2.jpg|250px|Day 2]][[File:CC1_jackkel_night1.jpg|250px|Night 1]][[File:CC1_jackkel_night2.jpg|250px|Night 2]]&lt;br /&gt;
&lt;br /&gt;
=== Judges Comments ===&lt;br /&gt;
&lt;br /&gt;
Judges will leave comments both as contructive suggestions for the entrant and also as impartial guidance for any looking to make use of your work.&lt;br /&gt;
&lt;br /&gt;
== Ojardsi by Turtlecrunch ==&lt;br /&gt;
&lt;br /&gt;
* '''[http://www.dragonagenexus.com/downloads/file.php?id=1626 Dragon Age Nexus Project Page]'''&lt;br /&gt;
* '''[http://www.youtube.com/watch?v=ZT2_OZuwThs Ojardsi v0.12 Video Tour]'''&lt;br /&gt;
&lt;br /&gt;
Ojardsi was first a Tevinter city, and now a crumbling ruin that has attracted a large population of surfacer dwarves.  Human stragglers have joined the settlement as well, though they've had to build their houses themselves.  And eventually with the humans came the attention of the Chantry, which promptly made its mark on the nascent village.  This angered the dwarves considerably, and they have been falling back on old habits, reconstructing their Paragons from memory and building a competing house of worship.  With their contemplation of the old religion, most of Ojardsi's dwarves have also returned to a kind of caste system: newcomers to the settlement must live in designated areas with only tents for shelter, and must work many years before they are eligible to join one of the dwarf common houses.&lt;br /&gt;
&lt;br /&gt;
[[File:Trcunch ojardsi v012 01.jpg|250px|Chantry and Surfacer Shaperate]][[File:Trcunch ojardsi v012 03.jpg|250px|The pub!]][[File:Trcunch ojardsi v012 06.jpg|250px|Overview]][[File:Trcunch ojardsi v012 07.jpg|250px|Yeah, there aren't any creepy old ruins being desecrated by capitalism here...]]&lt;br /&gt;
&lt;br /&gt;
=== Judges Comments ===&lt;br /&gt;
&lt;br /&gt;
Judges will leave comments both as contructive suggestions for the entrant and also as impartial guidance for any looking to make use of your work.&lt;br /&gt;
&lt;br /&gt;
== Sylvhaven by Princecorg ==&lt;br /&gt;
&lt;br /&gt;
* '''[http://www.dragonagenexus.com/downloads/file.php?id=1666 Dragon Age Nexus Project Page]'''&lt;br /&gt;
&lt;br /&gt;
Sylvhaven is a small fisher village located north to Gwaren. It was once a place where merchants, itinerants and any kind of trepassers travelled to.&lt;br /&gt;
&lt;br /&gt;
[[File:Sylvhaven01.jpg|300px]] [[File:Sylvhaven02.jpg|300px]] [[File:Sylvhaven03.jpg|300px]] &lt;br /&gt;
&lt;br /&gt;
[[File:Sylvhaven04.jpg|300px]] [[File:Sylvhaven05.jpg|300px]] [[File:Sylvhaven06.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
=== Judges Comments ===&lt;br /&gt;
&lt;br /&gt;
Judges will leave comments both as contructive suggestions for the entrant and also as impartial guidance for any looking to make use of your work.&lt;br /&gt;
&lt;br /&gt;
== Hillside Village by AmstradHero ==&lt;br /&gt;
&lt;br /&gt;
* '''[http://www.dragonagenexus.com/downloads/file.php?id=1673 Dragon Age Nexus Project Page]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Atop a lush hillside, this small farming village offers respite, shelter and trade for weary travelers. A plateau with a path leading upwards offers an even better view of the houses below. Fields of crops around an assortment of houses, a tree filled landscape and a lake all combine to make a pleasing vista.&lt;br /&gt;
&lt;br /&gt;
[[File:Hillside1.jpg|300px]] [[File:Hillside4.jpg|300px]] [[File:Hillside6.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
=== Judges Comments ===&lt;br /&gt;
&lt;br /&gt;
Judges will leave comments both as contructive suggestions for the entrant and also as impartial guidance for any looking to make use of your work.&lt;/div&gt;</summary>
		<author><name>AmstradHero</name></author>	</entry>

	<entry>
		<id>https://datoolset.net/mw/index.php?title=Door&amp;diff=9081</id>
		<title>Door</title>
		<link rel="alternate" type="text/html" href="https://datoolset.net/mw/index.php?title=Door&amp;diff=9081"/>
				<updated>2009-12-28T12:24:29Z</updated>
		
		<summary type="html">&lt;p&gt;AmstradHero: Adding information about locked doors, including unique keys&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Note: Some of this is likely obsolete. For example, bashing has been largely deprecated and is used only in special-case situations now.'''&lt;br /&gt;
&lt;br /&gt;
Doors are a part of the [[Placeable]] system but are more complicated than most other Interactive Objects. They are connected to door attachment points that are built into area layouts; to find door attachment points click on the blue sphere that becomes visible when a door is selected in the area editor (this is the door's 'hinge') and corresponding attachment points throughout the area will become visible.&lt;br /&gt;
&lt;br /&gt;
[[Image:Door with door hook selected.png]]&lt;br /&gt;
&lt;br /&gt;
There are two types of doors: Area Transition Doors and Room-To-Room Doors&lt;br /&gt;
&lt;br /&gt;
Any interactive object (including doors) placed in the Designer toolset does not get proper lighting. Art needs to have control over the look of these Area Transition doors.&lt;br /&gt;
&lt;br /&gt;
== Area Transition Doors ==&lt;br /&gt;
&lt;br /&gt;
These are placed in the ART TOOLSET. They are static. They do not animate when opened. They are both the door and the door frame as one static piece of art. These have a door hook built into them&lt;br /&gt;
&lt;br /&gt;
User interacts with them and then are teleported into the next area. No door opening animation.&lt;br /&gt;
&lt;br /&gt;
Design hooks a door in the design toolset to the art door by dropping the design door into the DOOR HOOK on the static door&lt;br /&gt;
&lt;br /&gt;
There is a flag called “Invisible” for doors. Design sets this to true for this kind of door. Design can still set properties on this door (i.e., locking it). The connection between the &amp;quot;Art&amp;quot; door and the &amp;quot;Design&amp;quot; door is established by the fact that the Design-door was placed on the door-hook of the Art-door.&lt;br /&gt;
&lt;br /&gt;
To make a door into an area transition door, the following variables must be set:&lt;br /&gt;
*PLC_AT_DEST_AREA_TAG - tag of the destination area &lt;br /&gt;
*PLC_AT_DEST_TAG - tag of the destination waypoint within the destination area &lt;br /&gt;
&lt;br /&gt;
== Room-To-Room Doors ==&lt;br /&gt;
&lt;br /&gt;
Door frames are built in two pieces. The frames will applied to each room. This is to avoid issues of knowing “who owns the door-frame” for fog-of-war and visibility purposes.&lt;br /&gt;
&lt;br /&gt;
The See Thru Flag: If this flag is true the door DOES NOT block visibility. Design will use this for doors that look like they can be seen through (i.e., a prison door)&lt;br /&gt;
&lt;br /&gt;
== How doors open in-game ==&lt;br /&gt;
&lt;br /&gt;
Doors in Dragon Age open by swinging on a hinge. There are no sliding doors.&lt;br /&gt;
&lt;br /&gt;
The swinging arc will vary from door to door but will be either 90 degrees or 180 degrees (flat against opposing wall).&lt;br /&gt;
&lt;br /&gt;
Doors open in both directions, depending on which side of the door the player is on. The door will always open away from the player. &lt;br /&gt;
&lt;br /&gt;
Doors cannot be blocked from opening. The tactical element of “door hogging” will be determined by creatures blocking ''doorways'', not doors.&lt;br /&gt;
&lt;br /&gt;
You can have these types of door outside but they can’t be area transitions (i.e., they can be a gate).&lt;br /&gt;
&lt;br /&gt;
There is no closing animation when closing a door.&lt;br /&gt;
&lt;br /&gt;
== Doors And Fog-Of-War/Visiblity/Perception ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Door Bashing and Alert System ==&lt;br /&gt;
&lt;br /&gt;
The system can improve game play experience and make the open-lock skill more useful. Basically, if a player bashes down a door he would alert the creatures on the other side: they would move to strategic positions, buff themselves, and so forth. If the player picks the lock he would be rewarded by surprising the creatures on the other side. &lt;br /&gt;
&lt;br /&gt;
The door signals the door-bash event whenever someone attacks it. The signal is sent to any nearby creatures from the same group of the door. A creature receives the signal and reacts to it as appropriate. &lt;br /&gt;
&lt;br /&gt;
Most of the scripting is inside the generic scripts for doors and creatures. However, the door and the signaled creatures must be of the same group. A group can be set by the SetGroupID function or by setting the group-faction on the object. &lt;br /&gt;
&lt;br /&gt;
By default, the door calls the AlertGroup() function to alert all nearby creatures of the same group. This function has a parameter of distance that can be set to any maximum distance in which creatures would react to the door (default is 20m). &lt;br /&gt;
&lt;br /&gt;
To customize the handling of the event by the creature simply set the following variables on the on-spawn event for the creature. The function that uses these values is called inside the default creature core script. By default, the creature would face the door, draw weapons and buff himself with potions and spells. The function has the following parameters: &lt;br /&gt;
&lt;br /&gt;
DBASH_DISABLE: disable all door bashing behavior for this creature.&lt;br /&gt;
&lt;br /&gt;
DBASH_EQUIP_TYPE: Tells the creature what type of weapons to equip: &lt;br /&gt;
*1 - melee weapons. &lt;br /&gt;
*2 - ranged weapons.&lt;br /&gt;
*0 - best weapon (either melee or ranged) &lt;br /&gt;
&lt;br /&gt;
DBASH_RUNTO_WP: The creature would run to the specified way-point. If no wp has been specified then the creature would run to a wp with a tag of &amp;quot;DBASH_WP_&amp;quot; + (creature's tag). If no way-points have been found the creature would remain in place. &lt;br /&gt;
&lt;br /&gt;
DBASH_AREA_ALARM: Raise area alarm if set to TRUE. This would send a signal to the area. The area object is responsible for handling the alarm. Default value is FALSE.&lt;br /&gt;
&lt;br /&gt;
DBASH_NOBUFF: By default, every creature would try to drink potions and cast buffing spells. Setting this var to TRUE would make the creature skip the buffing step.&lt;br /&gt;
&lt;br /&gt;
DBASH_SCRIPT: The string stored in this variable is the name of the script to be executed when all other actions are done.&lt;br /&gt;
&lt;br /&gt;
== Lockable Doors and Unique Keys ==&lt;br /&gt;
Implementing locked doors that can be lockpicked by a rogue is a simple process. After the door has been placed within the level, simply set the door's status to Closed_Locked (or simply Locked, if the door is also an area transition) and set the desired difficult for the lock.&lt;br /&gt;
&lt;br /&gt;
If you wish a door to only open with a specific key, then you will need to create two new resources - one for the key, and another for the door itself. The key needs to be of the Base Item Type of &amp;quot;Other - Key&amp;quot;. Give the key a unique tag, as this is what the door will need to check against in order to determine it is the correct key to open the door. In the properties for the new door resource, ensure Initial State is set to Locked. Then fill in the values of the &amp;quot;Key&amp;quot; section of the resource as required. &amp;quot;Key Tag&amp;quot; will be the tag you previously entered as the tag for the key.  If &amp;quot;Auto Remove Key&amp;quot; is true, the door will remove the key from the player's inventory after the door has been opened, and &amp;quot;Key Required&amp;quot; will make it impossible for the player to lockpick the door if it is true.&lt;br /&gt;
&lt;br /&gt;
[[Category:Placeables]]&lt;/div&gt;</summary>
		<author><name>AmstradHero</name></author>	</entry>

	<entry>
		<id>https://datoolset.net/mw/index.php?title=Creating_a_module&amp;diff=9067</id>
		<title>Creating a module</title>
		<link rel="alternate" type="text/html" href="https://datoolset.net/mw/index.php?title=Creating_a_module&amp;diff=9067"/>
				<updated>2009-12-27T11:56:35Z</updated>
		
		<summary type="html">&lt;p&gt;AmstradHero: /* Extending the game with addins */  - Noting about 2-for-1 attribute &amp;amp; conversation delays bug if using module_core&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To create and modify [[module]]s, select &amp;quot;Manage Modules&amp;quot; from the File menu. This will bring up a list of existing modules, with a &amp;quot;New&amp;quot; button for creating new modules and a &amp;quot;Properties&amp;quot; button for editing the properties of existing modules. You can only edit the properties of the module that's currently open.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Module menu command.png|frame|Select &amp;quot;Manage Modules&amp;quot;]]&lt;br /&gt;
| [[Image:Module manage module window.png|frame|Then click the &amp;quot;New&amp;quot; button to create a new module.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
When you create a new module the properties window will open. Edit the &amp;quot;Name&amp;quot; field to name the new module, add a unique identifier string to the UID field, and then click &amp;quot;OK&amp;quot;; the other properties can be changed later on once you have some content to set them to.&lt;br /&gt;
&lt;br /&gt;
Currently there is no way to delete a module within the toolset once it's been created.&lt;br /&gt;
&lt;br /&gt;
To select which module you're working with, select the module in the Manage Modules list and click the &amp;quot;Open&amp;quot; button. Only resources that are available to the open module will be visible.&lt;br /&gt;
&lt;br /&gt;
To open a module's object inspector window to modify its properties, open &amp;quot;manage modules&amp;quot;, select the module, and click the &amp;quot;properties&amp;quot; button. For a detailed explanation of the properties you will see here, See [[module]].&lt;br /&gt;
&lt;br /&gt;
A module with no event script will start the player without going through character generation, which will leave the player with an almost unusable character to play with. See [[character generation]] for some simple character generation code you can use. &lt;br /&gt;
&lt;br /&gt;
== Extending the game with addins ==&lt;br /&gt;
&lt;br /&gt;
The only module type that's supported by the toolset is &amp;quot;Addin&amp;quot;. You can use addins in two basic ways; either to extend an existing campaign (such as the main campaign) or as a stand-alone campaign in its own right.&lt;br /&gt;
&lt;br /&gt;
Addins can be enabled and disabled by the user in the &amp;quot;Downloadable content&amp;quot; menu from the game.&lt;br /&gt;
&lt;br /&gt;
To create an addin that extends another module:&lt;br /&gt;
&lt;br /&gt;
# Open File/Manage Modules&lt;br /&gt;
# Add a new Module&lt;br /&gt;
# Click on the “Hierarchy” button&lt;br /&gt;
# Select the parent module&lt;br /&gt;
&lt;br /&gt;
Remember also to set the Extended Module property.&lt;br /&gt;
&lt;br /&gt;
Note that as of toolset version 1.01 and game version 1.02b, you should NOT use &amp;quot;module_core&amp;quot; as the script (as found in module properties) for the add-in module, otherwise you will encounter issues that may include slow-downs during conversations and attribute allocation.  The exact cause of these issues is not yet known, but using a blank script with an empty main function will eliminate these issues.&lt;br /&gt;
&lt;br /&gt;
You can also create addins that add to or modify core resources, which are available to all modules of the game.&lt;br /&gt;
&lt;br /&gt;
Core resources:&lt;br /&gt;
&lt;br /&gt;
Any object template which is required in more than one module needs to be a core resource. &lt;br /&gt;
&lt;br /&gt;
In the future, we may have the facility to export a character to a new module. In that case, any item that the player can use or that a creatures drops for the player, will need to be a core resource - otherwise, custom items will be lost on entry to the new module.&lt;br /&gt;
&lt;br /&gt;
To create a core resource:&lt;br /&gt;
# Right click on properties for the resource in the Palette Window&lt;br /&gt;
# Change Module to: Core Game Resources&lt;br /&gt;
# Change Owner Module to: New Module Name&lt;br /&gt;
Be aware of dependencies between core and non-core resources; especially around scripts. If a core resource uses a non-core script, the script won't exist if you use the core resource in a different module.&lt;br /&gt;
&lt;br /&gt;
There will be a separate [[talk table]] created for the Addin in its directories. When the game loads it will combine all the talk tables across all the addins that it knows about.&lt;br /&gt;
&lt;br /&gt;
[[category:modules]]&lt;/div&gt;</summary>
		<author><name>AmstradHero</name></author>	</entry>

	<entry>
		<id>https://datoolset.net/mw/index.php?title=Cutscene_tutorial&amp;diff=8951</id>
		<title>Cutscene tutorial</title>
		<link rel="alternate" type="text/html" href="https://datoolset.net/mw/index.php?title=Cutscene_tutorial&amp;diff=8951"/>
				<updated>2009-12-23T03:51:48Z</updated>
		
		<summary type="html">&lt;p&gt;AmstradHero: /* Adding an animation to an actor */  Adding in link about animation blending - this is essential information for new cutscene makers!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Cutscene]]s can be stand-alone cinematic sequences that are triggered by scripts in the course of the game, or they can be inserted into [[conversation]]s in place of the simplified cinematics that conversations can automatically generate.&lt;br /&gt;
&lt;br /&gt;
Our example situation in this tutorial will serve as the beginning of a conversation between the player and two NPCs. The player has just arrived at the campsite where these two NPCs are staying. He walks up to the fire. One of the NPCs is happy to see the player and greets him, but the other is distrustful. The two share a brief exchange to establish this before the interactive part of the conversation begins.&lt;br /&gt;
&lt;br /&gt;
== Creating a new cutscene ==&lt;br /&gt;
&lt;br /&gt;
To create a brand new blank cutscene resource, create a new resource in the usual way:&lt;br /&gt;
&lt;br /&gt;
[[Image:New resource.png]]&lt;br /&gt;
&lt;br /&gt;
The result is opened in the cutscene editor.&lt;br /&gt;
&lt;br /&gt;
[[Image:Cutscene new.png|thumb|center|600px]]&lt;br /&gt;
&lt;br /&gt;
There are two basic sections to the cutscene editor; the viewports (top) and the timeline (bottom).&lt;br /&gt;
&lt;br /&gt;
=== Viewports ===&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* Viewports can be attached to various cameras to preview what they can see&lt;br /&gt;
* Add a &amp;quot;Safe Frame&amp;quot; to camera viewports to ensure the correct aspect ratio&lt;br /&gt;
* Set a viewport to &amp;quot;User&amp;quot; to see where cameras are positioned from another perspective&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The camera viewports in the cutscene editor work similarly to the viewports in the stage editor. You can set the number and layout of viewports under the &amp;quot;View&amp;quot; menu:&lt;br /&gt;
&lt;br /&gt;
[[Image:Cutscene tutorial viewport layout.png]]&lt;br /&gt;
&lt;br /&gt;
And for each individual viewport you can select which camera it's showing and set other display options by right-clicking on the title bar of the viewport:&lt;br /&gt;
&lt;br /&gt;
[[Image:Cutscene tutorial viewport properties.png]]&lt;br /&gt;
&lt;br /&gt;
When you set a viewport to show the view through one of the cutscene's cameras, it's a good idea to turn on that viewport's &amp;quot;Safe Frame&amp;quot; option as well. This will put a border on the viewport showing what will be visible when the cutscene plays.&lt;br /&gt;
&lt;br /&gt;
Note that when you play the cutscene in the cutscene editor, only the currently selected viewport (the one with the blue title bar) will show the cutscene &amp;quot;live&amp;quot; - the others won't update the view displayed in them until they're selected. To preview the cutscene as the player would see it, then, you should set one of the viewports to &amp;quot;Active Camera&amp;quot; and ensure that this viewport is selected when you play the cutscene in the editor. If the &amp;quot;Active Camera&amp;quot; viewport turns gray, try setting the cutscene property &amp;quot;Enable Level Effects&amp;quot; to false.&lt;br /&gt;
&lt;br /&gt;
=== Timeline ===&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* There is always exactly one MASTER object in a cutscene.&lt;br /&gt;
* Each active object is listed on the timeline, with multiple &amp;quot;tracks&amp;quot; for each.&lt;br /&gt;
* All objects have position tracks (divided into X, Y and Z tracks). Some objects have additional built-in tracks.&lt;br /&gt;
* Other actions and effects can be added to generic tracks. Objects can have as many generic tracks as you want.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Below the viewport is the timeline. Along the top of the timeline is a time scale; it can be set either to show frames (at 30 frames per second) or milliseconds by changing the &amp;quot;Time Scale&amp;quot; property if the cutscene in the object inspector.  A marker indicates what point in the timeline the viewports are currently showing.&lt;br /&gt;
&lt;br /&gt;
Below are a set of rows containing the various actors, cameras, and other objects active in the cutscene. This is where most of the editing is going to take place. Each object will have a number of &amp;quot;tracks&amp;quot;, which will contain commands that are sent to the actors at particular times in the course of the cutscene.&lt;br /&gt;
&lt;br /&gt;
[[Image:Cutscene tutorial timeline.png]]&lt;br /&gt;
&lt;br /&gt;
The first object in the track list is the &amp;quot;MASTER&amp;quot; object. This is a special object that every cutscene has exactly one of. The MASTER object is the cutscene equivalent to the root node of a conversation tree, a repository for global settings and effects. For example the MASTER object contains the track that determines which camera is active at any given time. The MASTER object cannot be deleted. By default, a MASTER object appears in the cutscene editor as a small greenish sphere; you can change the MASTER object's appearance in the cutscene option settings.&lt;br /&gt;
&lt;br /&gt;
A new cutscene also has a camera, called Camera 1. This camera can be deleted or renamed if you like; we can add new cameras as needed later on.&lt;br /&gt;
&lt;br /&gt;
Every object has &amp;quot;Position&amp;quot; and &amp;quot;Orientation&amp;quot; tracks that control their locations in space. Cameras also have a FOV (field of view) track.&lt;br /&gt;
&lt;br /&gt;
Objects can have other &amp;quot;generic&amp;quot; tracks added by the editor as needed. These generic tracks contain all the other commands and directions we can give.&lt;br /&gt;
&lt;br /&gt;
== The setting of the cutscene ==&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* The MASTER object should be moved somewhere near the center of your cutscene.&lt;br /&gt;
* You can optionally set a stage for your cutscene, enabling stage-related actions for objects.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Establishing the setting of a cutscene is done in the object inspector in the group of properties labeled &amp;quot;Setting&amp;quot;. The most important of these is the &amp;quot;Area&amp;quot; property, which allows you to set the cutscene in an existing [[area]]. We already have a suitable area that was created in an earlier tutorial; the area &amp;quot;great_outdoors&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
By default the MASTER object and Camera 1 will be located at the coordinates 0,0,0 in the area. You'll want to move the camera to the appropriate location within the area using standard [[3D control]]s for movement and view management. The MASTER object is invisible when the cutscene is played in-game so it usually doesn't matter where you put it. However, there are some settings that depend on the MASTER object's location - for example, you can set level-of-detail for models so that the model's LOD varies depending on how close it is to the MASTER object - so it's probably a good idea to put MASTER somewhere near the middle of where you'll be having the cutscene's action take place.&lt;br /&gt;
&lt;br /&gt;
You can also set a stage for the cutscene. This is optional, but setting a stage enables &amp;quot;Jump to Stage Place&amp;quot; and &amp;quot;Jump to Stage Camera&amp;quot; actions that could help make setting the cutscene up easier if you already have a good stage defined in the area.&lt;br /&gt;
&lt;br /&gt;
=== Adding objects and creatures ===&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* Objects already present in the area the cutscene is set in are inactive by default. You need to activate them to control them.&lt;br /&gt;
* Other objects can be added from the resource palette as normal.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
All of the objects that are normally present in the area (such as creatures and placeables) will be visible in the cutscene editor, but they'll all initially be marked as &amp;quot;inactive&amp;quot;. This means that, although they'll be visible in the cutscene when it plays, they won't be controllable; they'll just do whatever ambient activities they would be doing normally. In the case of our campsite area there are two creatures that were placed here in the area editor; the happy camper, named camp_happy, and the angry camper, named camp_angry. We need to seize control of them to make them active participants in the cutscene's activities. To make them active, right-click on them and select &amp;quot;activate objects&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Cutscene activate object.png]]&lt;br /&gt;
&lt;br /&gt;
The object will then become an active object in the cutscene, getting its own entry in the timeline that will allow you to control its actions.&lt;br /&gt;
&lt;br /&gt;
[[Image:Cutscene object activated.png]]&lt;br /&gt;
&lt;br /&gt;
We'll activate both of these campers since they'll both be taking part in the cutscene's dialogue.&lt;br /&gt;
&lt;br /&gt;
You can also add objects that aren't normally a part of the area. Simply open the object palette, select the creature or placeable you wish to use in the cutscene, and then click in the viewport to add the object to that location. It will automatically be made active and get an entry in the timeline. The player won't see these objects during regular play, since they're not a part of the area - they're only in the cutscene.&lt;br /&gt;
&lt;br /&gt;
If you want to make an area object disappear during the cutscene you'll need to activate it (allowing you to control it) and then add a track with an action that makes it invisible in the first frame. It will go back to normal again when the cutscene ends and the game resumes, cutscenes are run entirely separate from the main action of the game and have no direct effects on it.&lt;br /&gt;
&lt;br /&gt;
=== Adding the player ===&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* Use the &amp;quot;Mapping Tag&amp;quot; property on an actor to make the game replace it with another object (such as PLAYER) at run-time.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Normally we don't have to worry about placing the player in an area since the player controls his own movements and actions. But when we're doing a cutscene we can control the player just like any other actor, so we'll need a way to insert the player as an active object. Furthermore, since we'll have no idea what the player is going to look like at any given moment, we'll need to have a way to insert the player as he appears in the game when the cutscene begins.&lt;br /&gt;
&lt;br /&gt;
This is done by inserting a &amp;quot;dummy&amp;quot; virtual actor and then setting the actor's &amp;quot;Mapping Tag&amp;quot; property to the special &amp;quot;PLAYER&amp;quot; tag. &lt;br /&gt;
&lt;br /&gt;
[[Image:Cutscene dummy player.png|thumb|center|600px]]&lt;br /&gt;
&lt;br /&gt;
It doesn't matter what the dummy actor looks like now, it will be replaced with the player's character later on, so we'll just use a default male human model to make it both simple and obvious.&lt;br /&gt;
&lt;br /&gt;
There are ways to tweak the way the cutscene plays based on other characteristics of the player, for example by modifying the position of the camera to account for the player's height or by adding additional dummies to represent followers. We won't go into these more advanced topics in this tutorial.&lt;br /&gt;
&lt;br /&gt;
=== Adding cameras ===&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* Remember to enable Safe Frame when attaching a viewport to a camera.&lt;br /&gt;
* Use an &amp;quot;Active Camera&amp;quot; viewport to preview the cutscene.&lt;br /&gt;
* Use a &amp;quot;User&amp;quot; viewport to see camera positions from the outside.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
We could film a cutscene entirely from one camera if we liked, either as a single static shot or by moving the camera around to new positions as needed. It's easier and more convenient in most cases just to add several different cameras, however, and use the &amp;quot;Active Camera&amp;quot; track on the MASTER object to switch between them.&lt;br /&gt;
&lt;br /&gt;
For our cutscene we're going to want three different cameras; one camera that's a wide shot showing the player arriving at the campfire, one camera focused on the angry camper, and one focused on the happy camper. We could add more than just these three to make the scene even more dynamic but for simplicity we'll stick to just those for now. We can add more later.&lt;br /&gt;
&lt;br /&gt;
Cameras are added by right-clicking in the viewport and selecting &amp;quot;Insert &amp;amp;rarr; Camera&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Cutscene insert camera.png]]&lt;br /&gt;
&lt;br /&gt;
You can then position them using standard [[3D control]]s. To make it easier to get the camera set up with the correct view, a good technique is to set one of the viewports to display the camera's feed; you can then reorient and reposition the camera using that viewport's camera controls while getting immediate feedback as to what the camera will see in its new state.&lt;br /&gt;
&lt;br /&gt;
We're also going to rename the three cameras at this point with names intended to remind us of what their purposes are. We'll name them &amp;quot;Arrival Camera&amp;quot;, &amp;quot;Happy Camera&amp;quot;, and &amp;quot;Angry Camera&amp;quot;. We'll want &amp;quot;Arrival Camera&amp;quot; to be active initially, so we may as well use the original camera for this role; it's already set active by default. We'll see how to switch which camera is active later in this tutorial.&lt;br /&gt;
&lt;br /&gt;
We now have all the basic props we need to get the cutscene going.&lt;br /&gt;
&lt;br /&gt;
== Adding an animation to an actor ==&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* Set the &amp;quot;Pose&amp;quot; property for actors to make them breathe and fidget naturally when not doing other animations.&lt;br /&gt;
* Other animations are set by adding &amp;quot;Play Animation&amp;quot; actions to a generic track.&lt;br /&gt;
* Animation filenames are often arcane and hard to find.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If you play the cutscene now the first thing you'll probably notice is that the actors are all standing perfectly motionless. Normally someone who's standing still isn't really standing ''perfectly'' still; they breathe, they shift their weight from foot to foot, and so forth. Since almost every actor we use is going to need to do this we don't want to have to spend a lot of effort setting it up, and fortunately we don't have to. Every actor has a &amp;quot;Pose&amp;quot; property in the object inspector. Simply set this pose to &amp;quot;Standing Neutral&amp;quot; and the actors will display this default subtle movement whenever no other animations are being explicitly imposed on them.&lt;br /&gt;
&lt;br /&gt;
[[Image:Cutscene set pose.png]]&lt;br /&gt;
&lt;br /&gt;
Our next task is somewhat less trivial; we want to show the player walking up to the fire. We're going to have to add a walking animation to the player's actor that runs for a short period of time and then stops.&lt;br /&gt;
&lt;br /&gt;
To do this we'll need to add a new track to the actor's timeline. Right-click on the actor's entry in the timeline and select &amp;quot;Add Track&amp;quot; from the resulting menu:&lt;br /&gt;
&lt;br /&gt;
[[Image:Cutscene add track.png]]&lt;br /&gt;
&lt;br /&gt;
The new track will be named &amp;quot;New Track&amp;quot; by default and will start out empty. Actors in cutscenes will sometimes have dozens of tracks directing their actions so we'll want to rename the track to something a little more informative. In this case we'll name it &amp;quot;Walk to fire&amp;quot;. To have it actually cause the player's actor to walk to the fire we'll need to add a &amp;quot;[[Play animation]]&amp;quot; action to it. Right-click on the track and select &amp;quot;Add Action&amp;quot; to get the menu to select this.&lt;br /&gt;
&lt;br /&gt;
[[Image:Cutscene add action.png]]&lt;br /&gt;
&lt;br /&gt;
The action will be added starting at the point you're currently viewing in the timeline, so you may wish to move the timeline's time slider back to the beginning before adding this animation. You can reposition an action along the timeline simply by dragging it with the mouse.&lt;br /&gt;
&lt;br /&gt;
Initially the action has no animation associated with it. To set the animation, select the action in the timeline and then in the Object Inspector go to the &amp;quot;Animation&amp;quot; property and click on the ellipsis ([[Image:ellipsis.png]]) button.&lt;br /&gt;
&lt;br /&gt;
Unfortunately this is where things turn a bit arcane since the names of the various animation files are often very unclear and not all will appear in the default list. You may need to resort to trial and error to find one you like, but there are many hundreds of animations available in the game's resources so this could take some time. See [[animation list]] and [http://social.bioware.com/project/30/#files Beerfish Excel Utilities] for a list of many of them.&lt;br /&gt;
&lt;br /&gt;
Note that only a single animation can play at any time on a given track. However, it is possible to have multiple animations for a character, each of which must be on a different track. This is essential in order to be able to blend animations together as detailed in [[Play_animation#Blending_Animations]]. Animation blending is necessary in order to have your characters transition seamlessly from one animation to another, which is essential to making character movement look natural.&lt;br /&gt;
&lt;br /&gt;
In this case the animation we want, &amp;quot;mh.dg_f_5p&amp;quot; (&amp;quot;male human dialog forward five paces&amp;quot;), doesn't appear in the default list of animations available in the animation picker. You'll need to click the ellipsis button next to the &amp;quot;Custom Animation&amp;quot; field and find it in the complete list of all animation resources.&lt;br /&gt;
&lt;br /&gt;
[[Image:Cutscene finding an animation.png]]&lt;br /&gt;
&lt;br /&gt;
If you try playing the cutscene now you'll see that the player's actor will spend a little over five seconds walking and then come to a natural stop - about as long as we needed. But the actor will be animated in place, his legs taking steps but not actually moving him anywhere. This is where position keys and GAD comes in.&lt;br /&gt;
&lt;br /&gt;
== Moving an actor ==&lt;br /&gt;
&lt;br /&gt;
=== Position and orientation keys ===&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* Objects be moved over time by setting &amp;quot;key frames&amp;quot; on their position and orientation tracks.&lt;br /&gt;
* Intermediate frames are interpolated between key frames.&lt;br /&gt;
* You can set the curve type between key frames with the &amp;quot;transition out&amp;quot; property for each key.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Every object in a cutscene has a pre-defined &amp;quot;Position&amp;quot; track with three sub-tracks for its X, Y and Z coordinates. Most objects also have a pre-defined &amp;quot;Orientation&amp;quot; track with three subtracks for roll, pitch, and yaw. These tracks can be used to cause an object to move around within the area over the course of the cutscene.&lt;br /&gt;
&lt;br /&gt;
Movement is handled by setting the position and orientation of objects at specific points in time, called key frames, and then interpolating intermediate positions and orientations. To set a key frame, right-click on the actor's entry in the timeline and select &amp;quot;key position&amp;quot;. This will set a key for the current position and orientation at the current time in the timeline. You can set position and orientation keys separately if you like. Since this operation is so common there's a very convenient shortcut for it; &amp;quot;k&amp;quot; inserts a key for the currently selected object's position and orientation, &amp;quot;p&amp;quot; inserts a key for its position, and &amp;quot;o&amp;quot; inserts a key for its orientation. Alternately, select the object and click the key command in the toolbar: [[Image:IconKey.png]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Cutscene key selection.png]]&lt;br /&gt;
&lt;br /&gt;
For our purposes right now all we'll need to do is set a key frame at the beginning of the timeline. Move the pointer to the beginning, select the player actor, and set a key. Small boxes will appear on the position and orientation tracks to mark the key frame.&lt;br /&gt;
&lt;br /&gt;
[[Image:Cutscene key marker.png]]&lt;br /&gt;
&lt;br /&gt;
These markers essentially mean &amp;quot;at this particular point in time, dummy_player will be in this particular place and facing in this particular direction.&amp;quot; &lt;br /&gt;
&lt;br /&gt;
To get an actor to move over time you could set two key frames - one at the beginning of the movement, with the actor in his starting position, and one at the end of the movement, with the actor at his end position. You can set how the cutscene engine interpolates between the two positions by setting the &amp;quot;Transition Out&amp;quot; property of the starting keyframe to either Bezier (a smooth curve), Linear (a straight line), or Step (a sudden jump from the starting position to the end position). See the [[curve editor]] page for more detail.&lt;br /&gt;
&lt;br /&gt;
We're not going to actually do this in this case, however; we'll try it at a later point in this tutorial to move a camera around. For this particular actor it would be difficult to manually match the actor's walking action with his motion over the ground. If the animation and the movement don't match the actor's feet will &amp;quot;skate&amp;quot; unrealistically along the surface.&lt;br /&gt;
&lt;br /&gt;
There's an easier way to match an animation such as this one with movement through the scene; a mechanism called GAD.&lt;br /&gt;
&lt;br /&gt;
=== Using GAD ===&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* GAD is a mechanism by which an animation applies a built-in displacement to the object it's animating.&lt;br /&gt;
* You need to set at least one key frame for an object to use GAD, even if you don't otherwise use key frames to move it.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
GAD is a displacement that is automatically added to the actor's current position as the animation plays. Each animation has its own GAD information built into it, custom-designed to make the actor move in a manner appropriate to its actions. If we enable it the actor will be moved forward as the animation plays.&lt;br /&gt;
&lt;br /&gt;
Not all animations have GAD associated with them. For example, having an actor wave his hand wouldn't displace him, so there would be no GAD associated with that animation. We only need to worry about GAD in cases like this one where the animation should accompany movement.&lt;br /&gt;
&lt;br /&gt;
To enable GAD select the animation action and set &amp;quot;Play Gad&amp;quot; to true in the object inspector. If no key frames have been defined for the actor the cutscene editor will pop up a warning at this point suggesting that we add position and orientation keys before we add GAD:&lt;br /&gt;
&lt;br /&gt;
[[Image:Cutscene gad warning.png]]&lt;br /&gt;
&lt;br /&gt;
It's important to set at least one set of keys for an object using GAD. The animation's GAD may seem to work correctly without it at first, but unexpected and unpredictable errors could occur later that will send the actor careening off into the distance.&lt;br /&gt;
&lt;br /&gt;
Once we've set a key frame and have set the action's &amp;quot;Play Gad&amp;quot; option to true you'll see that the actor now moves forward as he walks. This is good, but since we started him off in the position he's meant to end in it results in the actor walking straight through the campfire. You'll need to move the actor back so that he starts farther away from the fire.&lt;br /&gt;
&lt;br /&gt;
Note that if you've already set a keyframe as described in the previous section you'll need to re-set it for the actor's new location (or alternately set the &amp;quot;update keys&amp;quot; mode with the [[Image:IconUpdateKeys.png]] tool), otherwise the moment the animation starts the actor will instantly jump back to the place he was where you set the keyframe. Once you set a keyframe for an actor, moving the actor around in the cutscene editor doesn't really change its position unless you re-set the keyframe to the new position. Keyframes and the curves interpolating between them always take precedence.&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* An animation's &amp;quot;Extend Gad Beyond Action&amp;quot; property makes Gad's displacement persist after the animation ends.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The other GAD properties are set to the most appropriate defaults automatically when you select an animation but one particular property bears mention here in case you run into trouble with it later on; the &amp;quot;Extend Gad Beyond Action&amp;quot; property. In the case of this walking animation it defaults to true. That means that once the animation ends, the displacement that the actor has undergone as a result of it will remain in effect - he will stay in the final position he walked to. If this were set to false, once the animation ended all of the displacement the actor had gained as a result would be undone and he'd instantly jump back to where he started walking from again. If at some point in the future you find your actors doing this, this property is the first place to look for the answer.&lt;br /&gt;
&lt;br /&gt;
There's one final detail we'll tweak here. The walking animation begins with the player starting from a standstill, which is not the impression we want to convey; the player has supposedly been walking for some time before the camera started rolling. We could set the animation to begin playing partway through by changing the animation action's &amp;quot;Start Offset&amp;quot; property, but since this is happening at the beginning of the cutscene's timeline an easier approach is to simply select the animation action and drag it so that it begins a half second before the cutscene does. The cutscene will only begin displaying at the 0 mark and anything that falls before this point in time will never be shown so the initial half second of the actor's walk animation will go unseen.&lt;br /&gt;
&lt;br /&gt;
== Moving a camera ==&lt;br /&gt;
&lt;br /&gt;
The scene now has some of the dynamic action we wanted, showing the player walking up to the campfire and stopping at its edge. But it's still a rather dull introduction and we can do better. Instead of a static camera shot we can set the camera so that it pans across the scene to follow the player's arrival.&lt;br /&gt;
&lt;br /&gt;
Select the Arrival Camera and open up its track list. It has Position and Orientation tracks just like the other actors, and can have keyframes set just the same. With the time marker set to 0, move the Arrival Camera so that its view shows how you want the shot framed at the beginning of the cutscene. In our example we're going to set it so that it shows the player in the center of the frame. With the camera still selected, press &amp;quot;k&amp;quot; to set a key frame for the camera.&lt;br /&gt;
&lt;br /&gt;
[[Image:Cutscene camera start position.png]]&lt;br /&gt;
&lt;br /&gt;
(You may notice that the Field of View (FOV) track also gets a key marker. We won't be changing the camera's FOV so you can ignore that.)&lt;br /&gt;
&lt;br /&gt;
Next move the timeline scrubber to the end of the walking animation at the 5 second mark. The player's actor will now be at the final position where he'll be standing for the conversation. Change the camera's orientation, panning to the right so that all of the actors can be seen in its field of view. In our case the camera's too close to encompass everyone so we'll also move its position to allow it to see them all.&lt;br /&gt;
&lt;br /&gt;
Once you have the shot lined up correctly, press &amp;quot;k&amp;quot; to set a second keyframe.&lt;br /&gt;
&lt;br /&gt;
[[Image:Cutscene camera end position.png]]&lt;br /&gt;
&lt;br /&gt;
You may notice that the User viewports now show a red line tracing out the selected object's trajectory through space (if not, you may need to click the &amp;quot;show trajectories&amp;quot; [[Image:IconShowTrajectory.png]] button in the toolbar). As the first five seconds of the cutscene plays, the Arrival Camera should slide smoothly along the red line and rotate smoothly on its axes to transition from the first keyframe to the second keyframe (If it suddenly jumps from one position to the other instead you may need to click the &amp;quot;default curve mode&amp;quot; tool [[Image:IconDefaultCurveMode.png]] and try setting the keys again, or change the &amp;quot;transition out&amp;quot; property of the keyframe to Bezier).&lt;br /&gt;
&lt;br /&gt;
You can fine-tune the trajectory of the camera by adding additional keyframes between the starting and ending ones. In our case we see that when the time marker is set to the middle of the camera's movement the player slips slightly out of frame.&lt;br /&gt;
&lt;br /&gt;
[[Image:Cutscene camera middle position unadjusted.png]]&lt;br /&gt;
&lt;br /&gt;
We can fix this by changing the camera's position and orientation as needed, and then adding a new keyframe with &amp;quot;k&amp;quot;. In this case we'll pull the camera back slightly so that its motion through space becomes a curve instead of a straight line.&lt;br /&gt;
&lt;br /&gt;
[[Image:Cutscene camera middle position adjusted.png]]&lt;br /&gt;
&lt;br /&gt;
We now have a nice, dynamic establishing shot. The scene begins with the player alone and in the center of the camera's shot, and as he walks toward the fire the camera moves and pans around him to show him arriving in the presence of our two campers.&lt;br /&gt;
&lt;br /&gt;
== Switching cameras ==&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* A track on the MASTER object defines which camera is currently &amp;quot;active.&amp;quot;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Once the player arrives he is going to be greeted by the camper who is happy to see him. To give a clear shot of who's doing the talking, we'll want to switch the active camera from Arrival Camera to Happy Camera.&lt;br /&gt;
&lt;br /&gt;
The track where the active camera gets changed is attached to the MASTER object. Move the timeline's time indicator to the point in time where you wish to switch active cameras, in this case 5.5 seconds (giving the scene a half-second view of the player after he's come to a halt). Right-click on the Active Camera track and select Add Action. The only option available for this track is the &amp;quot;Switch Camera&amp;quot; action so go ahead and add one. In the new Switch Camera action's properties set it to switch the active camera to Happy Camera.&lt;br /&gt;
&lt;br /&gt;
Now when the cutscene is played we'll get an establishing shot showing the player walking up to the fire and then switch to a closeup of the happy camper so that he can deliver his greeting.&lt;br /&gt;
&lt;br /&gt;
[[Image:Cutscene switch active camera.png]]&lt;br /&gt;
&lt;br /&gt;
== Adding dialogue ==&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* Lines of dialog can be inserted from an existing [[conversation]] resource. For convenience, create a new conversation to hold the dialog for a cutscene.&lt;br /&gt;
* Caption text, voice over, and facial performance are all included with each line.&lt;br /&gt;
* If you edit the conversation later, the changes will be reflected in the cutscene. Remember to generate new VO and FaceFX in the conversation editor.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
There are three major components to dialog in Dragon Age; the text of the line being spoken (which is displayed as a caption at the top of the screen), the voice-over for the line being spoken, and the facial performance that makes the virtual actor lip-synch and display appropriate emotions.&lt;br /&gt;
&lt;br /&gt;
There's already got a tool in the toolset that is designed for handling all of these things; the conversation editor. Actors in a cutscene can be given &amp;quot;Speak Line&amp;quot; actions that cause them to deliver lines from an existing dialog, with all three components added together into the actor's performance automatically.&lt;br /&gt;
&lt;br /&gt;
To create the dialog for this cutscene we'll now create a new conversation resource. This conversation is not going to be used in the game directly so we'll be able to ignore many of the more advanced features and settings covered in the conversation tutorial; its only purpose is to serve as a repository of dialog lines for use in this cutscene.&lt;br /&gt;
&lt;br /&gt;
The following screenshot shows our intended conversation. The only things that we need to define for it is the text of the dialog and optionally the emotion settings for RoboBrad to use when generating facial performance. As with our previous conversation we'll generate synthesized placeholder voice-over and generate FaceFX based on that; when we record real voice over later on we can simply update this conversation with it and the cutscene's performance will change to match.&lt;br /&gt;
&lt;br /&gt;
[[Image:Cutscene conversation.png]]&lt;br /&gt;
&lt;br /&gt;
To help keep track of which lines are spoken by which actors you could also optionally set the speaker tag on each line to identify who's doing the talking. This particular conversation has only two speakers so we won't bother with that. The cutscene engine won't need speaker tags, we'll be explicitly telling it who is saying each line. You'll only need to set those things if you wish to preview the conversation before using its lines in the cutscene.&lt;br /&gt;
&lt;br /&gt;
Once you've created your dialogue go back to the cutscene editor and add a new track to the camp_happy actor. Rename it to something informative, such as &amp;quot;Dialogue&amp;quot;. Move the timeline marker to the spot where you want the actor to start speaking and add a new &amp;quot;Speak Line&amp;quot; action.&lt;br /&gt;
&lt;br /&gt;
In the Speak Line action's properties, set the &amp;quot;Source Conversation&amp;quot; property to the conversation resource we just created. Then, select the specific line you want the actor to speak in the &amp;quot;Source Line&amp;quot; property (it will have a drop-down menu with all of the lines from the source conversation in it).&lt;br /&gt;
&lt;br /&gt;
That's all you need to do to get the actors to talk. You may wish to add one other detail at this point; head tracking. This is the action that causes actors to turn their heads toward a specific target, usually the person they're talking to or who is talking to them. It's added as its own action, so create another track and add a headtracking action to it with the player as the target. In this case we want the happy camper to turn his head toward the player right before he starts speaking.&lt;br /&gt;
&lt;br /&gt;
== Adding other details ==&lt;br /&gt;
&lt;br /&gt;
{{sidebox|&lt;br /&gt;
* Headtracking actions make actors look at other objects in the cutscene.&lt;br /&gt;
* You can have more than one action on a track provided they don't overlap.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
We've now gone through all the basics, so we'll just finish fleshing out the conversation with a few other details that are done the same way as the examples above.&lt;br /&gt;
&lt;br /&gt;
To add a little more animation to the scene, we add another track for camp_happy with an animation action (mh.dg_hnd_salute_01, a salute) to play during his spoken line. This animation is simpler to deal with than the walking animation because it doesn't displace the actor; there's no need to define position keys or worry about enabling GAD.&lt;br /&gt;
&lt;br /&gt;
We'll set camp_angry's headlook so that she turns toward camp_happy while he's speaking; when we subsequently switch cameras to show her line of dialog she'll already be looking in his direction.&lt;br /&gt;
&lt;br /&gt;
For camp_happy's next line, however, we'll make the headtracking change visible during his shot so the player will see how his attention has switched to camp_angry. Note that we can reuse the existing &amp;quot;Dialogue&amp;quot; and &amp;quot;Headtracking&amp;quot; tracks for this actor; we don't need to create a new track for every single action that an actor performs. So long as the durations of the actions on a track don't overlap they can coexist peacefully.&lt;br /&gt;
&lt;br /&gt;
Finally, after camp_angry's last line we'll set her headtracking to look back toward the player. He's going to get the next word in when we integrate this cutscene into a conversation so this is a good way to indicate that the conversation's focus has gone to the player now.&lt;br /&gt;
&lt;br /&gt;
Once we've finished crafting the cutscene we now know how long its duration needs to be. You can now go to the conversation's properties in the Object Inspector and set the cutscene's duration to the desired length.&lt;br /&gt;
&lt;br /&gt;
The finished timeline of our cutscene:&lt;br /&gt;
&lt;br /&gt;
[[Image:Cutscene finished timeline.png]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
[[Category:Cutscenes]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Cutscene Tips and Tricks ===&lt;br /&gt;
&lt;br /&gt;
Here are a few tips and tricks that might save the cutscene creator some time and perhaps hair pulling.&lt;br /&gt;
&lt;br /&gt;
- Head tracking is often used to look at another actor or a visible item in the cutscene. However you can further manipulate the head of the actor by having the actor look at invisible objects. You can have the actor look from one invisible object to another or move the invisible object around in the cutscene to get the actor to look at things independent of visible actors or items.&lt;br /&gt;
&lt;br /&gt;
- You may find it useful to give meaningful names to your cameras if you are using more than one or two. (You might name a camera after the actor or placeable that it follows or name one camera ‘close-up’ and another ‘wide-angle’ for example.)&lt;br /&gt;
&lt;br /&gt;
- If you are panning a camera around a room following a series of actors or placeables and you find that the camera suddenly decides to rotate in the other direction you can force it to stay moving in the direction you desire by adding or subtracting 360 degrees from the position/orientation you are using to move the camera.&lt;br /&gt;
&lt;br /&gt;
- Feel free to experiment with animations. Try using animations that are not normally meant for your actor type, you might find some interesting or bizarre movements for your actor.&lt;br /&gt;
&lt;br /&gt;
- You can put multiple actions along one track as long as they do not overlap rather than using many different tracks.&lt;br /&gt;
&lt;br /&gt;
- Pay attention to what your key frames ‘transition out’ are set to when moving your cameras. Step will jump the camera from position to position while Bezier and Linear will move the camera in a smoother motion. If you are not getting the desired effect when moving cameras check what your key frames ‘transition out’ are set to.&lt;br /&gt;
&lt;br /&gt;
- If you have a longer more detailed cutscene you can keep the number of cameras you use to a reasonable number by just moving one (or more) around while another camera is the ‘active’ camera.&lt;br /&gt;
&lt;br /&gt;
- For testing purposes change the length of the cutscene in the cutscenes properties to a smaller value and enlarge that number as you add on to the cutscene. In this way you won’t need to wait for a long period of time for the cutscene to end.&lt;br /&gt;
&lt;br /&gt;
- After placing an animation on a track you can speed up the animation by left clicking on the small circular arrows on one end and dragging it shorter or make the animation play slower by dragging the animation longer on the track.&lt;br /&gt;
&lt;br /&gt;
- You can make the content of your scene seem to change by placing invisible objects in the cutsence, using an fx to obscure the view and making the object visible while the fx is playing. (For example you might have some invisible rock debris. Use a cave in fx with clouds of dust to obscure the screen. While the fx is playing make the debris visible. When the fx is finished your debris will be in place.)&lt;br /&gt;
&lt;br /&gt;
- If you find that your actor is walking across surfaces (such as water for instance) when they should be following the ground you can set ‘items follow surface’ in the area that your cutscene is based on. The actor should then walk on the ground and thus wade into the water. Conversely if you want a character or placeable to not follow the surface of the ground (for instance if you want a placeable or actor to be near or on the surface of water) move the actor or placeable higher by adjusting the Z axis of the boat or actor. (An example of using a placeable partly submerged in water might be something like a boat.)&lt;br /&gt;
&lt;br /&gt;
- In a cutscene you can only activate things that are unique. As in if you plopped down three identical chests in an area, when trying to activate them all in a cutscene it will not allow this and gives you a warning message. In the example above you would have to make three different chests (though they could look the same) to be able to activate them all in the cutscene.&lt;/div&gt;</summary>
		<author><name>AmstradHero</name></author>	</entry>

	<entry>
		<id>https://datoolset.net/mw/index.php?title=Plot&amp;diff=8754</id>
		<title>Plot</title>
		<link rel="alternate" type="text/html" href="https://datoolset.net/mw/index.php?title=Plot&amp;diff=8754"/>
				<updated>2009-12-13T10:30:39Z</updated>
		
		<summary type="html">&lt;p&gt;AmstradHero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Journal entries are created in the Plot Manager. When you open a Plot, you'll see a window called &amp;quot;Journal Text&amp;quot; at the bottom of the screen. Creating a journal entry is as simple as writing the text of the entry to that window while you have the appropriate flag selected. &lt;br /&gt;
&lt;br /&gt;
For example, if you wanted to add a journal entry to the flag &amp;quot;JOURNAL_TEST&amp;quot; in the plot test_journal.plo, then you would check out test_journal, select &amp;quot;JOURNAL_TEST&amp;quot;, and enter your journal text in the &amp;quot;Journal text&amp;quot; window.&lt;br /&gt;
&lt;br /&gt;
For journal purposes, each plot file is a single journal topic, and so every flag that has an entry for a specific journal topic (say, &amp;quot;The Quest for the Golden Chicken&amp;quot;) must be listed under the same plot file (say, &amp;quot;test_chicken&amp;quot;). You name the journal topic in the &amp;quot;Name&amp;quot; field in the Object Inspector when you have a Plot open.&lt;br /&gt;
&lt;br /&gt;
For example, the Quest for the Golden Chicken has four parts: &lt;br /&gt;
&lt;br /&gt;
*QUEST_GIVEN: Research the last known location of the Golden Chicken. &lt;br /&gt;
*RESEARCH_DONE: You know where the Chicken was last seen: the Museum of Precious Fowl. Talk to the curator of the museum to see if she heard anything about the whereabouts of the Golden Chicken. &lt;br /&gt;
*CURATOR_MET: You spoke to the curator of the Museum of Precious Fowl. She told you many things, of which the current location of the Chicken is one. Go to the Dungeon of Infinite Sorrows and find the Golden Chicken. &lt;br /&gt;
*CHICKEN_FOUND: You found the Golden Chicken. You are awesome.  &lt;br /&gt;
&lt;br /&gt;
As long as all relevant flags are in the same plot, each time a new flag is set, that flag's Journal Text will replace that of the previously set flag. &lt;br /&gt;
&lt;br /&gt;
Only the latest Journal Text is displayed, but any previously set flags remain set (unless you explicitly switch them off). For example, when RESEARCH_DONE is set, QUEST_GIVEN will normally be set, too.      &lt;br /&gt;
&lt;br /&gt;
If you want to track steps within a subplot (say finding the Golden Chicken's last-known location involved several steps of researching places and visiting them in turn), you'll want to create multiple smaller plots and organize the flags within them, possibly naming them to indicate that they're subplots. &lt;br /&gt;
&lt;br /&gt;
For example, if the Quest for the Golden Chicken had subplots of &amp;quot;Go to the dig site,&amp;quot; &amp;quot;Speak with the Professor,&amp;quot; and &amp;quot;Find the Tome of Finding Stuff,&amp;quot; then you might want to create separate plots for each and begin each plot's name with &amp;quot;Golden Chicken: Go to the dig site&amp;quot; and so on. If you want to preserve the text of a journal entry when the next entry is given, you have to paste the original entry's text into the new entry or organize the new entry into a separate plot. &lt;br /&gt;
&lt;br /&gt;
Currently there is a limit of 256 plot flags per plot. 128 of these flags are standard plot flags and the other 128 are &amp;quot;defined&amp;quot; plot flags whose state is determined by scripting each time they're read.&lt;br /&gt;
&lt;br /&gt;
In addition to handling quest-related journal entries, plots also handle &amp;quot;codex&amp;quot; entries that provide background information about the world and other such details. See the Entry Type property for setting this.&lt;br /&gt;
&lt;br /&gt;
Tags for italics (&amp;amp;lt;i&amp;amp;gt; and &amp;amp;lt;/i&amp;amp;gt;) can be used in the journal text field. Text can be emphasized with the &amp;amp;lt;emp&amp;amp;gt; and &amp;amp;lt;/emp&amp;amp;gt; tags.&lt;br /&gt;
&lt;br /&gt;
== Scripting ==&lt;br /&gt;
&lt;br /&gt;
To interact with a plot's flags you'll need to include the plot in a script with a &amp;quot;plt_&amp;quot; prefix. For example, if you have a plot whose resource name is &amp;quot;kill_all_wolves&amp;quot;, adding the following line at the top of your script would give it access to examine and change the flags in the &amp;quot;kill_all_wolves&amp;quot; plot:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;quot;plt_kill_all_wolves&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can then use the wrapper functions in wrappers_h (include &amp;quot;wrappers_h&amp;quot; to make them available) to get and set plot flags using the plot's name and flag's names as constants, like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int flag_value = WR_GetPlotFlag(PLT_KILL_ALL_WOLVES, FLAG_NAME);&lt;br /&gt;
WR_SetPlotFlag(PLT_KILL_ALL_WOLVES, FLAG_NAME, flag_value);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Plot event scripts ===&lt;br /&gt;
&lt;br /&gt;
Many tasks in Dragon Age are accomplished by plot scripts triggered whenever a plot flag is read or set. A plot flag's ability to store a true/false value easily allows for &amp;quot;run once&amp;quot; situations without having to deal with local variables, but this is not strictly necessary and a plot's event script will run every time the plot flag is set regardless of whether it results in a change in the flag's value.&lt;br /&gt;
&lt;br /&gt;
Unlike other event scripts, a plot script will have the function &amp;quot;int StartingConditional()&amp;quot; called when a plot flag is set or read. This allows the call to have a return value (an integer true/false result) that is most important when dealing with defined plot flags.&lt;br /&gt;
&lt;br /&gt;
[[EVENT_TYPE_SET_PLOT]] is sent whenever a normal plot flag is set, with the event's integer 1 holding the identity of the plot flag that had been set. Note that the plot script is called ''before'' the plot flag itself is set; the plot flag's value doesn't change until after the script finishes running.&lt;br /&gt;
&lt;br /&gt;
[[EVENT_TYPE_GET_PLOT]] is sent whenever a &amp;quot;defined&amp;quot; plot flag is read. The plot script's StartingConditional() function should return a result of TRUE or FALSE to indicate what the defined plot flag's value is.&lt;br /&gt;
&lt;br /&gt;
== Plot assist markers ==&lt;br /&gt;
&lt;br /&gt;
Many quest givers in the single player campaign have a &amp;quot;!&amp;quot; symbol above their heads to indicate they can offer the player a quest. This will also appear on the area map.  In order to have this present, you need to set the creature as a plot giver.  This can be done in one of two ways, either within the creature properties, or via script using the following function:&lt;br /&gt;
&amp;lt;pre&amp;gt;SetPlotGiver(oObject, TRUE);&amp;lt;/pre&amp;gt;&lt;br /&gt;
Once the player has received the quest, you need to disable this flag, unless you wish for the &amp;quot;!&amp;quot; symbol to remain over the character and on the world map. This can be done by using the plot's event handler script and adding the following line when handling the event that accepts the quest:&lt;br /&gt;
&amp;lt;pre&amp;gt;SetPlotGiver(oObject, FALSE);&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In order to display intermediate plot markers (the downward pointing arrow symbol), you will need to modify the plot itself.  For quest destinations you will want to add the tag of the creature or placeable to the Plot Assist list (bottom right) for the individual plot flags that are triggered when you want the destination marker to apear and disappear (Status set to Yes or No).&lt;br /&gt;
&lt;br /&gt;
== Plot flag ordering ==&lt;br /&gt;
&lt;br /&gt;
Order doesn't matter for standard plot files, but does matter for codex plots.&lt;br /&gt;
&lt;br /&gt;
For standard plots, whichever journal flag was last set to true will be the one that shows up in the journal. (I don't remember for certain at the moment, but I believe if you set additional &amp;quot;final&amp;quot; flags true it won't update a completed quest.)&lt;br /&gt;
&lt;br /&gt;
For codex plots all active flags are displayed in order from least to greatest. This is used in cases like character entries where several equivalent entries are plot-dependent.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
:0: Cookie Monster is a devourer of cookies.&lt;br /&gt;
:1: Cookie Monster was a devourer of cookies.&lt;br /&gt;
:2: He threatened to destroy the kingdom.&lt;br /&gt;
:3: &amp;lt;FirstName/&amp;gt; dispatched him handily.&lt;br /&gt;
:4: But &amp;lt;FirstName/&amp;gt; bribed him with a cookie.&lt;br /&gt;
:5: But Big Bird made him play nice.&lt;br /&gt;
&lt;br /&gt;
0 would be true initially and set to false (with 1 set to true) if Cookie monster died. 2 would always be true. Only one of 3,4, or 5 would be true, depending on the player's actions (killing, bribing, or ignoring Cookie Monster). If the player had not yet encountered the monster and chosen an action, flags 3, 4, and 5 would all be false.&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
&lt;br /&gt;
{{inspector start}}&lt;br /&gt;
{{inspector section|General}}&lt;br /&gt;
{{inspector row|Allow Pausing|  }}&lt;br /&gt;
{{inspector row|Entry Type|  }}&lt;br /&gt;
{{inspector row|GUID| Unique in-game identifier for a plot. }}&lt;br /&gt;
{{inspector row|Journal Image| An optional journal image that can appear in the journal for this plot. }}&lt;br /&gt;
{{inspector row|Name| Name of the plot as shown in the journal}}&lt;br /&gt;
{{inspector row|NameRequiresReTranslation| A true/false flag used during game development for localization work }}&lt;br /&gt;
{{inspector row|Parent Plot| Associates subplots with a main plot. }}&lt;br /&gt;
{{inspector row|Priority| Sorts the plots in the journal }}&lt;br /&gt;
{{inspector row|Resource Name| A unique string identifier the toolset and the game both use to refer to this resource }}&lt;br /&gt;
{{inspector row|Script| Event script assigned to the resource. }}&lt;br /&gt;
{{inspector end}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Plots]]&lt;/div&gt;</summary>
		<author><name>AmstradHero</name></author>	</entry>

	</feed>