This is an old revision of the document!
Start Page » Game Development with the Drag[en]gine » Drag[en]gine Integrated Game Development Environment » World Editor
The world editor allows to edit World resources (*.deworld) for your game. World resources glue together many other resource types. See the Game Development With The Drag[en]gine section to learn more.
The editor window composes of the content area and the properties panel on the left side. Three different content area exist:
The world view shows the world content to edit. See 3D-View Navigation for how to navigate the view. By default this view is set to an FPS type camera navigation.
The view operates using a CAD like interface. You can switch Element Mode and Work Mode.
Selects the type of world element to operate on. Supported are these element types
Work on instance of Object Classes. Object classes represent static and dynamic objects (elements) backed up by Game Script Objects. Typically these are Script Classes but can be anything depending on the Scripting Module used.
Object classes are defined in the Game Definition Editor by the mapper. The separation between Game Script Object and Object Class in the Game Definition is on purpose. The Game Script Object is in full control of the coder while the Object Class is in full control of the mapper. This separation allows artists to work on the game without needing working game code and to shape the object classes the way they help them work efficiently.
The interface between the mapper and the coder is solely defined by the Object Class Name, the Object Properties and the Texture Properties.
See Selection Panel for further information.
Work on instance of World Decals. World decals added to the world are projected onto Object Classes they touch. The game scripts decide what object class they will actually affect in-game. The result shown in the editor is thus not fully representative depending on your setup.
World Decals add Decal resources during game loading. Game scripts are free to add Decal resources themselves at run-time to Component resources.
Work on instance of Height Terrain Navigation Spaces. This adds navigation space support to Height Terrains resources allow AI to navigate them. This is similar to Navigation Space resources game scripts can add to individual game objects but for height terrains. In this mode you can edit the height terrain geometry directly in the world editor in contrary to Navigation Space resources used by game objects which are loaded from files.
See the Navigation Space, Navigation Type and Navigation Painting sub panels in the Height Terrain panel for further information.
Work on Object Properties of Shape or Shape List type. Shapes are stored in an encoded form in object properties. Using this view mode you can edit the content of such properties in a visual way.
You have to first use Object Mode to select the object whose properties you want to edit. Then switch to the Object Shape mode. Here you can select from the Shape panel the Object Property you want to edit. All shapes of all supported properties are shown but only the shapes of the selected property are highlighted to edit.
Selects the type of manipulation to apply to the selected Element Mode. Not all work modes are supported by all element modes.
Element selection consists of a list of all Selected Elements with one of the selected elements being the Active Element.
Moves the selected elements along the View Plane.
Scales the selected elements along the View Plane.
Rotates the selected elements along the View Plane. Use Edit → Rotation Pivot Center … to set how elements are rotated:
These key bindings can be used:
Add new element to the world:
If you keep the mouse button pressed the mode temporarily switches to Move until you release the mouse button. While dragging you can use these additional key bindings:
While moving the newly added element snaps to nearby Snap Points of object. If the newly added object also has snap points these will be used for snapping too. Hence each snap point of the newly added object can snap to any snap point of nearby objects.
Paints the Height Image of a Height Terrain. See the Height Painting sub panel in the Height Terrain panel for further information.
Paints the Mask Image of a Height Terrain. See the Mask Painting sub panel in the Height Terrain panel for further information.
Paints the Visibility Image of a Height Terrain. See the Visibilty Painting sub panel in the Height Terrain panel for further information.
Shows parameters of the selected Object Class or Decal.
Geometry
Contains Object Class parameters if Object Mode is active and one or more objects are selected.
The Selected field shows the count of selected objects. The Active field shows the index of the activate element. Use the spinner to switch the active element amongst selected elements.
The Classs is the unique name of the Object Class used by the game code to instantiate whatever game object is providing the desired functionality. This can range from physical objects to pure virtual objects like triggers.
The ID is the unique identifier of the object instance. The world editor stores a next-identifier counter for each game world. Whenever a new object is added the next identifier from the counter is assigned. The counter never counts backwards. This way updating game worlds for your game keeps save-states intact. The identifier is shown as hexadecimal value.
The Attach field shows the ID of the object this object is attached to if any at all. To attach objects select the object to attach and the object to attach to. With the object to attach as active object use Object → Attach To menu command. To detach set the attached object as active object then use Object → Detach menu command. Attaching is an information provided to the game scripts. The game scripts are responsible to decide how to attach the object. Object Properties can contain additional information used by the game scripts to perform attaching during loading time.
The Scaling is the scaling factor relative to the base size of the object. The Size is the effective size of the object. The two values are linked so changing one value recalculates the other. Object classes can limit the scaling possibilities:: Free (all scaling possible), Uniform (all scaling components are equal) or Fixed (no scaling possible).
The Properties defines a list of Key → Value pairs. They define configurable object parameters the mapper can adjust. The values are generic String type values. This allows mapper and coder to agreed upon any kind of value format they want to use. Common value types are pre-defined by the IGDE with the Property Table Widget providing suitable UI widgets to edit them. Underneath though the values are all string type so you can edit the bare string value at all times.
The Texture, Texture Transformation and Texture Properties panels allow the mapper to fine tune texture related aspects of the object. You can add any number of Texture Replacements as long as their Texture Name is unique. You can also add non-existing texture names for example to support different Model resources. How texture replacements are handled is up to the game scripts. In general the Component resource used for the game object is modified.
The Skin defines a replacement skin to use for the texture. A texture replacement is ignore if no skin is assigned. Upon adding a new texture replacement the world editor fills in the skin used by the texture as defined in the object class.
The Tint defines a tint color to use to colorize the replacement skin. The game scripts can assign Dynamic Skin resources to a texture replacement to manipulate Skin Texture Properties using a static value. The tint color is automatically added by the basic game scripts if it is not white. Unless change it does affect skin texture properties with Renderable Name tint.
The Translation, Scaling and Rotation define Texture Coordinate Transformation to apply to the texture. All translations are relative to the center of the texture image.
The Texture Properties work similar to Properties. They can be used to add advanced configurable parameters to individual texture replacements.
The Light Panel shows helper UI widgets to edit Object Properties linked to Light Parameters. Changing the value of a parameter in this panel will update the respective object property if present.