Installation.. 3

Hardware Recommendations. 3

Files. 3

Install Directory. 3

Materials Directory. 3

Setup/Preferences. 4

Display Settings. 4

Feature Settings. 4

Mouse. 5

Camera. 5

Miscellaneous Settings. 5

Project Settings. 5

The New Project Dialog. 6

The Project Settings Dialog. 6

The Basic Interface. 8

The 2D Window.. 8

Description and Layout 8

Navigation. 9

The Z-height Window.. 10

Description and Layout 10

Navigation. 10

The Camera Window.. 10

Navigation. 10

The Thing & Templates Window (N) 11

Thing Editor 12

Template Files. 14

Confirm.. 14

The Texture Window (T) 14

Description and Layout 14

Navigation. 14

The Console Window (O) 14

The Surface Inspector (S) 15

The Scene Editor Dialog (Shift-S) 17

The Layers & View Options Dialog (L) 18

Codex Linker Dialog (Shift-C) 19

The Toolbar 20

The Menus. 20

Main Menus. 20

2D Window Right-click Menu. 21

Editing.. 22

Brushes. 22

Creating/Deleting. 22

Selecting/Deselecting. 23

Texturing. 24

Manipulating. 25

Templates. 27

Template Brushes. 28

Sectors. 28

Exporting.. 31

Export Options. 32

Export Output 33

Scenes (NSD files) 33

Levels (NIL files) 33

Shortcut Key/Mouse control List 33

2D and Z-height Window.. 33

Camera Window.. 34

Texture Window.. 34

Editing. 34

Texturing. 35

Miscellaneous. 35

 


Installation

Hardware Recommendations

The systems we used to create levels have a fairly basic makeup for level design. You could, however, use a lower-end system and still edit at a slower pace. The key to the system you’ll be using is an OpenGL compatible video card. We have tried a number of different video cards and found that the most stable are ones that have an NVIDIA-based chipset (TNT, TNT2, Geforce and up). You can use other video cards that have OpenGL drivers, but for the best results we recommend the above line of video cards.

 

You should also check your card manufacture’s web site to make sure you have the latest drivers for your video card.

 

The level designers at Nihilistic used machines similar to the following:

 

 

Any PC in that range should do fine. We have also run it on AMD machines without any problems.  The most important factor when running the editor is OpenGL. Microsoft includes software OpenGL with Windows 98 and Windows 2000, but it’s much slower.

 

Files

Install Directory

·         Embrace.exe - Editor application

·         default.emb - Editor preferences

·         entities.def -  entities definition file (used to create the dynamic Right-click Menu)

·         dll’s

o        borlndmm.dll

o        cp3240mt.dll

o        embraceCodex.dll

o        embraceLayers.dll

o        embraceScenes.dll

o        embraceTextures.dll

o        embraceThings.dll

o        javaI.dll

Materials Directory

·         lightbox.tga

·         lightbox.nam

·         portal.tga

·         portal.nam

·         soundbox.tga

·         soundbox.nam

 


Setup/Preferences

These are the options and settings for Embrace you will find in the dialog accessed by the Edit/Preferences… Menu.

 

Display Settings

No Line Stipple

Check this box if you are experiencing crashes or hangs while selecting/moving large numbers of brushes (this usually happens on GeForce cards with old drivers) – your selections will be drawn with a solid line outline rather than the default dotted line

Use SGI OpenGL

Use SGI’s OpenGL driver if you have it installed (not recommended)

Buggy ICD

Check this if you are experiencing crashes or hangs while loading textures – most machines should not have this problem

Wide Toolbar

Adds a few buttons to the toolbar at the top of the application   (recommended for advanced users only)

Light Drawing

Draws the new QERadiant style lights (diamond-shaped) instead of the old QE4 style lights (boxes)

Paint Sizing Info

When a brush is selected, display its dimensions in the 2D view.

Feature Settings

Entity Window Toggleable

Enable/Disable toggling of entity window - hitting a template window key (N, O, T) more than once will show/hide the window

Face Selection

Enable/Disable selection of individual faces

Texture Scrollbar

Enable/Disable the texture window scrollbar

Texture Toolbar

Enable/Disable an extra dockable toolbar that allows manipulation of texture scaling and stretching

Texture Window

Enable/Disable the texture-filtering bar in the texture window

Snap T to Grid

Enable/Disable snapping of textures to the grid during texture move operations

ALT + multi-drag

If enabled, ALT must be held down to resize multiple brushes

Status Point Size: x

Sets the Status Bar font size

Rotation Inc: x

Number of degrees to rotate a brush per update when in Free Rotation mode

Mouse

2 Button / 3 Button

Setup editor for 2 or 3 button mouse

Mouse Chaser

Scroll the 2D window to follow the brushes that are moved out of the viewing area – if your cursor hits the side of the 2D Window as it’s dragging a selection, the window will scroll with you

Camera

Speed (Slow/Fast)

3D Camera movement speed (when moved with the mouse only)

Alternate Update Model

Old QE4 style camera updates.

Always Update XY View

Always update XY views when the camera is moved (obsolete)

Miscellaneous Settings

Precise Plane Points

Saves .map files with floating point plane points instead of integer plane points (obsolete)

Texture Subsets

Enable/Disable texture subset loading

Snapshots

Enable/Disable saving of snapshots of the level every so often – incremental backups of your map

Use Game NOB Files

Enable/Disable editor loading of game files.  If you choose to uncheck this option, you must provide valid template (.NOT) files for the editor to load

Load Last Project on Open

Load the last used Project on editor startup

Load Last Map on Open

Load the last edited map on editor startup

Auto Save Every: x min.

Autosave the .map every X minutes

Texture NOB

Load textures from the specified NOB file. (Currently unchangeable, defaults to Lmaterials.nob)

Prefab Path

Directory to load prefabs from (optional)

User INI Path

User.ini file to load at editor startup (optional)

Game Path

Working directory for the editor – this MUST be the directory where you installed Vampire

Run Options

Command line options to run the game with when launching from within Embrace using the Run Menu

Project Settings

A project in Embrace is where you specify the storage location for newly created levels and where Embrace tries to access new level resources. You can access these settings in a dialog found in the File/Project Settings… Menu.

 

The New Project Dialog

When you create a new project in Embrace, you will be prompted to enter a name for it.  This name will be the name of the directory your project files are stored in.  This directory is automatically created under your vampire install directory.

The Project Settings Dialog

Game Path

This shows Embrace’s current working directory.  This should be the directory in which you installed Vampire

Project Path

This shows the full path of the project you are currently working on.  This should be a subdirectory under the “Game Path” directory.

Texture Path

Shows the directory from which textures will be loaded.  This is currently unchangable

Maps (MAP) Path

This shows the directory from with .map files will be loaded.  You may change this to any directory you like.

 

The other checkboxes specify where Embrace will attempt to open the listed resource files.  For example, if you check “Chronicles (NSC/NSL) from project directory”, Embrace will try to open those types of files from a subdirectory under your Project directory. Example:

 

If the Chronicles checkbox is unchecked, Embrace will try to open chronicle related files from a directory like:

 

C:\Program Files\Vampire: The Masquerade – Redemption\Chronicles

 

If the Chronicles checkbox is checked, Embrace will try to open chronicle related files from a directory like:

 

C:\Program Files\Vampire: The Masquerade – Redemption\MyProject\Chronicles

 

Chronicles

Loaded by the Scene Editor

Levels

Compiled level files, as exported by Embrace

Scenes

Compiled scene files, as exported by Embrace

Models/Animations

Loaded by the Scene Editor’s “Sky” tab.

Foley

Loaded by the Entity Window’s “Overrides” tab.

