KomagTutT3 – Komag Tutorial for the Thief 3 editor T3Ed, by Komag (Ben Ramsey)

Current version – v0.95 beta (Nov 13, 2005) (WORK IN PROGRESS » 95%)

(see http://www.shadowdarkkeep.com for more information)

 

 

KomagTutT3

 

How to make a Thief 3 Fan Mission – Beginning to End!

 

 

 

BRIEF OUTLINE

 

i.                     INGREDIENTS

ii.                   INTRODUCTION

I.                    INSTALLING THE EDITOR

II.                 MAKING SURE IT WORKS

III.               BASIC CONTROLS

IV.              YOUR FIRST ROOM

V.                 STARTING INVENTORY

VI.              LIGHTING

VII.            STATIC MESHES

VIII.         EXPANDING THE AREA

IX.              AI, PATROLS, AND NAVMESH

X.                 LOOT!

XI.              DOORS

XII.            RAMPS, STAIRS, AND LADDERS

XIII.         ZONING

XIV.         TEXTURING

XV.           SKYBOX

XVI.         WATER AND FOG

XVII.      DETAILING AND OPTIMIZATION

XVIII.    SOUND

XIX.         READABLES

XX.           SCRIPTS

XXI.         PREPARING THE MISSION

XXII.      OBJECTIVES PART 1

XXIII.    OBJECTIVES PART 2

XXIV.   FINAL SETUP AND PACKAGING

XXV.      APPENDIX

iii.         FULL OUTLINE

 

 

i.   INGREDIENTS

 

1)      WHAT YOU NEED   (i. ingredients)

[Make sure you have the editor downloads and your original Thief 3 discs]

a)      A PC that can comfortably run Thief 3 (obviously)

b)      Your Thief 3 installation discs

c)      The “thief3editorrelease_jan2005.zip” editor release file (download at Shadowdark or elsewhere)

d)      The “thief3launcher.zip” file (download at Shadowdark or elsewhere)

e)      Lots of time and patience, a desire to learn, and the courage to make mistakes!

 

 

 

ii.   INTRODUCTION

 

1)      HELLO AND CREDIT   (ii. introduction)

[I have some experience, but I lean heavily on others, and they deserve credit]

a)      Hi, I’m Komag, and I’ll be your guide throughout this lengthy season of enlightenment otherwise known as a tutorial.

b)      I have been a part of the Thief series editing scene for a few years now, and along with many other fans I rejoiced when T3Ed was released last February.

c)      Before I say more, I must first give credit to the brilliant taffers at the TTLG.com forums who have gone before and tackled this new editing beast, sometimes writing tutorials of their own along the way and helping us all to learn the ropes, including me.  Here is just a short list of some of main ones:

-          d’Spair

-          scumble

-          Nhivanye

-          Null

-          ascottk

-          Krypt

-          Ziemanskye

-          ProjectX

-          Rujuro

-         AND MANY MORE – please don’t feel bad/mad if I forgot you!

d)      Much of what follows is primarily drawn from their expertise, with some alterations and a lot of hot air of my own thrown in for good measure.  You can find their works collected in the T3Ed Wiki FleshWorks, at http://www.ttlg.com/wiki/wikka.php?wakka=HomePage

 

2)      TUTORIAL PREMISE   (ii. introduction)

[I’ll walk you through step by step, follow the tutorial closely]

a)      This tutorial is designed to walk you through the full process of making a small and simple but complete Thief 3 fan mission.

b)      You may be an expert at using various game editors or even have specific experience with other Unreal based editors (which T3Ed is based on) or Dromed (many elements of which are apparent in T3Ed).  But I’m going to assume you have never edited before, and I won’t be making reference to any of those other programs.

c)      Basically, I’m going to treat you as a total and complete novice, walking you by the hand through each step of the way as easily and simply as possible!

d)      Also, the tutorial is designed to be followed pretty closely.  Please don’t wander off and do crazy things that aren’t in the tutorial.  When you’re on your own time later on, you can do what you want, but for now just obey everything I say!  Seriously though, stay close to the instruction and you’ll do well.  Besides, there are later parts where I give you some free reign so your style doesn’t feel too cramped.

 

3)      WHAT YOU GET   (ii. introduction)

[You’ll make a nice little mission with lots of Thiefy goodies]

a)      You will end up with a good looking, fun to play, small Thief 3 mission that includes:

-         a basement

-         a crypt

-         a sewer complete with shallow water

-         a city street with an open night sky

-         patrolling guards, servants, etc.

-         locked chests and doors

-         some readables (parchments, books)

-         various forms of lighting

-         lots of objects and architecture to interact with

-         mechanisms to operate via switches/buttons

-         ambient music and triggered sounds

-         objectives and notes

-         inventory equipment

-         ability to pick locks and climb walls

-         ambient fog

-         other things

-         and lots of loot!

b)      Your mission will be all wrapped up and ready for easy distribution, and simple for others to play regardless of whether they have the editing package or not.

 

4)      DON’T PLAY FIRST   (ii. introduction)

[Work through the tutorial without looking at the finished product and you’ll be better off in the end]

a)      If you are planning to do this tutorial, I would advise that you not play the tutorial mission yet, but only after you are completely done.  It’s probably best to not even open it to see how things were done for a certain section, but if you must then make it brief.

b)      The reason is this: I believe that as a budding T3Ed designer you’ll be much better off not getting “spoiled” by the tutorial mission, which would tempt you to just repeatedly copy everything you see in there.  If you already played it before you read this, immediately erase your memory!

c)      Imagine yourself as a lately cocooned caterpillar about to burst forth as a beautiful new butterfly to flutter in the spring sunshine amongst happy flowers in the lovely bright meadow.  Obey me and imagine it NOW!  Okay, now realize that if I cut open your cocoon prematurely without allowing you to struggle a little to get yourself out, you won’t gain the strength needed to fly on your own, and you’ll be a sad little crippled butterfly who can only walk in the weeds!

d)      So allow yourself to struggle in some parts (don’t worry, it won’t be too much), trying to come up with your own way of doing things, and you’ll become a much stronger level designer in the end.

 

5)      FAITH   (ii. introduction)

[It will work out, relax]

a)      My last piece of advice at this point is to just have faith that as you work and progress through this tutorial, you WILL learn T3Ed bit by bit, and by the end you’ll be a mean green unstoppable Thief 3 editing machine!

b)      Have fun!

 

 

 

I.   INSTALLING THE EDITOR

 

1)      UNINSTALL OLD THIEF 3   (i. installing the editor)

[Uninstall Thief 3 and delete all old files and folders]

a)      Uninstall any extras or mods you have for Thief 3 (particularly John P.’s textures) using the “Add or Remove Programs” menu in your Windows “Control Panel”.

b)      Then uninstall the whole game.  Remember to delete the Thief 3 folder from your My Documents folder (although some have reported that you can leave this if you want to, that it doesn’t affect the installation, and it keeps your save-games intact, so it’s up to you).

c)      Finally, delete the old Thief 3 installation directory (some files may have been left over after the uninstall).  Now you should have a completely clean slate!

 

2)      REINSTALL THIEF 3   (i. installing the editor)

[Reinstall Thief 3, but to avoid all spaces in the paths, install to a directory such as “C:\Games\Thief3”]

a)      Install Thief 3 and when prompted for the install directory change the name to “Thief3” (rather than “Thief – Deadly Shadows”).

b)      Also, don’t install it in your “Program Files” directory because there would be a space in the path causing problems later on, which is what we’re trying to avoid in the first place by renaming the installation to “Thief3”.  Put in something like C:\Games\Thief3 or C:\Thief3, nice and clean that way.

-         Avoiding spaces in the path is for the purpose of setting up your mission to later on to be played by the public.  In the “baking” process at the end, certain files need to be accessed and spaces cause the process to break down.  Just trust me on this.

c)      Try playing the game for a few minutes just to briefly test it.  If you can’t play, something has ALREADY gone wrong!  Make sure you have all your video card drivers and everything properly installed, and that your motherboard drivers are all set up (such as the Via 4-in-1 drivers), etc.  There is also a lot of help and information available online to help you get it working, especially on the www.ttlg.com Thief forums.

 

3)      COPY AND RENAME DIRECTORY   (i. installing the editor)

[Make a copy of the entire “Thief3” directory and call it “Thief3Edit”]

a)      Find your main Thief 3 installation directory (called “Thief3”) on your computer, right-click on the directory title, and select “Copy”.

b)      The next step will copy a TON of files and take a few minutes. You will need a lot of hard drive space to do this (around 2 gigs), so be sure it’s available beforehand.

c)      Right-click elsewhere (on a blank area of the main directory that “Thief3” is in, or in a completely separate directory on any drive letter you want) and select “Paste”.  Be sure you don’t paste it into the Thief3 directory, that’s not what we want!

d)      It should say “Copy of Thief3” if you are in the same root directory, or just “Thief3” if you chose to copy it to a different place.

-         You now have two full copies of your entire Thief 3 installation directory.  They should be separate from each other, and they may be in the same root directory (such as “D:\Games\Thief3” and “D:\Games\Copy of Thief3”) or not (such as “D:\Games\Thief 3” and “F:\MoreGames\Thief 3”).

e)      If you used the same directory and your new folder is called “Copy of Thief3”, rename it to something like “Thief3Edit” (it doesn’t have to be that exactly, but avoid using spaces or odd characters).

f)        If you used a separate location and your new folder is just called “Thief 3”, do the same - rename it to something like “Thief3Edit”.

 

4)      DELETE UNECESSARY FILES   (i. installing the editor)

[In the Thief3Edit\Content\T3 folder, delete the “VideoTextures” folder and all the ibt files in the “Maps” folder]

a)      To save hard drive space, you can now delete some stuff in “Thief3Edit”, stuff which is only used for playing the game and isn’t necessary for editing.  You will still have the complete installation in the original “Thief3” folder for when you want to just play.

b)      Thief3Edit\Content\T3\VideoTextures - delete the whole folder, this will save 650meg

 

 

c)      Thief3Edit\Content\T3\Maps - delete the ibt files (750+meg), but KEEP the gmp files

 

 

5)      INSTALL T3ED   (i. installing the editor)

[Unzip the editor into the “Thief3Edit” folder and let it overwrite the files it asks to]

a)      Now, finally, unzip “thief3editorrelease_jan2005.zip” directly into your new “Thief3Edit” folder.  One easy way to do it is to double-click the zip file so that it opens WinZip, then click the menu button “Extract” and select your “Thief3Edit” folder in the directory tree so that the path says something like “D:\Games\Thief3Edit”.

b)      You may also be able to right-click and hold the zip file, and drag and drop it onto your “Thief3Edit” folder, and then select “Unzip here” or “Extract here”.

c)      Make sure you don’t unzip it to a subfolder within the Thief3Edit folder.

d)      If you do it correctly, the files that were in the zip file in System and Content will go right into those same folders within the “Thief3Edit” folder.  Only four files will be overwritten (let them):

-         Default.ini

-         T3.exe

-         Ion Launcher.exe

-         Content\T3\Books\English\String_Tags\Quotes.sch

e)      What this step (unzipping the editor file) did is give you all the various types of content that you can now access and work with in the editor.  All the textures, models, animations, objects, etc, were not available before because they were locked away in the mission files themselves.  Now they are open and accessible.  They constitute the bulk of the downloaded editor zip file.

 

6)      CHANGE EXES   (i. installing the editor)

[In Thief3Edit\System, delete “T3Main.exe” and rename “T3MainOptVersion.exe” to “T3Main.exe”]

a)      Go to your “Thief3Edit\System” folder and delete the file “T3Main.exe”.

 

 

b)      Find the file “T3MainOptVersion.exe” and rename it to “T3Main.exe”.

 

 

7)      EDIT INI    (i. installing the editor)

[In Thief3Edit, edit the user.ini file and add a semicolon in front of the line “LoadFromResourceBlockFiles=True.”.  Add two new lines: “[Conversations]”, and “SchemaChangesAllowed=true”]

a)      Go up to your main “Thief3Edit” folder and open the file “user.ini” (use Notepad, and it’s a good idea to have Notepad always open ini files as they are usually text-based settings files). 

b)      Find the line “LoadFromResourceBlockFiles=True.” and add a semicolon to the start of the line so that is now says “;LoadFromResourceBlockFiles=True.

c)      At the bottom, add two new lines:

[Conversations]

SchemaChangesAllowed=true

d)      Save the user.ini file and close it.

 

8)      REINSTALL EXTRAS   (i. installing the editor)

[Reinstall your game play tweaks and extras]

a)      Now you can go back and reinstall any little mods or extras to the normal Thief 3 installation (“Thief3” folder), such as textures or game-play tweaks.

 

9)      CHECK OTHER THINGS   (i. installing the editor)

[Set your desktop color to 32bit, set your firewalls to accept Thief3, and save any open work on your computer]

a)      Before you go on to the last steps of getting set up, be sure that your monitor desktop color depth is set to 32 and not 16 or lower, as T3Ed requires 32bit color and won’t work without it (it will crash with an error message).

b)      Some internet firewalls may interfere with going into game mode from the editor, so you might want to turn them off, or at least just be aware of it so that if you get hang-ups later on you’ll have one more option when trying to fix it.

c)      Of course, you’ll also want to save any important stuff you have open at this point, as you never know if you might have to reboot your PC!

 

10)  INSTALL THIEF 3 LAUNCHER   (i. installing the editor)

[Unzip somewhere and run Thief 3 Launcher, set the paths correctly, close it]

a)      In the “thief3launcher.zip” file you downloaded separately, unzip the “Thief3Launcher.exe” file anywhere you want (such as your desktop or your main games folder or whatever).

b)      Run “Thief3Launcher.exe” – you will see a small window that has on the left side “Editor Path:” and on the right side “Thief 3 Path:”, under which are two tiny browser windows to find the correct folders.

c)      It will try to find things correctly, but if it’s wrong, find your main “Thief3Edit” folder and your main “Thief3” folder (double click folders to open or close them).

d)      Ignore the bottom where it says “Gamesys:” for now (it should say “T3Gamesys.t3u”).

e)      Close the “Thief3Launcher” window (don’t press either “Launch Editor” or “Launch Thief 3”).  This will save its settings.

 

11)  COWER IN FEAR   (i. installing the editor)

[Take a break if you need to]

a)      If you’re too scared to go on, close everything (including this tutorial) and go watch a movie or have a sandwich or something.

 

 

 

II.   MAKING SURE IT WORKS

 

1)      OPEN T3ED   (ii. making sure it works)

[Run “Thief 3 Launcher” and click “Launch Editor”, wait for the editor to load]

a)      So you’re braver than I thought!  Well then, shall we proceed?

b)      Run “Thief 3 Launcher” and click on “Launch Editor”.  Have patience as it may load somewhat slowly or maybe even slower than your 98 year old great grandmother.

c)      If all goes well, you should be staring at a new editor!  You’ll see lots of funky bluish-green icons on the left side, four main editing windows, a separate “Textures” window covering part of the editing windows (just close it), a “Command” line at the bottom left, a few more icons across the top, and some other odds and ends.

d)      If the editor didn’t start or you got some error message or if your computer imploded, then something went wrong!  Retrace your steps, get help on the forums, or just give up now.

 

2)      LOAD A MAP   (ii. making sure it works)

[Open “Castle1.unr” from “Content\T3\Maps”]

a)      Right now it’s best to see if your setup is working properly, so you’ll want to test a mission in game mode.

b)      Find the little “Open” folder icon in the upper-left section (near the “Save” disk icon) and click it.  Or you could just click on “File” in the very uppermost menu and select “Open...”, or press Ctrl+O.

c)      Navigate to the “Content\T3\Maps” folder if it’s not there already and try opening “Castle1.unr”.  You will see a tiny window pop up titled “Progress” with the message “Loading Map” displayed.  It will take a little while, maybe a minute or so, to load.

d)      WHOAH!  That’s scary, all those green lines and weird icons and junk!

 

3)      PLAY THE MAP   (ii. making sure it works)

[Save the map as “sillytest.unr”, then play it by clicking the joystick icon on the top right]

a)      First go in the “File” menu and select “Save As...” and save it as “sillytest.unr” or “mynewtest.unr” or whatever.  If you click the little “Save” disk icon you will just save the mission as “Castle1.unr” again - no harm done, but not what we want.

b)      Now, to test the level, find (don’t click yet) the little joystick in the top right side of the main toolbar on top (if you hover your mouse pointer over it, it says “Play Map!”).

c)      Read the next bit first to know what to expect, and then, when I say so, you can actually try it out.

-         It will minimize the editor and open a small window titled “Progress” and will auto-save the map as “Autoplay.unr” and then convert it to, and auto-save it as, “Autoplay.gmp” (it’s these gmp files that can be played).

-         Then it will open a little window with some blah blah message about “Localization” and “General” this and that, but just ignore it.

-         Finally, if all goes well (again), it will then run the Thief 3 game and load up the level and you’ll be at the start of the first main mission in the game (the “Castle1” map).

-         Notice that it takes much longer to load gmp files than the normal game levels, and there is no progress bar during the actual mission loading.

-         To exit and come back to the editor, you simply open the game menu (as you normally do while playing, by pressing Esc) and exit the game through the main menu, then restore the editor from your Windows taskbar.

d)      Okay, try playing the map by clicking that joystick icon, NOW!

 

4)      TROUBLE   (ii. making sure it works)

[If you have a problem, check your firewall, graphics card drivers, or get help on the forums]

a)      The odds are somewhat good (or bad) that it didn’t work right and you have a problem or two to fix before things start going your way.

b)      Again, some would suggest quitting now while you’re still sane, but what kind of Thief fan would you be if you did that?!  Here are a few pointers to get it working:

-         Be sure you turn off your firewall or give Thief 3 permission to run in it or have access to the internet.  I personally had McAfee firewall asking me to give it permission, which I gave and it worked fine after that.

-         There may be trouble with some ATI Radeon cards and certain Catalyst drivers; the jury’s still out on this one.

-         If, no matter what, you are still having trouble, read everything in the “Thief III Editors’ Guild” forum at www.ttlg.com (they also have a wiki set up for editor help).  Register there and ask for help if you need to.

c)      Good luck man, I feel your pain.

 

5)      NO SOUND   (ii. making sure it works)

[There is no sound, so you can press Alt+Enter to play in a window with sound, or there are other options]

a)      Most likely you will have no sound in full screen game mode – this is normal for the debug version we’re playing with.

b)      If you can’t stand to play without sound, you can press Alt+Enter to play in windowed mode and the sound will work.

