Sniper's Paradise!
Beginner’s Guide to Mapping
for Unreal
for Unreal
By Firefly
Contents
Part One
This is a basic step-by-step introduction into the wonderful world of mapping using UED 2 for Unreal. Please follow each step carefully and take your time. Time spent here will pay dividends in the future. The editor is included with the 227 patch for Unreal.
There is more than one way to do most of the things that UeD2 is capable of. I will show you just one or two of each, otherwise this tutorial will take far too long to write and follow. Experiment with the editor and see what works best for you. No two level designers will go about mapping in exactly the same way.
Setting autosave now will save a lot of heartache later on. There’s nothing quite as discouraging as having to repeat three hours worth of hard work. It would also pay to get in to the habit of manually saving every few minutes as well. To configure autosave just click on ‘view’ from the top tool bar and then select ‘advanced options’. The Advanced Options box will appear. Expand the ‘editor’ tab by clicking on the small box next to the word and then clicking on ‘advanced’ in the same way. Set ‘autosave’ to true and ‘autosave time’ to five. Close the box by clicking on the ‘x’ in the top right hand of the pop-up. Now we are ready to begin your first map.
The Editor uses brushes to carve out the space that will be your map. Imagine the space you are about to build your map in is solid, like a huge block of clay. You shape the brush with the ‘brush builder buttons’ and subtract that shape from your block of clay. This group is at the left of your screen. Try left clicking on each of the buttons, bar the one with the ‘mountain’ on it, and you will see your red builder brush change shape.
If you need to move the 3D view about then click and hold one or both of the mouse buttons as well as moving the mouse. You will soon get use to this. When you have finished here leave the brush visible in the 3D view.
Just using those few basic shapes would prove impossible. Thankfully you can resize them by right clicking on the buttons. Right click on the cube button and the ‘cube builder’ pop up will appear. Don’t just put any number in there. Always work to the basic number line below.
4, 8, 16, 32, 64, 128, 256, 512, 1024, etc.
These numbers can be manipulated by adding them together to get different results. For example, 64+128 to get 192. This will ensure that the brushes will always line up to the grid. The Height, Width and Breadth values are the ones we will be playing with. Change the Width and Breadth values to 512 and then click the build button. You can use tab to select each value in turn
Your red builder brush will have now changed shape. To carve it out of the world (remember think big block of clay) you need to subtract it. These buttons (see left) are found on the left-hand side. If you let the mouse pointer rest on any of the buttons in the editor you will get a tool tip telling you what each one is.
The one we want is the top, right button. Watch what happens in the 3D view when you click it. That rather unpleasant looking texture is the editor’s default texture. This is used when there isn’t a texture selected.
Position the 3D view so it’s in the middle of the cube. We are going to make your first room look like a room. For this you will need to open up the texture browser. Look for this button in the tool bar and left click it. This will open up the texture browser.
If you click the drop down menu with ‘botpack’ in it, you will notice that there are several packs already loaded up. DO NOT ALTER THESE in any way. They are the textures used by the Unreal engine. There is no harm in using them in your map. If you want to have a look at them, select any pack from the drop down by clicking on it. Make sure that the ‘All’ box is unchecked.
To load the texture pack into the browser we are going to use click on ‘File’ and then ‘Open’. Select the ‘Mine.utx’ pack. If the textures displayed are too small then change their size by clicking on 'Zoom'. I usually have it set to 256 and the size to 'variable'.
Click on the lower of the two drop down menus (the one with ‘Arch’ in it) and select ‘wall’. Once the textures appear, minimize the texture browser but do not close it. Your 3D view should be showing the inside of your room. Now select any vertical surface by clicking on it. It will become shaded when you have selected it. Now go back into the texture browser and click on a texture you like. Make sure that ‘Wall’ textures are still showing in the browser.
One of your walls will now look like one. Rather than doing this for each surface you can select specific sets of surfaces. With the wall still selected hold down the ‘Shift’ key and press ‘W’. This will select all adjacent wall textures. Another way of doing this is to right click on the surface and then the ‘Select Surfaces’ menu will appear. Be careful what you click on as the editor can crash if you select the wrong thing.
The floor and ceiling need textures so open up the drop-down menu, select the floor group, and do the same as you did for the walls. Repeat for the ceiling. As I said right at the beginning of this tutorial, there is more than one way to do this, but as this is just to show you the ropes and get you started I will concentrate on doing just that.
Using the 3D view, right click anywhere in the room and click 'add light here'. The surface you click on will become highlighted and a small flame sprite will appear. This is called a ‘light actor'. The editor has several 'actors’ that do different things and I will explain each of the main ones as we go along. Wherever the light actor is placed that is where the light will come from. Before you see any change in the 3D view you will need to do a rebuild.
First make sure that you have the correct view. Look at the icons above the 3D view click on the middle cube as shown. Click on each one in turn and see what happens. The reason nothing happens when 'Dynamic Lighting' is selected is that we need to perform a rebuild.
The rebuild buttons are found along the top tool bar. From left to right they are ‘Geometry’, ‘Lighting’, ‘Paths’ and the one we want ‘Rebuild Options’.
When you click on it a 'Build' box pops up. Do not touch or alter anything in the BSP section. Make sure that 'define paths' is unchecked as well. We have not plotted any so it will be waste of time using this at this stage. Click on the ‘Build’ button. It should only take a second or two. Once it has finished click ’Hide’ and select 'Dynamic Lighting'. Go back to the light chapter if you have forgotten how to do this. Your 3D view should look some thing like this.
Before we run the map, we need to tell the Unreal engine where to spawn the player. For this, we need to call up the 'ActorBrowser'. Click on the button in the tool bar that is to the right of the texture button you clicked on earlier. It’s the one between the picture and the speaker. Now expand the 'Navigation Point’ and select 'Playerstart' from the list and minimize the browser. Right clicking on the floor of the room will bring up the menu. This time you will see 'Add Playerstart' has appeared in the menu.
When you select it, a 'Joystick' icon will appear. Playerstarts are for players and bots. Another name for them would be spawn points.
We are nearly ready to run the map but first we must save what we have done so far. When first saving a map go to file and then select 'save as'. Call it anything you wish but you must remember to use the right prefix. Use DM-mapname in this case. From now on, you can just click the 'Disc’ symbol to save. Make sure you save it to Unreal's map folder. The last button on the right of the tool bar is the ‘Run Map’ button. There is an issue with running the map from the editor. Sometimes Unreal does not open. If this happens, then shut down the editor and open up Unreal. You should be able to select you map from the list. Make sure you play with zero bots otherwise you will end up with one helluva mess.
This isn't really what you'd call a map. Try playing around with what you have learnt here and create some basic tunnels and rooms. If you rebuild your map and the 'Dynamic Lighting' goes black change to 'textured' in the 3D view and add some light actors. Always remember to add a player start as well.
Part Two
Last time I showed you how to do the basics of level design. Of course the editor is capable of much more but let’s not run before we can walk eh. The first thing I want you to do is fire up the map we were working on as we are going to expand it. If, when you open your map the 3D view is all black then select the ‘Textured’ view.
First thing to check once your map as loaded into the editor is the grid size. Make sure it is set at 16. This is found at the bottom right of the screen. Do not turn the grid off by clicking on the green square next to it. This will lead to miss-aligned brushes and nasty BSP problems.
It might also help if you turn the 3D view update on. Click the joystick icon that’s above the view window. This will make any adjustments immediately in your map.
One room does not make a death match map so we are going to create additional rooms. Rather than go through that process each time, we are going to copy the subtracted brush along with the textures. Using the ‘Top’ view, move the red builder brush so that you can see the brown one underneath.
Right click on it so that it turns yellow. When this happens, a menu will pop up. Select ‘Polygons’ and then click on ‘To Brush’. Click anywhere on the grid to deselect the original brush. Then select and move the builder brush. For this tutorial, we shall move it 1024 units to the right. Don’t worry you don’t have to count 1024 units. As we have the grid set to 16 it will be 8 of the larger, darker squares. Once you have it positioned, click the ‘subtract’ button.
You will notice that it will copy just the dimensions and textures of the previous brush, not the lighting or the playerstart. There is another way to copy multiple brushes and actors using a drag box. The top view is the best view to use here. Hold down ‘Control’ and ‘Alt’, then hold down the right mouse button. Drag the red box that appears so that it surrounds both subtracted brushes. Once the red drag box is in place, right click on any of the two subtracted brushes to select them. This can be a little fiddly so don’t worry if it doesn’t work first time.
When you manage to right click on it successfully the red drag box will disappear and the menu will pop up. Click on ‘Duplicate’ and you’ll notice that using this method will copy everything. You will now have two player starts and the two right-hand brushes contain light actors.
The top view is the best view to use here. To move it hold down ‘Control’ and drag the selected boxes so that they are the same distance away as the first two brushes are from each other. This was 1024 or 8 of the larger, darker squares. Position them so that the four brushes create a ‘square’ so to speak. Add lights to the remaining two brushes that do not have them. Perform a rebuild (remember to uncheck ‘Paths Build’) and save your map.
Corridors are really just stretched rooms. Creating them is done in exactly the same way as the first brush. I will quickly recap here but if you have any problems then flick back to the first chapter.
Right click on the cube builder button and enter 128 for the height, 256 for the width and lastly 1024 for the breadth. You will need to move the brush into position using both the top and the front view. Place it so that it is central between the first two rooms and on the same level. Once it’s in place click ‘Subtract’.
Top View
Front View
Once you have subtracted the new brush, have a look at it using the 3D view. If you have had to open the editor to continue this tutorial then the default texture will have been used. Open the texture browser and select the ‘Mine’ texture pack from the first drop down menu. The textures we have already used were loaded in when you opened the map. Select the ‘Wall’ group of textures from the second drop down list. There should be only one available, select it and minimize the texture browser.
There is more than one way to apply textures. Position the 3D view so that it is inside the corridor but make sure you can see one of the previously created rooms. Hold down ‘Alt’ and right click on one of the textured walls of the rooms. This will ‘load up’ the mouse pointer with that texture. Then, with ‘Alt’ still pressed down, left click on both of the corridor’s walls. If you have done it correctly then the texture will be applied. Repeat for the ceiling and floor.
Copy the corridor brush as before but without using the drag box. Right click on it and then select ‘Duplicate’ and position it between the other two brushes. You do not have to subtract the duplicated brush, just right click anywhere with in the view but not on anything to de-select it. Doing it this way is quick but the 3D view will not show the changes. This will happen when you do a rebuild. Perform one to update the 3D view and save if you wish.
To add the other corridors we are going to rotate the red builder brush. Click on the ‘Rotate’ button. You’ll find it in the ‘modes’ group of buttons. The one you want is the one with the four black arrows in it. The mouse pointer will change once it is selected and over a view.
Notice that you can’t rotate the brush yet. Pressing and holding the control key whilst pressing and holding the right mouse button will let you. Using the left button will rotate it on another axis as will holding down both mouse buttons. Don’t try this just yet as I haven’t told you how to refresh the builder brush. That will come later. Just continue to rotate it and place it and another one so that all four rooms are connected. Once you have finished (don’t forget to add light) your front and top view should resemble something like this.
Front View
Top View
Now, add lights (right click in the 3D view) and delete one of the player starts. To delete anything right click on it and then left click on delete. Rebuild and save your map.
Part Three
In the centre of the map, we will put an octagonal room and connect the corridors to it using doors and archways. Also, remember to check that the grid size is set to 16. Open up the cylinder builder and add the following dimensions. Once that’s done click ‘Build’.
Height 256
Outer Radius 512
Sides 8
Align to Sides True
Hollow False
These settings should be loaded by default but if they are not then make like Captain Pickard and ‘make it so’. Don’t worry about the other settings as most of these are relevant only to making hollow shapes. Yes, I know when you subtract (carve) you make a hollow shape but just bare with me for now. It will be come clear as we progress.
Position the builder brush exactly in the middle of your map. Leave one large square’s width on all sides and make sure that the bottom of the red brush is level with the rest of the map. Once it is positioned properly, click on ‘subtract’, and re-texture as necessary.
Now we could just reshape the cube brush and subtract a hole through from the corridor to the new room. But the 2D shape editor can do this far better and with more interesting results.
The button for it has a picture of a red triangle on it and can be found on the top tool bar
The four small squares at the corners are called ‘nodes’. Left click on the top left node and it will turn red as well as activating one side. Click on another and it will deactivate. Try it.
If you left-click and hold on a node then you will be able to move it about. Give that a go. If you twist the shape so that the lines cross, it will not extrude properly. Stay with me :)
By the way, sometimes the 2D shape editor will open up minimized. Just resize the window as you would normally. The grid in the shape editor is set to the same as the main grid. Make sure it is by right clicking anywhere on its grid and selecting grid from the menu.
It doesn’t look like an archway so to do that we need to alter its shape and add some sides. Make the top, left node active and click on the ‘Add Node’ button.
This will split that side, creating a new node. Move the new node to the position shown in the left picture.
Split the selected side and move the new node to make the shape shown in the right picture.
Now it needs to be extruded to form a 3D shape. Click on the ‘Extrude’ button in the 2D shape editor’s toolbar.
Change the value to 128 in the extrude prompt box, click OK and then minimize it. You should notice the red brush has now changed shape. If it has not then click the ‘Joystick’ icon in the 3D view’s tool bar. It will turn green once it is selected. If it already is selected then click anywhere in the view to select that view. You will have to rotate the brush to get it the right way up. We covered this in part 2.
Before you start subtracting, make sure that the bottom of the builder brush is level with the bottom of the map. Place the brush as shown and subtract the four archways, using the builder brush like a pastry or cookie cutter. Texture the sides of the archway the same as the walls. Add three or four light actors to the new room and do a rebuild. Don’t forget to save.
Doors are just simple movers. First, let me introduce you to a building room. Although what we are about to do can be done within the map, creating and using one is a good habit to get into. A building room is a temporary space where we can intersect the brush without fear touching the map. Open up the cube builder and enter 1024 into each of the dimension value fields, move the red brush to the outside of the map and subtract.
Height 128
Width 32
Breadth 256
Resize the red brush, using the cube builder to these dimensions.
Position it so that it is in the middle of one of the archways and subtract it. You don’t need to worry about texturing it. A light coloured texture will help though.
If, when you click ‘Build’, the brush appears to be in the wrong dimensions then it will need to be reset. Right click on it then select ‘Reset’ and lastly click on ‘Reset All’. It overlaps, as the door will need somewhere to go. All though this isn’t strictly necessary it will help prevent BSP problems. Do this to every archway.
Once that’s done, change the breadth of the builder brush to 128 and move it and the 3D view to the building room. Select a nice door texture from the ‘Nalicast’ texture pack. I would suggest 'ndoor2' for the sake of this tutorial. If you cannot select the door group then you make sure you have the ‘All’ box unchecked in the browser. With the texture selected, click the ‘Add’ button. It’s the one next to the subtract button.
Without moving the red brush, add 1 to each of the dimensions. It is important that the red brush is not moved at this stage. We now need to ‘intersect’ the added ‘door’ brush. Do this by clicking the button as shown and in the 3D view the brush will shrink a little.
Now move the red brush so that half of it is in and the other half is outside the building room. Make sure that it does not touch any part of your map. When you have it in place, de-intersect it. The button is the one on the right of the intersect button. You should now have half a brush so to speak.
Remembering which half you have remaining, put it in front of the corresponding half of the gap you subtracted from the archway. In other words, using the top down view, if you have the left-half remaining, stick it in the left half of the archway.
In most cases, you will want the door to start shut so this is what we will do here. We need to turn the brush into a mover. The button is on the ‘CSG’ Tool bar. Left clicking on this will add an ordinary mover, but have a look at the menu that appears when you right click on it. You will get to learn most of them in time. When you add a mover, the brush it produces is a pink/purple colour. Also notice that you cannot see the textures used this is why it’s important to get them right in the building room first.
Using the top view, rotate the red brush 180 degrees, by holding down control and the right mouse button. Line it up so it is next to the mover. When in place left click the ‘mover’ button. Repeat this for all four archways. When you have four sets of doors you will need to set the ‘mover frames. Right click on one door and then select ‘Mover Keyframes’.
The first key frame (frame 0) is automatically set when you add the mover. Click on ‘Key 1’ (the menu will disappear) and move the door into the space you carved for it before hand. Then right click on it and select ‘Key 0’ and it should move back into its original position. Do this for all eight doors. Yeh I know but think of the practice you’re getting :)
Now rebuild, save and run the map. All sets of doors should work but see if you can spot the deliberate mistake.
The doors work independently of each other. That is because the movers are set to ‘bump open timed’. To see what I mean select both movers by left clicking on one then holding down control and left clicking the other. Both should be bright pink. Right click on one and click on ‘Mover Properties’. Make sure that it says ‘2 selected’.
Give the doors a unique tag. Having selected them both previously means only having to do this once per pair of doors.
The next part of the mover’s properties to adjust is lurking under ‘Mover’. You’ll only want two of these at this stage, ‘MoveTime’ and ‘StayOpenTime’. MoveTime is how long it will take the mover to complete a frame in seconds. Fiddle about with this to get the best time but I always set it at about .3 or .4. This helps gameplay as the player is not waiting for the door to open.
I think ‘StayOpenTime’ is obvious. This is also measured in seconds.
The last part is under ‘object’. Here you are telling the unreal engine to only open the doors when the trigger is hit. Once this is done close the properties box and open up the ‘actor browser’
Expand ‘Triggers’ and then click on ‘Trigger’. In the 3D view, place a trigger right in the middle of a pair of doors. Right click on the icon and go into its properties as you did with the movers. Expand ‘Events’ and enter the same thing in to its ‘Event’ as you did the mover’s ‘Tag’. So the ‘Tag’ of the movers we called ‘door1’, would also go into the event of the ‘trigger’ we want to open the door.
If you have done it correctly, a red line connecting the trigger and mover will appear. In the top view, move the trigger a little to see it.
As usual perform a rebuild, then save and finally run the map. We will be adding sound effects at a later stage.
Part Four
The Unreal engine is capable of producing very believable liquids. Water, lava and slime are all done in the same way. Looking at the top down view, zoom in on the top left room and right click on the cylinder builder button. Leave everything as is but change the outer radius to 128 and sides to 16. Position this right in the middle of the room but line up the top of the red brush with the floor of the room. Open up the texture browser and reload the mine pack in. Find the ‘Base’ group and select ‘mrockm2g’. This will give a nice water stain look to the bottom of the pool. Subtract the shape.
Now we need to add the water texture using a sheet. This sheet will be the water’s ‘surface’. Right click on it to have a look but leave everything as is. If you click just to the right of the ‘axis’ field you will notice a drop down menu. This is the orientation the sheet brush will be produced in the editor. Click on build
Using the front or side view, position the sheet brush so that it is 16 units below the lip of the pool. This will allow players to escape. Useful if you put a juicy pick up at the bottom. Before we add the sheet to the map let’s select a water texture. Open up the texture browser and load in the ‘liquids’ texture pack. Use which ever you want but for this tutorial, I’m using ‘liquid3’. Select it and minimize the browser.
To add the sheet to the world you will need the ‘add special brush’ button. A pop up appears when you left click it. In the prefabs drop down look for ‘water’ and select that. Make sure that it is set to ‘non-solid’. Click OK.
Don’t worry if the texture doesn’t appear. To check that the sheet brush has been added move the red brush. You should see a green one beneath it. To be able to see the water texture do a rebuild. The water should be animated if not then click the ‘joystick’ icon on the 3D view’s tool bar.
If the map were run at this point you would just fall to the bottom of the pool. All that’s there is a sheet brush with a water texture. The ‘water’ is added using something called a ‘zone’, or in this case a water zone. To add one you will need to open up the actor class browser and expand ‘info’. Look down the list, expand ‘zoneinfo’, and left click on ‘waterzone’. Minimize the browser and position the 3D view so that it is looking at the bottom of the pool.
Right click anywhere in the bottom of the pool and select ‘add waterzone here’. An icon with a question mark next to a cube should appear. For now you don’t need to adjust its properties. The sheet must seal the zone otherwise, it will leak, turning the whole map into a water zone. You can check the validity of your zones by first doing a rebuild and then changing the 3D view to zoneportal view.
The button for this is on the 3D view’s toolbar. (It’s the green one in the picture). The map will turn into bright colours, each colour being a different zone. The pool should be a different colour to the rest of the map. If it is not then delete the sheet and do that bit over again. Once you have checked this change the view back to textured.
Lava and slime zones are done in almost the same way. Let’s create a lava pool in the next room (bottom left in the “top” view). Create and position a pool exactly as before using the same dimensions. Reread the first paragraph of this part to refresh your memory. Place it in the middle like before. Once you have subtracted it create but don’t add (not yet) a sheet. The dimensions of the sheet should be the same as before as well. There are some nice slime textures in the same pack as the “water” texture you used previously. For this tutorial I’m using the “liquid6” texture.
To add the slime we use the same procedure as for the water. Open you actor class browser. Look for a “SlimeZone”. Its in the same list as the waterzone. Add it to the map in the same way as before but this time right click on it and open up its properties. Second from bottom you will see “Zoneinfo”, expand that and highlight it as I have done.
You can adjust the amount of time it takes to kill off a player/bot. If you want instant death (this helps speed up gameplay) then put in 200 (it can be set higher). Leaving it at 40 will be fine here as the player will be able to escape the pool. If the player can’t escape, this will mean that they will have to wait until they die before they can continue playing. I think you see my point :). It’s up to you if you want to change it.
In the “top” view, add a lava pool in the same way as the previous two pools. Add it to the bottom right room (in the top view). Refer back to the beginning of this chapter if you need to. The texture I have used for this particular Top View bit is from the “lavafx” pack and its called “lava5”. You may need to check the all box to see the textures. If the playerstart is hovering over the pool then move it. Spawning straight into a pool of lava is not a great idea :). Also spawning into anything liquid is very annoying for the player.
The picture above is what you should end up with.
To get the lava surface to glow, right click on the surface of the sheet and “check” the unlit box in the surface properties pop up.
Z-axis basically means more than one floor. To demonstrate this we’ll add a walkway in the main room that runs around the edge. It’s not as tricky as it sounds. Because the main room was carved using a column it makes sense to use it for the walkway (it will do, I promise).
First two values to adjust in the column builder is outer radius and sides. Put them at 512 and 8 respectfully and place the builder brush in the main room. It will be an exact fit, use the side views to get it positioned properly. Now, set the height value to 16. This is how thick the walkway is going to be. Set “hollow” to true and click build
Use the side views to make sure that the bottom of the walkway is inline with the top of the doorways.
What do you mean the red brush won’t line up in the side views? Just resize the grid to 8, move the red brush into place and set the grid back to 16. This next step isn’t strictly necessary but it’s a very good habit to get into as it will help prevent future BSP problems. De-intersect the red brush and then click add (top left in the same block of buttons).
Lets use a different texture to add some variation. Open up the “nalicast” texture pack (reload it if you have to) and open up the “panel” group. Select “wood2a” texture and re-texture the walkway. Notice how the edges of the walkway are the wrong way round to fix this right click on any edge and then select “select surfaces” and click on “adjacent walls”. Only the edges should be highlighted now.
Once they are, right click on any highlighted surface and click on the surface properties, then on the alignment tab. The one to click on next is the “90” button in the rotation part. The textures will now be facing the right way. Now you have done that try adding a straight walkway right across the middle of the room. Make it the same height as the walkway and also texture it the same as well. The width will be 768. Remember the number line I talked about right at the beginning of the tutorial. Its not in the line. It is in fact 512+256. Using these numbers to add and subtract each other to fit a brush means that the brush will always fit the grid. No miss-aligned brushes mean less BSP errors.
To rotate the edge textures in this case left click one the hold down control and left click the other side then rotate as before.
Nice walkway but not much good if you can’t get up there. So here is how to do a lift. Lifts are another form of mover (there are also different types of lifts but we’ll concentrate on the basic one here. The difference being that it is made up of three brushes.
Move the 3D view to the Building room and resize the brush to 16 high by 128 wide and make the breadth 128. Add it to the middle of the building room. Check the edges are the right way round. Once that’s done alter the width and breadth to 64 and place it directly below and in the centre of the one you have just added. Remember to de-intersect before adding. Resize the red brush again by altering the height to 256 and the width and breadth to 32. Then add this directly below and in the centre of the last two. Lastly make sure that all the textures are round the right way.
Now we have to convert these three brushes into one by intersecting them. Using the cube builder, make the red builder brush large enough to completely surround the lift. In other words make it big enough to fit the lift in. Keeping the red brush lined up to the grid isn’t important here but we’ll set height at 384 width and breadth 256. 384 is 256+128. Try to place the centre spot of the red brush so that it is in the centre of the lift. This is another good habit to get into.
When you click on intersect notice how the red brush “wraps” itself around the lift to form one red brush. Move this red brush into the main room as shown. Have the very top surface of the lift the same level as the floor.
With the lift in place click on subtract. This will create a nice space for the lift to go into. It will add to the effect as well as cutting down on BSP problems. After clicking on subtract and without moving the brush click on the “add mover button”. The brush will turn purple as before. Do the key frames, making frame 0 where it is and frame 1 the same level as the walkway. Right click on the lift and open up its properties. Expand “object” and change the initial state to “stand open timed” by selecting it from the drop down.
Now position the 3D view so you can see the hole created when we subtracted the lift, left click on any of the wood textures it left behind. Hold down shift and press b to select all the textures there. If you have had to refer back to this tutorial then you will need to deselect and then re-select the surfaces. Hold down alt and right click on the floor to load up the cross hairs with the floor texture, then hold down shift and left click on the selected textures.
Once that’s done, do a full rebuild and save your map. Fire up Unreal and run around your hard work.:)
Part Five
You’ve seen the beautiful skies that the Unreal engine is capable of, now you’re going to make one. First let’s make an opening in the map to represent the sky. Open up the cylinder builder box by right clicking on its button. Make the Height 64 and the Outer radius 384. Position it so that it is directly above the main room. Its bottom must be at the same height as the ceiling.
Once it is in the right place click subtract. Remember to open texture browser. Texture the edges with a trim texture. Load in the mine texture pack and select the “trim” group of textures. Click on any surface of the brush you’ve just subtracted and press shift+b. Select the “irnwal1” texture and minimize the browser.
When the texture is applied it looks too big and out of proportion to the wall it’s on. Select one of the new surfaces and press shift+b again. It doesn’t matter what the upper ceiling looks like as we won’t be able to see it once we have the sky box in place. Right click on any of the selected textures and open up its properties. Click on the “alignment tab” and then on the “simple” drop down menu in the scaling section and choose 0.5 from it. Click “apply” but don’t close the properties box. The textures now fit the surface. The surface is 64 units high but the texture was 128 units. Make it so the upper ceiling is the only texture selected. The values change in the properties box so you don’t have to open it again.
Click on the “flags” tab. If it doesn’t open first time, click on the alignment tab and then the flag tab again. Make sure that “Fake Backdrop” and “Unlit” are checked. The Fake backdrop setting tells the engine where to show the sky. It’s not that simple though. Click on the “hide” button and then deselect the texture.
Now we have prepared the map for the sky box we’ll create it. Build a cube 512 high, 1024 wide and 1024 in breadth. Subtract it outside your map just as you did when you subtracted the building room. Retexture all six surfaces of the skybox with the “starts” texture. This is found in the “ShaneSky” texture pack. You may have to move the 3D view into the box to be able to see the stars.
The next job is to create the “base”. Build a cube 64 high and enter 256 for the width and breadth. Add this to the middle of the bottom of the skybox. The textures on the sides do not matter but the one on the top surface does. Even though in this particular map you won’t be able to see it you should get into this habit. Texture the top with the “dirt_sw2” texture. This is found in the “Genearth” pack. Rescale it by 0.5 as we did a moment ago. Reopen the “shanesky” texture pack and minimize the browser.
To make the landscape you need to use sheets. So click on the sheet builder and make the width the same size as the texture that you’re going to use. In this case its 256. Make the height 128. Change the axis to x-axis and click on build. Place the sheet brush on the edge of the “added” cube.
Open the texture browser and select “pantile1” from the “shanesky” pack. Click on the “add special brush” button. Choose “masked wall” from the prefab list and click OK. If the texture appears upside down then right click on it and then bring up the surface properties box. Click on the “alignment” tab and the click on the “flip V” button.
Place a sheet on each edge of the added cube. Each time you’ll have to open the “add special box” and set it up as before (masked wall etc) but use a different texture each time. The four “mountain” textures are numbered so it should be fairly easy to match them up. If they don’t then use the texture copy methods described way back in part 1 to sort them out. Add the sheets in a clockwise direction and there shouldn’t be a problem. Once you have finished it, it should look something like the picture above. Select the surfaces of each of them and make them “unlit”, it’s under the “flags” tab.
Cloud layers are needed to really set this off nicely. Resize the sheet, using the builder, to 1024x1024 and make sure that the axis is horizontal and click OK. Now place the sheet brush so that it is 16 units (or one square) above the top of the vertical sheets. Also make sure that it fits exactly inside the box. You’ll need to select some cloud textures before you add it. Select “pansky1” and add it to the box with the “add special brush” button.
Select masked wall from the prefab list and check translucent. Repeat but move the sheet brush 32 units (2 squares) directly up and add it in the same way with the same textures. The only difference is to scale up the upper sheet texture. Do this in the same way as we scaled down. In this case chose 2 from the “simple” drop down. Don’t forget to click on “apply”.
Now select both sheet surfaces and bring up their surface properties and select “UPan” and “VPan”. If we were to leave it at that then the clouds would be panning past at a very unrealistic speed. A sky zone is needed.
We have to place a sky zone to tell the engine that this is what we want the sky to look like. It acts like a camera, setting a surface to ‘Fake backdrop’ tells the engine where to show what the camera is seeing. Open up the actor classes’ browser. Expand ‘info’ then ‘zoneinfo’ and finally select ‘skyzoneinfo’. Place the skyzoneinfo right in the middle of the top surface of the small cube. Right click on it and open up its properties. Expand the ‘zonelight’ part and have a look at the texupan and texvpan speed entries. 0.1 or 0.2 is the more realistic setting so enter them and close down the properties box. Add a couple of lights to the box by right clicking on the lower sheet (cloud). Rebuild, save and run it to get a proper look at the sky.
It’s a pretty quiet map. It lacks atmosphere and one of the best ways to add atmosphere is with sound. The sound browser can be accessed by clicking on its button in the tool bar. Clicking on the ‘speaker’ will open it up.
Let’s start with the lift. Right click on it and open up its properties. Then expand ‘mover sounds’. You don’t have to enter a sound in each of the five but you can do if you want.
To add sound to a mover, make sure that the sound browser and the mover’s property box are open. Load the “doorsanc.uax” pack by clicking on “file” in the sound browser’s toolbar. You can hear what each sound effect is like by clicking on the name in the list and then “play” as well as double clicking on the file name. It works in a very similar way to the texture browser. You can select groups using the dropdown that is next to the “all” check box. Uncheck the “all” box if this menu is greyed out.
Select the “addend55” file from the generic thumps list and then click on “Use” in the “Closedsound” entry. You may have to resize the properties box a little to see the entry properly. If the “use” button isn’t visible, click on the right of the field.
Sound is really down to personal preference. Play around with different sound files to see what works best. Below is a suggested combination. Try adding sounds to the “closing” and “opened” boxes and see what it sounds like. To hear them you will have to run the map. Don’t forget to rebuild and save. All the files will be found in the “doorsanc” pack.
Doors
Closed Sound wdend04
Closing Sound Nothing
Move Ambient Sound wdloop6
Opened Sound Nothing
Opening Sound wstartc2
Lift
Closed Sound adend55
Closing Sound Nothing
Move Ambient Sound wdloop23
Opened Sound Nothing
Opening Sound adend44
To add music to your map you will need to open up the music browser. Click on the button that has a musical note symbol on it. Click on “file” and load in a umx file. Click play to listen to it. When you have found one that you like, open up the “view” menu in UeD2’s menu bar and then click on “level properties”. Expand audio and enter it into the “song” field the same way you entered the sound effects. Click to the right of the field to show the add button.
Inventory items are pickups. This is the best time in a map’s creation to do this. When you bot path (which is up next) and then get UeD2 to compute the navigation grid, the pickups, Playerstarts and certain other actors will be treated as path nodes. Don’t worry if you didn’t quite understand some of that. You will do by the end of this tutorial. First though the map will need some extra Playerstarts. Another 3 should do. Place one in each of the four smaller rooms. Don’t place them to close to the wall. Now if you left click on them you will notice that a red arrow appears. This is the direction that the player will spawn. Rotate it as you would anything else.
Now to place some pick ups. Pick ups are found in the actor classes browser. Make sure you select weapons from the Weapon part. The best way to place weapons is to couple risk with power. The more powerful the weapon, the greater the risk to the player. Plus there is no rule that states you have to have every pick up in your map. The right choice is dependent on the design of your map.
Let’s start by placing the Eightball (rocket launcher) right in the centre of the main room. Put it under the main walkway. Place it the same way as you placed the player starts. Use the “top” view to centralize it once its placed in the map. Now select the sniper rifle and place that somewhere on the walkway that runs around the edge. Have it so the sniper will be able to see the rocket launcher. We have now created an element of risk as well as adding two different gameplay styles. Select the “minigun2” next and place it in the corner of one of the smaller rooms.
Place the Pulse Gun, Ripper and Shock Rifle in similar places in the three remaining rooms. Don’t place any pick up too close to the wall as the bots will have difficulty picking them up. Around 32 units away from the wall should be the minimum. Also if your Playerstarts aren’t in the same places as shown then move them. This will help when we path later. Because of the size of this map we won’t need extra ammo.
On the upper walkway place four bandages, one on each side. These are found by expanding “Pickup” and then “Health”. The same goes for overloading the map with health. If players and bots have to travel a little to find what they need it improves the flow. Stick two Health in the corridors; one in the left hand corridor and the other in the right. The last pickup to place is the Shieldbelt. Expand “Pickup” to find this. Stick this in the bottom of the water pool. You could place the Amplifier in there but, due to the size of the map, it would allow who ever grabbed it to dominate the map. This would lead to unbalanced gameplay. Click the inventory box to close up the tree and then save the map.
Bot pathing means setting up the navigation grid. This is the grid that the bots use to get around the map. To do this we’ll need path nodes. Expand the “navigation point” in the actor browser and select “path node”. Place nodes (they will look like apples) as in the picture below and then in the middle of the two corridors that don’t have the health. Make sure that the node that’s placed in the corridors is level with the doors. Also place a node above the water pool. Make sure it is just above the water surface.
Just one node is needed in the centre on the room with no pool in it. Now it’s time to get UeD2 to compute the paths. Click on the “Compute Paths” button. It should only take a few seconds. Nothing will change in the 3D view of the map. To see the grid right click on the 3D view toolbar but not on any button. From the small menu that appears choose “view” and then click on “show paths”. All those red and blue lines are the grid. Blue paths are the preferred route and the red ones are the secondary routes. The ideal is to have all the nodes, inventory items and Playerstarts connected with blue lines. Don’t try to get rid of the red lines just try to improve the amount of blue ones. Have a look in the main room and see how UeD2 considers pickups as path nodes.
Place a node on each section of the walkway that doesn’t have a pick up. Remember to keep it central on the walkway and also place one on the middle catwalk. Place a further four nodes on the floor one in front of each door. Have about 128 units between the node and the door and click the paths build button. Are any of the pickups connected by red lines? If that’s the case then move them away from the wall by a few units and press the compute paths button again. Just move the node/pickup and click on the paths button until the offending path turns red. Don’t worry too much about getting every single path blue.
There is one more thing to cover before we run the map. The bots still need to be told that they can use the lift. Select “lift centre” from the same list and place it on the lift. You will have to put it to one side and use the top view to drag it into place. Open up its properties and expand “events” and put “lift1” into the “tag” field. Place two “lift exits” on either side of the lift and enter the same information into the tag field under “events”. A red connecting line will appear between them; one on the floor and one on the catwalk. Delete the path node that’s in the way. Do a full rebuild, making sure that the “define paths” box is checked, save the map and then shut down UeD2.
When Unreal opens run the map with one bot and you as a spectator. Watch to see if the bot gets caught up anywhere. Don’t get disheartened if it doesn’t run smoothly first time. It never does. The first time I ran this map the bot got caught under the lift. This was solved by placing a node either side of the lift. You will also notice that the bots will rarely use the walkway. This is an unbalanced part of the map. You could move a weapon up there or you could change the health vials to ammo. Try different things and see the effect it has on the bots.
There is no absolute right way to path. I would say pathing is 50% bug fixes. This stage in a map’s conception can take more time than it took to build it. If you need to add any bots whilst in spectator mode then bring down the quick console (tab key by default) and type in “addbots x”. X being the number to add. This is a great way to learn a bit about Unreal’s AI.
That’s about it for the Beginner’s Guide. Map testing before release is important. Get people to test it for you and take note of their comments as well as any bugs they might find. A rushed map will never get any awards or respect. When you do finally release a map stick a mention of these tutorials in your readme.
Remember this is very basic and experimentation is necessary to make this map better.
Good Luck
Firefly
All logos and trademarks are properties of their respective owners.
Unreal™ is a registered trademark of Epic Games Inc.
Privacy Policy
Website by Softly
Powered by RUSH