AI

Loaded by the Entity Window’s Overrides tab.

Templates

Loaded by the Entity Window’s “Template Files” tab

Entities

Obsolete

Sounds

Loaded by the Entity Window’s “Sound” tab.

Codex

Loaded by the Entity Window’s “Overrides” tab.


The Basic Interface

The central interface for Embrace is made up of six main windows. These windows are where you’ll spend the majority of your time within the editor when creating a new map:

 

 

There are also several other dialog windows that will become important as you begin to use Embrace more:

 

 

Finally, there is also a toolbar and, of course, the menus that will become important for certain functions.

The 2D Window

This window is where all brush creation happens. It’s the only window you’ll work in when actually creating your new geometry. Generally, you’ll want as much space as you can get in this window. It’s useful to be able to see as much as you can of the geometry around the area you’re working on.

Description and Layout

When Embrace starts up, this window will be showing you the XY Top view (noted as such overlaying the grid in the upper left as well as on the window bar). You can switch the view in the 2D window to either a front or a side view by using Ctrl-Tab. It will cycle through in this sequence: XY Top, XZ Front, YZ Side, and back to XY Top.

 

Ctrl-Tab

Cycle through the three different views in the 2D Window

 

You will also notice both a major and minor grid overlaying the window. The major grid is displayed at 64 unit intervals (the units of measurement within the grid are pixels). The minor grid can be displayed at a number of different intervals: 1, 2, 4, 8, 16, 32, and 64. To change the grid size, you can use Grid menu or the number keys 1-7 above the letter keyboard (not the numeric keypad) using this guide:

 

Number

Grid Size

1

1

2

2

3

4

4

8

5

16

6

32

7

64

0

<hide grid>

 

As a general rule at Nihilistic we like to work with an 8 or a 16 grid size. It helps keep things looking uniform and makes it easier to work on changes once your map grows in size. You can use the smaller grid sizes to make finer, more detailed areas in your levels (we often do), but it’s  a guideline to think about when building your own levels.

 

It is possible to hide the grid entirely by using the 0 key (as shown in the guide above), but this does not mean you can edit freeform. The brushes will still be drawn and moved on the grid size you have selected. You have to use the grid when creating and manipulating brushes.

 

Another item you’ll notice in this window are the coordinates displayed along the left side and top. In Embrace, the coordinates and grid run from –6144 to +6144 in each of the three axis.

 

Note: It is actually possible to use the area outside the grid, but it is strongly recommended that you don’t. We initially saw some odd behavior when extending the grid farther than id had it for QERadiant, so there’s a chance you could see some of the same. To be safe, stay within the grid.

 

There are two other objects that are very useful in this window - the camera object and the z-height marker. The camera object is used by the Camera Window to determine what to display. It looks like a diamond with two arms attached to it (they are at right angles to each other). Those arms indicate the direction the camera is facing. They “open up” toward the view you’ll see in the Camera window. The z-height marker is used by the Z-height Window to determine what to display. It is simply a shaded square with the letter ‘Z’ in it.

Navigation

Moving around within the 2D window is very simple. If you want to move the 2D space left, right, up (toward the top of your desktop), or down (toward the bottom of your desktop) you simply click and hold the right mouse button while your cursor is in the 2D window. Once you’ve done that, simply move the mouse. The 2D window (or rather the grid and the space the window “holds”) will slide around in the direction you’re moving your mouse. The cursor will disappear when you start moving and will reappear when you release the right mouse button.

 

Right mouse button click and drag

Move the 2D editing space the direction the mouse moves

 

You can also zoom in and out in this window. There are two ways to do this. You can use the Delete key to zoom in and the Insert key to zoom out. You can also hold down Shift and then click and hold the right mouse button while your cursor is in the 2D window. When you have that combo held down (in that order – you have to press Shift first), sliding the mouse forward will zoom out and sliding the mouse backward will zoom in. This second method is the quickest and easiest once you start using it.

 

Shift-right mouse button, push mouse forward

Zoom out in the 2D Window

Shift-right mouse button, pull mouse backward

Zoom in in the 2D Window

Insert

Zoom out in the 2D Window

Delete

Zoom in in the 2D Window

 

The camera object and the z-height marker can also be moved around. To move the camera object around in the 2D window, you can simply hold the Ctrl key down and click the middle mouse button. The camera object will snap to where your cursor is. You can also change the direction the camera is looking by using the mouse. If you click the middle mouse button somewhere in the 2D window, the camera will “turn” to face that spot. To move the z-height marker around simply hold the Shift key down and click the middle mouse button. In both cases, you can also click and hold the middle mouse button down. Dragging the mouse will then cause the object to track with the cursor.

 

Ctrl-middle mouse click

Snap camera object position to your cursor

Middle mouse click

Force camera object to look where you clicked

Shift-middle mouse click

Snap Z-height marker position to your cursor

The Z-height Window

This window is useful in getting a quick look at the height of a specific brush or seeing height differences between a few brushes.

Description and Layout

The Z-height window displays the height (by drawing a solid block) for each object or brush that lies underneath the z-height marker in the 2D window. Each object or brush will be colored appropriately in the window so you can easier distinguish between large groups of brushes, sectors, regions, etc.

 

You will also see a grid in this window. It does not have any vertical lines, but the horizontal lines act the same way they do in the 2D window. The grid size in this window will change in the same manner and uses the same guide given above for the 2D window.

 

This window also has a coordinate system similar to the one in the 2D window with the same range.

Navigation

Moving around in this window is also similar to movement in the 2D window. To scroll up and down in the window, you click and hold the right mouse button. Pushing the mouse forward will scroll the window up (toward the top of your desktop) and pulling the mouse back will scroll down (toward the bottom of your desktop). You cannot scroll to the right or the left in this window, as it’s purely a side view of one vertical space in the 2D window.

 

You can zoom in and out in this window, however. To zoom in, hold down Ctrl and press Delete. To zoom out, hold down Ctrl and press Insert.

 

Right mouse button click and drag up

Scroll the window toward the bottom of the Z-height Window

Right mouse button click and drag down

Scroll the window toward the top of the Z-height Window

Ctrl-Insert

Zoom out in the Z-height Window

Ctrl-Delete

Zoom in in the Z-height Window

The Camera Window

This window displays the level you’re building in 3D. It can be thought of as a virtual in-game view of your level (without lighting).

Navigation

There are a number of ways to move around in this window. The camera object that is seen in the 2D window shows you the view you’ll be getting in this window. The following table shows the kinds of movements you can make in the Camera window with the keyboard:

 

D

Slide up

C

Slide down

A

Pitch up

Z

Pitch down

,

Slide left

.

Slide right

Up Arrow

Move forward

Down Arrow

Move backward

Left Arrow

Turn left

Right Arrow

Turn right

End

Center view

 

Many of those movements can also be done using the mouse. To slide the camera up, down, left or right hold down Ctrl and click and hold the right mouse button. Now, when you move the mouse around the view will slide in the direction the cursor would be moving.

 

Note: On Windows 95 and Windows 98 machines the mouse has a tendency to get stuck in this mode for a while. You will release the Ctrl key and/or the mouse button but you will remain in this sliding “mode” with the mouse. If you wait several seconds, it will be released. You may want to avoid using this mode on 95 and 98 machines unless it’s a very simple level. Windows NT and Windows 2000 machines don’t exhibit this problem.

 

You can also move forward, backward, turn left, and turn right in the Camera window using the mouse. If you click and hold the right mouse button you can move in and out of the 3D space and also turn left or right. Picture a dot in the very center of the Camera window. Using that mouse/key combo somewhere above this dot will cause you to move forward. Doing so below this dot will cause you to move backward. If you click and hold to the right of that dot, the camera will turn to the right. Clicking and holding to the left of the dot will turn the camera to the left.

 