c)      If you can’t stand to play in windowed mode, then be a man, buck up, choose the lesser of two evils, and just live with it one way or the other.

d)      But if you REALLY can’t stand it, then you have three additional options.

 

6)      SOUND FIX ONE   (ii. making sure it works)

[Make a shortcut to your “T3.exe” file (in “Thief3Edit\System”) and add “ autoplay” to the end of the “Target:” line (so long as autoplay.gmp has been created by trying the joystick icon method).  Or better yet, under “File” select “Export Map For Game” and name it “sillytest”, then add “ sillytest” to the end of the “Target:” line in the shortcut]

a)      The first option is not very popular, so you may want to skip to the next ones.  You can set up a shortcut to play the map manually:

b)      Exit the editor.

c)      Go to your Thief3Edit\System folder and right-click-and-hold on “T3.exe” and drag it over to your desktop and then let go and select “Create Shortcuts Here” which will add a file to the desktop called “Shortcut to T3.exe” that you can rename to whatever you like.

d)      Right-click on the shortcut and select “Properties” and in the “Target:” line add “ autoplay” after the “exe” so that it looks like this:

E:\Thief3Edit\System\T3.exe autoplay
e)      There is just one space between the “exe” and “autoplay” (referring to “Autoplay.gmp”), and the path may be different according to your install directory (of course).
f)        Remember, “Autoplay.gmp” must exist, so you will have had to try to play it through the editor game mode at least once so that it will have produced the gmp file.
g)      You could also go in the “File” menu and select “Export Map For Game” to create a gmp with the name you saved the “Castle1” level as (“mytestmap” or whatever).  In that case you would make your shortcut line end with “T3.exe mytestmap”.
h)      When you click this new shortcut you just made, Thief 3 should load up with that map loaded and you’ll have full screen AND sound!
i)         But don’t use this solution, it’s dumb.

 

7)      SOUND FIX TWO   (ii. making sure it works)

[Edit your “user.ini” and add four new lines: “[WinDrv.WindowsClient]”, “WindowedViewportX=1024”, “WindowedViewportY=768”, and “StartupFullscreen=False”.  Then just play using the joystick icon]

a)      The second option is a little more popular.  You can have game mode (joystick) automatically start up in windowed mode (with sound) with the window 1024x768 (nice and large).

b)      To make it work, edit your “user.ini” file in your “Thief3Edit” folder and add the following lines (you can just stick them at the bottom of what’s already there):

[WinDrv.WindowsClient]

WindowedViewportX=1024

WindowedViewportY=768

StartupFullscreen=False

c)      Or you could be like me and set the window to 1280x1024 instead.  My desktop resolution is 1280x1024, so the game window gets slightly cut off at the bottom (due to the window bar at the top), but it’s almost like full screen it works pretty well.

d)      This may also depend on the in-game resolution you have set in the normal game menus, it acts funny and doesn’t always obey correctly.

 

8)      SOUND FIX THREE   (ii. making sure it works)

[Do this one.  In “Thief3Edit\System” create “xbreboot.txt”, edit it and add the line “T3MainReleaseVersion.exe Autoplay”, and rename it to “xbreboot.bat”.  To play, go to “Build” and choose “Send to Xbox”]

a)      A third option which is quite popular is to make use of the “Send to Xbox” command (in the “Build” menu in the editor) since it’s useless otherwise.

b)      To do this, go to your “Thief3Edit\System” directory and create a text file (right-click in the folder and choose “New – Text Document”).

c)      Open the “New Text Document.txt” and type in just one line:

T3MainReleaseVersion.exe Autoplay

d)      Close the text file, and rename it to “xbreboot.bat”.  Yes, change the suffix to .bat (making it a batch file) instead of .txt, and if Windows complains, tell it to stuff it!

e)      What this command does is give you the option of loading your level using the normal version of the game exe instead of the debug version the editor makes use of.  Your frame rates should be a little higher and more indicative of how overall performance will be for other players.  Plus, of course, you can play full screen with sound.

f)        If you decide to use this option, you would just replace my instructions “click on the joystick icon” with “go to the ‘Build’ menu and choose ‘Send to Xbox’”.

 

 

 

III.   BASIC CONTROLS

 

1)      EDITING WINDOWS   (iii. basic controls)

[Check out the different editor windows and notice what they all are, and notice the XYZ indicators]

a)      Close and open T3Ed to get a fresh start (so some things from the “castle1” map get cleared out of the memory).

b)      Notice that the left two editing windows are much wider thank the right two by default, and the lower left one is black with blue lines.

c)      The three grey windows are the 2D windows, labeled “Top”, “Front”, and “Side”, which will give you “blueprint” representations of your level (once you get a level going!).

d)      The black window with blue lines is the 3D window which will show your level more like it will appear in game.

e)      All the windows have a little XYZ axis indicator to help you keep track of your geometry angles.

f)        While the 2D XYZ indicators are pretty straightforward, the one in the 3D window is more complex as it rotates and twists in three dimensions.  Just try to remember that it is, in fact, resting in three dimensions with a vanishing point and everything.

g)      For example, if the X or Y lines aren’t flat it doesn’t necessarily mean you aren’t level with the horizon because you might simply be turned left or right somewhat.

 

2)      BUTTONS   (iii. basic controls)

[Notice the buttons on the left, and that they are in collapsible sections]

a)      Along the left side of the editor are most of the control buttons, grouped in little collapsible sections.

b)      Notice the top of each section with the faint bar and a small black and grey arrow – click on an arrow or two to collapse those sections.

c)      Depending on your Windows Desktop monitor resolution you’ll have to collapse a section or two to get to the lowest buttons.  For now, open up any that you collapsed and try to leave them all open.

-         You can also “scroll” down the whole left button section.  Slowly moving your cursor over the thin blue-green vertical line between that area the “Top” and 3D view windows.  When the cursor turns into a little hand, click and drag the bar down to move the buttons up, and vice versa.

 

3)      MOVING AROUND 3D   (iii. basic controls)

[Click in the 3D window (bottom left) and move around.  Try both mouse buttons.  Try both together.  Get used to the movement]

a)      Okay, let’s actually start to learn the controls for this puppy - first off, moving around in the 3D window!

b)      When you move your mouse pointer over any of the editing windows, the cursor becomes a crosshairs.  Move the crosshairs over the 3D window (black space with blue 3D grid a la Tron).

c)      Click and hold the left mouse button (LMB), and move the mouse around.  Notice that you slide around forward and back, turning left and right.

d)      Now try clicking and holding the right mouse button (RMB) and moving the mouse.  Notice that the view tilts around, similar to “mouse look” in the game.

e)      If you accidentally right-click without holding it, a small menu will pop up – you can just left-click somewhere else to make it go away.

f)        Now try clicking and holding both buttons and moving the mouse.  Notice that you slide up and down and left and right.

g)      After editing for a while these movements will become VERY natural and easy to maneuver with.  To review:

LMB+Move               slide and turn on the horizontal plane

RMB+Move              look around

LMB+RMB+Move   slide around on a vertical plane

 

4)      ODD BEHAVIOR   (iii. basic controls)

[If your mouse disappears, just click to get it back]

a)      As a side note, sometimes the editor will behave slightly odd, such as making your mouse pointer disappear.  If that happens, just click once or twice and you’ll be back.

b)      It’s slightly possible to accidentally click something doing this, but just be brave and do it anyway (I’ve never ruined anything doing this yet).

 

5)      CAMERA MOVEMENT   (iii. basic controls)

[We are in camera movement mode, and there are other modes]

a)      Two of the buttons on the left side of the editor relate directly to camera movement (that’s what you’ve been doing just now!).

b)      The first one is on the very top left (not counting the File menu or the New/Open/Save icons), called “Camera Movement”, and it is highlighted because we are currently in camera movement mode.

c)      You can hover the pointer over the other buttons nearby and see the titles of those modes.  If you were in a different mode, the controls talked about below would do different things other than just moving things around, such as vertex movements or rotating textures.

 

6)      CAMERA SPEED   (iii. basic controls)

[You can change the camera movement speed to fast, medium, or slow by clicking the “Change Camera Speed” button on the lower left]

a)      The second camera related button is near the bottom left, next to the little yellow guy and below the eyes, has three varying length bars, and is called “Change Camera Speed”.  You might have to collapse a section or two above it to move the buttons up before you can see it.

b)      Currently the middle bar is highlighted, but if you click on it several times, it will cycle through the three speeds.

c)      This affects the actual movement speed (sliding around on either the horizontal or vertical plane), but not the rotation speed (turning, looking around).

d)      The middle setting is pretty good to leave it on for now.

 

7)      MOVING AROUND 2D   (iii. basic controls)

[Click and move around in the 2D windows.  If you use the right button it’s faster.  Zoom with the mouse wheel or with both buttons.  If you can’t zoom, restore and close a browser then try again, or highlight another program than T3Ed then come back and try again]

a)      Now for the 2D windows.  In any of the three 2D windows, click and hold the left button and move around.

b)      Basically, you’re moving your view in the direction you move the mouse, and the background naturally scrolls the opposite way since the view is in the middle.

c)      Click and hold the right button and move around – same thing?  Not quite, it’s a little faster than LMB.

d)      These speeds are also affected by the overall “Change Camera Speed” setting as well, and in all three settings, the RMB is a little faster than the LMB.

e)      Lastly, you can zoom in and out by scrolling your mouse wheel forward and back (make sure the particular 2D editing window is highlighted with the white border).

-         You can also zoom by pressing LMB+RMB+move forward/back, but in this case when you move back you zoom IN, as though you’re pulling the grid back toward you, as opposed to moving the view back and zooming OUT.  Too bad they weren’t consistent, because when just moving in 2D view you are NOT moving the grid around, but you are moving the view around, which is the opposite.  But most of you use wheel-mice, so it’s a moot point.

f)        Finally, notice that when you move around in the 2D windows your camera position in the 3D window doesn’t change – the camera only moves when you actually move around in the 3D window itself.  To review:

LMB+Move               moves the view around

RMB+Move              moved the view around faster

Mouse wheel              zooms in or out

LMB+RMB+Move   zooms in or out bassackwardsly

g)      As a final note, later on if you try to zoom in or out on a 2D window by scrolling your mouse wheel and it won’t work, it’s probably because you minimized a “browser” (you’ll use them a lot later).

-         If that happens, restore the browser and close it and mouse wheel zooming should work again.

-         If it’s still not working, then try going to another program (like this tutorial, or a web-browser), then coming back to T3Ed, and it should work fine again.

 

8)      BUILDER BRUSH   (iii. basic controls)

[Right-click on “Cube” on the left and set the “Height” to 192, the “Width” to 1024, and the “Breadth” to 512, then click “Build” and close the window.  Check out the red box “Builder Brush”, click on it to select it, and click elsewhere to deselect it]

a)      Let’s jump in and get ready to make something, shall we?

b)      Find the “Cube” button on the left.  It is light blue/green and is to the upper-left of the three different stairs.

                               

c)      This section, by the way, is the “Primitives” section, with different basic shapes you can make.

                    

d)      Right-click on the cube to bring up its settings (it opens a window called “CubeBuilder”), click on the “256.000000” next to “Height” and change it to 192 (you don’t ever need to type in the zeros).

e)      Change the “Width” to 1024 and change “Breadth” to 512.

-         By the way, since there are 16 Unreal units per one foot of world space, your box represents an area 12 feet tall, 64 feet wide and 32 feet across.

f)        Now click “Build”.

g)      Suddenly a tall (when viewed in the “Top” window – zoom out if you need to) red rectangle box has appeared!  This is known as the “Builder Brush”.

h)      You can now close the “CubeBuilder” window with “Close” or the red X.

i)        Move around so that you can clearly see the whole red box in the 3D window.

j)        Select it by clicking on one of its lines (you just have to be very close, not perfect) so that the box lights up bright red.

k)      Click anywhere away from the box lines to deselect it.

l)        Try selecting it and deselecting it in the 2D windows as well as the 3D window.

 

9)      NO WORRIES   (iii. basic controls)

[If you mess things up, undo some steps to go back. And save under a new name often]

a)      Before you go on, keep in mind that if you start messing things up you can always quickly go up to the “Edit” menu and select “Undo”.  Or just hit Ctrl+Z or click the left arrow next to the save disc icon.  This will take you back as many steps back as you need.

b)      Alternately, if you keep saving under a new name often, you could just load the last save.

c)      And worst case scenario, you can close the application and restart it, then load a save.  Or even restart your whole PC in drastic cases (repeated crashing, etc).

 

10)  BRUSH MOVEMENT   (iii. basic controls)

[Hold Ctrl and click and move the selected Builder Brush in the 2D windows.  You may wish to move the window a bit first to “activate” it so your brush will move properly after that.  Use the right button to rotate it, and reset an overly rotated brush by clicking “Cube”]

a)      With the Builder Brush selected, hold Ctrl+LMB and then move the box around in the 2D windows (you can try it in the 3D window but it’s awkward depending on your view angle).

b)      The view in the 2D windows might shift a bit before the box actually starts moving, so you might get in the habit of starting your movements slowly.

-         Actually, you may have this problem A LOT while editing – the view window moving instead of moving the brush or object you want.  The trick is to get in the habit of just moving the window a little bit every time you go into it (LMB+move inside that particular 2D window), and THEN move your brush/object (Ctrl+LMB).

-         It seems each 2D window always wants a little movement to “activate” it or something.  They’re just touchy that way, what can you do.  They’re like women or classic cars, you have to handle them they way THEY say, not just however you feel like!

c)      Now try holding Ctrl+RMB and moving – this is used to rotate the brush.  You can make the rotation pretty wild with a combination the three 2D windows.

d)      If you want to start over from your hopelessly twisted box, reset it by left-click the “Cube” primitive button (which is the equivalent of right-clicking it to open its properties and clicking “Build”).

 

11)  BRUSH SLIDING   (iii. basic controls)

[Hold Shift and move and rotate the brush to do it relative to the brush]

a)      Now try using Shift the whole time instead of Ctrl, and notice how it does the same thing (moving and rotating the brush) but this time it keeps the brush centered.

b)      This can be especially useful to move a brush a long distance across a map without having to move/scroll/move/scroll over and over.

 

12)  BRUSH AXIS   (iii. basic controls)

[Hold Alt to move around the brush’s axis point, then see the effect by rotating the brush]

a)      Now try holding Alt.  This time there is no RMB functionality, but with LMB you move around a little axis point.  This is the rotation point.

b)      Try moving it out away from the brush a little way, then rotate the brush (Ctrl/Shift+RMB+move) to see the effect.

 

 

 

IV.   YOUR FIRST ROOM

 

1)      SUBTRACTING   (iv. your first room)

[Click “Subtract” (on the left) to carve out a room, then move the builder brush out of the way]

a)      Let’s make something already!

b)      Find the “Subtract” button on the left.  It is one of the four buttons with a blue-green box overlapping a blue box (“Subtract“ is the upper right one).

               

c)      These are in the “CSG Operations” section, which contains the basic construction commands for editing.  We want “Subtract” because the whole universe is solid and we want to carve out an empty space of air, or “subtract” some of the solid away.

-         Before you click “Subtract”, make sure the red box is not rotated but is flat and normal, a tall rectangle from the “Top” view – reset it if you need to by clicking on “Cube”.

d)      Now, click “Subtract”.  You should immediately see a light green bubbly looking textured rectangle room in the 3D window.  If you are outside the room you will be able to see into it, but if you are inside it then all the walls will appear solid and you can’t see out.

e)      Move the “Builder Brush” (red box) out of the way now by selecting it and moving it as normal.

f)        The little room you made stays behind because it was carved out there, whereas the Builder Brush is just a tool that does the carving.  However, you can select this new room and move it if you want to, using all the same controls as when moving and rotating the Builder Brush.

 

2)      SAVE SAVE SAVE   (iv. your first room)

[Save your map often, using a new name at intervals.  Consider backing up recent saves online or on a disc]

a)      Now it’s time to start a good habit – SAVING OFTEN!

b)      Save your map by going to “File” – “Save As” and choosing a new name, such as “Komag001” or something.

c)      After this, for a few saves, you can just click the “Save” icon (a little disk), but after a few saves you will want to do another “Save As” and choose a new name, probably the next number up, such as “Komag002”, then “Komag003” etc.

-         Once you get to “Komag999” go back and delete 001-500 or so and start over (just teasing, you won’t get that high with the tutorial, but some of you will get that high with your own missions later on!).

d)      Bottom line: SAVE VERY OFTEN, and save with a new name somewhat often as well.  This will “save” you headaches and pains and weeping and wailing and gnashing of teeth down the road, trust me.

e)      Just do it!

f)        And if you’re serious enough you can periodically zip up and upload your recent couple saves to your own web-space or email it to your mom or burn it to a CD or something.  That way if your computer has a nuclear melt down you won’t lose a couple hundred hours of work!

 

3)      LOOK IN ROOM   (iv. your first room)

[Move into the room and click the round “ION” button to enter “render mode”]

a)      Okay, back to work.  Move your camera position into the middle of your room by moving in the 3D window.

b)      Remember that just because you’re pointing downward doesn’t mean you move that way when you move “forward” - you will have to actually move “downward” if you are above the box.

c)      Find the little round “ION” button above any of the four editing windows and click it.

        

-         Notice that some of the other buttons in each of those four rows change, and the title of the 3D window changes from “Dynamic Light” to “Flesh Renderer”.

d)      When the “ION” button is on the 3D view window is in “render mode”, and it will render your level realistically like it would appear in game mode (which can make it go slower when your level is more complex, and it doesn’t show all the same things as non-render mode).

e)      But, what’s that you say, it’s not working, it looks exactly the same?  Aha, that’s because you didn’t “Build”! (I know, it’s my fault, but I want you to LEARN!)

 

4)      LOOK AGAIN   (iv. your first room)

[Click “Build All (as per current build settings)” (along the top)]

a)      Find the “Build All (as per current build settings)” button along the top near the right, near the joystick – it is a tiny blue-green cube next to a light bulb.

                    

-         This is the “Build” section as everything relates to the processing of the map. There are some other build types you’ll learn more about later.

b)      Click the “Build All” button, which has extra processes, necessary to see the rendered level.  You should have seen a small window pop up with some super-fast information about the build process flashing by, and then it disappeared.

c)      Now try the “ION” button.

d)      Oh no, you forgot to put a light in there!  If it’s working correctly, you should see a completely dark room now.  Garrett’s pretty good, but no one can see in TOTAL darkness!

 

