_-= Wong Chung Bang's =-__________________________________________ / \ | UUUU UUUU EEEEEEEEEE | | UUUU UUUU EEEEEEEEEE | | UUUU UUUU EEEE | | UUUU UUUU NNNNNN RRRRR EEEEEE AAAA LL EEEEEEE DDDDD | | UUUU UUUU NN NN RR RR EEEE AA AA LL EEEE DD DD | | UUUUUUUU NN NN RRRR EE AAAAAA LL EEEEEEEEEE DD DD | | UUUU NN NN RR RR EEEEEE AA AA LLLLLL EEEEEEEEEE DDDDD | | | | E-mail: wongchungbang@hotmail.com -= F A Q v1.0 =- | | | \___ Copyright (C) David Newton ('Wong Chung Bang') 05/05/2002 ___/ Please ask permission before hosting this FAQ. Sites with permission to host: www.gamefaqs.com DLH.net www.neoseeker.com ===================================================================== Versions ===================================================================== V1.1 - Started on 'Further Techniques' - only one section done. V1.0 - Original version. ===================================================================== Contents ===================================================================== -= Section 1 : A First Level =- I. Introduction II. Getting the Editor Started III. The Editor Screen IV. Moving Around V. Basic Building VI. Texturing VII. Lighting VIII. Rebuilding IX. Adding more Detail (using Texture Properties) X. Saving the Level XI. Duplicating XII. Building a Corridor (Moving Vertices) XIII. Texture Realignment XIV. Adding Start Points XV. Testing the Level XVI. Adding and the 2D Shape Editor XVII. Texture Rotation XVIII. Texture Replacement XIX. Pickups XX. Pathnodes XXI. More Building XXII. Deintersecting XXIII. Adding Pillars XXIV. Skyboxes XXV. More Lighting XXVI. Glass XXVII. Conclusion -= Section 2 - Further Techniques =- I. Introduction II. Level Properties ===================================================================== Section 1 - A First Level ===================================================================== --------------------------------------------------------------------- I. Introduction --------------------------------------------------------------------- Welcome. This FAQ is a step by step guide to how to build UT levels. No knowledge is required on your part to start off. After the initial stages where you learn basic things like geometry and lighting, you don't have to use all the sections - feel free to skip parts if they seem too complex, or if you don't want to use them in your level. If you feel that I've missed something, or I haven't explained enough, e-mail me (the address is given at the top of the FAQ). Also, if you want to contribute anything you've written, feel free - your name will appear in a list of contributors. --------------------------------------------------------------------- II. Getting the Editor Started --------------------------------------------------------------------- First, check your version of UT (you can see it in the corner on the main menu). I originally had version 400 of UT, but upgraded to v436 by the patch available from www.unrealtournament.com (if you don't already have this, I suggest you get it). The installation of the editor seems to be strange with this setup - it is supposed to be on the 'Extras' CD, but instead is installed along with the game. Version 436 does two things important to this FAQ - disables the CD check at the start of the game, so you don't have to insert the CD every time you want to test a level, and gives you UnrealEd version 2.0 instead of the standard editor. This editor makes slightly more sense than the earlier version. Create a shortcut to 'c:\unrealtournament\system\unrealed.exe' on your desktop or start menu so that you don't have to open Explorer every time you start the editor. Of course, replace 'unrealtournament' with whatever directory you installed the game in. Run the shortcut to get started. You should see the UnrealEd 2.0 splash screen. After it loads (and this can take quite some time on some computers), you'll be in the editor. If you get a cryptic error message at this point, copy out the error and e-mail me... I can't guarantee anything, but I'll see what I can do. Some people have real problems getting the editor started, so don't think you're alone. --------------------------------------------------------------------- III. The Editor Screen --------------------------------------------------------------------- Provided all has gone well at the previous stage, you'll be in UnrealEd 2.0. Close the 'Browsers' window for now - you don't need it at the moment. I'll explain the rest of the screen. Ignoring the main display at the moment, you can see the standard Windows title bar and menu. Below this is a row of buttons, with basic functions such as Save, Load, Undo and so on. Down the left hand side of the screen are the tools - similar to the tools in Paint. They are arranged in groups for clarity, and you can open and close groups by clicking on the icon at the top right of the group. This area will be referred to as the 'sidebar'. Now to the main display. If you've ever worked with a CAD application this will seem familiar. You have, in order clockwise from top left, the Top, Front and Side windows. These show your level from various different viewpoints, but shown in two dimensions for each window. This makes it easier to line up objects in three dimensions (this might seem unclear now, but you'll get the idea later on). The fourth and final window is the Perspective window, which shows your level from a three-dimensional viewpoint. It has various different modes, which can be changed using the different cube buttons on the top of the window. Leave it at 'Dynamic Light' for now - you won't see a difference if you change them anyway because there's nothing in the level yet. The joystick icons in the top corners of the windows are the 'realtime preview' buttons - if realtime preview is on, the window will update itself constantly even when you are doing something in another window. This is most useful in the Perspective window, but more on these later. --------------------------------------------------------------------- IV. Moving Around --------------------------------------------------------------------- The four windows are easy to navigate. To move around the level in any of the three 2D windows, simply click and hold either mouse button and drag the mouse in the direction you want to move. To zoom in or out, hold both mouse buttons. (If you have a function assigned to both mouse buttons it's best to disable it - set it to F7 if you can't disable it, as this button does nothing) If you zoom out far enough in any window, you can see that you have limited space for building a level. Don't worry about this - the biggest level I ever built took up only about an eighth of that space. If you zoom in you'll see an object near the centre point of the map - this is the camera that the Perspective window is viewed from. The Perspective window itself is slightly more complex than the three other windows, but once you get used to it it works very well. Holding the left mouse button and moving the mouse will move you forwards and backwards and rotate the camera horizontally. If you hold the right mouse button you can rotate the camera in all directions as you would in normal UT. Holding both mouse buttons gives you vertical and horizontal movement without rotating the camera - it 'slides' the camera. If you look at the bottom of the sidebar, you will see an icon that looks like three horizontal lines (you'll need to scroll down if you're in 800x600 mode or below). Hover the cursor over the button to show its name - 'Change Camera Speed'. Clicking on this button cycles through the three speeds of the camera - slow, medium and fast, depending on which line is highlighted. The best way to get used to this, of course, is to practice - don't move too far from the centre for now, though. --------------------------------------------------------------------- V. Basic Building --------------------------------------------------------------------- Now that you know how to navigate the editor, you can get on with building something. In UnrealEd (and most other map building software), 3D shapes are called 'brushes'. Any solid objects that you see in Unreal levels are composed of one or more geometrical brush. To create a cube brush, right-click on the button with the cube on the sidebar. You now have a 'CubeBuilder' window. Here, you can enter the dimensions of the cube you want to build. Enter the width and breadth as 512, and leave the height at 256. Ignore all the other options for now. Click 'Build' to build the cube. You now have a red outline of a cube (not really a cube at all, but that's what the program calls it) in the windows. What is important to remember here is that the cube does not exist as part of the level yet - the red outline is just a 'template' that you can use to add cubes to your level. This template is called the Builder Brush. To move the builder brush around, select it by clicking on it, then hold down Shift and drag it using the left mouse button in any of the three 2D windows. You can see the brush moving around along with the window as you drag. It is possible to move objects in the Perspective window as well, but it can be difficult to see what you're doing. If you want to move a brush around without moving the window, hold down Ctrl when you drag instead of Shift. This is useful for fine- tuning the position of a brush. Move the builder brush upwards in either the Front or Side window so that it rests on the line running horizontally through the centre of the map, and make sure its centre is on the vertial centre of the map in the Top window. You're now ready to subtract the cube from the level. Before we go any further, I'll have to explain what I mean by 'subtracting'. The 'empty' void that you have seen so far is not in fact empty, but a solid block. When you put a room into your level, what you are in fact doing is carving out a shape in this block ('subtacting' the shape from the block). Once you have the room you can then add items and decoration into it. It seems a bit Douglas Adams at first, but you'll soon get used to it (as with most things in the editor). To put the cube into the level, click on the 'Subtract' button. It looks vaguely like this: ________ | | | | _____|... | | | . | | |__._____| | | | | |________| It's in the section of the sidebar with all the other similar-looking icons - on the top right of the section. Hover the mouse to ensure that you've got the right button, then click on it. You are now the proud owner of a cube. (It should have a grey bubble- like texture on it - if you've made a mistake, click Undo and try again). Move the camera into it as described above. As you can see, the default textures look horrible, so the next step is to put the correct textures on the surfaces. --------------------------------------------------------------------- VI. Texturing --------------------------------------------------------------------- If you don't know what textures are, think of them like wallpaper, or painting a room - the texture you use is the 'paint' colour. Open the texture browser window by clicking its icon in the bar on the top of the screen (it looks like a painting of a landscape). Now that the texture browser window is up, click on the 'Toggle Dock Status' icon, which looks like three windows. It's on the left of the window, just below the title bar. What this does is to add the texture browser to the 'Browsers' window that you saw earlier - it makes things easier to work with. You need to load a texture package before you do anything else, so click the 'Open' button in the window (NOT the one on the main top bar). This will give you a list of texture packages (.UTX files) to choose from. Open 'Starship.utx' by clicking on it and selecting 'Open', or just by double clicking on it. You'll be back in the Texture browser, with the new textures added. You will have noticed two combo boxes in the window. The first of these is the name of the texture package you're looking at (Starship at the moment). If you look at the contents of the combo box, you can see other default texture packages - it is possible to use textures from these packages in your level, but they are game textures and it's not really recommended to use them. Stick with 'Starship' for now. The other combo box shows the name of the set of textures within the package. They have names like 'Wall', 'Floor' and so on. Even though they are named this way there's nothing to stop you using a floor texture for your ceiling, or any other combination. The 'All' button shows all the texture sets within the current package, instead of getting you to view them one at a time. This can be useful, but sometimes you get an overwhelming list of textures. For now, we'll stick to the basics and add suitable textures to the level so far. There are two ways to do this, and I'll guide you through both of them. First, making sure you're still on the 'Starship' package, select the 'Floor' set and select the texture called 'SH_GR3'. Now, using your Perspective window (closing the browser or moving it out of the way if you have to), right-click on the floor. It will highlight blue to show it is selected, and a menu will appear. Select 'Apply texture...' from the bottom of the menu. The floor will now be shown as having the texture you selected in the window. To apply the texture for the walls, select all four of them by first selecting 'Select None' from the Edit menu to clear your selection (this is unnecessary but a good precaution) then holding down Ctrl and clicking all four walls in turn. You'll have to rotate the camera to do this, but the selection will remain. When they're all selected, open the Texture Browser again, go to the Wall set and select 'Wall35' (or any other texture of your choice). The selected surfaces will automatically be textured with your choice. Incidentally, if there is a texture selected when you place a new brush object in your level, the object will have that texture by default instead of the grey 'bubble' texture. Use this to save time. Now deselect the walls and select the ceiling. Use any texture from the 'Ceiling' section - I recommend the 'Panel3' texture as it fits with the walls. When you've textured it, deselect everything. --------------------------------------------------------------------- VII. Lighting --------------------------------------------------------------------- At the moment, the level doesn't have any lighting in it. This gives a flat, unshaded look to the level. When you add light sources you can give a level more 'character' - make bright outdoor areas, or dark, gloomy tunnels. For now we'll add a single light to the level. This is fairly simple - all you have to do is right-click on the ceiling and select 'Add Light Here' from the resulting menu (it doesn't have to be on the ceiling, of course). This will give you a light icon in the level. Select it and move it around the level in the same way that you moved the brush. Move it to the centre of the room on the ceiling. When you've got the light in the right place, double click on it to show its Properties. There are a lot of things you can alter, but all we're interested in now are the 'LightColor' and 'Lighting' sections. Expand both of them. The LightColor obviously changes the colour of the light, using an HLS format rather than RGB. Leave it alone for now, and look at the Lighting section. What we're interested in here is the LightRadius. By default it's set at 64, which is usually too high for a normal light. Reduce it to 32, then close the Properties window. --------------------------------------------------------------------- VIII. Rebuilding --------------------------------------------------------------------- You will probably have noticed that adding the light and changing its radius didn't make any difference to the display on the screen. This is because the level hasn't been rebuilt. Rebuilding is a process performed by the computer, calculating how textures should be placed and how they look - nothing you see in the editor is 'real' to the computer. Click on the cube icon at the TOP of the screen, not the one you used before. (Rebuild Geometry). Nothing much has happened from your point of view, but to the computer the textures and surfaces are now 'calculated'. Click on the light bulb icon next to the icon you just clicked on. You'll definitely see a difference now. The computer has calculated how the light affects the textures, and displays them as they would be shown in the game. To show how different the display is, try clicking the Textured cube (fourth from left) at the top of the Perspective window, and then the Dynamic Light (fifth from left) again. --------------------------------------------------------------------- IX. Adding more detail (using Texture Properties) --------------------------------------------------------------------- Now you have a light, but a light doesn't look good just on its own. You have to add somewhere for the light to come from to give a convincing effect. We'll do this now. Right-click on the Cube Builder icon again (on the sidebar), and enter the dimensions as Height 32, Breadth 64 and Width 64. Click 'Build' and then move the cube to the top centre of your room, so that the builder brush is 'resting' on the top edge of the room. To get it aligned properly with your ceiling, you'll have to reduce the grid size. It's in a combo box in the lower right of the screen - select '8' and move the builder brush to the correct position. Before you subtract it, select 'Ceiling' from the Ceiling set using the Texture Browser. Subtract the cube, then set the grid size back to 16. You'll notice that the cube has defaulted to the texture you selected, as mentioned earlier. The cube has also joined on to the larger cube you subtracted earlier to become part of the room. This is the beginning of a light sunk into the ceiling. However, the texture on the edge of the smaller cube is too large - you can see only half of it on each side. To correct this, select all the textures on the edge (either move the builder brush out the way or press 'B' to hide it if it gets in your way). Right-click and select 'Texture Properties' (it should say '4 Selected' by the side if you've selected all the textures correctly). Ignore all the flags for now, and select the 'Alignment' tab. Enter '0.5' in to the 'Simple:' box in the Scaling section, then click Apply. You'll see the textures resizing. Click on Hide once you've finished. Now we need an actual light texture. The package called 'UTTech1' has some very good lights in it, so we'll use one from that. Open it up in the Texture Browser (select Open/UTTech1) and go to the Light set. Select the texture called 'RCLIFLT1' while you have the top of the small cube selected. Again, the texture is too big, so select the surface and go in to 'Surface Properties' again. Try clicking the Apply button next to 'Simple:' with the 0.5 value again. You'll see that while the texture is fine in one direction, it's still too big in the other. We need to use U and V scaling to sort this (V is Vertical, U is Horizontal. Don't ask me why.) Enter 0.25 as the U value and 0.5 as the V value, then click the nearby 'Apply' button. Don't worry about 'Relative' for now. You can see that the light now looks correct, but there's one more thing to do to it. The light texture has to look as if the light is coming from it. Therefore, the texture should be brighter than the textures around it. To do this, select the 'Flags' tab for the light texture and check the 'Unlit' box. This might imply that doing this will cause the texture not to be lit at all, but instead it does the opposite - the texture is unaffected by lights and is instead displayed at normal brightness. You might want to move your light up slightly into the cube we created for the light. We need to rebuild again to take the changes into account - this time, click the button with both the cube and the light bulb. This rebuilds everything in the level. --------------------------------------------------------------------- X. Saving the level --------------------------------------------------------------------- Now would be a good time to save - UnrealEd is very unstable, especially when you're using the more complex elements. Saving is carried out in the same way as any other Windows application. Either select 'Save' from the 'File' menu, or click on the disk icon at the top of the screen. You'll have to enter a filename for your level when you save for the first time. A word about filenames: Unreal Tournament looks for prefixes on a file name to determine what kind of level the file contains. The prefixes for the default levels are: DM = Deathmatch DOM = Domination CTF = Capture the Flag AS = Assault We're going to be using this level as a DM level, mainly because they're the easiest level to create. Enter the filename as 'DM- Tutorial' or something similar (of course, if you don't intend to play this level in the regular game, just enter 'Tutorial' and it won't show up in the file list in the game). --------------------------------------------------------------------- XI. Duplicating --------------------------------------------------------------------- Now that we have one basic room, we can duplicate it like many other things in Windows. On the Top 2D window, select all three items we've put in the level so far (the two cubes and the light) by holding down Ctrl and clicking on them. You'll have to move the builder brush out the way. When you have all three selected, go to the Edit menu and select Duplicate (or press Ctrl+W). You now have an exact copy of the room. It is by default shifted 16 units along the X and Y axes. Move them over to the left of your original room, leaving two large squares of space between the right edge of the new room and the left edge of the original room. Make sure that the rooms are aligned correctly on both other axes (the two rooms will appear to merge together on the 'Side' window when it is selected). When they're aligned, deselect everything and rebuild all again. If you look at the level from outside a room using the Perspective window, you can see that there are now two rooms. However, there's no corridor connecting them, and this is what we're going to build next. --------------------------------------------------------------------- XII. Building a Corridor (Moving Vertices) --------------------------------------------------------------------- We've only used cubes so far, but we'll use a more irregular shape for the corridor. However, the basic shape we need is still a cube, so construct a cube with dimensions Height 160, Width 128 and Breadth 256. Drag the builder brush into the centre of the gap between the two rooms on the 'Top' window. If you can't see it, press B to show it. Remember that we're working in three dimensions, so you need to drag the corridor down in one of the other 2D windows so that the bottome edges of all the cubes are aligned with each other. We could build the corridor as a cube, but as mentioned above we're going to change the shape of the corridor before it is put in the level. Zoom in closely to the builder brush on the 'Side' window. Click on the vertex of the cube on the left (corners are called 'vertices' in three dimensions). A 'crosshair' will appear on the vertex to show it is selected. Now hold down Alt and using the left mouse button drag the vertex two grid spaces to the left. Do the same for the vertex behind this one, then move across to the other side of the cube and drag the two vertices two grid squares to the right. On the 'top' window you'll see the result of moving the vertices as viewed from the top - the brush will appear to have two edges on each side. Look at the builder brush in the Perspective window and you'll see it has an irregular shape. Go back to the Textures browser and select 'Wall35' from Starship/Wall again, then subtract the cube. You'll have to reselect the textures for the ceiling and floor for the corridor. Use 'SH-GR3' for the floor and 'Panel3' for the ceiling as before. You now have to rebuild the level and save. --------------------------------------------------------------------- XIII. Texture Realignment --------------------------------------------------------------------- Don't let the title put you off reading this chapter. All it means is lining up the textures so that they look seamless - if you move the builder brush away from the corridor you just created and look at the floor, you can see that the textures don't line up with each other, and there is a 'seam' on the floor. Fortunately this is easy to correct. Deselect anything you might have selected, then right-click on the floor anywhere and go to 'Select Surfaces/Adjacent Coplanars' (or press Shift+C). This selects all the textures that are on the same plane as the texture you selected. If you look around now you'll see that all the floors are selected. Right-click and go to 'Texture Properties' again (3 should be selected). Click on the 'Alignment' tab and click on the 'Align to floor' button. That's all you have to do - the textures will now be aligned with each other. Close the properties window. You'll notice that realigning the textures has cancelled the light effect on them - to correct this, rebuild the level again, then save. --------------------------------------------------------------------- XIV. Adding Start Points --------------------------------------------------------------------- To make the level playable, you have to add places for the players to start at. These are called 'Playerstarts', appropriately enough. Open the Actor Browser (the chess pawn icon at the top of the screen) and dock the window as you did the Textures Browser. You now have a browser window with two tabs - Textures and Actors. This is easier to work with than two separate windows. Click on the plus sign next to 'Actors' to expand the tree. Look for 'NavigationPoint' and click on the plus sign again, then click on 'Playerstart' to select it. You can now select 'Add Playerstart' from the right-click menu. Close the browser window and add a playerstart in each room by right- clicking near the centre of the floor and then selecting 'Add Playerstart'. The default direction for a playerstart is East - this is fine for the left room, but in the West room you would start facing a wall. To correct this, go to the 'Top' window and click on the Playerstart in the right hand room. You will see an arrow facing East pointing from it. To rotate it, hold down Ctrl and the right mouse button and drag the mouse around until it's facing roughly West. You now have a level with two rooms and a connecting corridor and two Playerstarts. It's a very simple level, but there's enough there to test. --------------------------------------------------------------------- XV. Testing the Level --------------------------------------------------------------------- This is probably what you've been waiting for - running the level in Unreal Tournament. Before you do this, though, rebuild the level and save. Sometimes UT can crash while exiting back to the editor. When you've rebuilt and saved, click on the joystick icon at the top of the screen next to the rebuilding buttons. It's best not to have bots in the level at the moment, as it's too small and there are only two playerstarts. If you have bots as default, start a new practice session with 0 bots then exit and reload the map. Explore what you've made, then exit UT. --------------------------------------------------------------------- XVI. Adding and the 2D Shape Editor --------------------------------------------------------------------- I mentioned Adding a while ago - this is the opposite of subtracting, as you might imagine. Adding puts solid objects back into the map after an area has been subtracted. I'll describe how to make a 'raised' section of wall. We could do this by adding a cube, but this would leave 90 degree edges, which generally don't look good. To create a more complex shape we can use the 2D Shape Editor. Open up the 2D Shape Editor by clicking its icon on the top bar (it looks like a triangle with marked corners). The Editor will open - you should maximise it to get a better view. At the moment you have a square. The green smaller square is the pivot of rotation of the polygon - if you don't know what this is then don't worry about it for now. You can change the number of vertices on the shape, but it has the right number of sides for now. Count where the darker grey lines cross as the origin (0,0) and click and drag the four vertices to these points: (-2, 4); (-2, -4); (2, 6); (2, -6). You should now have something resembling this: /| / | | | | | |[]| | | | | \ | \| Now that you've got the basic shape, you need to make it three- dimensional. Click on 'Process/Extrude' then set the depth to 256 and click OK. What this does is create a prism with the ends the same shape as the polygon you drew in the 2D Shape Editor. Close the Editor for now. Rest the builder brush on the inside side of the room on the right in the 'Top' window (make sure it's aligned with the room correctly in the other windows as well, remember). Select the 'Wall35' texture as before and click on the Add button. It is to the left of the Subtract button. You'll notice that subtracted brushes are drawn in brown while added brushes are blue. This helps to distinguish between them. If the Playerstart you put in the level earlier is inside the added (blue) brush, move it away. Players can only exist in subtracted sections of the level. --------------------------------------------------------------------- XVII. Texture Rotation --------------------------------------------------------------------- As you can probably see, the wall textures have appeared at 90 degrees to the vertical on the added brush. Correcting this is again fairly simple. Right-click on one of the surfaces of the brush you just added, and go to 'Select Surfaces/Matching Brush'. This is a quick way of selecting all the surfaces on one brush. Right-click and select 'Surface Properties' then go to the 'Alignment' tab. Hold down Shift and click on the '90' button (this rotates the texture anticlockwise 90 degrees). Then click on 'Wall Pan' in the 'Alignment' section to correct the seams on the textures in the same way as you did the floor. Rebuild the level and save again. --------------------------------------------------------------------- XVIII. Texture Replacement --------------------------------------------------------------------- Select 'Textured' mode (fourth cube from left at the top of the Perspective window). If you're ever working in an area with not a lot of light it's often easier to see what you're doing in this mode. It doesn't affect the actual level in any way. Replacing the textures in the level can completely change the 'feel'. The textures used so far have been metallic - we're going to change the level into something similar to DM-Stalwart. To do this, first look in the 'UTTech1' texture package. If you've saved and exited at any point, only the textures used in your level are loaded, so reload the package. Look in the 'Walls' section and select the 'ClifBrk3' texture (make sure you don't have anything in the level selected first). Now right-click on any wall and go to 'Select surfaces/Matching Texture'. All the walls with the same texture as the one you clicked on are now selected. Right-click again on any of the selected surfaces and select 'Apply texture'. The metallic walls will now be replaced with the brick texture. Do the same for the ceiling - this time use Ceiling/NMCeiling5 as the texture. Select all the ceilings ('Matching Texture') and apply the texture. After this repeat the same process for the floor - I recommend using 'Floor/BMFloor2', but you can use whatever you like. If you go back into Dynamic Light mode (fifth cube from left), you'll see the different effect that the new textures create. --------------------------------------------------------------------- XIX. Pickups --------------------------------------------------------------------- To make a decent level, you need to think about where your weapons, ammo, health and other pickups will be placed. For example, a Shield Belt in the middle of the main room of a level isn't good item placement - you should make the player go slightly out of the way to get the best items. The exception, of course, is in DM-Pressure, where all the powerful items (Shield Belt, Damage Amp, Rocket Launcher) are placed in one room, but you have to take a risk to get them. It's your choice where you place the items in this level, but I'll give my recommendations again. Placing items is similar to the way you placed Playerstarts. Open the Actor browser, then open the tree Actor/Inventory/Weapon/TournamentWeapon. You're given a list of weapons from Unreal Tournament, but some have different names from what they're called in the game. ChainSaw : Chainsaw (usually you only start with this with the mutator on.) If you pick it up in-game you get a strange message that hints at Doom - "It's been five years since I've seen one of these". <Ý-) enforcer : Enforcer (you start off with this, so it's unusual to have it in a level. Under 'enforcer' is 'doubleenforcer' - don't place this in a level as it has the same effect as picking up an additional Enforcer) ImpactHammer: The Impact Hammer (again, there's no real point in having this in a level as you usually start with it). Minigun2: Minigun PulseGun: Pulse Gun Ripper: The Ripper ShockRifle: ASMD Shock Rifle (under this is 'SuperShockRifle', which is the weapon from InstaGib mode. It's not recommended to place this in a level as it has infinite ammo and kills any player instantly.) SniperRifle: Sniper Rifle Translocator: Translocator (again, you wouldn't usually use this) Ut_biorifle: Bio Rifle UT_Eightball: The rocket launcher (it was called the Eightball in Unreal, but obviously was changed for the sequel.) UT_FlakCannon: Flak cannon WarheadLauncher: The Redeemer! Place a Pulse Gun in the Northeast corner of the East room, inside the alcove. To do this, select PulseGun and right-click where you want to place it, then select 'Add PulseGun Here'. You can move it around in the same way as other objects once it's placed. Now that you have a weapon you need ammo for it. The ammo is in a rather awkward place, in Actor/Inventory/Pickup/Ammo/TournamentAmmo. Place a couple of PAmmo in either the same alcove, or the one to the South if you want to delay the player a bit. You have a weapon, now place a few health items around the level. They are in Actor/Inventory/Pickup/TournamentHealth. Healthpack: The Big Keg O' Health. HealthVial: Health Vial +5 MedBox: Medbox +20 You could place a few health vials in the corridor, and a couple of medboxes in the West room (note that this is too much health for such a small level, but this could become part of a bigger level). The health vials look better when they're lined up, so adjust their positions using the Top window. Incidentally, the 'special' pickups such as Shield Belt, Damage Amp and Invisibility are in Actor/Inventory/Pickup/TournamentPickup. The only thing worth mentioning here is that Stealth gives PERMANENT invisibility. --------------------------------------------------------------------- XX. Pathnodes --------------------------------------------------------------------- Bots are 'blind' to walls and surfaces, and rely on navigation points to move around. They move through the level between points unless they encounter an enemy. Using navigation points is like a simple way of programming bots, and showing them where lifts and other special areas are. To make the level suitable for bots, we're going to add some of these navigation points. You've already used one, of course - the Playerstart. It shows bots (and in this case players) where to start. The next simplest navigation point is the Pathnode. As said before, bots can't 'see' walls in your level, but they can work out routes through it if you place pathnodes to guide them. The pathnode is under Actor/NavigationPoint. Select it then add a pathnode anywhere on the floor in your level. Don't ask me why Epic chose to use an apple as the icon. I get a lot of people looking over my shoulder asking 'What are those apples?' when I'm making levels... anyway, pathnodes should be placed around the level to form a path for bots to follow. Pathnodes are unnecessary near items because bots can recognise items in the same way as pathnodes. It's best to place a pathnode at each end of the corridor rather than just one in the middle. Also add a couple of pathnodes in each room so that the bots can follow a few different paths. Rebuild the paths. (Use the button that looks like a network next to the Rebuild All button). You'll have got a window saying 'Adding reachspecs...' but nothing will have happened from your point of view. To show the paths that were calculated, right-click on the title of any view window ('Top' and the Perspective window are the most useful) and go to View/Show Paths. If you see a crucial area not accessed by paths, add a pathnode there and rebuild again. (An example would be no paths going in to or out of the corridor). Don't worry about the corners of rooms and so on. Once you're happy with the paths, select 'Show Paths' again to hide the paths, as they tend to get in the way when you're editing normally. Try rebuilding, saving and testing the level now. To add a bot, press TAB to get the quick console up, then type 'Addbots 1'. You should see that the bot moves semi-intelligently around the map. --------------------------------------------------------------------- XXI. More Building --------------------------------------------------------------------- By now you should know how to create basic rooms and add more detail to them. It's largely up to you how you continue with the construction of the level, but there are still more things to learn about the Editor. It's probably better to stop here for a while and try building some simple levels for yourself, using the techniques already taught here. Your first few levels won't be that great, but it takes practice to build a good level. When you think you've practised enough, come back and read more of this. You don't have to follow the guidelines exactly from now on. We're now going to try building a sloped corridor to the North of the west room. Duplicate the corridor you built earlier by selecting it, then going to Duplicate on the Edit menu. Move it away from the rest of the level. Of course, it's pointing in the wrong direction. You can rotate brushes in exactly the same way as you rotated the Playerstart a while ago - hold down Ctrl and right-click and drag. Align the corridor so that it is pointing from North to South, then place it so that it comes out from the North wall of the west room. To make it slope upwards we need to adjust the vertices again. Save before you do this, as the editor is prone to crashing if you drag two vertices on top of each other by mistake. Use the 'Side' window to drag all four of the vertices on the left hand side upwards four grid spaces each. Look in the Perspective window - you'll see the sloped corridor's outline if you have the brush selected, but no surfaces or textures. You need to rebuild the level so they are calculated. Once that's done, we're going to attempt to build a more complex room. It's difficult to describe, so I'll explain it in sections. First, create a cube with dimensions H256, W768, B512. Subtract this when it is directly to the North of the west room (at the North end of the corridor). Make sure that it is aligned vertically with the high end of the sloped corridor. Give it the same floor, wall and ceiling textures as for the rest of the level. Now create another cube, this time with dimensions H256, W256, B768. Subtract this when it's on the East side of the cube you just added, at the North end. (A diagram would make things clearer...) ______________________________ | | | | | 2 | | |____________________| | 1 | | | | | | | |_________| || || || || <-- Corridor to West room Subtract the brush to get a corridor jutting out from the new room. That's not what we want the end result to be, but as we build the rest of the room it will change. Make a third cube: (H256, W512, B256). Move it to location 3. _______________________________ | | | | | 2 | | |____________________| | 1 | | | | | | | 3 | | | | |_________|______| || || || || <-- Corridor to West room Don't subtract it yet. This brush is going to have a slope down to a lower level of the room. After making sure that the brush is aligned horizontally, go to the Front window and move it upwards so that you can see it more clearly without the rest of the level in the way. Pull down the lower right vertices four squares -the same number of grid spaces as you pulled up the sloped corridor (so that the bottom of the slope is on the same level as the first room you built). Don't adjust the top vertices as we want to keep the ceiling at the same height. The fourth and final cube to subtract is shown in location 4. _______________________________ | | | | | 2 | | |____________________| | 1 | | | | | | | | | 3 | 4 | | | | | |_________|______| | || || |_____________| || || <-- Corridor to West room Note that it juts out past the edge of cube 3. The dimensions to use are (H320, W704, B512). Make sure it's aligned correctly in every direction (the edge of brush 4 should be only a few spaces away from the North wall of the first room you built) and then subtract it. Put the correct textures on all the surfaces if you haven't been doing this already. The result of subtracting those four brushes is a room with a platform running along the North edge and a lower section in the South, with an E/W ramp connecting them both at the West side. --------------------------------------------------------------------- XXII. Deintersecting --------------------------------------------------------------------- As we're not going to be separating these four brushes or using them separately, it's best to 'group' them together so that the room is a single complex brush. To do this, first move all four brushes together (Ctrl-Click them) and move them well away from the rest of the level. Rebuild geometry only (Cube icon). Now create a cube (H512, W1024, B1536) and place the builder brush so that it completely encloses the room - make sure NOTHING except the room is enclosed by the brush. What we're going to do is deintersect this brush. Deintersection is difficult to explain. The best analogy I could come up with is this: Imagine a balloon placed at the centre of the builder brush. Air is pumped into this balloon until it fills the area enclosed by the builder brush entirely, covering all the surfaces and taking their shape. Deintersect the brush now. The icon is under the Subtract button. .......... : : : : ......:__ : : | | : : |__|.....: : : : : :........: The brush will have taken the form of the room. Subtract this new brush while it is in the location where the four brushes originally were, then delete all the four original brushes that made up the room. Rebuild again. You don't need to use this just now, but Intersecting is the opposite of deintersecting. The button for this action is to the left of the Deintersect button (under the Add button). In Intersection, the builder brush acts like a plastic bag having the air pumped out of it, and will take the form of any geometry within the area enclosed by it. --------------------------------------------------------------------- XXIII. Adding Pillars --------------------------------------------------------------------- Of course, this room is a bit plain. Supporting pillars would provide some decoration, and they could also be used as cover in the game. Make a cube (H256, W64, B64) and, using the texture 'PillarPln' from UTTech1/Pillar, add it near the top of the ramp (on the flat surface, otherwise it won't look realistic). Drag the builder brush over and add another pillar near the end of the flat platform. Finally, make a cube (H320, W64, B64) and place this taller pillar somewhere near the bottom of the ramp (remember to adjust the vertical position as well). If you want, add some more pillars, but don't crowd the room too much. Rebuild the geometry once you're finished (build the lights as well if you want, but if you do you'll have to go into Textured mode because there are no lights in this room yet). --------------------------------------------------------------------- XXIV. Skyboxes --------------------------------------------------------------------- Skyboxes are the backdrops you can see on levels with outdoor areas like DOM-Sesmar. They're not part of the level itself, but you can see them as the backdrop. We're going to be creating a simple 'sky at night' style skybox, which is not always appropriate but is the simplest to make. Create a cube with all sides 512, then place it well away from the rest of your level (somewhere where you're never likely to want to build the actual level later) - you can move it once you've created it, but it's easier to just build it in the right place to begin with. Apply the texture GenFluid/sky/NghSky to all six sides of the cube (remember you could always select this texture first and then subtract the cube). Now add a SkyZoneInfo actor inside this cube. This actor is in Actor/Info/ZoneInfo. (Add a SkyZoneInfo, not a RockingSkyZoneInfo). Drag the actor to roughly the centre of the cube. There's one more thing to do with the skybox - make all the surfaces Unlit (in Surface Properties). This makes sure that even without light you can see the SkyBox. Do this and rebuild the level again. We now need to show this skybox in parts of the level. Build a cube (H128, B256, W32) and subtract it so it juts out from the West side of the complex room. This is the beginning of our 'window' outside - use the 'ClifBrk3' texture again. Add a couple more windows on the North wall by rotating the builder brush (Ctrl-Right click) and subtracting again. Just to clarify, here's the diagram again. _____ _____ _|_____|________|_____|_______ | | | _| | 2 O | | | O |____________________| | | 1 | | | |_| | | O | | | 3 | 4 | | | | | |_________|______| | || || |_____________| || || <-- Corridor to West room The pillars, marked as O, don't have to be in exactly the same place as I have them. When you rotate the builder brush, select 'Reset/Reset Rotation' from the right-click menu when you've finished. Otherwise the builder brush keeps rotated even when you're entering new values into the cube builder. Now we've got the window shapes, but we need to tell UnrealEd that we don't want the backs of the windows to be shown - instead the SkyBox will be shown in their place. Select the back of all three windows, then go to Surface Properties and check the 'Fake Backdrop' flag. You can't see any change yet, but if you activate Realtime Preview (the joystick icon at the top of the Perspective window) you'll see that the skyzone is shown in place of the windows. Deactivate Realtime Preview again. --------------------------------------------------------------------- XXV. More Lighting --------------------------------------------------------------------- We still need lights in the new room, and the light is going to come from the windows. Add a light on any window you want and edit its properties. The light needs a slight blue tinge to hint at moonlight. Open up the LightColor tree and click on the 'Color' button. The resulting menu is roughly the same as the colour selector in Paint. Select a light blue colour (maybe HLS 163, 240, 186) and press OK. The other properties are fine for now, so close the Properties window and duplicate the light twice, dragging each new light to its own window. When you've got them all in place, rebuild the level again. Depending on what you want to do now, you could add some ceiling lights, or try making the moonlight less bright if you want. Experiment around a little before moving on. Don't forget to add pathnodes and other items to this room - a couple of Playerstarts could be placed here as well. I recommend placing a Flak Cannon along with some ammo at the end of the raised platform. --------------------------------------------------------------------- XXVI. Glass --------------------------------------------------------------------- We're now going to add a glass window between the complex room and the first room you built. This glass is going to be unbreakable - breaking glass is possible, but is more difficult to make. Create another cube (H128, W64, B256) and place it in the space between the two rooms at an appropriate height (if it's the wrong way round you have to reset the rotation of the builder brush). Subtract it, again using the ClifBrk3 texture. This is the window in which we're going to place the glass. The glass is only a 2D surface, so we don't need a Cube brush. Instead we're going to use a Sheet brush. Now right-click on the Sheet button and select 'Build'. The Sheet button is the one that displays a flat plane near the Cube button. Change the Axis to AX_Yaxis and make the height 128 and the breadth 256. If you didn't move the builder brush away from the window then the sheet will be in the right place already (in the middle of the window). Before we add the glass we need a glass texture. There's a good one in Coret_FX/Glass - select either of the textures there. Once you've selected a texture, left-click on "Add Special Brush" (the blue square). You now get a window detailing all the types of Special brush. Select the Prefab "Transparent Window" and click OK, then Close. The transparent window is now in place, but sheets are never solid. The player could walk through or shoot through this glass. To prevent this from happening we need to use an invisible 'blocker' brush. Create a cube, this time using the dimensions (H120, W24, B248). Note that this cube doesn't quite fit the grid, but instead stops short of the gridlines. Place it just on the North side of the window (in the alcove for the window, but not actually touching any other brushes). Click on 'Special Brush' again. We want the brush to be invisible, but still block the player. Select the prefb 'Invisible Collision Hull' and select the solidity as Solid. (Semi-solids are used only in special conditions, and are quite unstable as well, so it's not usually advisable to use them). Click 'OK', then 'Close'. You now have an invisible solid brush that blocks the player or any bullets from passing through the window. (Note that you could also have a blocker brush on the other side of the window as well - this is not usually necessary as it will appear that the player can't get through the window anyway). At this stage, you might want to rebuild everything and test the level to see what I mean. --------------------------------------------------------------------- XXVII. Conclusion --------------------------------------------------------------------- The main part of the level is complete now. Try building more of the level yourself - remember, try to make every part of the level connect to other parts, don't have dead ends. Also, don't just make rooms cube-shaped - try using more interesting shapes by building rooms from many brushes then deintersecting them as shown for the large room. Unreal editing gets a lot easier with practice. ===================================================================== Section 2 - Further Techniques ===================================================================== --------------------------------------------------------------------- I. Introduction --------------------------------------------------------------------- This section covers use of UnrealEd beyond basic building of levels. Individual sections cover topics such as adding sounds, lifts and many other things to a map. Trying to incorporate these techniques in the tutorial level above would make good practice. --------------------------------------------------------------------- II. Level Properties --------------------------------------------------------------------- You'll have noticed that levels in Unreal Tournament usually have a background music playing, and a screenshot at the side when you select a level in the Practice Session menu. This section shows how to achieve both of these using the Level Properties window. First of all, to get at the Level Properties, select it from the View menu or press F6. Open up the LevelInfo tree. 'Author' is the name of the author of the level (the third line of the information given in the Practice menu). IdealPlayerCount is the number of players recommended for the level (enter something like '4 to 8' in here). Finally, Title is what you want the game to call your level - like Liandri Central Core or Fractal Reactor. LevelEnterText does nothing, but strangely, text is entered here for some of the level provided with the game. I can only assume that this field was going to be used, but then Epic decided against it. Screenshot is more complicated. Ideally you could just use any texture, but instead it has to be a texture in a package called 'MyLevel'. First of all, take a screenshot of your level (it's best to do this in Observer mode of the game). Reduce this screenshot to 256x256 pixels and save it as a PCX image (Paint will do this, but it's better to use a more advanced package). Now go to the Textures Browser and select 'File/Import'. Browse for your file, select it and click Open. You'll now be given another menu asking where to place the texture. Type 'MyLevel' for the package (this is essential), then 'Screenshot' for both the group and the name. Deselect 'Generate MipMaps' as this will prevent the texture from blurring. Once you've imported the texture, select it in Level Properties by clicking the 'Use' button next to Screenshot while you have the Mylevel/Screenshot/Screenshot texture selected in the Texture browser. Finally, adding music to the level is a lot simpler. Either you can use a standard music (easiest) or write your own (harder). You can even import MP3s into a level. I'll cover using a standard music first. Open the Audio tree in Level Properties. Select the '...' button next to 'Song' to bring up the Music Browser, then select 'Open Package' in this window to display a list of UMX files. Select one of them and open it. Listen to it by selecting it in the browser and pressing the Play button. (Press the Stop button to stop playing, of course). Once you've found a suitable music, select it then click 'Use' in the Level Properties window. Writing your own music is harder, of course. For this you need a MOD writing program. ModPlug Tracker is what I use. Its site was recently at www.modplug.com, but recently that site died <Ý-(. The software still exists, though. Download it and (here's the hard bit) learn how to use it. Once you've written a MOD (in IT format is best), save it. To import it into Unreal Tournament, open the Music Browser and select File/Import. UnrealEd supports a wide range of MOD files (all the ones created by Modplug, plus a few others). Select the MOD you want to use, then save it out as a UMX file by selecting the disk icon in the browser. Now just use the music as you would a standard music (you need to include this UMX package in the zip if you're planning to distribute your level). Now on to using MP3s in Unreal Tournament. I'll say now that this isn't recommended as it can increase the size of your level by about 30MB - or about 60MB if you're using an Iron Maiden track <Ý-). It also makes the level quite unstable, as UT has to load a lot of music data before playing the level. Still, if you're not put off by that, here's how to do it. This involves the use of ModPlug Tracker again. Convert the MP3 to a wave file using a separate convertor - there are many available on the Internet. Now import the wave file into Modplug and create enough empty MOD patterns so that the MP3 plays all the way through. Now save the music as any type of MOD file (again, using IT format is best). Import this IT file in the same way as you would for the previous type of music. Now save and run the level, and with any luck the music should play in the background. If you look at your level in the Practice Session menu, you'll see the screenshot and information you put in.