Ctrl-right mouse button click and drag

Slide the Camera Window view in the direction your cursor would be moving

Right mouse button click and hold

Move in and out of the Camera Window’s 3D space and also turn left and right

 

Any combination of those actions also works. For example, if you click and hold the right mouse button down in the upper left area, you’ll move forward and turn to your left. The farther you are away from that imaginary dot in the center of the window also determines the speed at which the movement will occur. The farther away you are, the faster the camera will move.

The Thing & Templates Window (N)

Here is where you’ll find all the templates that can be placed in your levels. You’ll also find templates you can apply to your template brushes to give them certain properties and/or behaviors. The window consists of three main tabs: Thing Editor, Template Files, and Confirm.

Thing Editor

This is the area where you’ll be doing most of the work. It is made up of three main areas: Templates, Key/Value Pairs, and the Options area.

 

The Templates area consists of an Apply Template button, a search text box, and the list of templates currently loaded into Embrace.

 

The Apply Template button applies the currently selected template to the currently selected object or brush in the editing space. The search box works by typing in the name of the template you’re looking for or just a few letters. For example, if you’re looking for all the axe items, you could enter in “axe” and repeatedly hit Enter. It will find the first and find the next (if there are any) each time you press Enter. Or you can simply navigate the list of templates by clicking on the plus in the front of the NOT files and using the scroll bar in an Explorer-like fashion. The red spheres indicate a template file (a NOT file) and the blue spheres indicate a category or subcategory. Double clicking on either of those will simply open or close the list under them. You cannot place an item with a sphere next to it.

 

To insert a template, you simply double click on it in this window. You will see it appear centered in your view in the 2D window. Some objects will not show up in the game without a corresponding template brush to be applied to. All of these should be found in the Miscellaneous section of Globat.NOT. These are things like tracker_thing, exit_message, etc.

 

Double-click on a template

Insert that template into the current map centered in your 2D Window

 

The Key/Value Pairs area is made up of two buttons, a display grid, a list box, and a text input box. This area is only useful when you have a template selected in the editing space. It cannot be used to modify the template itself in the Thing Editor. The display grid shows you all the properties of your currently selected template (in the editing space, not in Thing Editor). The list box is used to select a property to add or modify on your currently selected template. Once you’ve selected a key to add or modify, you can use the text input box to enter the value. You can either press Enter or the Apply Key to apply that value to the current template. The Delete Key button can be used to completely remove the currently selected key in the display grid.

 

The Options area is made up of four tabs: Main, Overrides, Light, and Sound.

 

The Main tab allows you to set the Origin and the orientation of a template. The small circular group of buttons underneath the Orientation area is a quick way to set the direction of a particular template. You can get more fine adjustments by using the middle input box in the row of Orientation boxes. And of course, you can change the pitch or the roll using the other boxes in that same row.

 

The Overrides tab allows you to override certain properties of the currently selected template. The first one you’ll see is the Script. This is where you’ll apply one of the many scripts we’ve provided or any of your own creation to a template that you’ve placed. The Foley is a way to override the default foley for any template placed. The AIClass can be used to override an AI file used on any particular NPC. The DescriptionID is the rollover the player will see when their cursor highlights the object in the game. This needs to be one word and should correspond with an entry in an NLS file. The TreasureClass field is used for setting specific treasure classes on the many containers that the player can break open to loot for treasure. You will find the values you can use for this area in the GAME.NTT file (look for the “CLASS:” entries). There is also a button at the bottom of this tabbed window that will remove all script properties from the currently selected template (SCRIPT, CODEXNAME, CODEXTARGETNAME, CODEXCLASSNAME, etc).

 

The Light tab is used to set and adjust all the properties for the lights that you’ll place in your levels. You can change the color, intensity, style (flickering, glowing, etc), and the falloff from this window. The other option you’ll note here is the Editor Only checkbox. By selecting this, you’re telling Embrace not to export this light as a dynamic light source in the game. It will not be used to light the characters as they approach it nor will it be used to light objects in the game. It is only used when creating the lightmaps for the geometry.

 

The Sound tab is used when setting properties on sounds placed via the right-click menu or on soundboxes. Here you can select the sound to be played, set the volume, and apply the minimum and maximum distances for this particular sound. The minimum distance is how far away the sound will be played at full volume. The maximum distance is how far away the sound will be heard. The volume of the sound between the minimum and maximum distances will lower as you approach the maximum distance.

Template Files

This area allows you to load NOT files other than the ones loaded by default by Embrace. All you have to do is click Add and navigate to where your NOT file is. Select it and it will be shown in the list here and also in the Thing Editor tab of this window. Removing one you’ve added is just as simple. Select the template file you want removed and click Remove.

Confirm

This tab holds one option for you to check or uncheck called, “Confirm On Multiple Selection”. With this selected, you will get a warning if you try to apply changes to multiple templates at the same time. For example, if you have all of the enemies in your level selected and you try to apply a change to them all, you will see a dialog box pop up to confirm that’s what you want to do. If you uncheck this, you will no longer see that warning.

The Texture Window (T)

This window shows you visually the list of textures you currently have loaded.

Description and Layout

Each texture is displayed in its relative size and the name of the texture is displayed directly above each picture. There are a few texture borders that act as indicators in this window. A red border around the texture means that’s the currently selected texture (and will be used on any actions that would apply the current texture to a brush). A green border implies that this texture is in use somewhere in your map (not always functional).

 

If you have the “Texture window” option checked in your Preferences, you would see a small text input box at the top of this window. This can act as a filter or a primitive search tool to find a specific texture or set of textures. Typing in this box will filter the textures by trying to match a texture name with what you’re entering.

Navigation

You can scroll through the list of textures in a couple different ways. If you have the “Texture Scrollbar” option checked in your Preferences, you can obviously use that to scroll down through the list. With or without that turned on, you can also use your mouse by clicking your right mouse button when the cursor is over the Texture Window. With that held down, you can push the mouse forward to scroll down through the list. Pulling the mouse back will cause the list to scroll up toward the top of the list. If you want to speed up the scrolling using this method, you can hold down the Shift key. That will cause the list to scroll by at a much faster rate.

 

Right mouse button click and drag

Scroll the display of textures up or down

Shift-right mouse button click and drag

Scroll the display more quickly

The Console Window (O)

This window displays output information, some export error information, and other general info about current actions. It will output most of the current brush manipulation actions that you can perform.

 

If you’re having some problems performing some action while editing or while exporting, take a look at this window. It can sometimes offer a hint at why something isn’t working.

The Surface Inspector (S)

This dialog is used to set various properties on a brush or on a surface of a brush. All you need to do is select a face or brush(es), press ‘S’, select the properties you want to apply, and press Apply (to leave the dialog open) or OK.

 

 

At the top you’ll see the name of the texture in a text box. You can change the name here so be careful about accidentally entering something here that you don’t want. There are also six other text input boxes along the left side:

 

Horizontal shift

This will shift the texture horizontally on the brush or face that you have selected – Shift-Left/Right Arrow will also do the same thing during normal editing

Vertical shift

This will shift the texture vertically on the brush or face that you have selected – Shift-Up/Down Arrow will also do the same thing during normal editing

Horizontal stretch

This will stretch the texture horizontally on the brush or face that you have selected – Ctrl-Right Arrow will also do the same thing during normal editing, Ctrl-Left Arrow will shrink the texture back to its default value

Vertical stretch