5)      ADD LIGHT   (iv. your first room)

[Right-click in the “Top” view and select “Add Light here”.  Move it to one end of the room, and add another one to light the whole room]

a)      Right-click somewhere in the room in the “Top” 2D view, and select “Add Light here”.

-         You can also right-click in the 3D view or either of the other two 2D views to place a light

b)      Voila, you can see some part of your room now, if you’re facing the right way (turn around if you need to).

-         Notice the icon floating there that looks like a light bulb with a little sunburst and a box with a shadow (meaning it’s a shadow casting light).

c)      You may have to adjust the height and placement of the light afterwards, by selecting it (clicking on or very near it in a 2D view or on the icon in the 3D view) and moving it like you move a brush (Ctrl/Shift+LMB+move).

d)      One light at its current brightness isn’t enough to illuminate the whole room though, so move the light towards the top end of the room and then make another one and put it towards the opposite end.

e)      But the room is all pinkish, instead of bubbly foam green (not that we really want that anyway), because we haven’t added any real textures yet.

 

6)      TEXTURE BROWSER   (iv. your first room)

[Click the “Texture Browser” button (along the top)]

a)      If you forgot to close the texture browser way back at the beginning like I said to, close it (click red X).

b)      Find the “Texture Browser” button along the top, to the right of the “G” (which is “Group Browser”).  It looks like a tiny moonlit landscape painting.

                    

-         This is the “Browsers” section, used to view game resources you might want to include in your map.

c)      Click the “Texture Browser” button.

d)      The “Textures” window that should have just popped up has two tabs (“Actor Classes” and “Textures” with “Textures” currently selected), a few buttons, a line that says “AICore”, a blank line, and a bunch of icon textures that are used in the editing (you’ve already seen the floating light bulb light icon).

e)      None of the real game textures are loaded in the texture browser right now so we need to import some.

 

7)      IMPORT TEXTURES   (iv. your first room)

[In the texture window, select “File” – “Import MatLib…”.  Browse up to “T3”, then into the “MatLib” folder, and select “T3_Gen.mlb”]

a)      In the Texture Browser window, go to “File” and select “Import MatLib...” (don’t select “Import All MatLibs” as that’s just too much to browse through right now).

b)      A new file browser window will pop up called “Select Matlibs...”, starting in the “Maps” folder of your Thief3Edit directory (because that’s the last folder we loaded anything from, when we loaded the “Castle1” map).

c)      Go up a folder level to “T3” and then into the “MatLib” folder.  This overall location is your “Thief3Edit/Content/T3/Matlib” folder.  Here are some of the goodies!

d)      Find and select “T3_GEN.mlb” for some good run-of-the-mill basic textures to mess around with.  (You can explore all those other ones on your own time later on.)

-         Don’t select the option to “Open as read-only”, that’s just for people who are paranoid that they might “accidentally” do some advanced texture property editing and save the changes to the permanent texture file.

e)      Okay, with “T3_GEN.mlb” selected, click “Open”.

f)        You should see a small window pop up talking about “Converting materials to UTextures...” and rapidly processing a bunch of files (the textures, of course).

g)      The texture browser line that said “AICore” now says “T3_GEN” and you will see some of the loaded textures in the main window.

h)      You can use the scroll bar on the right to view them all.  Notice that they are in alphabetical order, because when I tell you find one this will help!

 

8)      PAINT THE WALLS   (iv. your first room)

[Select a wall in the 3D view.  Find and click “GENWALLC_D” in the texture window (stone, near blue windows.  Select the other three walls holding Ctrl, then click the texture again.  Do another build, just use “Build Flesh BSP” this time]

a)      In the 3D view, click on one of your walls.  If you still have the “ION” button on, in render mode, the pinkish wall now shows the bubbly texture placeholder again.

b)      Scroll down in the texture browser and find the texture “GENWALLC_D” (it’s a stone wall, above some blue window textures), and click on it.  The wall you had highlighted in the 3D window now should be a stone wall.

             

c)      In the 3D view, hold Ctrl and click on the other three walls.

-         If you need to, you can let go of Ctrl to turn around some, then hold Ctrl again and select the remaining wall(s).  Also, if you are moving your mouse at all when you click a wall, it will not select it but will just do a slight camera movement, so be still and click quick.

d)      With all the walls now selected/highlighted, click the stone texture again.  Now all four walls should look like stone.  But if you click elsewhere (in a 2D window) and deselect the walls they will go back to pinkish!

 

      

e)      You need to build again to see the texture changes, but this time you can just do a “Build Flesh BSP” (the blue-green ION ball) as opposed to a “Build All” – it goes faster that will make a difference when your level starts to get big and complex!

 

9)      PAINT MORE   (iv. your first room)

[Texture the floor “GENROCKB_DTRED” (above footprints).  Texture the ceiling “GENCEILINGA_D” (above city map).  Build again]

a)      Since you probably don’t want to continuously “build” a bunch of times in a row just to see what you’re doing with your textures, it’s best to turn off the render mode by clicking the “ION” button again so it’s just grey instead of green.  That way you can do your texturing, and then just do one build at the end.

b)      Select the floor, find the texture “GENROCKB_DTRED” (a reddish flat rock texture just below the middle of the list, about ten up from the blue footprints), and click it.

        

c)      Select the ceiling, find “GENCEILINGA_D” (near the top, a couple before the city map) and click it.

-         Notice that you first selected the surface, and then applied the texture, as opposed to choosing a texture and then “painting” it all over the place.  There are some other options which will be discussed later.

d)      Close the texture browser window.

e)      Do another build and check it out in render mode.

 

10)  ADD A STARTING POINT   (iv. your first room)

[Click “Actor Class Browser” (along the top) and expand the sections “Marker” – “Keypoint” – “Navigation Point” – “Player Start”, then close the window.  Right-click in the room and choose “Add Player Start Here”]

a)      Now that you have a room ready with a couple lights and some textures, it’s time to stick Garrett in there!

b)      Right-click somewhere in the room and select “Add Player Start Here” – wait a minute, that’s not one of the options, is it?!

c)      Okay, first you need to find the “Actor Class Browser” button and click it (it’s the little chess pawn icon to the left of the G near the “Texture Browser” button).

              

d)      In the directory tree on the left side of the browser, click the +’s to expand the sections to the following: “Marker” – “Keypoint” – “Navigation Point” – “Player Start”, and leave that highlighted/selected.  Close the browser.

                              

e)      NOW, right-click somewhere in the room (easiest from the “Top” view) and select “Add Player Start Here”.

                       

f)        Move it if you need to so that it’s just two or three grey squares above the floor (if it’s too close to the floor you could get stuck or worse, but if it’s too high you will drop and make noise, alerting any nearby AI).

-         Whatever you have recently selected in the “Actor Class Browser” will be available when you right-click in one of the views.  As you already know, it will still work if you close the browser (which you will usually want to do so that you can see accurately where you are placing the item).

-         This is the same method you will use later to place tables, chairs, AI’s, special lights, etc.

 

11)  TEST THE ROOM   (iv. your first room)

[Do a build and save, then try playing the room]

a)      Okay!  We’re ready to test this little map!

b)      Do one last “Build All”.  Save your level again (hopefully you are at about “Komag003” or so by now – you HAVE been saving regularly, haven’t you???).

c)      Now you can just click the little joystick icon (like you did to test the “Castle1” map) (or do “Build” - “Send to Xbox” if you use that setup), and in a few moments you should find yourself in a small room with a stone wall and two obvious light sources.

d)      If it didn’t work, start over!  Just kidding, but if something’s wrong, you’ll just have to go back and double check things and figure out what you missed.

e)      Otherwise, congratulations, you just made a room in T3Ed that works!

f)        Go have a bowl of ice cream!

 

 

 

V.   STARTING INVENTORY

 

1)      OPEN LEVEL PROPERTIES   (v. starting inventory)

[“View” – “Level Properties” – “Properties” – “Add Property” – “DefaultInventory” – “DefaultInventory” - “Add Property”]

a)      Was the ice cream good?  Good.  Back to work!

b)      Before we do anything else, let’s give Garrett some weapons and items, a good starting inventory.  It’s pretty simple to do, really.

c)      Go up the “View” menu (next to “File” and “Edit”) and select “Level Properties” (toward the bottom).

         

d)      In the new window that popped up, right-click on the bottommost line that says “Properties” and select “Add Property”.

e)      In the new “Add Property” window, find in the left column “DefaultInventory”, click on it, click on it again in the right column, and then click “Add Property” below.

           

 

2)      ADD ARROWS   (v. starting inventory)

[“LevelInfo” – “Properties” – “DefaultInventory” – “Add” – “0”.  Click “ItemName” and enter “BroadheadArrow”.  Click “Num” and enter “15”]

a)      Now you will see the properties window for the “LevelInfo” again, this time with the bottommost “Properties” item expanded and in the middle of the list is the new “DefaultInventory” property, but it’s empty so far.

      

b)      Click on the little “Add” on the right, and expand the + to see what you added.  Wow, you now have a “0”!

c)      Expand the properties on the “0” by clicking the little + next to it and you will see “ItemName” and “Num”.

d)      Click on “ItemName” and type in the box “BroadheadArrow” (without the quotes).

e)      Click on “Num” and type in “15”.  Now you can kill kill kill!

 

3)      ADD MORE THINGS   (v. starting inventory)

[Add more items to the DefaultInvetory, including GarrettBlackjack, GarrettDagger, NoisemakerArrow, ExplosiveMine, FlashBomb, GasBomb, FireArrow (or FireCrystal), GasArrow (or GasCrystal), MossArrow (or MossCrystal), WaterArrow (or WaterCrystal), HealthPotion, HolyWaterPotion, and OilFlask]

a)      To add another item, select the deeper “DefaultInventory” again (the blue one, below and offset to the right of the other one, deeper into the selection tree), and just click Add and repeat the process, but with a new item.

b)      Your blackjack and dagger can only have “1” for the “Num”.  Other items have different maximums as well (which can be changed, but that is much more advanced), such as 5 or 25.

c)      Here is a list of items to choose from:

            GarrettBlackjack

            GarrettDagger

            BroadheadArrow

            NoisemakerArrow

            ExplosiveMine

            FlashBomb

            GasBomb

            FireArrow (or FireCrystal)

            GasArrow (or GasCrystal)

            MossArrow (or MossCrystal)

            WaterArrow (or WaterCrystal)

            HealthPotion

            HolyWaterPotion

            OilFlask

d)      Go ahead and add some of the basics, such as the blackjack, dagger, some water arrows, a few flash bombs, a health potion, a mine, and that’s probably good enough for a basic inventory (Garrett is not a walking armory!)

       

e)      Click on “Done” below to close the “LevelInfo” window

 

4)      INVENTORY CONSIDERATIONS   (v. starting inventory)

[See “Actor Class Browser” – “WorldObj” – “InventoryObject” for more things you could add, or place those things in your level to get later]

a)      You can also add any number of other items such as various keys, special loot items, etc.  You would probably only add those if it fit with the background story for your level.

b)      All of these items can be found in your “Actor Class Browser” – “WorldObj” – “InventoryObject” branch (although not quite everything there can actually be used).

-         Don’t forget that almost all inventory things can also be placed in the world for picking up, such as loot, quest items, elemental crystals, etc.  So you might want to limit, say, the number of water arrows you give Garrett to start with, since you may decide to just place a few water crystals around the map to find later on.

 

5)      LOCK PICKS UPGRADE   (v. starting inventory)

[Well use a script to add the lock picks]

a)      Lastly, we need lock picks.  Unfortunately, Thief 3 considers lock picks an “upgrade” rather than an inventory item, so we’re going to have to do something advanced right off the bat!

b)      We can use a script to give Garrett the ability to pick locks from that point on, and we’ll do it right when the map starts.  Don’t worry, I’ll walk you through it.

 

6)      MAKE A NEW SCRIPT   (v. starting inventory)

[Open your PlayerStart Properties and add a property.  Choose “Scripts” – “TriggerScripts”.  Open the new property and click “Add”, then expand “TriggerScripts, select the “0”, click the “…” and wait for the scripts to load.  In the “Trigger Script” window, click “New”]

a)      Find your starting point “PlayerStart”, right-click on it (remember, you can use either a 2D or the 3D window to select things), and select “PlayerStart Properties (1 Selected)

b)      Right-click on the bottommost “Properties” and select “Add Property”.

c)      In the left column select “Scripts”, then in the right column select “TriggerScripts”, and then click on “Add Property”.

d)      You should see the new property at the bottom of the now expanded “PlayerStart” – “Properties” branch.

e)      Click on the little “Add” to the right, then click the + next to “TriggerScripts” to see the new “0” script you added, and select it.

f)        Some new buttons should have appeared to the right, click on the “...” and give it up to a full minute to load if it needs it.

g)      Now you should see a crazy new window “Trigger Script Manager” with a bunch of scary looking script names next to blue books or papers.  If the new window is under the “PlayerStart” properties window, just move that one to the side and select the new window.

-         If you’ve clicked on and browsed some of the script names, shame one you, go sit in the corner!  Just kidding, but before we go on, be sure that one of the blue paper script is selected, and not a blue book category of scripts, because we’re going to make a new script and we don’t want it going down into some category.

-         If you haven’t TOUCHED the script names, pat yourself on the head for being a good little boy or girl, and don’t bother selecting a blue paper script, just proceed to the next step with nothing selected.

h)      Now, look in the top left section and click on “New”.

i)        Another window has popped up called “Trigger Script” in which you can edit the new script.

 

7)      CONFIGURE THE SCRIPT   (v. starting inventory)

[Replace “DefaultName” with “StartingLockPicks.  Click the “Condition” button to open “Trigger Conditions”.  Expand “Player” and select “When player starts map” and click “OK”.  Now click the “Action” button to open “Trigger Actions”, expand “Flags&Messages” , select “Set flag [Flag] to [Bool] expires on map etc …”, and click “OK”]

a)      Okay, here’s the tricky part (don’t mess up, don’t mess up...).

b)      First of all, replace the “DefaultName” with something like “StartingLockPicks” or “GiveLockPicks” or whatever.  Remember this name!

c)      In the main window you can see “CONDITIONS” and “ACTIONS”, and on the left are the buttons.  Click on the top left button “Condition”.

d)      In the new window (“Trigger Conditions”), click the + next to “Player” to expand the branch, and select “When player starts map” (the top selection under “Player”).

e)      Click “OK” at the bottom to close the window and go back to the “Trigger Script” window with the “When player starts map” listed as a new condition.

f)        Now click on the almost top left button “Action”.

g)      In the new window (“Trigger Actions”), expand “Flags&Messages” and select the bottom long one “Set flag [Flag] to [Bool] expires on map change [Bool] expires on mission [Int]”.

h)      Click “OK” below.

 

8)      FINISH THE SCRIPT   (v. starting inventory)

[In the “ACTIONS” section click on “[Flag]”, and select “PlayerCanLockpick”.  Set the first “[Bool]” to “TRUE” and the second to “FALSE”.  Set the “[Int]” to “20”.  Click “OK”, select your new script from the list and click “OK”, and wait for the scripts to recompile.  Back in the “Player Start” properties, select the “[0]” again and click “Use”]

a)      Now we’re at the very most tricksiest part of all!  Be very careful!  (All this just for some lousy lock picks!)

b)      In the “Trigger Script” window’s main section you should now see that long thing under “ACTIONS”.

c)      In it, click on “[Flag]” and in the new window scroll way down, choose “PlayerCanLockpick”, and click “OK” below.

         

d)      Now click the first “[Bool]” and set it to “TRUE”, then set the second “[Bool]” to “FALSE”.

                             

e)      Finally, set the “[Int]” to “20”.

f)        Go down and click “OK” to close the “Trigger Script” editing window and go back to the “Trigger Script Manager” list.

g)      Your new script should now be in the list (I hope you remember what you called it!), so select it and click “OK” below.  This time is has to save ALL the scripts, not just your new one, so it will probably take an extremely long time, but just wait and eventually the window will close.

-         In the future you when you are just there to select a script and not making a new one or changing one, you will want to select it and then click “Cancel” to save tons of time.

h)      You should be back looking at the “PlayerStart” properties window, but, oh no, it looks like it didn’t work!

i)        Not to worry, just select the “[0]” again and this time click “Use” (instead of “...”).  This will add in whatever script was the last one selected.

j)        The name of your lock pick script should show up, and you’re all set.

k)      Close the window by clicking “Done”. WHEW!

 

9)      CONGRATULATIONS   (v. starting inventory)

[Good job]

a)      You did it, you’re the man (or woman)!  Now you have a good starting inventory including lock picks.  Pat yourself on the back.

 

 

 

VI.   LIGHTING

 

1)      ADD TORCHES   (vi. lighting)

[“WorldObj” – “Light_” – “FlameLight” – “TorchLight” – “GenWallTorch”.  Add one to your map, move and rotate it to fit along the top wall.  Press Ctrl+W to duplicate it and place one or two more around the room.  If they are stubborn, try right-clicking them and “Snap To Grid”]

a)      We need some better lighting in here.  In your “Actor Class Browser”, find and select “WorldObj” – “Light_” – “FlameLight” – “TorchLight” – “GenWallTorch”.  Close the browser.

b)      In the “Top” 2D window, right-click and select “Add GenWallTorch Here”.

      

c)      Rotate it and fit it along the top wall (the uppermost wall as seen in the “Top” view window) at a reasonable height.  Remember, hold Ctrl+LMB to move things, and hold Ctrl+RMB to rotate things.

d)      With the torch selected, press Ctrl+W to duplicate it.

e)      Place one or two more around the room.

f)        You’ll have to rotate them to fit properly against the walls, and if they’re refusing to line up good, try right-clicking on them and selecting “Snap To Grid”.

g)      Their light is somewhat reddish yellow (naturally, since it’s torch light), and is more fitting for our room than bright white light.

 

2)      MAKE AMBIENT LIGHTS   (vi. lighting)

[Select both original white lights (hold Ctrl), right click one, open the properties, and “Add Property”.  Select “Lighting” and “LightColor”, then “Add Property”.  Click on “Color”, choose an ambient color (dark green, blue, or brown is good) and click “OK”.  Expand “LightColor”, click “LightBrightness”, and adjust it down to about 10]

a)      Instead of just deleting the two bright lights we already had, let’s change them into some soft colored ambient lights, which will gently fill in any areas the torches don’t reach.

b)      Select both original lights (select one, hold Ctrl and select the other), right-click one of them, and click “Light Properties (2 selected)”.

