User Tools

Site Tools


gamedev:deigde:editors:gamedefinition

This is an old revision of the document!


IGDE Game Definition Editor

The game definition editor allows to edit game definition files (*.degd). These are used for development and stores information about object classes and certain resources like skin resources or sky resources. For each game project a game definition file is created and stored in the project directory.

Game definition editor preview

This editor is usually used to edit the game definition of the current project (Game-Definition → Open Project menu entry) but can be also used to edit any game definition file. This works since in contrary to other editors this editor is allowed to edit files outside the game virtual file system. By default the project game definition is not loaded to reduce loading times.

This editor is mostly important to mappers, hence users of the World Editor. Here you can add object classes and other important resources.

Since game definition files are decoupled from game logic they can be distributed to developers and modders to work with the game in the realm of modding or addon content creation. Using the game definition file they can properly use game objects without needing the game development content just the game content they already own.

The editor window composes of the preview area and the properties panel on the left side.

Object Classes

An object class represents a game entity type but in an abstract way. The implementation details are fully hidden using this approach. The object class is typically a script class of some kind but can be anything as defined by the coder.

The mapper defines how the object class is represented in the world editor. This can be either using a 3D model or billboards for example. This representation is not required to be fully accurate to the in-game representation. For some object classes it is better to have an abstract representation (like billboards for lights or triggers) while in other situations it is important to get as close as possible to the in-game representation.

The mapper also defines the Properties the object class has. Properties are a list of unique named keys storing a string value. This design choice completely decouples game logic from editing allowing coders to focus designing their script classes to best suite the game needs not needing to deal with editing compatibility all the time. For the mapper it allows to focus on what is important for him to work efficient not having to worry about his setup having negative influence on the game afterwards.

Setting up object classes like this is more involved than a game-close setup. To reduce the required effort some helper features exist.

Each object has Inherits it can use. An inherit allows to include the content of another object class with an optional property prefix. This feature allows to model typical coding scenarios like Subclassing or Composing. The property prefix is applied to all inherited properties and helps to avoid name clashes. Inherits can be used also by the mapper as a tool to add features to object classes useful for editing having no in-game counterpart.

The second feature is the automatic scanning for suitable content in the game directory. Resources like Skin resources can be automatically scanned and added not requiring them to be defined manually. The IGDE also supports XML Element Classes (*.deeclass). Found element classes are converted to object classes while loading the game project. You only need to define the object classes your XML element classes are using. The rest is done by the IGDE.

Preview Window

The preview window shows the currently selected object class. See 3D-View Navigation for how to navigate the view.

Game Definition

Game definition panel

Defines general properties of the game definition.

The Base Path points to the directory where the game content is located in. For the current project game definition this is automatically set. For game definitions of installed games this contains the path to the installed game data.

The VFS Path indicates under which directory the game content is shown in the game virtual file system.

The World Properties list contains all properties the mapper can use for World files (*.deworld). These apply to the entire game world and work like object class properties.

The Decal Properties list contains all properties the mapper can use for Decal resources. These apply to decals the mapper adds to the game world not decals defined by object classes. The decal properties work like object class properties.

The Auto Find Path panels allow to define virtual file system path scanned by the IGDE to find suitable content while loading a game project. The content is only virtually added to the game definition to work with.

You could leave a comment if you were logged in.
gamedev/deigde/editors/gamedefinition.1585732863.txt.gz · Last modified: 2020/04/01 09:21 by dragonlord