This will stretch the texture vertically on the brush or face that you have selected – Ctrl-Up Arrow will also do the same thing during normal editing, Ctrl-Down Arrow will shrink the texture back to its default value

Rotate

This will rotate the texture by the amount you enter – Shift-PageUp and Shift-PageDown will also rotate the texture during normal editing

Value

This input box is used when using the light surface flag – it is the surface light’s intensity

 

The many checkboxes you see on the right are flags that can be set on brushes that you create in your level. Some of them need to be set on the entire brush and others can be set on individual faces on a brush.

 

Brush flags (set on all brush faces)

 

Detail

Will be left out of the BSP/CSG process which will cause it not to cut up the geometry around it, it also stops the brush from blocking light or blocking the camera

No CSG

Will be left out of the BSP/CSG process which will cause it not to cut up the geometry around it

Alpha

An in-Embrace only flag that will display the brush transparent and the faces will be two-sided

Surface flags

 

Light

The surface will emit light from whose color will be based on the color of the texture on that surface – the intensity of the light being emitted should be entered in the Intensity text box

Sky

Cause any surfaces marked with this property to not be rendered in the game – behind them you will see the sky that you have specified in the Scene Editor

Trans 33

Cause this surface to be rendered at a 33% opaque transparency in-game

Trans 66

Cause this surface to be rendered at a 66% opaque transparency in-game

Reflect

Causes this surface to reflect the world like a mirror – you must set either Trans 33, Trans 66, or Nodraw when you set this flag

Nodraw

Causes the surface not to be drawn by the game – can be used to make a fully reflective mirror when combined with Reflect

Skip

Cause the surface to be skipped during the export and not rendered in the game

Decal

Tells the game to render this surface as a decal

2 sided

Causes the surface to be rendered double-sided in the game

No Actor Walk

The surface will not be able to be walked on by actors (players can still walk on it)

Walk

The surface can be walked on by anyone

Force no XY

Force the texture projection on this surface to ignore XY and only use Z

Force no XZ

Force the texture projection on this surface to ignore XZ and only use Y

Force no YZ

Force the texture projection on this surface to ignore YZ and only use X

No Phong

Disable phong lighting on this face

Force Phong

Force this face to exhibit phong lighting (only really meaningful if the faces touching this face also have it)

Vertex Lit

Force this face to only use vertex lighting

No LightBlock

Cause the surface to no block light

No LightMap

Disable lightmaps for this face

Lightres / 2

Enable a lower light resolution for this face (half of the default)

Lightres * 2

Enable a higher light resolution for this face (twice the default)

Lightres * 4

Enable a higher light resolution for this face (four times the default)

 

There are also a few buttons along the right side of the window that will set some combinations of flags for specific behavior in the game.

 

Normal 2 sided

Creates a surface that is two sided and uses vertex lighting, it sets these flags: Vertex Lit, No LightBlock, No CSG, and 2 sided

Fullbright 2 sided

Creates a surface that is two sided and uses no lightmaps, it sets these flags: No LightBlock, No Lightmap, No CSG, and 2 sided

Window33

Creates a “window” at 33% opaque transparency, it sets these flags: Trans 33, Vertex Lit, No LightBlock, No Lightmap, No CSG

Window66

Creates a “window” at 66% opaque transparency, it sets these flags: Trans 66, Vertex Lit, No LightBlock, No Lightmap, No CSG

Decal

Creates a decal surface, it sets these flags: Vertex Lit, No LightBlock, No CSG, Decal

Clear

Removes all checks in all checkboxes

 

The Scene Editor Dialog (Shift-S)

This dialog is where you will select the scenes that are going to be associated with you level. Along the top you’ll see several buttons.

 

Pick a new scene from the chronicle file

Save the scene changes

Open a new NSL file

Delete the currently selected scene

Exit the Scene Editor dialog

 

Below this you’ll see an area for a list of all the scenes associated with this level and a tabbed window area. The list of scenes will by default always include __STATIC SCENE__. This scene contains all objects that exist in the static layer (in general, it’s things like tables, chairs, trees, etc. that aren’t as dynamic as things like enemies and NPC’s).

 

Note: Setting any of these values below for the STATIC SCENE will NOT set it for the rest of the scenes in your level by default.

 

The Description tab will only show you the short and long descriptions exactly as you have them entered in the NSL file. We’d like to change this at a later point to read the NLS file and show the appropriate string.

 

The Layers tab (unselectable if you have the STATIC SCENE selected) shows you a list of all the layers available. This is where you associate the layers you want with the scene they belong to. Simply check the box next to the layers you want to show for this particular scene. You can also rename layers here by selecting the layer you want to change, entering a new name in the text input box and pressing the Rename button.

 

The Flags tab is empty with the exception of one flag that the game currently does not support.

 

The Sound tab shows you options that you can set per scene. You can set the music track, music volume, ambient track, and ambient volume. To browse for a music or ambient track, double-click inside the text input area. This will open up a standard Open File dialog for you to find a track to use. You can also just type in a name here if you already know the name of the track. This is also the area where you set what type of EAX sound, if any, you want this scene to exhibit.

 

The Render tab is where you’ll set the fog settings for the scene. There are two basic types of fog – linear and exponential. We recommend that you only use the linear fog as we saw issues with some 3D cards when using the exponential fog. Linear means the fog will have a constant increase in its density as it moves away from the player’s viewpoint.

 

The color settings are RGB values in the 0 to 255 range. Distance 1 is where the fog will start being displayed. Distance 2 is where the fog will completely obscure the view. The ZClip distance is where the engine will stop drawing geometry. This is extremely useful if you’re dealing with a larger outdoor area that has some fog. For example, if you have Distance 2 set at 1500, you could safely put your ZClip distance at 1600 so the game wouldn’t render any of the geometry out past that distance. That can dramatically save on surfaces being drawn by the engine which helps increase the framerate for the player.

 

The Sky tab is where you set what sky will be rendered behind the faces you’ve marked sky in your level. There are two text input boxes – NOD and NAD. The NOD box is where you’ll select the model for the sky you want used. The NAD box is where you’ll select the animation for the sky that you want used. Clicking Set Default Skies will set the two boxes to sky.nod and sky.nad, but there are several other options you can use.

The Layers & View Options Dialog (L)

This dialog is made up of three tabs: Layers, View Options, and Light Radius.

 

 

The Layers tab consists of a list from 0 to 31 that represent potential layers your level can have. A layer is simply a way of grouping sets of templates together that you want associated with a particular scene for this level. Each number has a check box in front of it. Checking a box will display that layer in the editing space. Correspondingly, unchecking a box will hide that layer. The Show Static check box will do the same for the Static layer.

 

Newly created templates by default will go into the Static layer. If you have one of the non-static layers selected, however, a new template will be placed into that layer. A template may exist in any number of non-static layers, but a template cannot both exist in the static layer and also a non-static layer

 

You can rename any of the non-static layers. You simply select the line of the layer that you want to rename, type in a new name in the text box at the bottom of the window, and click the Rename Layer button.

 

The View Options dialog will Hide/show each item in the editing space.

 

Sectors

Hide/show all sectors in the current level

Regions

Hide/show all regions, soundboxes, and lightboxes in the current level

World

Hide/show all the geometry (non-template brushes)

Detail

Hide/show all detail brushes

Entities

Hide/show all templates (not lights or paths)

Lights

Hide/show all lights (not lightboxes)

Path

Hide/show all paths

Names

Hide/show all names show in the editing space

Walkable

Hide/show walkable surface indication (bright green overlay on the surface)

Coordinates

Hide/show the coordinates shown on the left and upper areas of the 2D Window

Blocks

Hide/show larger grid breaks

Light Radius

Hide/show light radius indication in the 2D Window

 

