Image for Title

Overview

Engine's main editor is Serious Editor. It is used for creating 3D worlds. You build worlds by adding or substracting primitives (objects that form some kind of opened or closed 3D geometry like box, sphere, stairs, terrain,...) and by adding entities (lights, trees, platforms, enemies,...).
When you create a new world, it is completely empty. This emptiness can be either unlimited empty space or borderless solid material. How Serious Editor will consider it, depends on the first operation that you will apply. You can either drill a hole in material (this way you get your first room) or add some material into empty space (this way you can get a column).
A standard room can be created in two ways: by adding a primitive limited by walls (a box with polygons oriented inwards) or by substracting some material (a box with polygons oriented outwards). When you add a room to an existing room, you will get some kind of a corridor. If you add a box inside a room, you will get a column. It is simple and logical for adding operations: if you add a material into space, you get material. If you add a space into material, you drill a hole. If you subtract material from material, you drill a hole in it.
Serious Editor is a standard Windows multi-document application. That means that you can work simultaneously on one or more worlds, each world can have many windows opened for viewing, and each window can be divided with splitters into 1,2 or 4 views.
There are several popular editing techniques used in Serious Editor, such as: drag and drop, copy and paste, tool tips, data tips, status line info, editing with multiple selection, property editing, dialogs with property pages, trees, wizards, history, etc. All common operations have useful keyboard shortcuts.
This picture of a standard Serious Editor layout will be used to explain its basic components.

Components:

1. Toolbars
2. Status line
3. Views
4. Mode indicator
5. Entity property window
6. Tool window
7. Browser

Editor GUI with all Components


1. Toolbars

Windows standard toolbars. They can be turned off and rearranged by preference. Each button has a tooltip with short description and optional shortcut key.

2. Status line

Right part of status line displays useful information like coordinates under mouse, object position or orientation, grid size, count of selected items... Main part of status line guides you in using keyboard shortcuts. Displayed message informs you what you can do with currently pressed keys and what other keys you can press.

3. Views

View displays currently loaded world. World can be viewed in many ways. There are many parameters that control how world and its components are displayed (wire frame, selection colors, shadows, sector colors, different projections,...). Serious Editor supports full customization of display settings. Up to 4 views form one window configuration. All views are updated simultaneously. You can define up to ten of your favourite window configurations and invoke them quickly when you need them. Common window configuration contains 4 views: world rendered in top, front and left projection and one perspective (3D) view. Another commonly used configuration is with one perspective view displayed in full rendering quality (used for game testing).
For navigation, Serious Editor uses an unusual but very powerful system. Two control points define camera position. These control points are viewer and focus (you can imagine them as arrow tail and arrow head). Viewer (arrow tail) always looks at its focus (arrow head). Viewer always rotates arround focus. Focus can be translated. Distance between viewer and focus can be increased or decreased. Changing of distance applies zooming (arrow stretching).
This whole concept of camera positioning allows extremely easy navigation when one gets used to it. For example, you can double click point anywhere in a world that you want to focus to. Make sure you exercise navigation tutorial before you start editing.

4. Mode indicator

Serious Editor can be in few modes: entity, sector, polygon, vertex and layer mode,. You switch modes depending on what you want to edit. Layer mode is a mode where two worlds are rendered simultaneously one over another. World in second layer is floating over the one in document and can be moved or rotated freely. You can't switch to another mode while you are in layer mode. You have to join (merge) the second layer before. Second layer mode is used either to edit architecture (usually with CSG operations involving primitives) or to merge two worlds.
Current editing mode can be easily recognized by the color of a box placed inside status line (blue color stands for entity mode, green for sector, yellow for polygon, black for vertex and red for layer mode). This colored box is called mode indicator.

5. Entity property window

Entity property window is a docked dialog used for editing entity properties. It is placed just above the browser. Entities have attributes that can be altered using this dialog. Dialog is split in two parts. In first part, by using combo box, you select attribute that you want to change. At the top of the dialog there is information about class of selected entity, name and description. According to selected attribute type, the lower part of the dialog changes enabling you to edit many types of attributes in the same place. You can either change property values of one selected entity or multiple entities by using entity selection (so you can select all lights inside one room and then change their color). If you select more entities of a different type, you will be offered to edit only attributes that they have in common.

6. Tool window

The most used tool in data editing is tool window. Too window is floating that contains property pages. Configuration of tool window's property pages is changed when editing mode is changed. For example, when you are in polygon mode, you can edit textures, reflections, shadows, ... When you are in sector mode, you can edit properties of selected sectors like content, gravity, ambient light,... Tool window is also used to define shape of primitives.

7. Browser

On the left edge of Serious Editor layout is window called browser. Browser works just like 'Windows Explorer', but uses virtual directories (they don't actually exist on disk). It displays one virtual directory tree. Virtual tree can be loaded and saved, so you can have more virtual trees. This way you can have one virtual tree for each world that you are working on (for example, tree with special textures and architecture templates for egyptian world). Little window on top of browser acts like folders part of 'Windows Explorer'. Here you can select curently opened ditrectory, create new ones, delete, rename, ... Tall window shows items (virtual files) of currently opened directory using their thumbnails or file names. You can have unlimited number of both directories and items. Items can be entity classes, textures or worlds. An item can be dragged and dropped into world. This way you add new entities, texturize polygons or merge two worlds.