c)      In the new window (“Multiple”), right-click on the bottommost “Properties” and choose “Add Property”.

-         By the way, by clicking the bottom “Properties”, you are just adding a property to these two instances of light right here in your level, and you are not messing with the properties of that type of light in general or of that type of object in general.

-         If you wanted to do that (but you don’t), you would mess around in the “Properties” settings higher up in the tree.

d)      Scroll down and click “Lighting”, choose “LightColor” on the right, and click “Add Property” below.

e)      Now you will see the properties window for the light again, this time with the bottommost “Properties” expanded and in the middle of the list is “Lighting” with a “CoronaSize” (which was already there before) and the new “LightColor” you just added.

f)        Click on the “Color” button on the right and choose and adjust your color (make it some dark shade of green or blue or brown for a good ambient for this room) and click “OK”.

g)      Expand the “LightColor” property by clicking the +, then click on “LightBrightness”, and adjust the slider down to about 10 for a very soft dimmed effect.

h)      The “LightHue” and “LightSaturation” levels were set when you picked your color, but you can adjust them here if you want to.

 

3)      TURN OFF SHADOWS   (vi. lighting)

[To turn off shadow casting by these ambient lights, right-click on “Lighting”, select “Add Property” – “FleshLightType”, and change the property to “FL_OmniNoShadow”, all set]

a)      Now we need to turn off the shadow casting on these two lights since they’re just ambient lights and not supposed to be from any specific source.

b)      Right-click on “Lighting”, select “Add Property” – “FleshLightType”, and then change the property (using the drop down menu) to “FL_OmniNoShadow”.

                      

 

c)      Finally, click “Done” on the bottom of the properties window.

 

4)      REAL AMBIENT LIGHT   (vi. lighting)

[To set an overall mission ambient light level (to avoid pitch black), go to “View” – “Level Properties” – “Properties” – “ZoneLight”.  Set “AmbientBrightness” to “7” or “5”]

a)      Most likely, in the missions you create you will want to avoid having any completely 100% pitch black areas.  A good way to avoid this is to set an overall ambient light setting for the whole entire level.

-         Keep in mind that this isn’t for style, it’s for practicality in game play (almost everyone hates complete black, the game is supposed to be fun not frustrating), so we don’t want to go nuts on the color and brightness.

b)      Open up to the “View” menu select “Level Properties” expand the bottommost “Properties”, and go down the bottom and expand “ZoneLight”.

c)      Scroll the window down so you can see, click on “AmbientBrightness”, and set it to “7” or “5” (barely any light).

 

5)      TWEAK AMBIENT SETTINGS   (vi. lighting)

[Set “AmbientHue” to “21” (brown) and set “AmbientSaturation” to “128” (half color, half white).  If you want blue, a good hue is 171.  To test it, delete one of the “OmniNoShadow” lights, do a Build, and see in game mode.  Replace the deleted light and save]

a)      We actually want the ambient light even dimmer by choosing a darker color than white light, but in this case the “AmbientColor” property doesn’t seem to have any effect, so we need to set the hue and saturation manually.

b)      Click on “AmbientHue” and type in 21 (dark brown), and then click on “AmbientSaturation” and set it to 128 (half brown with half normal white for good luck).  That should do it.  Click “Done” to close the “LevelInfo”

-         For good blue ambient light, set the hue to 171

c)      To test the brightness, go ahead and delete one of the two “OmniNoShadow” lights (select it and press your “Delete” key), do a build, and check things out in game (you’ll definitely need to actually go in game, as opposed to just looking at the 3D render mode).

-         And remember to always do light level testing in a darkened room, the preferred playing environment of all true Thief fans!

d)      After you find a good light level for both the overall ambient light and the omni light, (adjust if you need to), replace the light you deleted (copy the other one with Ctrl+W), do build, and save.

 

6)      STANDARD STARTER MAP   (vi. lighting)

[Save the map under the name “MyStarterMap” or “BasicMap” to be used later whenever you start a new mission.  Save again back under the current name for the tutorial mission]

a)      Now that you have a basic room made, a good starting inventory in place, your lock picks in hand, and basic lighting in place (especially the overall ambient light setting), now is a good time to take a deep breath!

b)      It’s also a good time to do a little trick - save your map under a very different name, something like “MyStarterMap” or “BasicMap” or whatever.

c)      Now, the next time you want to start editing a new level, you can just load this one and save it under a new name, and you already have a few of the basics set in place which you would probably want in any map you make.

d)      Don’t forget to save the level again under the next tutorial name so we can continue.

 

 

 

VII.   STATIC MESHES

 

1)      MESH BROWSER   (vii. static meshes)

[Open the “Static Mesh Browser” (along the top) and expand the folders (they have to load each time) to “COLUMN_ARCH_VAULT_DOME” – “Columns_Beams” and select “INNcolumn1A1”.  You can see it in the mesh window if you move around.  Close the window]

a)      Your room is quite boring so let’s add a few things to liven it up, some Static Meshes!

b)      Open the “Static Mesh Browser” (a square arch icon a couple to right of the “Texture Browser”).  You should see a whole new window that has a black window in the upper left, a file browser list window on the right, and various other checkboxes and stuff.

 

c)      Click on the + next to the folder that says something like “D:\Games\Thief3Edit\\Content\T3\StaticMeshes”.  Each time you expand a branch by clicking a + it will take a moment to “build” it and load the meshes.

d)      Find “COLUMN_ARCH_VAULT_DOME” and expand it, and then expand the “Columns_Beams” tree.

             

e)      Go down and find and select “INNcolumn1A1” (there will be a “[ S ]” in front of it like most of them).  You should now see a wooden support beam in the view window – if not, look and move around in the view window.

 

-         The controls are the same as in the main 3D editing window, although it’s a little off center and might feel funky.

f)        Leave the “INNcolumn1A1” selected and close the static meshes browser. (If you only minimize it, you will sometimes not be able to use your mouse wheel to zoom in and out of 2D windows.)

 

2)      ADD SUPPORT BEAMS   (vii. static meshes)

[Add two or three beams on each side of the room.  Lower the grid setting (under the 3D view) below 16 for more precise placement, but don’t worry if it’s not exact.  Select the button “Textured” (above the 3D view) to see the meshes better]

a)      In the “Top” 2D window right-click and select “Add SM: ‘INNcolumn1A1’ Here”.

b)      Move and position it to line up with the floor and ceiling, and put it along the left wall with the diagonal support piece extending into the room.

c)      If it’s not lining up exactly, again you can try right-clicking it and selecting “Snap To Grid”.

d)      You also may opt to temporarily lower your grid setting from 16 down to 8, 4, 2, or even 1 for more precise placement.

e)      You can find the grid setting centered on the bottom of the whole editor, below the 3D window, next to a little grid icon – just click the number or the arrow next to it and select the new number.  Change it back when you’re done, as it’s best to edit at a higher grid if you can, for cleaner more efficient construction and also for better texture alignment on your BSP.

                      

-         However, even with the mesh snapped and on a lower grid, one thing you need to get used to with Static Meshes is their general imprecision.  Many of them aren’t going to fit completely perfectly with all your architecture, but don’t worry about that and just go ahead and slap those suckers in place close enough, not caring if they overlap things a little bit or aren’t lined up to the millimeter.  Just think of yourself as an impressionist painter, rather than a realist painter.

-         And when you do overlap meshes (which you will be doing a lot with this editor), you never want two flat surfaces in exactly the same plane, or else they will “compete” and flicker between them and look really nasty, so make them offset a bit and you’ll be fine.

f)        Press Ctrl+W to duplicate the support.  Place two or three more along each side of the room in pairs.

g)      Before we go on, you may have noticed that the supports look pitch black it the 3D window (in non-render mode).  To change this so that you can see them better, find the currently highlighted spotted box icon above the 3D window called “Dynamic Light”.  We want to change the selection to the less-spotted box next to it called “Textured”, so click on that one.

           

 

3)      ADD MORE BEAMS   (vii. static meshes)

[Select the mesh “TENxBEAMwood1x32” (below the INN meshes).  Make four of these and put them along the wall/ceiling joints of the long walls, slightly embedded, on top of the support beams.  Make two or three more and have them cross the ceiling to connect your support beam pairs.  If meshes intersect, offset them a bit to avoid surface “fighting”]

a)      Go back to your mesh browser in the same section, scroll down a bit from the INN meshes, and find “TENxBEAMwood1x32” toward the bottom.  Select it, and close the browser.

b)      Create one in your room, rotate it horizontal, and position it to go along the top of the left wall from the upper left corner (looking at the “Top” 2D view) to the middle of the left wall.

   

c)      Copy it (Ctrl+W) and place another from the middle to the bottom left corner.

 

    

-         It’s too bad there isn’t a “TENxBEAMwood1x64” because it would go the whole length.  But your two 32 beams should snap to the grid exactly enough to meet right in the middle and not overlap or leave a gap. The side and top of the beams, however, should be embedded a little into the wall and ceiling to look good.

d)      Select them both and press Ctrl+W to duplicate both at once.

e)      Move the new pair over to the other side and line them up.

  

f)        Now select just one beam and copy it – rotate the new one so it spans across the room and position it a little higher or lower but still embedded in the ceiling (you can embed it quite a bit and it still looks good).

g)      Line it up to go right across a pair of supports with the diagonal support pieces lined up (you DID make them in even pairs, right?).

 

        

h)      Copy the new ceiling beam and make one for each support pair you made earlier.

i)        Now you should have a ceiling with crossing support beams and beams along the top of each long wall. Not bad, eh?

j)        Do another “Build All“ and save your level with a new name, and check things out in game mode (“Play Map”) if you want to.

 

4)      ADD BARRELS   (vii. static meshes)

[“Mesh Browser” – “SETDRESSING” – “GENbarrelrack”.  Make it.  In the folder “Barrels_Crates” find “GenxGOODSbarrelA” and make a few to stick sideways in the rack, rotated and turned for variety]

a)      I’m going to start getting more general with my instructions on mesh placement, since you now are an expert at it!

b)      Go to your mesh browser, expand the main folder “SETDRESSING”, go down past the folders, find the item “GENbarrelrack”, make one in your room, and place it somewhere along a wall.

c)      Now, under “SETDRESSING”, expand the folder “Barrels_Crates”, find the item “GENxGOODSbarrelA”, make one, rotate it sideways to fit on your barrel rack, and place it in there.

    

d)      Then make two or three more, rotate them around a bit to have some variance in the grain direction, and stack them in the rack as well.  You will most likely need to set the grid to 8 or 4 to line them up good in the rack (let them embed down into the rack just a bit, it will look fine).

 

5)      CHEAT   (vii. static meshes)

[Multi-select the rack and all the barrels, make a copy of it all, rotate the new set, and place it elsewhere]

a)      Now select the rack and all the barrels at the same time and duplicate the whole bunch.

b)      Rotate it around 180 degrees and place it further down along the wall or on another wall.  Voila!  Since you rotated it, it doesn’t look like just another exact copy of the first rack and barrels, even though it is!

         

c)      This type of “cheating” allows you to fill out a room more quickly and still look good with lots of seemingly unique detail.

 

6)      ADD SHADOWS   (vii. static meshes)

[When needed, add shadows to meshes by adding the property “Render” – “CastShadows”]

a)      Your room should be looking pretty good now.

b)      One interesting thing about Static Meshes is that, by default, they don’t cast shadows.  This saves on processing and helps the frame rate, but can often look lame.

c)      Depending on where you placed your torches earlier, you may want to turn on shadow casting on your barrel racks, barrels, and support beams.

d)      Do another “Build All”, go into game mode (you could just look it over in Render mode in the 3D window if you feel that’s good enough to judge by), check things out, and make a mental note of which items need shadows.

e)      Select all the meshes that need shadows and right-click one of them and open the properties.

f)        Right-click on the bottommost “Properties” and add the property “Render” – “CastShadows”.  That should do it!

       

 

 

 

 

VIII.   EXPANDING THE AREA

 

1)      ADD A SECOND ROOM   (viii. expanding the area)

[Copy the room, move it down right, connected to the first for 8 feet, and 4 feet lower]

a)      You need to expand your level a little to make more room for AI and other things!

b)      Select your main room, copy it (just the room, not all the contents), and move it down to the right (again, looking at the “Top” 2D view).

c)      With your grid set on 16 you should notice the smallest grey grid squares as 16 units, or 1 foot, large.  You should also notice darker grey lines (major grid lines) that are 128 units apart, or 8 feet.

d)      Line up your new room so that the top left edge of it touches the bottom right edge of the original room, touching for 8 feet.  Check your accuracy by temporarily setting the grid to 128 and see if it lines up to one square!

e)      Finally, in either the “Front” or “Side” view, lower the entire new room so that it is 4 feet lower (you can’t do that with the grid at 128, so just set it back to 16 and set the room 4 squares lower).

 

2)      RESIZE THE ROOM   (viii. expanding the area)

[Click on “Vertex Editing” to the right of “Camera Movement”.  With the new room selected, use Ctrl+Alt to encircle and select vertex (the corners) pairs, then hold Ctrl to move them.  Set the new room to 192x512x768.  Go back to “Camera Movement” mode]

a)      Let’s do some “Vertex Editing”, shall we?

b)      Click the icon to the right of the camcorder (“Camera Movement”) at the top of the left side of T3Ed which looks like a little square with lines poking out and an arrow pointing up to the right.

c)      The first thing you should notice is that when you have a brush selected, its dimensions are listed in each view window.  Your new brush should be 192x1024x512 (or 12x64x32 FT), just like the first of course.  But we want to change it 192x512x768.

d)      Hold Ctrl+Alt and click and drag a box around the bottom two corners of the room (as seen from “Top” view).  The two corner, or vertices, should have just turned into little white squares.

-         If it didn’t work, you probably didn’t have the brush selected first.  Also, you may have to move around just a bit in a 2D window after going into “Vertex Editing” mode before it will let you draw a box.

e)      Hold Ctrl and click on and drag one of the white square vertices upwards so that the room is just 512 tall (it will now be 192x512x512).

f)        Deselect the vertices by clicking elsewhere.

g)      Ctrl+Alt and draw a box around the right two vertices and move them out to the right some until the room is 768 wide.

h)      Deselect everything, go back to “Camera Movement” mode, “Build All”, and save under a new name.

 

3)      ADD STAIRS   (viii. expanding the area)

[“Mesh Browser” – “STAIR_RAILING_FLOOR” – “Stairs” – “STMstairsA8x8”, notice that “Add this Mesh to the Navigation Mesh” is checked so that AI can walk on the stairs.  Put them leading down into the new room, using grid 4 for better placement]

a)      You should see a “doorway” that leads into your new room with four foot drop-off down into it.  If AI’s get hurt falling off that big step, it could cost the building owner some serious lawsuits, so let’s put in a set of stairs for everyone’s benefit.

b)      Select “Static Mesh Browser” – “STAIR_RAILING_FLOOR” (near the bottom) – “Stairs” – “STMstairsA8x8” (with “[AS ]” in front).

c)      Notice the section below called “Navigation Mesh Flags”, and that the top two are checked.

-         Most meshes will just have the second one checked, but some stairs and a couple other things have the “Add this Mesh to the Navigation Mesh” also checked, because we want AI to be smart enough to walk on the stairs!

-         If you wanted AI to walk on the wooden beam you place somewhere, you would want to check this property before you place the beam, or add the property later.  More on NavMesh later.

d)      Create the stairs mesh and stick it in the right place.

e)      The top step will stick up a little bit if you snapped it to grid on grid 16, but poor servants might stumble on that step and go tumbling!  Lower the grid to 4 and drop the stairs one little square and it will be about perfect.

       

 

4)      TEXTURE THE ROOM   (viii. expanding the area)

[“Texture Browser” – “T3_Gen” – “GENWALLD_D”, and Alt+LMB on the left, bottom, and right walls and the ceiling in the new room, and the bottom wall of the original room.  Paint the new floor with “GENFLOORSB_D”]

a)      This room is boring.  Select “Texture Browser” – “T3_GEN” – “GENWALLD_D” (it’s right after the “GENWALLC_D” you used before for your walls, near the bottom, a little above the blue windows).  This is a cool reflective marble type texture that will go well for our little crypt!

-         Now we’re going to paint textures backwards!  Last time, we multi-selected the surfaces we wanted, then chose a texture.

b)      But now you have a texture chosen first, so Alt+LMB the left, bottom, and right walls (those are “Top” view directions, but you’ll need to do this in the 3D view), and the ceiling, to paint them all to marble.

c)      The top wall we want to leave the GENWALLC_D stone pattern like the other room, because then it will properly look like it’s a part of that building.

d)      In fact, in the same line of reasoning, paint the bottom wall of your original room the marble texture as well.

e)      Now it looks like the new room was carved out of the rock.  But they would probably lay a new floor, so find the texture “GENFLOORSB_D” near the top, a few below the city map, and paint it on the floor.

    

f)        Do a “Build All”, save under a new name, and check it out in game mode if you want.

 

5)      ADD NEW LIGHTS   (viii. expanding the area)

[Add some torches and/or a colored ambient light for good effect]

a)      It’s dark in the new room, so stick in a couple torches (you can just copy one of the torches you already have).

b)      Don’t forget about the vertical offset of the room, so lower the torches in the Front or Side view to a reasonable height.

c)      You might leave part of the room dark and put in an “OmniNoShadow” ambient light, set to an eerie green or purple light for good effect off the marble surface.

 

6)      ADD NEW MESHES   (viii. expanding the area)

[“Mesh Browser” – “SETDRESSING” – “HAMxCRYPT_a” and stick a few in there.  You can also multi-select objects by them using Ctrl+Alt.  Select “COLUMN_ARCH_VAULT_DOME” – “Columns_Beams” – “CIVexCORNR12”, and in the “Skins” window select “KEPgoodnessA”.  Add a couple to the room.  Select “Tenxbeamwood1x8” in the same section, and stick three around the doorway for trim]

a)      It’s empty in the new room, so select “Static Mesh Browser” – “SETDRESSING” – “HAMxCRYPT_a” (down past the “SETDRESSING “ subfolders, toward the bottom).

b)      Create about four of these crypts and position them in the new room.

-         An easy way would be to make two along the top, then select them both and duplicate them.

-         By the way, you can hold Ctrl+Alt and draw a box around things to multi-select them, which is sometimes easier than doing Ctrl+LMB on each thing.  Try it out.

c)      For a nice touch, select “Static Mesh Browser” – “COLUMN_ARCH_VAULT_DOME” – “Columns_Beams” – “CIVexCORNR12”.