The Light Radius tab shows the options for the light radius indication in the 2D Window editing space. The one checkbox indicates whether you want to display the radius on all lights or just on selected lights. If you check this box, the radius will be drawn on all the lights in your level. If it is not checked, the radius will only be drawn on lights that you have selected. There are also three sliders:

 

Sides

Number of sides of the circle to display, higher numbers gives a smoother circle

Falloff Quality

How accurately to draw the falloff, higher numbers gives more accuracy

Brightness

Higher numbers makes it a brighter display

Codex Linker Dialog (Shift-C)

This dialog displays the parameters for any particular script and allows you to connect those parameters to their counterparts in the level. There are three columns: Value, Type, and Description. Value is the link that corresponds to a Key/Value Pair on a template (CODEXPVALUE). Type is the type of parameter need (string, int, float, thing, actor, etc). And the Description is a brief description of the parameter that should be linked there.

 

 

When a template is selected in your editing space that has a script with parameters applied to it, you can assign those parameters in the following way. You left-click once in the Value column in the box for the parameter you want to link. A portion of the box will turn blue. Then, you select the template in the editing space (Shift left-click). That will use that template for that parameter. You can do as many of the parameters at a time as you want in the same manner (left-click the parameter box in the Codex Linker, select the template to use as the parameter).

 

If the parameter is of a type that is not something you need to link in the level (an int, a float, a string, for example), you simply left-click the parameter box you want to work with and then press Enter (alternately, you could click the highlighted box again). You will now be able to type whatever you want in that space. When done entering the information, press Enter.

 

When you are completely done linking and entering the parameters for a particular script, press the Apply button to assign those parameters to the script.

 

Note: The View tab is nonfunctional for the most part. If you’re using a script from the root directory of Codex, it will be displayed in that view for reference. But, if you’re using a script out of any other directory, you will get an error dialog and the View space will be empty.

The Toolbar

Open a map file

Save currently loaded map file

Flip selection on the X axis

Rotate selection 90° around the X axis

Flip selection on the Y axis

Rotate selection 90° around the Y axis

Flip selection on the Z axis

Rotate selection 90° around the Z axis

*

 

Selection options:

 Complete Tall – selects all brushes “below” the currently selected brush in the current 2D view – removes the selection brush

 Touching – selects all brushes that are touching the currently selected brush – does not remove the selection brush

 Partial Tall – selects all brushes “below” the currently selected brush in the current 2D view that are touching the currently selected brush – removes the selection brush

 Inside – selects all brushes inside the currently selected brush – removes the selection brush

All Sectors – selects all sectors in the current map

CSG Subtract – remove or delete the overlap between the current brush(es) and all non-selected brushes, leaving the selected brush(es) intact and as they were and altering the non-selected brushes

Hollow – creates a hollowed version of the currently selected brush

Change view in 2D Window (cycles between XY Top, XZ Front, and YZ Side)

Texture View Mode – how the textures will look in the 3D Camera Window

Turn on/off Cubic clipping in the 3D Camera Window (this sets a distance clipping plane that can tell the editor at what distance to stop drawing geometry – changing the distance can be done by using Ctrl-[ and Ctrl-])

Turn on/off clipping mode

Turn on/off free rotation mode

Turn on/off free scaling mode

Enable scaling on the X axis (only active when free scaling is on)

Enable scaling on the Y axis (only active when free scaling is on)

Enable scaling on the Z axis (only active when free scaling is on)

The Menus

Main Menus

The options listed here are the more complicated or less obvious parts of the Main Menus. Certain things will be left out here to keep it shorter and easier to look through.

 

File

 

Save selected…

Allows you to save just the currently selected items to a new map

Batch export…

Allows you to export a number of maps one after another – create an EBX file with one map per line (using the full path to the map)

Clean mode

You should use this mode when you’re just working with scenes and objects – it prevents you from accidentally changing geometry or sectors in the map

View

 

Center on camera

Moves the 2D Window to the area you’re looking at in the Camera Window

Texture memory usage

Displays the amount/number of textures and the space they’ll take up in memory – this can only be used immediately after an export of your level

Selection

 

Mark walkable

Sets the walk bit on all brushes currently selected

Unmark walkable

Clears the walk bit on all brushes currently selected

Mark sector for lighting

Used to mark specific sectors for lighting – an efficient way of checking out how an area looks without having to light the entire level

Unmark sector for lighting

Clears the mark set above

Misc

 

Check sector intersections

This checks your level for sectors that are overlapping – they can cause visual and other errors so it’s something to avoid

 

2D Window Right-click Menu

You can activate this menu by clicking the right mouse button anywhere in the 2D Window editing space.

 

Select

Complete Tall – selects all brushes “below” the currently selected brush in the current 2D view – removes the selection brush

Touching – selects all brushes that are touching the currently selected brush – does not remove the selection brush

Partial Tall – selects all brushes “below” the currently selected brush in the current 2D view that are touching the currently selected brush – removes the selection brush

Inside – selects all brushes inside the currently selected brush – removes the selection brush

All Sectors – selects all sectors in the current map

Region

Off – disable the current region

Set XY – use the current dimensions of the 2D Window to create a region

Set Tall Brush – use the currently selected brush to create a region with an infinite height using the 2D dimensions of the brush in the current 2D Window view

Set Brush – use the currently selected brush’s dimensions (in all six directions) to create a region

Set Selected Brushes – use the currently selected brushes as a seed for creating a new region

Ungroup Entity

Reverts any template brush back to usable world geometry

Make Detail

Set the Detail surface flag for all currently selected brushes/faces

Make Structural

Clear the Detail surface flag for all currently selected brushes/faces

Make NoCSG

Set the No CSG surface flag for all currently selected brushes/faces

Make CSG

Clear the No CSG surface flag for all currently selected brushes/faces

Make Skip

Set the Skip surface flag for all currently selected brushes/faces

Make No Skip

Clear the Skip surface flag for all currently selected brushes/faces

Move Selection To Static Layer

Changes the layer this template exists in – it will only exist in the Static layer after doing this

Move Selection To Current Layers

Changes the layer this template exists in – it will exist in all currently selected layers in the Layers & View Options Dialog

Quick Doors

Door – creates a template brush using the current selection or a new one if nothing is selected, it also creates a path corner and applies the Door script

PivotDoor - creates a template brush using the current selection or a new one if nothing is selected, it also creates a path corner and applies the PivotDoor script

DoubleDoor - creates a template brush using the current selection or a new one if nothing is selected, it also creates a path corner and applies the DoubleDoor script

DoublePivotDoor - creates a template brush using the current selection or a new one if nothing is selected, it also creates a path corner and applies the DoublePivotDoor script

SwitchDoor - creates a template brush using the current selection or a new one if nothing is selected, it also creates a path corner and applies the DoorSwitch script

convstarts

Places a conversation start spot (0 – 15)

info

Info_null is used as a target when creating a spot light

interestspots

Places an interest spot (0 – 9)

light

Places a light object

lightbox

Places a lightbox

path

Places a path corner object

playerstarts

Places a player start spot (0 – 15)

region

Places a region

sector

Places a sector

sound

Places a sound object

soundbox

Places a soundbox

template brushes

Creates Template Brushes out of the currently selected brush(es)

Editing

Brushes

Creating a level made up of walls, floors, rooftops, stairs, etc is all done using brushes. Brushes can be thought of as malleable convex cubes that you stack, shape, delete, copy and manipulate to create whatever you want the player to see when they walk around your level. The most basic brush is a six-sided cube. Each side of that cube will be referred to as a face.

Creating/Deleting

