Difference between revisions of "Resource palette"

From Dragon Age Toolset Wiki
Jump to: navigation, search
(split off the checking out/in section to its own article)
(moving active vs inactive objects to the Area editor, where it's more directly relevant)
Line 86: Line 86:
  
 
If you wish to delete resources, make sure that all of the other resources that may have depended on it are checked in beforehand.
 
If you wish to delete resources, make sure that all of the other resources that may have depended on it are checked in beforehand.
 
== "Active" vs. "Inactive" objects ==
 
 
Objects are generally set active or inactive by script. Inactive objects are still accessible to script calls but have their command queues cleared. Objects placed in an area not on the current area list are not accessible by tag based searches. I don't remember if they are accessible by local objects, but it is generally best to act as if they are not accessible unless in the same area list (or a general object loaded into memory like a party member or a map or a map location).
 

Revision as of 22:41, 17 July 2009

The Dragon Age toolset comes with a large database containing the various resources out of which a campaign can be assembled. The resources within are for the most part 'default' objects that will require some degree of customization to make them work in the specific ways the designer wants them to.

All the resources, except the head morphs, are database resources. The files that get generated are processed files for the game.

The following classes of resource are available in the palette window (available via the View menu).

  • IconArea.png Areas - An area represents a level in the game. It has a visible model associated with it, as well as a walk-mesh (for hit-finding) and walk-grid (for path-finding).
    • Waypoints are simple objects for marking points within an area for reference purposes.
  • IconAreaList.png Area lists - An area list a grouping of area objects made in the toolset. These areas are considered to be a block and will always be loaded together. The player will be able to wander between these areas without requiring a major area transition, at least until they try to move to another area list.
  • IconCharacter.png Characters - this resource is for coordinating voice-over and localization efforts, and is not used directly by game code.
  • IconConversation.png Conversations - collections of questions, answers, statements, and other interactive activities laid out in a tree structure.
  • IconCreature.png Creatures - Creature objects are used to represent the player's characters and every other living creature in the game. Creatures can run actions or scripts, move, cast spells, use talents or skills and engage in combat.
    • Morphs are highly customizable heads that can be used to create an enormous diversity of unique character appearances. They are not listed in the resource palette, to create new ones go to the File menu and select "Morph" from the "New" submenu. This will bring up the morph creator tool.
    • Creature groups are used when determining who is hostile to whom.
    • Ambient behaviour determines how the creature behaves when not doing anything else in particular.
  • IconCutscene.png Cutscenes - A cutscene is a pre-determined cinematic sequence played back using the game engine.
  • IconItem.png Items - items that can be taken into inventory, and are often equippable by characters or otherwise usable within the game.
  • IconMap.png Maps - images of maps with location pins whose location and appearance can be scripted.
  • IconMerchant.png Merchants - where the player can buy and sell items. Often linked to a creature.
  • IconPlaceable.png Placeables - items that can't be taken into inventory. They can serve a wide variety of roles such as decoration, obstruction, or container, and the player can interact with them in various ways.
    • Doors are a type of placeable but are complex enough to warrant special treatment.
    • Trap system - placeables are used as triggers for traps.
  • IconPlot.png Plots - The plot manager maintains a list of variables that are important to the storyline. They are stored with the party and serve as a gameplay history. Each creature will also maintain a plot table of local variables that can be accessed through scripting. These can be used to keep track of player progress through quests and control journal entries.
  • IconScript.png Scripts - Scripting is used whenever the designers need control over the game's behaviour. The syntax for DA scripts is very similar to the C programming language.
  • IconClientScript.png Client scripts - The client side scripting language is meant to be used for automated testing. It's similar to the server scripting, except that it's designed to simulate client input.
  • IconStage.png Stages - a form of cinematic cutscene that's applied during a conversation to control character and camera placement.
  • IconTrigger.png Triggers - A trigger is an invisible polygonal area painted on the floor in the toolset. This game object will receive events whenever a creature enters or exits it. They are most commonly used for plot scripting in an area.
  • IconSound.png Sounds - audible sounds that can be generated by objects or scripts. These cannot be edited within the designer toolset; the FMOD utility is used for this.
  • IconModel.png Models - the basic physical appearance used by physical objects. These cannot be edited within the designer toolset, though see morphs for altering the appearance of character heads.

Creating new resources is done by selecting "New" from the File menu, or from the right-click dropdown menu on the resource palette.

See checking in and checking out resources for information on how Dragon Age's database manages multiple editors working simultaneously on the same database. You will need to know how to check out and check in resources for certain tasks even when working on your own.

Resource properties

Every resource has a set of generic properties that can be viewed by right-clicking on it in the palette window and selecting "properties". The general tab of the resulting popup window shows the following properties that can be modified:

  • Resource name - the name by which this resource is referenced internally
  • Folder - the folder within the resource database that this resource is contained within
  • Module - The type of resource (eg, a new core resource that's being included in an add-on module would be "Core Game Resources"). Normally this should either be set to Core Game Resources or it should be set to the module that the resource is in.
  • Owner module - The module that the resource actually resides in or belongs to.
  • State - A flag that can be set to NONE, Written, Edited, Pre-localization, Localization, Voice over, Voice over ready.

Resource properties.png

The "references" tab lists all of the other resources that this resource contains references to, and the "referenced by" tab lists all of the other resources that contain references to this one.

Properties will sometimes refer to "2da"s, which stands for "2-dimensional array". These contain tables of values used for a wide variety of purposes. They are stored internally as Excel files.

Object templates vs. object instances

A template is what is loaded into the specialized editor to define its characteristics, an instance is what is actually loaded into the game and interacted with by the player. For several resource types (creatures, placeables, items, and others) there is the opportunity to make changes to individual instances.

For example you might create a generic Hurlock template in the creature editor, with various settings for how tough it is in a fight, what sort of treasure it's carrying, and so forth. When you then set up an area and place a number of these creatures in an area for the player to fight, the creature instances will start out with all their properties set the same as the template. However, if you wish you can edit some specific properties of each instance to change it from that default. You could make one individual Hurlock tougher than its peers, perhaps add a special droppable item to its inventory, or you could choose several Hurlocks and add them to a specific team.

Only some of the properties of an object instance are editable. In the example of the Hurlock, you wouldn't be able to change the creature's appearance.

When you edit a template that has already been used to place instances of that object in an area, all of the instances you've placed will automatically be updated to match. The exception is any per-instance changes you've made, these will remain as you set them.

Moving resources between modules

To move and/or copy content in the toolset you need to either duplicate the resource and select your new module name on the new resource dialog, also change the owner module as well. Or if you want to move the area to the new module then make sure the resource is checked in and right click in the palette, select properties and change the module and owner module from there.

By moving an area to another module you may break dependancies to other resources, however. Use the resource's "properties" window to check what other resources reference it and are referenced by it to help ensure no dependencies are broken.

If the other resources are core then you are fine. But if you created a creature in single player and then places it into area 1 then moved area 1 from single player to a new module then the creature will not show up anymore unless you either move the creature to the new module as well or else move the creature to core.

Deleting resources

A resource can't be deleted while it's checked out. To delete a resource, either check the resource back in or undo the checkout first. You can then delete it by selecting it in the resource palette and right-clicking on it to get a menu with the "delete" command.

To recover a deleted resource, select the "Deleted Resources" command from the "Tools" menu. This will bring up a deleted resource browser that allows you to examine and restore deleted resources.

Dependencies

The toolset has some built-in safety mechanisms to ensure that resources don't wind up referencing nonexistent resources as dependencies. For example, it will refuse to delete a resource that another resource has as a dependency. If you had an area layout with a creature in it, you wouldn't be able to delete the creature's template from your database until you'd removed it from the area layout first.

This can interact with checked out resources in a potentially non-obvious way. If you check out the area layout and remove the creature, the toolset still won't let you delete the creature's template until you actually check in the layout. That's because if you were to delete the creature and then undo your area checkout you'd wind up with an area layout referencing a deleted creature template.

If you wish to delete resources, make sure that all of the other resources that may have depended on it are checked in beforehand.