d)      This time we need to change the texture of the mesh before creating it, because the default it NO texture!

e)      Under the mesh 3D view window notice the “Skins” window and select “KEPgoodnessA” as the new skin.  Some meshes will give you the option of choosing amongst a handful of skins.

-         Also, after they’re in your map, you can re-skin your meshes to any texture you want!  We’ll be doing that later on.  Patience, young grasshopper.

f)        Create two or three of these columns, and place them in the new room, perhaps along the middle area, left to right.

 

g)      Lastly, find the mesh “Tenxbeamwood1x8” (still under Columns_Beams, the last mesh).  Make three of them and stick them around the doorway between the rooms, at the top of the stairs, in a way that looks good for a door trim (you may want to lower the grid to 8 or 4 for this).

 

7)      FINISHING TOUCHES   (viii. expanding the area)

[Check the mesh shadows, rearrange lighting as desired]

a)      As a finishing touch, check again if you need to turn on shadow casting for any of these new meshes.

b)      You may also wish to rearrange or add more low level non-shadow-casting lights for ambient light, if you get the feel that your whole-level ambient light setting isn’t enough.  This room is all set!

 

 

 

IX.   AI, PATROLS, AND NAVMESH

 

1)      ADD A SERVANT   (ix. ai, patrols, and navmesh)

[“Actor Class Browser” – “Pawn” – “AIPawn” – “T3AIPawn” – “T3AIPawnHuman” – “T3AIPawnHumanNonCombat” – “ServantMale” – “ServantMale_Mpants1_01”, put him anywhere.  You can add things by right clicking in 3D as well]

a)      This is where it starts to get more fun!

b)      “Actor Class Browser” – “Pawn” – “AIPawn” – “T3AIPawn” – “T3AIPawnHuman” – “T3AIPawnHumanNonCombat” – “ServantMale” – “ServantMale_Mpants1_01”.

-         Notice that we didn’t expand the last branch and choose the “CastleServantMale1”.  Most of the time, only items in the deepest branches are actually items you can use in your level, and items further up the tree are just categories.

-         But sometimes those category names are items themselves, as in the current situation.

c)      Create the guy and stick him wherever you want.  Be sure he’s not embedded in a wall or floor or anything.

d)      By the way, if he doesn’t want to get created, try right-clicking in the 3D windows instead of a 2D window, and adding him that way (the same holds true for any actor or mesh).

 

2)      STATIONARY AI   (ix. ai, patrols, and navmesh)

[The AI is boring and retarded]

a)      If you’ve been impatient and already tried it out in game mode, you will have noticed that the poor sap just stands there, and if you bother him he simply fears you and cowers in place, but doesn’t run anywhere.

b)      We need to make him busier and smarter, by creating a patrol route and linking him to it, and by placing some flee points for those scary moments.

 

3)      ADD PATROL POINTS   (ix. ai, patrols, and navmesh)

[“Actor Class Browser” – “Marker” – “AIPathPoint” – “PatrolPoint”, and add three of them, near the floor, around the rooms.  Select “AddAIPoint” and add one near the AI]

a)      Select “Actor Class Browser” – “Marker” – “AIPathPoint” – “PatrolPoint” (this is another non-deepest-in-the-tree item).

b)      Place three of them in different locations, near the floor, where you want your man to walk (again, if you put one or two in the new room, don’t forget that it is lower).

c)      A little above “PatrolPoint” in the browser, select “AddAIPoint” and make one near the servant.  Notice the yellow line from the AI’s feet to the marker, meaning that AI is assigned to that “AddAIPoint”.  (You may have to Build to see the line.)

      

 

4)      MAKE A PATROL ROUTE   (ix. ai, patrols, and navmesh)

[Enter “Connect AI Path Points” mode.  Select one patrol point, hold Shift and select the next one.  Select the second point, Shift-click the third; select the third, shift-click the first; select the “AddAIPoint”, shift-click the nearest patrol point]

a)      Now we need to actually set the patrol route, and link the servant to it.

b)      To do this we need to enter “Connect AI Path Points” mode.  The icon is below the camcorder, near the “MOV” cut; it’s the two green balls with an arrow from one to the other.  Click on it.

c)      You should now see a small legend in the view windows about what colored lines mean what (although currently it only shows a yellow line and says “ATTACHED TO ACTOR”).

d)      Making links is really easy, just select the first item, hold Shift, and click the next item.

e)      In this case, select one of your patrol points, hold Shift, and click on the next patrol point you want the AI to go to.

-         You may have to zoom in some to click them easier, as selecting items seems to be touchier in “Connect AI Path Point” mode.

f)        You should now see a big red line/arrow connecting the first patrol point to the second one, with a light blue line also connecting them representing the actual path the AI will try to take.

-         If the path is direct enough, the blue line will be straight, but if the AI has to go around corners or avoid objects, the blue line will snake around.

g)      Deselect everything, then select the second patrol point (the one you just linked to).  The red line/arrow will turn blue.  Now Shift-click on the third patrol point (the blue connection is still there, and a new red connection appeared).

h)      Connect the third one back to the first one the same way (the connections all turned green indicating a complete circular patrol route)

           

i)        Finally, select the “AddAIPoint” and Shift-click whichever patrol point you want the servant to start at (probably whichever one he’s closest to).

j)        Now, since the man is connected to the “AddAIPoint” which is in turn connected to the patrol route we made, as soon as you start the map the he will start patrolling!  Great!

k)      You can return to camcorder mode now.

 

5)      ADD FLEE POINTS   (ix. ai, patrols, and navmesh)

[Add a couple vanilla “FleePoint”s to the area]

a)      Flee Points are next.  Find them a little above patrol points in the actor browser.  Just use the vanilla “FleePoint” ones, not any of the flavors under it.

b)      Make at least two, so that when he runs to one and you follow him there and fill him with mortal terror, he will have at least one other flee point to run to.

            

c)      You don’t need to do any linking, they just need to exist and he’ll make use of them.

d)      That was easy!

 

6)      ADD A GUARD   (ix. ai, patrols, and navmesh)

[Add a “PrivateGuard_GNormal_01” and set up a patrol for him in your crypt section]

a)      Let’s add something more serious, an armed guard!

b)      “Actor Class Browser” – “Pawn” – “AIPawn” – “T3AIPawn” – “T3AIPawnHuman” – “T3AIPawnHumanCombat” – “PrivateGuard” – “PrivateGuard_GNormal_01”.

c)      Stick him in the crypt area and set up a small patrol for him (you can do it!).

 

 

7)      NAVMESH   (ix. ai, patrols, and navmesh)

[The Navigation Mesh tells AI where they can go.  You can tweak the NavMesh to help it run more efficiently]

a)      Okay, you have two AI either running from you or chasing you around and getting tired.  Our simple level may be fine for them right now, but as the geometry gets more complex they will have a more and more difficult time intelligently knowing where to go.

b)      That’s where the “Navigation Mesh (NavMesh) comes into play.

c)      The editor will compute it automatically through inefficient brute force, but you can be a good helper and make things simpler here and there.  This not only helps the AI to navigate, but it also helps your map to compile faster when doing a “Build All” or a “Build Navigation Mesh” (near “Build All”, next to “Build Geometry...”, the squiggly lines one).

 

8)      EXAMINE THE NAVMESH   (ix. ai, patrols, and navmesh)

[Along the top of the 3D window, find and select “NavMesh Nodes”, and notice all the red triangles on the floor.  Notice where the mesh is missing where objects block it, and where it should be missing because objects failed to block it]

a)      Look at the icons above the 3D window and hover your mouse pointer over them to see the titles.

b)      Don’t click any of them or your level will implode.  Just kidding.

c)      But some of them are only for advanced use, so for now move to the right and find the two flat planes called “NavMesh Nodes” and “NavMesh Links”.  Make sure the “ION” is not green, because in render mode you see a different set of icons which doesn’t include the NavMesh ones.

                   

d)      Click on “NavMesh Nodes” and you should see the floors all covered in various sized red triangles with little bird feet tracks in the exact center of them (they look like Y’s).

-         If you don’t see any triangles, you are probably too far away from them.   They only show up when you are somewhat nearby, so just move around and they’ll fill in as you go.

e)      Skim around a while and look at where these triangles are NOT (look for empty areas that are missing the bird foot track).

f)        You should notice they are missing where your columns, crypts, posts, etc, are.  That’s because when you placed those meshes they had the setting “Subtract this Mesh from the Navigation Mesh”.

g)      But your barrel racks didn’t have this setting, because they don’t touch the floor except where the legs poke down and that would just make the NavMesh very messy and overly complex if they subtracted four tiny spots.

-         Incidentally, even though the barrel racks didn’t subtract from the NavMesh, your lower barrels in them may have.  Well fix that oddity momentarily.

 

9)      FIX THE NAVMESH   (ix. ai, patrols, and navmesh)

[Find the builder brush.  Right click on “Cube” and set it to 48x88x160, build, close.  Click on “Volume” below and select “NavMeshSubtractionVolume”.  Move the builder brush far away.  Copy the new volume and stick them under the barrel racks, halfway into the floor.  Build, then see the new NavMesh.  Check out “NavMesh Links” if you want.  Add more volumes as needed to clean up messy areas, such as under the stairs]

a)      Since your AI can’t very well walk through the barrel racks (they currently think they can), we need to block the NavMesh under the racks manually.

b)      Bring back your builder brush (which you moved away from your rooms a long time ago) and put it somewhere near your rooms.

c)      Right-click on the “Cube” in the “Primitives” section again, and set the size to just 48x88x160 and click “Build” (then close the window).  Now the builder brush should be quite small, very similar in size to your barrel racks in fact!

d)      We want to make a “NavMeshSubtractionVolume”, so find the “VolumeCSG Operation, click it, and choose the one we want.

       

e)      You’ve just made the volume where the builder brush was, so move the builder brush far away again.

f)        Move the volume and place it right under the first barrel rack so that the volume intersects (is half buried in) the floor (to cut up the NavMesh, of course).

       

g)      Do a build all or just rebuild the NavMesh to see the result.

-         You should see the outline of the volume in the floor and the red triangles completely avoiding that area on the floor, perfect!

             

h)      Now’s a good time to check out the “NavMesh Links” view, so click it and notice the green diamond-blade things which act as sort of “bumpers” around meshes and other boundaries.

-         You will also see the yellow connection lines amongst the nav zones, and, depending on exactly where you placed your support posts, you may fret when you see some of them going behind the posts along the walls!

-         It probably won’t be a problem, but if you want to you could place more “NavMeshSubtractionVolumes” in those places, or, on a low grid setting, just move the supports a tad bit toward the walls to be flush.

i)        Copy the volume and stick one under the other barrel rack.

j)        Make another copy of the volume, resize it as needed in “Vertex Editing” mode, and stick it under the stairs to make the AI stop thinking they can go under there!

k)      Be careful not to intersect the stairs themselves (such as the bottom step) or else the AI will become deathly afraid of them!  If you can only get rid of most of the NavMesh under the stairs, don’t sweat it, it’s good enough.

 

         

 

 

 

X.   LOOT!

 

1)      STATIC MESHES VS ACTOR MESHES   (x. loot!)

[Static meshes don’t move or have physics or shadows (although you can turn them on), whereas Actors are more interactive for the player, can move, etc]

a)      What’s Thief without stuff to steal?  We want the moolah, the clams, the goods, the stuff, the redistributed wealth, the LOOT!

b)      But we need some good places for the loot to be, so let’s add a few more objects and static meshes to our map.

-         Some items are accessible in both the Actor browser and the Static Meshes browser.  The main difference is that Static Meshes are static – they don’t move, don’t have any physics, and are set by default not to cast shadows.  On the other hand, Actor meshes can often be moved around while in game and may have various other physics and properties, and they are set by default to cast shadows.

-         You basically should think of Static Meshes as part of the architecture of your level, and think of Actor meshes as things within the level that may be interacted with.

-         You should also try to use static meshes where it would make sense to not be able to move the item, or for items that will be out of reach and just for looks.  This saves a lot of processing power and will ultimately help your map to run more efficiently.

 

2)      ADD A BUNCH OF MESHES   (x. loot!)

[“Mesh Browser” – “FURNITURE”, add some various shelves and tables to your room.  In “SETDRESSING” – “Barrels_Crates” add a couple large crates.  Notice that “GENiFURNkitchentable” has “Subtract whole mesh from Navigation Mesh” selected, which more cleanly intersects the whole NavMesh area under the table.  You can add this to other meshes via “Properties” – “NavMesh” – “SubtractAsOne”.  Check/fix your lighting]

a)      We’ll start with some static meshes, since they are more permanent in their placement, and you may even add some actors within these meshes afterwards!

-         Remember, if the item doesn’t seem to be lining up exactly, try right-clicking on it and selecting “Snap to Grid”.  This is often a symptom of placing and moving the object whilst on a low grid setting, then later changing the grid setting higher.

b)      Okay, add the following meshes somewhere (most of them will go best in your original room):

            “SETDRESSING” – “Barrels_Crates” – “GENxGOODScrateA” (make two or three)

            “FURNITURE” – “Shelves” – “CEMiTABLEtools” (two or three, in the crypt area)

            “FURNITURE” – “Shelves” – “GENiFURNkitchenshelf1” (one or two)

            “FURNITURE” – “Shelves” – “GENiFURNkitchenshelf2” (one or two)

            “FURNITURE” – “Shelves” – “GENiWALLshelfA” (three or four)

            “FURNITURE” – “Shelves” – “GENiWALLshelfB” (three or four)

            “FURNITURE” – “Tables” – “GENiFURNkitchentable2” (one or two)

            “FURNITURE” – “Tables” – “GENiFURNkitchentable” (one)

           

-         Notice on the last kitchen table, that one of the mesh settings was “Subtract whole mesh from Navigation Mesh”.  What it did was treat the table like a big cube almost, so that in the NavMesh we don’t just get four little subtracted spots where the legs touch, but the whole area of the table on the floor is subtracted

 

-         If you have added other meshes that you later decide could use this property (such as the barrel racks) or you just want to try it out, you can add it through the object’s “Properties” – “NavMesh” – “SubtractAsOne”.

c)      Before you go on to add any actors, make sure things look good in game mode, especially the position of your torches and meshes, and turn on shadow casting for any meshes that need it (“Properties” – “Render” – “CastShadows”).

 

3)      ADD A BUNCH OF ACTORS   (x. loot!)

[“Actor Class Browser” – “WorldObj” – “SetDressing”, add some Barrels and crates.  In “Container” add a “Basket” and a “Chest” – “GenChest”]

a)      Now, add these items from your “Actor Class Browser” – “WorldObj” section:

            “SetDressing” – “Barrel” – “Barrel1” (one or two)

            “SetDressing” – “Barrel” – “Barrel2” (two or three)

            “SetDressing” – “Barrel” – “Barrel3” (one or two, you might put one on a “Barrel1”)

            “SetDressing” – “Crate” – “Crate2” (one or two)

            “SetDressing” – “Crate” – “Crate3” (two or three)

            “Container” – “Basket” (one)

            “Container” – “Chest” – “GenChest” (one)

b)      You now should have TONS of places to hide/place loot for Garrett to steal!

 

4)      ADD LOTS OF LOOT   (x. loot!)

[“Actor Class Browser” – “WorldObj” – “InventoryObject” – “Loot”, add a bunch of various loot to your map, but leave the basket and chest empty.  Use zoom and side views as needed for small loot]

a)      Okay, the fun part!  Add a few loot items to your shelves, top of barrels, tables, etc.  You find them all in the “Actor Class Browser” – “WorldObj” – “InventoryObject” – “Loot” section.

-         Since all the loot comes with the sparkly loot glint effect and shows the multi-colored spots icon, the smaller items may be hard to see and select once you place them in your map.  You’ll just have to zoom in and out a LOT and make more use of the “Front” and “Side” 2D view windows.

            

 

-         It also helps to try not to deselect the new item after you’ve created it, so you can move it around some and know where it’s at right off the bat.

b)      Don’t put any loot in the basket and chest just yet.

 

5)      CHANGE THE VALUE   (x. loot!)

[Select a piece of loot and add “Properties” – “Inventory” – “SellPrice” set to a high price]

a)      Pick one of your loot items and pretend it’s a rare collector’s item that is worth a lot more than normal!  In order for the game to now match your imagination, you’ll need to change the loot value setting.

b)      Open up the loot’s properties and add the property “Inventory” – “SellPrice” and change it to what you want (but not ridiculously high as that just breaks immersion).

 

 

6)      ADD OTHER STUFF   (x. loot!)

[Decorate with other items, from “WorldObj” – “SetDressing”]

a)      Take the opportunity now to decorate your rooms with non-loot items as well.

b)      A good example might be placing some non-loot cups near a loot cup, all on the same shelf.  But also go ahead and add other completely non-loot things, like a broom or an apple.

c)      You’ll find good stuff in the “WorldObj” – “SetDressing” section, in such branches as “Cleaning”, “DiningWare”, “Food”, “Kitchen”, “Knickknack”, and “Sack”.

 

7)      FILL THE CONTAINERS   (x. loot!)

[Position some loot exactly inside the basket and chest, zoom in tight to see]

a)      Decide on a couple slightly larger loot items to put inside the basket and the chest, and then position them right inside so that they look like they’re resting on the inside floors of the containers.

 

    

b)      You’ll have to move the camera right inside those small spaces to see if you’ve got it right!  Keep in mind, however, that if your loot is partially embedded, it’s probably okay as no one would ever notice during the normal course of game play.

c)      How precise you demand yourself to be is entirely up to you!

 

8)      LOCK THE CHEST   (x. loot!)

[Select the chest lid and add “Properties” – “Lock” – “blsLocked”, set to “True”]

a)      The chest comes with a lock, so let’s use it!  It’s much easier than you might think.

b)      Select the chest top/lid (not the bottom box) which the lock is attached to, open its properties, and add the property “Lock” – “blsLocked”.

c)      You’ll also have to change the new property setting from “False” to “True”.

d)      Voila, the chest is locked!  The loot you placed inside won’t be accessible until the player picks and opens the lid.  Go ahead and test it out in game mode!

 

9)      ADD A PURSE   (x. loot!)

[“Actor Class Browser” – “WorldObj” – “InventoryObject” – “Loot” – “Purse” – “SmallPurseCity, stick it near the servant.  Add “Properties” – “Scripts” – “bScriptsDisabled”, set to “True”.  Right-click on “Create links” mode and select “RigidAttachment” (without ~)]