Creating a brush is done in the 2D Window. You simply click your left mouse button, hold it down, and drag your mouse. Releasing the mouse button creates the brush and leaves it selected.

 

You can delete a brush or anything currently selected by using the Backspace key. All currently selected items will be deleted.

 

Left mouse button click and drag

Create a brush in the 2D Window

Backspace

Delete all selected items

Selecting/Deselecting

Brushes

There are a number of ways to select brush(es) or parts of a brush. The most basic, which works in both the 2D Window and the Camera Window, is done by holding down Shift and left clicking the brush you want to select. Shift-left click will alternately select and unselect any brush. The brush(es) you have selected will be displayed with a red overlay in the Camera Window and a highlighted brush in the 2D Window.

 

Shift-left mouse button click

Selects the brush you click

 

Note: Remember, in the 2D Window there can often be brushes between the cursor and the brush you are trying to select. You may not be able to select just the brush you want using this method in the 2D Window. You could try using the other 2D views, but in many cases, flying around in the Camera Window and finding the brush you want may be the best solution.

 

There are also several other methods of selecting brushes. These will work in any of the 2D Window views (Top, Front, Side). To use each of the four below, you need create a selection brush or select a brush to act as the selection brush.

 

Select Complete Tall

Selects all brushes “below” the currently selected brush in the current 2D view – removes the selection brush

Main Menu: Selection/Select/Select Complete Tall

Right-click Menu: Select/Select Complete Tall

Toolbar: Selection/Select Complete Tall

Select Touching

Selects all brushes that are touching the currently selected brush – does not remove the selection brush

 

Main Menu: Selection/Select/Select Touching

Right-click Menu: Select/Select Touching

Toolbar: Selection/Select Touching

Select Partial Tall

Selects all brushes “below” the currently selected brush in the current 2D view that are touching the currently selected brush – removes the selection brush

Main Menu: Selection/Select/Select Partial Tall

Right-click Menu: Select/Select Partial Tall

Toolbar: Selection/Select Partial Tall

Select Inside

Selects all brushes inside the currently selected brush – removes the selection brush

Main Menu: Selection/Select/Select Inside

Right-click Menu: Select/Select Inside

Toolbar: Selection/Select Inside

 

There are also a couple of special selection options that do not need a selection brush.

 

Select All Sectors

Selects all sectors in the currently loaded map

Main Menu: Selection/Select All Sectors

Right-click Menu: Select/Select All Sectors

Toolbar: Selection/All Sectors

Select All Things

Selects all things in the currently loaded map (templates, lights, etc)

Main Menu: Selection/Select All Things

Deselect

Deselects all brushes

Main Menu: Selection/Deselect

Hotkey: Escape

 

Faces

It is also possible to select a single face on a brush, rather than the entire brush. This can only be done in the Camera Window. Hold down Ctrl and Shift and then left click on the face you want to select. The face you have selected will be displayed with a red overlay. You can only select one individual face at a time.

 

Ctrl-Shift-left mouse button click

Selects the face you click

Texturing

If you have already loaded textures from the Texture menu, any brush you create will have the currently selected texture. If you haven’t loaded any textures, you’ll see a checkerboard pattern on all newly created brushes until you apply a texture to them.

 

You can apply a texture to an entire brush or to individual faces in a couple different ways. To apply a texture to an entire brush, you can select the texture in the Texture Window, hold down Ctrl and middle-click the brush in the Camera Window. Alternately, you could select the brush and then select the texture in the Texture Window. When you select the texture, it will be applied to the currently selected brush(es).

 

The same basic idea applies to texturing an individual face of a brush. You can select the texture in the Texture Window, hold down Shift, and middle-click the face in the Camera Window. Alternately, you could select the face in the Camera Window and then select the texture in the Texture Window. When you select the texture, it will be applied to the currently selected face.

 

Ctrl-middle mouse button click

Applies the currently selected texture to the brush you clicked in the Camera Window

Shift-middle mouse button click

Applies the currently selected texture to the face you clicked in the Camera Window

 

Once you have a brush textured, you can also rotate or stretch the texture using hotkeys or the Surface Inspector.

 

Horizontal shift

Shift the texture horizontally

Shift-Left/Right Arrow

Vertical shift

Shift the texture vertically

Shift-Up/Down Arrow

Horizontal stretch

Stretch the texture horizontally

Ctrl-Right Arrow

Vertical stretch

Stretch the texture vertically

Ctrl-Up Arrow

Rotate

Rotate the texture

Shift-PageUp and Shift-PageDown

Fit-to-Face

Fits texture to the face or brush

Ctrl-F

 

Note: The fit-to-face function will generally only work on a four-sided face that hasn’t been skewed or shaped “too much”. It won’t hurt anything to try it on any face or brush, but if Ctrl-F doesn’t result in anything happening you’ll know the shape of the brush or face wasn’t a valid one for that function.

Manipulating

Once you’ve created a brush, there are number of things you can do to it to get the shape or look you wanted. Most of these actions can be done on one or more brushes in either the 2D Window (in any view) or the Camera Window. The exceptions will be noted below.

 

Dragging (2D Window, Z-height Window, and Camera Window)

Selected brush(es) can be moved or dragged to a new position simply by clicking the left mouse button somewhere within the boundaries of the selection, holding, and moving the mouse. The selection will follow the cursor and be released when you release the mouse button. This will work with a single brush or multiple brushes.

 

Left mouse button click and drag (inside the selection)

Moves the selection in the direction you drag

 

When dragging a selection in the 2D Window, you may “hit” the edge of the window. If you have the Mouse Chaser option checked in your Preferences, this will cause the window to scroll in that direction and allow you to keep dragging the selection in that direction.

 

Note: Be careful when moving a selection with multiple brushes. If you do not click within the boundaries of one of the brushes, you will start to stretch or shrink some of the brushes (this also applies to a single selection, but it can be easier to accidentally do with many brushes selected).

 

Resizing (2D Window, Z-height Window, and Camera Window)

After you’ve created a brush, you can easily change its size (or multiple brushes at the same time). All you need to do is click the left mouse button somewhere outside the boundaries of the brush(es), hold, and move the mouse. If you move the mouse away from the selection, you will stretch the selection on that axis. If you move the mouse toward the selection, you will shrink the selection on that axis.

 

Left mouse button click and drag (outside the selection)

Stretches or shrinks the selection in the direction you drag

 

Skewing (2D Window and Camera Window)

To skew a brush, hold down Ctrl, click the left mouse button somewhere outside the boundaries of the brush, hold, and drag. This can also resize the brush in a more “freeform” manner.

 

Ctrl-Left mouse button click and drag (outside the selection)

Skews the selection in the direction you drag

 

Note: This action can be done on multiple brushes, but you won’t always get the exact results you were expecting. If you’re careful and watch what you’re doing, it’s pretty safe.

 

Scaling

Resizing and skewing only allows you to alter one or two dimensions at a time in one direction. If you want to double or half the size of a brush or brushes in all directions, you can use scaling. There are two types of scaling: Normal Scaling and Free Scaling.

 

Normal Scaling can be accessed from the Selection/Scale… Menu. This will display a dialog where you can enter a multiplier for any or all of the three dimensions. For example, entering ‘2’ for each of the X, Y, and Z input boxes will double the size of the selection.

 

Free Scaling can be accessed from the Toolbar. There are four buttons associated with Free Scaling. The first enables and disables free scaling. The other three enable or disable scaling on one particular axis. One you enable free scaling, you can scale the selection by clicking the left mouse button in the 2D Window, holding, and dragging. If you push the mouse forward, the selection will scale larger. If you pull the mouse backward, the selection will scale smaller.

 

Left mouse button click and drag up (in Free Scaling mode)

Scale the selection larger

Left mouse button click and drag down (in Free Scaling mode)

Scale the selection smaller

 

Rotating

There are also two types of rotation: Normal Rotation and Free Rotation. They both work on a single brush or multiple brushes.

 

Normal Rotation can be accessed by the Selection/Rotate Menu. You will see Rotate X, Rotate Y, Rotate Z, and Arbitrary Rotation. Rotate X, Rotate Y, and Rotate Z work similarly to the Toolbar rotate buttons. They rotate the selection 90° around the axis chosen. Arbitrary Rotation brings up a dialog that allows you to enter values for rotation around any/all of the three axis at the same time.

 

Free Rotation can be accessed by the Toolbar button or the ‘R’ hotkey. When you’re in Free Rotation mode, you can click the left mouse button in the 2D Window, hold, and drag. Pushing the mouse forward will rotate the selection counterclockwise. Pulling the mouse backward will rotate the selection clockwise.

 

In Free Rotation mode, you will also notice a purple square in the center of the selection (the same color as the selection when you’re in this mode). All rotation will be done around this point. You can move it anywhere you want by holding down Shift and middle-clicking the mouse. This will drop the point where your cursor was when you clicked.

 

Left mouse button click and drag up (in Free Rotation mode)

Rotate the selection counterclockwise

Left mouse button click and drag down (in Free Rotation mode)

Rotate the selection clockwise

Shift-middle mouse button click (in Free Rotation mode)

Move the rotation point to your cursor

 

Cloning/Copying

You can copy or clone a set of selected brushes in a couple different ways. You can use the standard Ctrl-C to copy and Ctrl-V to paste. If you want to do both those commands in one shot, you can simply press the Spacebar. That will clone the selected brushes. Both Ctrl-C and the Spacebar actually copy the selection into the “Clipboard”, so you can subsequently hit Ctrl-V to paste in the selection again and again. If you don’t have anything selected, pressing the Spacebar will do nothing (it will not paste the clipboard contents).

 

Ctrl-C

Copy the current selection

Ctrl-V

Paste the current brush clipboard contents

Spacebar

Copy and paste the current selection

 

Edges and Vertices (2D Window and Camera Window)

Working with a brush’s edges and/or vertices is a good way to get the more specific shapes that you want. There are limitations, however, and these moving edges and vertices could be considered more advanced than much of the other editing. So, keep that in mind when you start working with them.

 

To turn on/off Edge editing, use the Selection/Drag/Drag Edges Menu or the ‘E’ hotkey. Once you’ve turned it on, you’ll see some blue dots on your current selection – one for each edge of your brush. To move an edge, simply left-click on a blue dot, hold, and drag.

 

To turn on/off Vertex editing, use the Selection/Drag/Drag Vertices Menu or the ‘V’ hotkey. Once you’ve turned it on, you’ll see some green dots on your current selection – one for each vertex of your brush. To move a vertex, simply left-click on a green dot, hold, and drag.

 

You cannot select multiple edges or vertices and move them as a unit. You can select multiple brushes and enable edge or vertex editing, but it is much simpler if you only have one brush selected.

 

E

Edge editing mode

V

Vertex editing mode

 

Note: Because all brushes must be convex, Embrace may change the shape of the brush you’re editing to compensate for some of the movement you’re making on an edge or vertex. You may see some odd behavior (you might even see a brush get deleted) when doing severe edge/vertex editing. If you do see some very odd behavior (especially a deleted brush), you may want to reload your most recent save and restart from there.

 

Clipping (2D Window)

Clipping allows you to cut off parts of a brush. It is an extremely powerful and quick method of shaping and smoothing brushes. There are two types of clipping: Two-Point Clipping and Three-Point Clipping. Both work in the same way, but Two-Point Clipping is used much more frequently and is easier to grasp.

 

To place clip points, hold down Ctrl and click the right mouse button. You will see a dot with a number by it (1, 2, or 3 – you cannot place more than three clip points). You can also enter Clipping Mode by using the Selection/Clipper/Toggle Clipper Menu or the Toolbar button. When using Clipping Mode, you can place points by using Ctrl and the right mouse button or by simply clicking the left mouse button.

 

Ctrl-right mouse button click

Place clip points in the 2D Window

 

Two-Point clipping works by placing just two clip points. This creates a plane or a line between the two points. Any selected brush that this plane intersects can be clipped or split.

 

Three-Point clipping works by placing three clip points. This will create a plane that all three points are a part of. Think about it as a flat piece of paper that you’re using to slice through you’re selection. Each of the three points you dropped lie somewhere on the paper and when you move a point, the orientation of the plane (our piece of paper) will move to keep all the points on it.

 

Using three points, you can clip off any part of any brush in virtually any direction or angle you want. You’ll normally have to switch the 2D Window to the other views and keep an eye on the Camera Window to position the clip points exactly where you want them.

 

Clip Selected

Q

Clips or cuts off the highlighted portion of the selection

Split Selected

Shift-Q

Splits the selection along the plane created by the clip points

Flip Clip Orientation

Ctrl-Q

Flips the portion of the selection that will be clipped

Templates

Template is the term we use to describe all of the various models you see in Vampire. This includes enemies, NPC’s, decorative items, etc. You may also see them referred to as “Things” or “Objects” at times. There is one special type of template that we call a Template Brush. These are world brushes that have a template associated with them and subsequently act like models in the game.

 

With the exception of Template Brushes, you’ll place a template in your level using the Thing & Templates Window. This window displays a list of the currently loaded NOT files and allows you to select a template by browsing through them.

Template Brushes

Template Brushes are handled a little differently. To create a Template Brush, select a brush or brushes, open the 2D Window Right-click Menu by right-clicking in the 2D editing space, and select Template Brush. This creates a group of brushes that can be selected as a group and can be associated with a template through the Thing & Templates Window (one of the tracker_thing templates normally – these are designed to be used by template brushes and each have properties and sounds associated with them). Without an associated template, a Template Brush will not show up in the game.

 

All of the larger moving geometry, doors, buttons, and levers that you see in the game are normally done using Template Brushes. The clock gears in Stephansdom, the hanging hook parts of the conveyor system in the Factory, and all the doors that move in the game are examples of Template Brushes used in Vampire. This allows the level designer to create an in-game model inside Embrace without relying on a 3D artist all of the time.

Sectors

Sectors are special templates that are used to help the engine tell what parts of your level to render in the game. They can be manipulated the same way normal world brushes can (skewing, clipping, copying, edge editing, etc.).

 

To place a sector, use the 2D Window Right-click Menu and select Sector. That will place a sector template in your 2D Window (it has a transparent green texture that reads “portal”). After you have one placed, it is often easiest to copy an existing one and use that as a base to shape your next sector.

 

Placing sectors in your level takes a bit of time, but if you understand in a general sense what they do it can go much quicker. Nothing in your level will be rendered by the game unless it is inside a sector. You may want to reread the previous sentence a few times until it sinks in.

 

The most inefficient and still correct sectoring would amount to placing one giant sector encompassing your entire level (pulled past the edges of your level in all six directions). The level export would take a significant amount of time and it would also run very inefficiently in the game.

 

The idea is to create sectors that touch as little of the geometry you’ve created as they have to and leave areas unsectored that you don’t want the engine to render. These unsectored areas become your visibility blocking tool. In the NOD engine, world geometry does not block visibility (visibility blocking or vis blocking is a generic level design concept that basically means you help the engine by not making it render everything at the same time). An example will hopefully illustrate this most accurately.

 