a)      That servant walking around ought to be more careful how loosely he wears his money pouch!  Wait a minute, he doesn’t have one yet – let’s give him one.

b)      “Actor Class Browser” – “WorldObj” – “InventoryObject” – “Loot” – “Purse” – “SmallPurseCity”.

c)      Stick it somewhere near the servant.

d)      Because this is “city loot” it has a bunch of scripts that make it only randomly appear (amongst other things), but we want it to always be there, so we need to turn off those scripts.

e)      Select the purse, open its properties, and add “Scripts” – “bScriptsDisabled” and set it to “True”.

f)        Now we need to link the servant to the purse, and to do this we need to enter “Create links” mode.

g)      The icon is right next to the “Connect AI Path Points” icon, but this time the connected balls are red.  Right-click on it.

h)      You’ll get a menu asking what type of link you want to create.  Scroll down past all the ~ items (those are the backward links), and find “RigidAttachment” (be careful you don’t select “~RigidAttachment”, but if you scrolled past the ~ section that won’t be a problem, will it!).  Click OK.

 

10)  ATTACH THE PURSE   (x. loot!)

[Select the servant (his body) and Shift-click on the purse; it will jump to his feet.  Right-click on “Create links” and select “Alarm” or “~Alarm”.  Go back to “Camera Movement” mode]

a)      Your view windows should have lots of blue junk on them now, including some triangles and lots of “RIGIDATTACHMENTLINK”s all over the place.  They’ll be on your more interesting things, such as AI, loot, torches, etc

 

b)      Now, just like setting up the patrol routes, to create your new link you select an item, hold Shift, and select the next item.  In this case, select the servant (not his hair or eyes or teeth, but his whole main body), then Shift-click on the money purse.  If the purse just disappeared, you did it right!

       

c)      Look closely and you’ll now see it on the floor between his feet (the same place the other blue attachment lines are coming from for that AI for his hair, eyes, and teeth).

d)      You can go back to “Camera Movement” mode now.

-         The only remaining little “problem” is that even though you are back in “Camera Movement” mode, every time you select anything that has attachments, all the links keep showing up and getting in the way of what you want to see!

-         If this annoys the heck out of you like it does me, right-click on the “Create links” icon again and just choose “~Alarm” or “Alarm” (because you don’t have any of those), and then go back to camcorder mode.  Problem solved.

 

11)  CONFIGURE THE ATTACHMENT   (x. loot!)

[Right-click on the purse and select “Actor Links”.  Notice the backwards link (~), you could have made it in that direction.  Select the link to the servant and click “Edit Selected Link”.  Expand “Properties” – “Attachment” – “m_attachmentBone” and click the “…”.  In the “Bone List” select “hp_itemattach”, click OK.  Select “m_parentBone”, click “…”, select “HP_LeftHip”, click OK.  Move the AI a bit, Build, and test in game]

a)      Right-click on the servant and select “Actor Links (1 Selected)” (it should be the third line down).

b)      This opens up the “Object Links” window showing all the links for that AI.  You will notice that there are five “RigidAttachment” (Flavor) links from the AI to his body parts, and one to the “SmallPurseCity” (which will have a number such as “__0”).

c)      Go ahead and close the window by clicking “Done”.  Select and right-click on the purse, and open the “Actor Links” window again.

d)      This time you’ll see a “RigidAttachment” link to its “LootGlimmer”, and then a “~RigidAttachment” link to the servant.

-         This is the backward link I mentioned, and it was automatically created as the natural flip side of the forwards link you created.

-         You COULD have chosen this backward link in the “Create links” mode and selected the purse first and Shift-clicked on the servant, placing the backward link in that direction and the normal forward link automatically being reciprocated from the AI to the purse, but that’s just confusing!

e)      Select the link to the servant and click “Edit Selected Link” at the bottom.

f)        In the new “Edit Link Data” window, expand “Properties” – “Attachment” and select “m_attachmentBone”.

g)      Click the “...” that showed up on the right and in the “Bone List” window select “hp_itemattach”, then click “OK”.

h)      Now select “m_parentBone” and click the “...”.

i)        In this different “Bone List” window you have a lot to choose from, including such famous bones as the “eyelid” and the “lip”!

j)        Select “HP_LeftHip” and  click “OK”.

           

k)      You may see the purse still on the ground, so select your AI and move him a tad and the purse should pop up to his hip.  You will probably want to do a Build as well

l)        It’s all set to go, ready to steal!

 

 

 

XI.   DOORS

 

1)      CARVE A DOORWAY   (xi. doors)

[Copy the main room, resize it down to 128x16x64, and place it along the top of the room.  Copy the new room, resize to 192x112x128, and place it on the other side of the doorway.  Add a torch, and Build]

a)      We have a nice couple rooms going here, but we need to expand the area some more to make our little mission.  We’ll start by making a doorway at the top end of our main room, which will eventually lead up some stairs.

-         By the way, I’m going to start being more and move vague on exactly where to build new doorways, rooms, stairwells, bigger rooms, etc.  Things don’t have to be so exact from here on out, and you’re free to make your little map somewhat how you like.  Don’t fret when you don’t know exactly where to place a new brush, because it doesn’t matter very much.  If the position of things and fitting it all together isn’t working out, you can always make movements and adjustments later on.

b)      Copy the main room, go into “Vertex Editing” mode, and resize the new room so that it’s only 128 high, 16 wide, and 64 broad.

-         As a reminder, to select vertices use the multi-select key combo Ctrl+Alt and drag a box around the vertices.

c)      Position it somewhere along the top of the room, between major (dark grey) gridlines on grid 16 if you’re interested in precision construction, and make sure the floor levels line up.

d)      Copy it and change the newest room size to 192x112x128, and place this one on the other side of the small doorway, exactly lined up along major gridlines.

e)      Stick a torch in the new little room on one of the side walls.

f)        Do a build and voila, you have a doorway!  But there’s, um, no door...

 

2)      ADD A DOOR   (xi. doors)

[“Actor Class Browser” – “WorldObj” – “Moving” – “Hinged” – “DoorHinged” – “DoorWoodenHinged” – “GenDoor”, stick it in the doorway.  Add some “Tenxbeamwood1x8”s for door trim]

a)      “Actor Class Browser” – “WorldObj” – “Moving” – “Hinged” – “DoorHinged” – “DoorWoodenHinged” – “GenDoor”.

b)      Line it up right in the doorway.

c)      Do a build and try it in game!

d)      If you want to, go back and add some trim around the door such as some wood beams “Tenxbeamwood1x8” (under “Columns_Beams” in the mesh browser).  You’ll have to turn the grid way down to 2 or 1 to place them perfectly.  They can also help block any light slivers getting around the door if you turn on their shadow casting.

e)      Keep in mind that if you embed the bottom of the door a little into the floor, it’s impossible to notice because the floor is all level!  This might help when you’re trying to get everything lined up well.

 

3)      FIX THE LIGHTING   (xi. doors)

[If you see light going through walls or the door, try moving lights, or try adding to the light properties “Lighting” – “ShadowExtrusionDistance” set to 256 or 512 or more]

a)      Test out this area in game again to look for the following:  Depending on where you placed your torches in relation to the doorway, and whether the door is open or not, you may notice light where it should not be!  You may need to put out one light or the other (with a water arrow) to notice the problem.

b)      This is a common “bug” in the engine (light seeming to go through walls, or shadows not going far enough), and there a couple things you can do about it.

c)      First of all, you can simply move your light sources around, probably further from the doorway area.

d)      But if you like them where they are, you can extend the shadow casting distance from the lights.

e)      Select a problematic light and open its properties.  Add “Lighting” – “ShadowExtrusionDistance” and set it to 256.

f)        Test that, and if the problem remains try changing it to 512.  This is usually enough, but you are free to make it more.

-         If you make it 10,000 you are just wasting compute cycles because the engine has to figure out the shadow forever even though the light only goes a little ways.

-         What you want to do is make the shadow extend about as far as the light goes.

 

4)      EDIT THE HINGE SETTINGS   (xi. doors)

[Turn the door around so it opens the other way.  Right-click on the door, select “Actor Links”.  Edit the “HingedAttachment” link from the door to the door, and under “Properties” – “Physics” – “m_hingeAxis” change “Z” from 1 to -1 or vice versa.  But the door still embeds when opened, so change “m_hingeLocation” – “Y” to -8]

a)      Currently the door swings open into the room, which is the way it should be (or else you couldn’t bar the door with a chair when the murderer is after you, see).

b)      Select the door and turn/rotate it around, switching which sides the handle and hinges are on.  Since the door now swings open the wrong way (out of the room), let’s change the hinge settings.

c)      Right-click on the door and select “Actor Links (1 Selected)”.

d)      Find the “HingedAttachment” link that shows the “GenDoor” (__#) as both the “Source” and “Destination”, select it, and click on “Edit Selected Link”.

e)      Expand “Properties” – “Physics” – “m_hingeAxis” and change the Z from “-1” to “1” (or vice versa)

f)        Now the door opens into the room again (try it out in game mode to make sure it works).  But the hinge is still in exactly the same location, which is not good because now the door is embedding itself into the wall or doorjamb!

            

g)      Edit the door’s hinge link again and expand “Properties” – “Physics” – “m_hingeLocation”.  The XYZ is currently all 0’s, which basically means the hinge location is a certain bottom corner of the door.  It is a point, not a line as you might think a hinge as being.

-         Theoretically, you could have the door do a big funky far out movement by changing the hinge axis to 1,1,1 or -1,1,-1, and then changing the hinge location to 32,64,128 or –256, 64, 16, or something.  If you REALLY want to try that out, do it now to get it out of your system!

h)      Okay, now that the possibilities are swimming in your head, return to the task at hand and set the hinge location Y to “-8”.

i)        That moved the hinge 8 units back (when facing the door from the other side now), which is about the thickness of the door, effectively placing the hinge on the other corner, so the door opens naturally.

-         Rotating a door and properly changing the hinge settings will become essential when you want to make double doors or window shutters or other special moving objects

 

5)      LOCK THE DOOR   (xi. doors)

[Add “Lock” – “blsLocked” – “True” to the door’s properties.  “Actor Class Browser” – “WorldObj” – “Environmental” – “Lock”, pick a lock for the door, and make two of them]

a)      Now that we have a working doorway and door, let’s lock it!  This isn’t quite as simple as locking the chest, though it starts out the same way.

b)      Right-click on the door, open its properties, add “Lock” – “blsLocked”, and set it to “True”.

c)      Now pick a lock style to add to the door (the same for both sides) in the  “Actor Class Browser” – “WorldObj” – “Environmental” – “Lock” section.  The Diamond or Square shaped Iron or Metal lock style would be fitting for this door.

d)      Make two of them and put them somewhere near the door.

e)      Look closely and notice that the locks have a small part (the lock meter).  You’ll want to avoid selecting that part in the next section when you go to select the whole lock, so just be aware and careful.

 

6)      ALIGN THE LOCKS   (xi. doors)

[Switch to “Create links” mode set to “Rigid Attachment”, select the door, then Shift-click one of the locks.  Do the same for the other lock.  Open the door’s links, edit one of the lock links, and set “Properties” – “Attachment” – “m_parentBone” to “hp_lockA”.  Set the other one to “hp_lockB.  Build, save, test]

a)      Switch to “Create links” mode with the link type set to “Rigid Attachment” (without the ~).

b)      Select the door then Shift-click on one of the locks.  Hopefully it just disappeared!

c)      Clear your selection, select the door again, and Shift-click on the other lock so it disappears as well.

-         If you snoop around you should find the locks at the good old 0,0,0 point on the door (where the hinge point was before we moved it).  They will be partially buried in the ground and maybe the wall or beam you placed, because the center of the locks got moved to that point.

-         Remember, you may want to right click on the “Create Links” mode button and select a link you never use such as “Alarm” before you go back to camcorder mode.

d)      Open the door’s links (right-click and select “Actor Links”) and you should see two new ones, both “RigidAttachment” flavor, going to the two locks.

e)      Select one of them, edit it, expand “Properties” – “Attachment”, and set “m_parentBone” to “hp_lockA”.

f)        Set the other link’s attachment parent bone to “hp_lockB”.

g)      Move the door back and forth a bit to make the locks jump to their new homes.

h)      Build (can’t hurt).

i)        SAVE (of course you do this all the time)!

j)        Test in game!

 

7)      SLIDING DOOR   (xi. doors)

[Make another doorway and room to the left of the main room.  Make a thin (8 units) room to use for a sliding door receptacle, to the side of the doorway.  “WorldObj” – “Moving” – “Sliding” – “DoorSliding” – “DoorMetalSliding” – “WindowMetalDoorSliding”, add it]

a)      Make another small doorway and room to the left of your main room, just like you did in step 1 above.

b)      Now make another copy of the small doorway brush and edit it down to just 8 units thick (0.50 FT), and move it to the side of the doorway lined up in the center, so you make a thin door size hole for a sliding door to slide into.  You’ll probably need to go down to grid 4 or 2 to line it up correctly.

c)      “WorldObj” – “Moving” – “Sliding” – “DoorSliding” – “DoorMetalSliding” – “WindowMetalDoorSliding”.  Put it in the doorway lined up correctly so that it will slide right into the door hole you made.

 

8)      MISSING PROPERTIES   (xi. doors)

[Add “Highlight” – “HighlightDist” set to 128 to the door.  If it slid the wrong way, edit it’s “SlidingAttachment” link and change “Physics” – “m_slideAxis” – “X” from 1 to -1 or vice versa.  To allow AIs to open the door, add the properties “AIDoors” – “AIDoorOpenDistanceInFeet” set to 7, “AITags” – “AINearObjectDistanceInFeet” set to 10, and “AITags” – “AINearObjectTag” with “door” typed in.  For tweaking the door, set “Physics” – “DoorController” – “DoorSpeed” to 2, and “Frob” – “FrobBias” to 16]

a)      This door is missing some properties for a normal door.  First of all, add “Highlight” – “HighlightDist” and set it to 128 (standard).  This allows you to frob the door and open it!  Try it in game.

b)      If your door slid open the wrong way and went into the other wall, you need to fix the sliding link properties, similar to changing the hinge settings on hinged doors.  Just open the door’s “Actor Links”, edit the link (“SlidingAttachment”), and change the “Physics” – “m_slideAxis” – “X” setting from 1 to -1 (or vice versa).

c)      AIs cannot open this door.  You can test it by making the guard chase you and shutting the door between you and he’ll never open it to get you.  There are some other AI interactions with the door that are missing as well.  Add the following properties:

-         “AIDoors” – “AIDoorOpenDistanceInFeet”, set it to 7

-         “AITags” – “AINearObjectDistanceInFeet”, set to 10

-         “AITags” – “AINearObjectTag”, type in “door” (without quotes).

d)      That should do it.  Now this door has the same properties that standard hinged doors have.  But the sliding door opens quite fast, and is also a bit hard to frob to close it, so add the following properties:

-         “Physics” – “DoorController”, expand it and set the “DoorSpeed” to 2 (twice as slow).

-         “Frob” – “FrobBias”, set it to 16 (gives more leeway).

 

 

 

XII.   RAMPS, STAIRS, AND LADDERS

 

1)      MAKE A STAIRWELL   (xii. ramps, stairs, and ladders)

[summary]

a)      Copy the first little door “room” and move it to the side opposite the door.

b)      In “Vertex Editing” mode, make it 128 tall, 96 wide, and 512 long (the units might be in a different order depending on which direction you are making it in).  It should be a skinny hallway now.

c)      Select the vertices that are furthest away from the main room and, in the “Side” or “Front” view, move them up, creating a ramp shaped parallelogram.  You’ll use this for the stairwell.

-         You want the rise/run ratio to be 1 over 2.  In other words, since the room is 512 long you want it to rise only 256.  You can easily see this in the side or front view as the brush floor/ceiling angle will go over four major grey grid lines but only go up only two lines on grid 16.

-         It’s wise to try to keep most of your brushwork lined up with major gridlines; just makes things easier to eyeball and keep track of.

-         The new height should actually say 384 now (256 worth of rise, plus the original 128 height).

-         Make sure the bottom of the lower side of the stairwell lines up with the floor of the small door room.

-         Do a build and see if it’s working right.

 

2)      MAKE IT TURN   (xii. ramps, stairs, and ladders)

[summary]

a)      Make another little room that is 128 square (and 192 tall) and stick it at the top of the stairwell (line up the floor of the new small room with the floor of the higher side of the stairwell).  We’ll use this for a “landing”, a turning point in the stairs.

b)      Make another stairwell (just copy the first one) and have it go up to the left (or if you already went left, have it go straight, just make it turn direction from the first stairwell).

-         Make sure you check the side or front view to see that your vertical placement is correct.

c)      Make another little door room at the top (128x112x192).

d)      Add torches or other lights to the stair rooms or in the stairwells, whatever you want.

 

3)      ADD THE STAIRS   (xii. ramps, stairs, and ladders)

[summary]

a)      “Static Mesh Browser” – “STAIR_RAILING_FLOOR” – “Stairs” – “INNstairs1C6ft” and select the “Default” skin.

-         Notice that these stairs don’t add to the NavMesh.  This is a good thing because it would just overcomplicate things!  The AI can walk over small obstacles placed flat over BSP, including little stair steps, even though, by following the NavMesh, they think they’re just walking up a smooth ramp.  We couldn’t do this with the first steps we placed because there was no BSP ramp right under them.

b)      Create the stairs and notice that they (and most stairs in the game) have a rise over run of ½, just like the stairwell we made, what a happy coincidence!  Position it exactly in the lower half of the lower stairwell. 

c)      Copy and place three more of them to fill both halves of both stairwells.

d)      Now you have stairs!  That was easy!

e)      Go ahead and make another stairwell leading from the sliding door room going down.  Add stairs.

 

4)      BUILD A SEWER ROOM   (xii. ramps, stairs, and ladders)

[summary]

a)      Connect the bottom stairwell to a couple of seller storage rooms (make them) that go around a corner or two to block the view

-         Going around a corner like this is something you should do all the time.  It helps minimize long view distances, and it facilitates the usefulness of adding zone portals which will help the engine performance a lot.  We’ll be adding zone portals soon.

b)      Then connect these rooms to a larger underground sewer room via a big doorway.  Make the sewer whatever dimensions you want.

c)      Create another long room within the floor of the sewer room, positioned lower to carve out the deeper area where the shallow water would run in the sewer.  Don’t overlap the brushes – make the ceiling of the lower water area brush lined up with the floor of the main sewer room brush.

-         In the side or front view, you should be able to clearly see where one brush ends and the next begins.

d)      Make a narrow brush next to the lower brush (the same height, again with the ceiling of it lined up with the floor of the main room) and select just one bottom corner vertex in Front or Side view and move it back to create a ramp on that side of the brush.

-         You should end up with a brush that has a long ceiling but a short floor, and three vertical walls with the fourth wall slanted so much it makes a sloping ramp.  It should look like half of a trapezoid or keystone, stretched out if you will.

-         Just try to make it, you’ll get it sooner or later!

e)      After doing a Build you should now have a larger sewer room with a ramp that leads down into a lower section.

f)        Add some lights.

 

5)      BUILD A CITY SECTION   (xii. ramps, stairs, and ladders)

[summary]

a)      That’s it, just go to it and build a city.

b)      Great, now that your city is done…what’s that you say, you haven’t built the city yet?  Well, making a city area is one of the harder things to do, both stylistically and just practically.  It’s hard to know where to make your BSP (brushes) and where to add meshes.

-         One thing that will help is to browse through your meshes a lot and just experiment with them so you know what’s available and what sizes things are.

-         It can also be very helpful and inspiring just to play the game some and closely examine the city areas to see what they did, and take a look at those areas in the editor as well (now that you know how to get around in the editor, looking at the OMs can be a great learning tool!).

-         One thing to keep in mind when building any outside area is to try not to just subtract a massive huge brush, planning to go back and add in large chunks for buildings to make streets and such.  You can do it that way and it will work, but…

-         It’s generally better to subtract/carve out the open street areas as you go along bit by bit, making it twisty and blocking the long views.  This way you will keep the frame rate performance up, and it will also be much easier to do your zoning and sounds and lighting later on.  It just makes for a cleaner construction with fewer problems.

-         Other than that, it’s hard to give much advice in this area, you just have to practice.

c)      But seriously, for now just add a few basic street brushes, and connect to the door room at the top of your upper stairs.  You can add all the little details (building fronts, décor, sky texture, pipes, wagons, debris, windows, etc) later on.

d)      Make the street section go somewhere above where you have your sewer room (so we can connect the street with the sewer via a vertical tunnel).

e)      Add a couple ambient lights or other lights (such as “ElecStreetLight”s) so it’s not pitch black!

 

6)      ADD A LADDER   (xii. ramps, stairs, and ladders)

[summary]

a)      Make a small (64x64) but tall tunnel that goes from some corner in your streets down to the sewer room.

-         Have it come down on the side somewhere, or have a small hall from the sewer room lead to it (just don’t make a hole in the middle of the ceiling of the sewer room).  This is where we’re going to put a ladder leading from the sewers up the streets.

b)      “Actor Class Browser” – “WorldObj” – “Environmental” – “Ladder” – “Ladder4FT” and “LadderTop”.  Make the top piece and line it up at the top of the hole and right up close to the hole wall.

c)      Add 4 ft pieces going all the way down.

-         They don’t have to go right to the floor if you don’t want to, the bottom can be a couple feet up and it will work fine.

d)      That’s it, your ladder should work fine!

e)      If the top is acting funky, like not letting you off correctly, you might need to adjust the placement higher or lower, or closer to or further from the side.

 

 

 

XIII.   ZONING

 

1)      GENERAL INFO AND ADVICE   (xiii. zoning)

[summary]

a)      Now that you have the basic layout of your little mission basically carved out, it’s a good time to add some portals to create zones.  BSP Zones help your map run more efficiently because they define areas that the engine can ignore when not visible to the player.

b)      If you were making a large level you would definitely want to start adding portals sooner than the end, because even with this small map you’ve probably noticed that the frame rates you’re getting in game mode are much lower than they ought to be.

c)      Test your non-zoned level to really see how bad it is right now.

-         To test the lowest frame rate area, go in game and go to a far corner of your map and look in the general direction of the rest of the level.  Your frame rate should be quite low because the engine is rendering the whole map in your view area, even though you can’t see it through the walls and stuff.

-         In a mission I’m testing I found six spots with 7 or 8 fps (measured by FRAPS) on my laptop.  I’ll tell you how much that improved after adding zone portals below.

-         If you turn around and face away from the rest of the level and just toward an outer wall, your frame rate will be smooth because your field of view doesn’t include any far way sections of the level

 

2)      MAKE A ZONE PORTAL   (xiii. zoning)

[summary]

a)      We’ll be using the builder brush again, so find wherever you put in and bring it back to the area of your map.

b)      Click on the “Sheet” primitive (two below “Cube”) to make the builder brush go flat.

c)      Rotate the brush in the side or front view to turn it vertical, as this is almost always how you will place it in the level.

d)      Click on the “Add Special Brush” CSG operation (blue square with a dotted line square inside, two below “Add”)

e)      In the “Add Special” window that popped up, select the prefab “Zone Portal” (this will automatically put checks next to “Zone Portal” and “Invisible” and select “Non-Solid”).  Click OK.

-         The window won’t go away, although you just made a zone portal.  If you clicked OK two or three times thinking you hadn’t really clicked it yet, you just made two or three portals on top of each other!

f)        Click “Close”, move the builder brush far away again, delete any extra portals you made, and then select the last (or only) one.

 

3)      MAKE MANY PORTALS   (xiii. zoning)

[summary]

a)      Put them everywhere!  You’ll have to do a Build now and again for the actual portals to show up, and remember that they will appear invisible from one side, and from both sides in render mode!

b)      Good places are in ends of hallways, between rooms, each side of doorways and stairways, etc.  Just section off the map in every logical location.

c)      Using the grid, you can line them up right evenly at the end of a hall or doorway, and they will seal the opening good.

d)      It’s a good idea to let the edges extend into the wall or out along the surface a little, partly to make sure you’re fully covered, and partly to have an easier time selecting them later on if you want to.

e)      You can place horizontal ones too, such as at the top and bottom of your sewer access tunnel with the ladder.

f)        Don’t make huge ones, but rather try to keep them reasonable, like door or hall size or a little larger.  Don’t stick one right in the middle of a large open space, for instance.

g)      Be careful not to overlap them or place two in the same exact spot!

h)      And don’t make more than perhaps 15 to 25 for this small level; any more would just be overkill and not helpful.  (The maximum possible is 1024 zones!)

 

4)      ADD ZONEPROPERTIES   (xiii. zoning)

[summary]

a)      In the main menu at the top, select “View” – “Show Zone Properties Dialog”.

b)      A window pops up about “Missing ZoneProperties” asking if you want to add them automatically, choose yes.

c)      The “Zone Properties” window opens with a list of the zones (Zone 0 through Zone 12 or whatever).  For the time being just close it.

d)      You should now see little “?Z” markers here and there in between your portals.

e)      Test in game.  You should definitely notice higher frame rates now!

-         Try the test above, a corner area of the map looking in the direction of the rest of the level.  Your frame rate should be relatively good and normal, because the engine is only drawing the zones you can physically see some part of in that moment.

-         The six spots I previously mentioned all improved.  Three of them went up to 25 to 30 fps!  One went up to about 15 fps, and the last two only went up to about 10 fps (there were complex views no matter what on those two).  Zoning makes a big difference!

 

5)      EXAMINE THE ZONES   (xiii. zoning)

[summary]

a)      Open the “Zone Properties Dialog” again (it won’t ask to add the ZoneProperties again unless you alter or make more portals later on).

b)      Notice all the columns about schemas – these have to do with ambient sounds and we’ll be adding some of those later on.  The last column, “ReverbStyle” is also for sounds, the EAX echo properties that most good sound cards can make use of.  We’ll do that later on as well.

c)      Select one of the zones halfway down the list or so (just click on “Zone 7” or so).  If your 3D view is set to Render mode, you should now see an area lit up bright orange (you may need to move far outside and perhaps above your level to get a good view).

d)      Select other zones to see where they are.

-         You might have some very small zones that are only the space right in the doorway if you put portals on either side of the door (a good idea, by the way).

e)      Before you close the “Zone Properties” window, be sure to deselect any zone you had selected.

-         You can most directly do this by simply clicking just to the right of the “Zone 7”, or down below the bottommost zone listing in the blank area.  You could also just click somewhere in a 2D or even in the 3D view.

-         If you don’t deselect the zone then that area will remain crazy bright orange in the 3D window in render mode (although in game mode it will be normal).  So if you are editing along and click the “ION” ball to go to render mode and suddenly see orange everywhere, you know what happened.  Just open back up the “Zone Properties Dialog” and deselect the zone.

f)        You can also check out where your zones are in the 3D window with render mode off, by selecting the bisected cube (next to the really spotted cube) to the right of the ION button.  This will show each zone in a flat color scheme different from the adjacent zones, and gives a good overview of them all.

-         It’s easier to see where you zones are overall by using this method, but you’ll want to select them individually in the above method when you are adding some sounds and other properties and want to see where a particular zone is.

 

 

 

XIV.   TEXTURING

 

1)      ART   (xiv. texturing)

[summary]

a)      The art of texturing is one of the most essential skills to master if you want to make good missions.  The Flesh engine is powerful, but our current generation PCs and video cards just can’t handle tons of polygons and overly complex architecture if we’re going to have complex real-time lighting and shadows, so you’re going to have to make up the difference with good use of textures.

b)      For instance, you can paint a craggy looking cave wall using just a couple indentations, a couple smart textures, and good lighting to maximize the texture effect.  This performs much better than trying to carve out lots of individual rocks and bumps, or adding 37 overlapping meshes because you think they look cool.

c)      First of all, it’s a good idea to just experiment a lot with all the game textures to get familiar with what’s available and where they fit well.

d)      You might also go back and play the game missions and pay close attention to how they used textures, in what combinations, with what lighting, etc.

 

2)      TEXTURING REVIEW   (xiv. texturing)

[summary]

a)      There are quite a few ways to manipulate and work with textures, so let me walk you through some of them.

b)      Go to one of your relatively empty areas, where it’s pretty much just a few walls and a floor and ceiling.

c)      If you haven’t already, browse through the available textures and pick some to use for this area and paint them on the walls.  Remember the basic texturing controls mentioned in the “YOUR FIRST ROOM” section:

d)      Open your Texture Browser and this time select File” – “Import All Matlibs.  You’ll see the “Converting Materials to UTextures…(####)” window longer this time as it may take a while importing all those textures, about 2094 of them (at least 2094 is the last number I see before it disappears).

e)      Now you can open the drop down menu that currently says “AICore” and choose from all the texture folders.  Some of the textures are odd behaving, so just use some caution when experimenting.

f)        Every time you start T3Ed you’ll need to import the textures to get all the new ones available, but any that you are using in your map, including ones that are on meshes, will be available without having to import them each time.

 

3)      NEW METHOD   (xiv. texturing)

[summary]

a)      The normal way to paint walls is to use the 3D window to select the wall or walls you want to paint and then select the texture you want in the texture browser.  To tell the truth, however, I hate this method!  I never use it!  I apologize if you thought it was the only way.

b)      I do it backwards (which is actually more intuitive to me), by selecting the texture in the browser first, and then painting it onto the surfaces I want in the 3D window using Alt+LMB.  Try it!

 

4)      GRABBING   (xiv. texturing)

[summary]

a)      A command complimentary to that is using Alt+RMB to “grab” or select a texture already in your map.

b)      When you select a texture this way it will now be selected in the texture browser, but the browser won’t jump to that texture to show you or even change to the proper texture group if it’s different from the group you were currently browsing (such as T3_GEN).

-         The (slight) problem with this is that you can’t see for sure that you have the texture selected, and T3Ed is sometimes a little finicky and may not always select things you want, sometimes because you were accidentally moving the mouse a little when you clicked, and sometimes for no good reason.

-         With that in mind, I always do my Alt+RMB selecting by clicking two or three times to make darn sure I have the texture selected!  After selecting your texture, you can now conveniently use Alt+LMB to paint it elsewhere.  Try it!

c)      Remember, if you are texturing in render mode, you’ll have to do a lot of builds to see the changes, so it’s best to just be in normal mode and then do one build at the end, and go back to render mode if you want after that.

d)      So, to review:

            Alt+RMB       click on a textured surface to “grab” or select it in the browser

            Alt+LMB        click on a surface to paint the currently selected texture on it

 

5)      ALIGNMENT   (xiv. texturing)

[summary]

a)      Okay, you’ve got some basic textures in your rooms.  But perhaps you’ve noticed some badly aligned corners where the texture on one wall doesn’t match up correctly with the next wall, even though they’re the same texture, such as stones or bricks suddenly being cut off.

b)      Multi-select the surfaces (Ctrl+LMB on them), right-click on one, and open the “Surface Properties”.

c)      Click the “Alignment” tab, and in the “Alignment” box select “Planar” and click the “Align” button below.

-         You should most likely see an immediate difference in the texture positions, hopefully for the better.

d)      You can experiment with the other alignment types and settings on your own time, but for general good alignment just use “Planar” all over the place.

-         If you mess up the alignment all funky and bad, just choose “Unalign” and start over.

-         You can also double click the selections to test them quicker.

e)      Additionally, you don’t even have to open the surface properties at all, but can right-click the surface, select “Align Selected” and choose an alignment.

 

6)      PAN, ROTATION, AND SCALE   (xiv. texturing)

[summary]

a)      Another more powerful texture manipulation tool is the “Pan/Rot/Scale” tab in the surface properties.  You will definitely be making use of these controls to alter, fix, adjust, fine tune, tweak, and anything else, your textures.

b)      In the “Pan” box you can see the U and V and the numbered buttons 1, 4, 16, and 64.  With your selected texture in view, try out these buttons to see how they move your texture along in various increments (of Unreal Units, and remember that 16 UUs equal one virtual foot).

-         You might use this to manually align stubborn textures, to line up a window texture exactly right, etc.

c)      In the “Rotation” box you can see buttons to rotate the texture in 45 or 90 degree increments, or even to flip it over with either the “Flip U” or “Flip V” button (depending on which direction you want to flip).

d)      You also can use the flip buttons to fix inverted normal maps, which you will recognize by noticing bumps where there should be dips and vice versa (such as floorboards with ridges sticking up between the boards instead of empty dips).

-         You should pay special attention to this problem, as it is extremely common and easily overlooked, because it looks bad in the game.

-         For example, if you have a torch on an exterior rock wall, and the area just above the torch depicts the top edges of the rocks lit up and the bottom edges in shadow, you know the normal is inverted.

-         So fix it for the benefit of the rest of us!

e)      If you mess up and want to reset the panning and rotation, you can simply align the texture again.

f)        In the “Scaling” box you have some precise controls over how much the texture is “zoomed in” or scaled.  I only ever use the “Simple” line, usually setting it to .5 or 2 (to halve or double the scale), although you can use precise custom settings applied individually to the U and V directions if you want.

g)      You can check “Relative” if you already scaled the texture before and want to apply the new scale to that; leave it unchecked if you want to apply the new scale to the default scale the texture started with.

-         For example, if you chooseSimple” – “2.0 and click “Apply”, it will double the texture zoom the first time whether you have “Relative” checked or not.  But if you click “Apply” again and it’s relative, the texture will double the zoom again, but if it’s not relative it will stay on the current zoom.

h)      Relative is useful when you’ve forgotten what scale a texture is currently set at and all you know is that you want to double it or cut it in half from how it currently looks.  It’s also handy when you are selecting multiple textures of varying scales and want to blanket adjust all of them at once.

 

7)      RE-TEXTURE MESHES   (xiv. texturing)

[summary]

a)      The ability to re-texture or re-skin your actors and static meshes gives you a powerful tool to customize the look of your mission.

-         It helps tremendously when trying to make meshes fit in with the surroundings, such complimenting or matching the wall textures.

-         It also allows you to “camouflage” meshes for unique or non-standard uses.

-         And some meshes require you to texture them as they don’t come with any default texture!

b)      Most objects are uniformly textured, but some of the more complex ones have various parts with distinct textures.

-         For example, you can change the texture of just the trim or windows on some of the whole mesh buildings.

c)      You can’t re-skin meshes by selecting them and then selecting a texture in the texture browser.  Rather, you will need to have your desired texture already selected and then use Alt+LMB on the mesh.

-         Note, however, that you cannot “grab” a texture from a mesh because both Alt+LMB and Alt+RMB only paint onto meshes (it’s dumb, I know).

-         In other words, you could use Alt+RMB to grab a texture from a nearby BSP surface and then paint it onto the mesh, or you could select a texture in the texture browser and then paint it, but you can’t grab a texture from a nearby mesh and then paint it elsewhere.

d)      So let’s test it out.  Head down into your sewer area and use Alt+RMB to grab the wall texture down there.  Then use Alt+LMB on the bottom section of the ladder you built to paint the texture onto it.

-         You should see the ladder change to the new texture immediately.

-         If it didn’t work then you may not have selected the wall texture properly, so try again.

e)      Now save your map.  Woops, you got an error “Unpublished skins!”  You forgot to save your new skin you just made!  What were you thinking?

-         The error message should include the name of the item that has an unpublished skin, and in the future you will want to carefully make note of it so you can track it down and fix it, but in this case you already know which one it is.

f)        Click “No” to close the error message window.

g)      Right-click on your ladder piece and at the bottom select “Static Mesh” and then at the top of the submenu select “Add Skin”.

h)      A new small window pops up called “Specify skin name” in which you can type anything you want.  Describe it briefly or just call it the name of the mission you’re planning or whatever you want (I call all mine “Komag”).  Click “OK”.

i)        Voila, it’s done, and you can safely save your mission.  Now if you go to change that mesh’s skin or are making a new piece of ladder, you can see the new option in the list of available skins.

j)        This whole procedure is known as “publishing” the skin.

 

8)      BLANK   (xiv. texturing)

[summary]

a)      To help your map render even more efficiently it’s a good idea to paint unseen textures blank!

-         This is a good idea for underneath stairs, behind doorjambs and window trim meshes, etc.

-         This helps the engine to not have to render any normal maps or textures for that surface.

b)      The texture for this looks like a man’s face skin spread out (but it sometimes just looks purplish grey, I don’t know why).  It’s called “BF” and is found in the texture browser under “Engine”.

-         It may look very tiny if you have all the MatLibs imported or larger if you don’t.

-         It’s a lot easier to find if you haven’t imported all the MatLibs because the “Engine” section is HUGE if you’ve imported the whole thing, and besides being a freaking long list it also may run slow and choppy.

c)      Now, in order to paint the texture on surfaces that are covered by meshes, first you may want to temporarily toggle off the meshes by pressing W or H.  Then just have the texture selected and use Alt+LMB on the surfaces you want.