The picture below is a top down view of two small rooms with a wall in the middle of the lower room. The green outlines are the sectors. Both pictures below are “correct” in the sense that they will run in the game, but the one on the right is much more efficient. That is the type of model you should try to follow – the edges of your sectors should hug the faces of your geometry that you want the engine to render.

 

 

The picture on the left is not one giant sector encompassing the entire level, but it’s almost as bad. If a player is standing where the camera object is, facing the hallway, the engine will still be rendering the entire level behind the column. Remember that world geometry does not block visibility, an unsectored area does.

 

In the picture on the right, the area inside the column is unsectored and the hallway’s sector is pulled in to match the width of the hallway. Now, if a player is standing where the camera object is, facing the hallway, the engine will not be rendering past the wall into the other room.

 

Also keep in mind that this is a top down view and you need to remember these principles on all three dimensions. Here are a couple pictures of a side view of the same level. Since the hallway’s ceiling is shorter than the two rooms it connects, you should pull the sector down (although both will work in the game, the second picture is more correct again and more efficient – the top edge of the hallway’s sector is pulled down just outside the ceiling).

 

 

Not every bit of detail on a wall or on a floor requires you to hug your sectors tightly to their faces. For example, if we put a little detail on the walls of the room above, it would still be fine to leave the sectoring as is. Leaving the small space unsectored inside the detail in the walls is usually unnecessary. We don’t need to break it up as in the first picture (it’s not wrong, per se, but there is the potential for slowing down the engine).

 

 

In general, and everything else being equal, fewer sectors are more efficient and less work for the engine. You have to balance the number of sectors in an area with the amount of visibility blocking you want to accomplish. If we take the wall in the center of the lower room and make it smaller and more like a column, the area inside the column will never be enough to effectively block visibility (the engine will always be seeing “around” it). Since fewer sectors are more efficient we would probably sector the area like this.

 

 

Sectoring can become much more complex quickly if you’re not careful. If you keep this process and guide in mind as you build your levels you’ll find that sectoring them is fairly trivial.

Exporting

Exporting a level is the process you need to go through to convert the raw data you’re working with in Embrace to a format that the game can understand. There are two ways to bring up the Export Dialog: Shift-X or File/Vampire Export.

 

Shift-X or File/Vampire Export

Display the Export Dialog

 

When either of those methods is used, the first thing that will happen is Embrace will auto save your map to a different name for backup purposes. If anything drastic happens during export, you can always look for that file. It will be named like this: myfilename.export.map

 

It does not auto save your map to its original name, however. So, you may also want to save prior to exporting your level to be safe.

 

 

Export Options

 

Geometry

 

Use Sectors

Export the level with full sector information - disabling this is not recommended

Use Details

If disabled, detail brushes will not split geometry and not block light

Pathing Info

Export the level with full pathing info - disabling this is not recommended

Lighting

 

Oversample

Extra light sampling - this will slow down the lighting process by about a factor of 4, but it will produce much smoother world lighting

Shadows

Objects in the static layer will cast shadows onto the world geometry

Ignore Sector Marks

Selective lighting - unchecking this will cause only sectors that have been marked for lighting to be lit - useful for selectively lighting small areas of a level

Light Resolution

Number of world units (pixels) in each sample point - setting this value below 16 is not recommended

Phong

Phong shading - angle at which adjoining faces will be smoothed during lighting

Moon/Sun Light

Moon/Sun parallel light source - settings for parallel light source cast from “sky” faces during lighting

Ambient Light

Global ambient light level - settings for global ambient light level added to all surfaces during lighting

Other

 

Export Static Objects

Export objects in the static scene

Export Scenes

Export additional scenes

Run (Button)

Launches Vampire with the current level (vampire -level mymap.nil)

Close (Button)

Closes the Export Dialog

Export (Button)

Exports the level

Export Output

When Embrace has complete exporting your level, you will have one NIL file and at least one NSD file. The NIL files are your level in a format the game can understand and the NSD file(s) are your scenes in a format the game can understand.

Scenes (NSD files)

Embrace will output your static and all non-static scenes. The static scene is loaded by default when the level of the same name is loaded (for example, if your map was called raveclub.map, the static scene the game would load would be output to the file, raveclub.nsd).

 

Embrace will generate one NSD for every scene in your level. The NSD files hold only templates that belong to that specific scene (layers are associated with a scene via the Scene Editor Dialog). The static scene holds all the templates you have placed in the static layer. These files will be placed in the directory you have specified in your Project Settings as your Scenes Directory.

Levels (NIL files)

The other file that Embrace will export is your level. This contains the level data, lightmaps, and other info the game needs to run your level in the game.

 

These files will be placed in the directory you have specified in your Project Settings as your Levels Directory.

Shortcut Key/Mouse control List

2D and Z-height Window

Cycle View

Ctrl+Tab

Zoom In

Delete

Zoom Out

Insert

Center 2D On Camera

G

Z Window Zoom In

Ctrl+Delete

Z Window Zoom Out

Ctrl+Insert

Enable/Disable Grid

0

Grid Size 1

1

Grid Size 2

2

Grid Size 4

3

Grid Size 8

4

Grid Size 16

5

Grid Size 32

6

Grid Size 64

7

Decrease Grid Size

[

Increase Grid Size

]

Slide View

Right button click+Drag

Move Z-height marker

Shift+Middle button click

Move Camera

Ctrl+Middle button click

Create/Modify Brush

Left button click+Drag

Select

Shift+Left button click

Skew Brush

Ctrl+Left button click+Drag

2D Right-click Menu

Right button click

Link Path Corner or Info_Null

Shift+K

Camera Window

Move Back

Down arrow

Move Forward

Up arrow

Turn Left

Left arrow

Turn Right

Right arrow

Slide Left

,

Slide Right

.

Move Up

D

Move Down

C

Look Up

A

Look Down

Z

Center View

End

Jump Down One Floor

Page Down

Jump Up One Floor

Page Up

Decrease Cubic Clip Distance

Ctrl+]

Increase Cubic Clip Distance

Ctrl+[

Mouse-move Camera

Right button click+Drag

Slide Camera

Ctrl+Right button click+Drag

Texture Window

Select Texture

Left button click

Scroll

Right button click+Drag

Scroll Quicker

Shift+Right button click+Drag

Editing

Unselect

Esc

Delete

Backspace

Clone

Spacebar

Edge Editing Mode

E

Vertex Editing Mode

V

Flip Clip Orientation

Ctrl+Shift+Q

Clip Selected

Q

Split Selected

Shift+Q

Free Rotation Mode

R

Make Detail

Ctrl+M

Thing & Templates Window

N

Texturing

View Textures

T

Surface Inspector

S

Vertical Shift

Shift+Down arrow and Up arrow

Horizontal Shift

Shift+Left arrow and Right arrow

Texture Rotation

Shift+Page Down and Page Up

Vertical Stretch

Ctrl+Down arrow and Up arrow

Horizontal Stretch

Ctrl+Left arrow and Right arrow

Fit To Face

Ctrl+F

Texture Shift Amount

Shift+Keypad Plus and Minus

Select Brush Face

Ctrl+Shift+Left button-click

Pick Texture

Middle button-click

Apply Texture To Brush

Ctrl+Middle button-click

Apply Texture To Face

Ctrl+Shift+Middle button-click

Texture Shift

Alt+Right button-drag

Texture Stretch

Shift+Alt+Right button click+Drag

Texture Rotation

Ctrl+Alt+Right button click+Drag

Miscellaneous

View Console

O

Preferences

P

Show Detail

Ctrl+D

File Open

Ctrl+O

File Save

Ctrl+S

Exit

Ctrl+X

Copy

Ctrl+C

Paste

Ctrl+V

Undo

Ctrl+Z