d)      You may have noticed this blank texture before, on the backs of some static meshes, on some of the small barrels, and other places.

-         You can paint real textures in those places if you want to, depending on how you’re planning to use the meshes.

-         You might find a symbol texture to put on the barrels for instance, representing what’s inside.

 

9)      TURN OFF SHADOWS   (xiv. texturing)

[summary]

a)      While static meshes have shadow casting off by default, BSP surfaces have it on, which can be an unnecessarily large hit on your frame rate.  You’ll want to turn it off on all surfaces, and then only turn it back on where it looks wrong to have it off.

b)      Go up to “Edit” – “Select All Surfaces” (or hit Shift+S) to highlight all the BSP surfaces in your map.

c)      Right-click on one of them and open the “Surface Properties” and put a check next to “Do Not Cast Shadows”.  This turns off all the shadow casting.

d)      Do a build and go back through your level and turn back on shadow casting on surfaces that need it (a light obviously shines through, etc).

 

 

 

XV.   SKYBOX

 

1)      SET IT UP   (xv. skybox)

[summary]

a)      Now, to do it right,  create a new square room (512x512x512) somewhere far away where it will never be in the way of future construction (but don’t worry too much, you can always just move it later if you need to).

b)      Actor Browser” – “MetaData” – “Info” – “ZoneInfo” - “SkyZoneInfo.  Put the SkyZoneInfo actor in there, in the middle.

c)      You can just paint the walls any texture you want for now, such as brick or stone or wood.

d)      Put a few big lights in there to light it all up.

e)      Then go back to the playable areas of your map, and in the 3D view right-click on any surfaces you want to look like sky (the ceilings of outdoor rooms such as your city streets) and select “Fake Backdrop” in the texture properties.

f)        Check it out in game and notice that you see the sky from the view of the sky zone object.

g)      Go back and paint your fake backdrop surfaces with the “BF” blank texture.  Since we won’t ever see those textures anyway, might as well save the engine some work.

h)      Paint your skybox all stars with the texture “STARSA01” in the “T3_SKYSTUFF” texture group.

i)        If you do the whole thing wrong somehow, bad settings, multiple SkyZoneInfo’s, etc, you may see “Hall of Mirrors” effects in your sky areas, or you may have all your lights winking out when you peer heavenward.  Just know that those are symptoms of messed up skyboxes.

 

2)      SKYBOX POTENTIAL   (xv. skybox)

[summary]

a)      You can put anything in the skybox room you made, including AI, and be able to see it in your fake backdrop surfaces.

b)      If you want some clouds, there are cloud object meshes you can add right around the camera point and put in some very small radius dim blue lights to light up sections of cloud for a good effect.  Try “CloudDomeB01” right in the main mesh folder.  Other good meshes are just below, including various “SKY…” meshes and a few others.

c)      The skybox will show every angle you can see, so if you set a floor surface to “Fake Backdrop”, when you peer down into it you’ll see whatever is in the floor of your skybox room (whatever is below your SkyZoneInfo camera).

d)      There are a lot of possibilities, including such views as the whole flowing misty ocean view you see in Docks and from the Seaside Mansion with water, islands, etc.  You can see those by loading those maps in the editor and experimenting with the settings.  Have fun!

e)      Keep in mind that whatever is in the skybox is constantly and always rendered by the engine even if you’re not looking at the sky, so don’t go crazy with lots of big meshes and lighting and stuff or you will feel the wrath of unstoppable and constant low frame rates!

 

 

 

XVI.   WATER AND FOG

 

1)      WATER IS GOOD   (xvi. water and fog)

[summary]

a)      Water is fun.  Water sounds cool.  Water adds to the atmosphere of a mission.  Let’s add water!

b)      At least, let’s add some shallow fake water (the lack of real water in Flesh is certainly its biggest flaw).

c)      We won’t be doing any deep “death water” (I hate that stuff) like you find in some OMs, but you can learn that on your own later if you want.

 

2)      WATER MESH   (xvi. water and fog)

[summary]

a)      Go down to the lower section of your sewer room.  Static Mesh Browser” – “Nature” – “WATtile512x512.

-         You can choose among the other WAT meshes if you want.

b)      Change the texture to “WaterSheetA02”.

c)      Create the mesh and stick it down near the floor, about 16 or 24 units up (two or three squares up on grid 8) so that it’s ankle deep or a bit more.

-         It doesn’t matter if most of the water mesh sticks into nothingness on the sides, so long as the area you need gets covered.  If one mesh is not enough, add another one.

 

3)      WATER VOLUME   (xvi. water and fog)

[summary]

a)      Now you need to tell the game to pretend there’s water down where your mesh is (the mesh is just for looks).

b)      Bring back your builder brush nearby, “Cube” it, and click on “Volume” (the blue cube) and select “ShallowWaterVolume”.

c)      Move the builder brush away again and select the volume brush you just made.

d)      Shape and position it so that the bottom is right on top of the water mesh, the top is near the top of the lower sewer brush (to be over Garrett’s head when he’s down there), and the sides line up evenly with the lower sewer walls.

-         Because it’s a volume brush it can overlap or intersect other BSP brushes and it’s okay.

 

4)      FLOW   (xvi. water and fog)

[summary]

a)      Add to the water mesh the property “Render” – “Texture Pan”, and adjust the TexturePanX and TexturePanY settings (.1 or .2 for slow lazy water) to create a “flow” (just for looks, nothing with the physics or interaction).

 

5)      WATER THOUGHTS   (xvi. water and fog)

[summary]

a)      There doesn’t seem to be any way to turn off your footsteps on the surface under the water, so depending on what texture you’re using you might hear the crunch of dry gravel combined with the splish splash of water.  This is exactly what happened in the Pagan Tunnels OM.

-         The only way to fix it is to use a different, less noisy texture, so that you mostly just notice the water sounds, or whose sound compliments the water sound nicely.

b)      The water volumes don’t always work right for some reason, so you may have to rearrange your tunnel layout or exact placement of the volumes.  They’re very picky

-         In the Pagan OMs they had the volumes extending down 8 units below the water surface, but set the “Water” – “SurfaceHeight” to “16” which placed the water splashes about 8 units above the water, but it looked okay and maybe that arrangement helps.

c)      The lack of real water in Flesh doesn’t mean you have to weep and wail and avoid all water.  Adding some shallow water and [gasp] “death water” can still add to the atmosphere and mood of your mission, giving it a nice drippy wet or maritime feel.  It’s not a total loss, so just buck up and make the best of it!

 

6)      FOG CAN BE GOOD   (xvi. water and fog)

[summary]

a)      Sometimes a mission can really benefit from a little fog or, on rare occasions, a lot.

b)      Because you can only set “distance fog” for the whole level, you will have to be sure it is appropriate for every location you have, and if not, it may be best not to use it at all.

c)      Fog will also seem to “light up” the distant areas, and then when you walk up to them they are darker and harder to see than when you were 40 feet away!  Beware of this side effect and tweak your settings to minimize it if you can.

d)      Fog also will slow down performance a little, so it might not be worth it if it’s not necessary.

e)      Keep in mind that adding fog just to make your map “awesome” is probably a bad idea.  Make a great map and you don’t need to rely on fog to add to the atmosphere.

f)        But sometimes fog really is very appropriate and would not be a copout at all.  Use it as a tool in good judgment, not as a crutch to make up for lack of creativity.

 

7)      ADD FOG   (xvi. water and fog)

[summary]

a)      This map certainly doesn’t need fog, but let’s add a little anyway for practice, and it will probably look good as well.

b)      Go up to “View” – “Level Properties” and expand the properties

c)      Expand “ZoneInfo” and set both “bDistanceFog” and “bFogZone” to True.

d)      Expand “ZoneLight”.

e)      Select “DistanceFogColor” and click the “…” to change it to a darker grey for a more subtle fog effect.  You can temporarily try it on pure white to see the garish look it gives!  You could also choose any other color you want, the choice is yours.

f)        Our map is pretty small and has small sections, so change “DistanceFogEnd” to “3000”

g)      Change “DistanceFogStart” to “300”

h)      That’s it, try it in game, and adjust the distances or color as desired.

-         To make the fog transition look smoother, set the End number higher or the Start lower (you could have a stupid wall of fog by setting the Start and End to the same number).

-         If you are adjusting the color, make sure you are adjusting the fog color and not the ambient color above!  If you are trying to make drastic changes and nothing is happening, that might be what you were doing.

i)        If you notice problems with surfaces looking bad in fog, you might have to redo some of your brushwork and try it again.  If you can never make it look good, you might have to give up on fog and turn it off!

 

 

 

XVII.   DETAILING AND OPTIMIZATION

 

1)      GOOD SO FAR   (xvii. detailing and optimization)

[summary]

a)      Okay, your level is coming along really well at this point!

b)      In this section I just want to give you some suggestions and hints about how to add some more details and improvements, plus a few instructions on tweaking your map for efficiency and performance.

 

2)      LIVEN UP THE SEWER   (xvii. detailing and optimization)

[summary]

a)      First of all, go back through your map and add some more architectural detail to the sewer section.

b)      You might carve some long upward sloping small tunnels for additional water inlets, and position them on a couple sides of the main sewer room.

c)      Put grate covers (“WorldObj” – “Moving” – “Hinged” – “SpecialHinged” – “GenVent”) over the holes for good effect.

-         To make the grates unfrobbable set the “Highlight” – “HighlightDist” property to “0”.

d)      Add lights up in the tunnel shining down (“FleshLightType” – “FL_Spot”) and adjust their brightness, color (bluish), and radius until they look good but don’t go too far (lights that go too far are taxing on the engine).  You’ll have to point them accurately as well.

e)      You could carve out little water grooves from the water inlet tunnels in the floor and leading to the lower sewer section.

-         Cover the grooves with more grates laid horizontally (you can embed them down into the main floor level a little, using a small grid size like 2 or even 1).

-         If the grooves are shallow enough, AI will be able to walk over them on the grates without a hitch.

-         You might want to set the “Render” – “CastShadows” property to “ShadowCasting_False” on all the grates to cut down on engine work.

-         Add another spot light on each grate entrance with a blue barred-window light-texture to give the effect of the grates causing lined shadows.

f)        You could add “Meshes” – “PIPE_ELECTRICAL-MECHANICAL” – “DOCxDrain01”, carve out a BSP spot for it, and stick it in.

g)      Other things to look for and add might include utility lights set with dim red light, various pipes, water drip effects, smoke/steam, or a hundred other things.

h)      Just add stuff even if you don’t know what you’re doing.  The area will start to come to life and you’ll start being pleased at the results.  After a while, you may decide some things don’t go well, so just delete them, no problem.

i)        Remember that you can re-skin any meshes or actors to match the surrounding BSP (see “XIV. Texturing”), so don’t let a specific mesh’s lack of textures put you off.

 

3)      LIVEN UP THE CITY   (xvii. detailing and optimization)

[summary]

a)      Back in the section “XII. Ramps, Stairs, and Ladders” I had you carve out the basics of a city section.  Head back up there and flesh it out

b)      Build in a store! (We’ll use it as part of the storyline when we do readables and objectives later)

-         You can just carve out a doorway in one of the city area walls, then carve out interior rooms for the store rooms

-         Add a small office where the owner would keep his books/records

-         Have an area with counters/shelves of things to buy

-         Lock the front door and set it to be pick-able

-         And whatever else you want

c)      Add any other things you want to your city area, such as a few building fronts carved out, fake doors, street lamps/lanterns, benches, gutters, corner meshes, overhangs, gates, sign posts, plants and hedges, whatever.  Even more stuff to consider might include various décor, skybox “fake backdrop” textures, rooftop profiles, pipes, wagons, debris/junk, windows, etc.

-         Keep in mind that static mesh browser objects can’t be moved or interacted with, whereas actor class browser objects can be, but are more taxing on the processor and could lower frame-rate (but usually not much)

d)      Open up a city section or two in the editor (“Stonemarket1.gmp” is a good example) and look around for some ideas on what meshes to try out or how to set up the brushwork

e)      Perhaps add a grate or two at the top of the ladder hole area (that leads down to the sewer), or make the ladder come out to a small grate room just below the street or into a pump station or whatever you can think of.

f)        Spend a few hours making a nice looking city.

g)      Be brave and just toss a bunch of junk in there, you’d be surprised how little bits of “nothing” can just seem to add life to a scene.

-         Tip: Don’t be afraid to use a mesh only for a small part of the mesh, burying the rest of it in the wall or ground or something.

-         Don’t be shy when doing this whole process, go ahead and get messy!  You can always clean up later, and being a bit reckless can get the creative juices flowing.

 

4)      QUICK ACTOR SELECTION   (xvii. detailing and optimization)

[summary]

a)      Here’s a handy trick you can do when you want to add something similar to an actor object you already have in your map (such as a different AI), but don’t want to have to expand the branches of the browser all the way down to it again.

b)      Have the “Actor Class Browser” open (it doesn’t have to be open, but you can see the results best when it is), then right-click on the object you already have in your map, and click “Select Archetype: ______ in Browser”.  Now your actor selection in the browser is in the neighborhood already and you can quickly find the new object you wanted.

 

5)      NAVMESH OPTIMIZATION   (xvii. detailing and optimization)

[summary]

a)      Select the surface properties and check “Do Not Add to NavMesh” on all BSP surfaces where the AI will never walk, such up on high ledges on buildings and in your skybox room.  Think of small areas too, such as under pipes, in sliding door cracks, etc.

b)      Tweak/block NavMesh around edges of ramps so AI doesn’t try to go up the shortcut and get stuck.  You can place small narrow blocking volumes on the edges at the top and bottom.

 

6)      FRAME-RATE HELP   (xvii. detailing and optimization)

[summary]

a)      If you don’t pay attention, pretty soon you’ll probably find that your frame-rate in some areas gets pretty low.  There are a few things you can do to help raise it up some.

b)      Remember to turn off shadowcasting on all BSP surfaces, as mentioned earlier in “XIV. Texturing”.

-         In the menus select “Edit” – “Select All Surfaces” (or hit Shift+S) to highlight them.

-         Right-click on one, open the “Surface Properties”, and check “Do Not Cast Shadows”.

-         Even when there is NOTHING behind a wall, the engine will calculate the shadow in that direction, so you can see how turning them all off would help.

-         But this looks very bad in some places such as where a wall corner certainly should cast a shadow or torch light is obviously streaming through solid granite, so just go back and turn on the shadowcasting one surface at a time where needed.

c)      Make sure you have added wisely placed zone portals, and don’t forget to select “View” – “Show Zone Properties Dialog” so the editor can add the “Zone Properties” for any new ones you’ve made.

d)      Try not to have many shadowcasting lights visible in the same area.  Here are some options:

-         Remove some and rearrange the others

-         Turn some into “OmniNoShadow” lights

-         Lower the light radius setting

e)      Turn on shadows for meshes only if you have to, or move the mesh into or up to the edge of a darker area and turn its shadow back off since now it won’t be missed.

f)        Turn off the fog.

g)      Rebuild the area to be more twisty with smaller view areas

 

 

XVIII.   SOUND

 

1)      SOUND ADVICE   (xviii. sound)

[summary]

a)      Things sounding dull in your map?  Boring and quiet?  You need to add some sounds!  Trust me, good sounds affect the player enjoyment and immersion more than you might realize.  Graphics hog the spotlight, but sound is almost just as important.

b)      Be subtle and appropriate with your sounds, don’t go hog wild or all funky, or you’ll ruin the mood.

 

2)      AMBIENT MUSIC   (xviii. sound)

[summary]

a)      Ambient music is rarely what you would normally refer to as music.  Usually it consists of distant tones, repeating minor harmonies, and the sort, and can be mixed with real world sounds that fit the area such blowing wind or echoing dripping water.

b)      In Thief, ambient music is best used to set a dark or mysterious mood, build tension, and keep you holding your breath as you sneak around.  It should not be overpowering or too distracting.  You want the average player to be affected the by the ambient, but not even realize it’s there without stopping to think about it.

-         Jarring circus band music, for instance, would lead a player to say “What the freaking crap?”, severely breaking the game play immersion (unless you’re thieving from a haunted carnival and the music has nice evil overtones, in which case it might actually work).

 

 

====== ROUGH BELOW, UNFINISHED, MAY BE INACCURATE!!!  ======

 

 

3)      ADD SOME AMBIENT MUSIC   (xviii. sound)

[summary]

a)      Select the ZoneProperties actor in your first basement room.  Open its properties and add the property SoundStreaming” – “StreamSchema1.

b)      Click the “…” to open the SchemaBrowser.  Go make a sandwich because it will take FOR-E-VER the first time.  Seriously, your computer may even start to think it’s “not responding” but just wait a really really long time and it will finally be okay.

c)      Find and select the schema you want (_______), then exit the browser (EXIT) and select “Use” in the properties window.

d)      When you try it in game it should play the schema forever, even when you go into another zone.  Also notice that the music seems to come from everywhere, rather than any one particular spot.

e)      Try moving your starting point outside the basement room.  Now when you try it in game it starts out quiet until you first enter the basement, then it plays the schema forever after that.

 

4)      OTHER AMBIENTS   (xviii. sound)

[summary]

a)      If you add a different ambient to another zone (even a far away zone) in the same slot (“StreamSchema1”), it will change to that ambient until you go back into the basement room when it will change back.

-         Try it by putting an ambient on one of your city street zones.  Notice that the in-between zones don’t have any effect, because they don’t have any settings to force a change

b)      If you set a sound slot to “Silence” then it will turn off any ambients from other zones for that slot (such as the slot “StreamSchema2”)

c)      If you add a Non-Stream Schema ambient, it will play until it gets turned off, but will never come back on again.  So streaming ambients will restart if you re-enter the zone, non-streaming ones won’t.

d)      Each ZoneProperties actor can hold up to two streaming and three non-streaming ambients.

 

5)      AMBIENT LIST   (xviii. sound)

[summary]

a)      Some ambients are more “musical” while others are more environmental.  Experiment and mix!

b)      Here are some good ambient schemas that are more environmental:

-         amb_start              the level starting sound, one-shot

-         m02wind               deep booming wind, ideal for large, empty buildings

-         m05ocean              ocean, lapping waves

-         m08heartbeat        grinding sound with beat

-         m08hollow                        midrange tone, quite insistent

-         m09wind               wind sound, with bird/animal calls

-         m12murmur          ghostly chattering

-         m13creaks             the creaking ship

-         m13hollow                        similar to m08hollow but slightly louder

-         m13shimmer         high-pitched squealing

<