Site hosted by Angelfire.com: Build your free website today!

Unreal Tournament 2004 Mapping Tutorial




Uhh.. Where to begin.. I'm not the world's best at explaining things (and describing
them for that matter), however, somehow I found myself making a ut2004 mapping
tutorial, so here goes:

20 somewhat simple steps for creating a simple but playable map:

(1). Open your Unrealed program.
The icon should look like this if you have it on desktop
(and trust me you'll have it there if you're planning on mapping a lot):



(2). After years of loading, the program should look similar to this (except bigger):



the four windows (three with grids and you in perspective view) are called viewports.
I don't expect anyone to freak out if yours are arranged on the screen differently.
If you want to change them, click on View->Viewports->Configure..

Also, if you see the stupid window called Textures, close it.

(3). You should see some buttons on the left. The image below shows the most 
signifigant of all of these for the time being:



The black squares indicate icons that really weren't that important. If you are 
running Unrealed in minimized mode (the window is smaller that the size of the 
screen) then there is a scrollbar on the left that scrolls through the toolbar. It's 
really small and green:

 <-- wow what a crappy image!

(4). Get yourself familiar with moving in the perspective viewport 
(the one with the big black empty space). The movement is as follows:

Hold left mouse button in the viewport and move mouse to move on the ground.

Hold right mouse button in the viewport and move mouse to turn.

Hold both mouse buttons and move the mouse up and down to go up and down.

Unfortunately you can't use WASD <-- and DON'T TRY
'cause W toggles visibility of objects on and off, and I don't know what A,S, and D do.


(5). Now that you've got that down you can start making the map. Right click on the
cubebuilder icon in the toolbar 
(you know, it's one of the important icons listed above (it looks like a cube!)). A 
menu should pop up:



These are all properties of the current definition of a "cube." The only three that 
actually do anything are the first three. The others really have no effect. Change 
the height of the cube to 512, the length to 512, and the width to 512. Then hit 
build and close. You should see a wireframe cube appear in your perspective view. (Let's hope 
you didn't get too carried away with moving so that you're still close enough to see 
the cube.)


(6). Now, what did that do you say? Well, that just changed your brush to a 
512 by 512 by 512 cube.  The brush is the thing that indicates what you're gonna do
next. You know, like a painter setting the color of his brush to blue to indicate
he is about to paint the sky.  You are about to create a cube.  


BTW, the units in Unrealed don't seem to correspond with anything.
All I know is that a UT2004 character is exactly 90 units tall. Therefore,
a room at least twice that height is desirable.


(7). Okay, time to learn something. The Unreal universe is subtractitive 
space (over your head, I know). Usually the editor calls the subtracted parts BSP.
This means that the entire black void in the perspective window is actually a 
transparent concrete wall. So, by making a room in the shape of a cube, you are 
really subtracting part of the concrete wall (sounds scary, huh?). Thus the way to 
creating the actual cube is by hitting the subtract 
button. It looks like this:


Just to make sure, you can hold your mouse over it and it will say "subtract"


(8). HIT THE BUTTON! 
A cube with a wierd bubbly texture should appear:




(9). Okay, now the biggest problem is how to change the texture on the walls 
of the cube. Click on View->Show Texture Browser. That annoying window should pop
up again. Now click open on the window, and browse for a package called 
"AbaddonArchitechure." 

Open it and click on the "All" button in the Texture window. This shows all of the
textures in the package, ignoring the "group" tab to the right. Now pick a nice 
texture for the walls of the cube. 


(10).  There are several ways of actually getting the texture onto the cube:

1. Left Click on a cube face (it should turn blue.) Click on the texture you want
   to use. This is by far the slowest way of doing it.
2. Click on the texture you want to use, and right click on a cube face. A menu
   should pop up. Click Apply Texture  ...   This method is even worse
3. Left Click on a cube face. Press SHIFT-B and all of the faces are selected.
   You can use CTRL-Left Click to select/deselect any other faces (for example, if
   you don't wanna apply the texture to the floor and cieling of the cube). Then
   click on the texture you want to use in the Texture Browser.
4. Do option 1. Then, minimize the texture window (it jumps around). use 
   ALT-Right Click to "copy" the face on the cube. Use ALT-Left Click to "paste"
   the texture from one face to another.

Yeah, so pick some textures and stick 'em on. In the end, you should have a 
completely textured cube.  Don't leave any face with the bubbly texture. 
Otherwise Unrealed will complain when you build the map.

   
(11).   Save your map. Name it something that starts with "dm-" or "DM-"
               If you don't, it won't show up in the menu!

(12).   Well, you could just build your map right now and send it out to
               people, but it is likely that you'll be getting death threats.
               Why?  For starters, the map has no lighting. It is entirely dark.
               Also, there are no player starts.  That means whenever a player
               spawns or respawns, they will do so at the origin or somewhere there.
               If your cube is at the origin (which it is), then they will spawn
               directly in the center of it. If not, well.. You'll be stuck falling
               through a big black void (And eventually die, unfortunately :(

So why not fix all of this?

(13).   Let's add some lights.  You could add lights in many ways. The most
               Simple, however, is to right click on a cube face, and click
     "Add Light Here."
               A little lightbulb should pop up. Click Build->Build All to see
               how much lighting was actually introduced into the map.
               If it's still too dark for you, add another light (not in the same 
               place, elsewhere.) Two usually are enough. That takes care of the
               lighting, but how about the appearance?

That means, where the crap is the light coming from? In the game, this map
would look like a cube, being lit by spontaneous spots of light. Let's fix this.
Click View->Show StaticMesh Browser.  That stupid window comes up again. Click
open. Open the package called "comp." Click the "all" button like last time if
it is not already enabled. 

Click on CompLightb. You can move around in the grey window to see what the 
StaticMesh looks like.  All objects are StaticMeshes. So is this one. 

Right click somewhere in your cube, and select 
       "Add Static Mesh 'comp.miscellaneous.CompLightb'"

A hanging light object should appear.  The object doesn't actually light up your
map, but it does look like that's what it's doing in the game :)

(14).  Now you should have a mess on your hands. Something that looks
like this:



(15). Okay, now to position all of the stuff nicely. 

This is where the other three viewports come in. One of them is top view,
another is side, and another is front.  If you want to change what one of 
the viewports displays, use the following icons:



Get yourself into the "top" viewport.

To move around, do the following:

CTRL-Left or CTRL-Right click hold to move around

Both Clicks hold to zoom in and out


Now, we want to reposition some stuff. In the "top" viewport, click on the
complightb staticmesh. It should light up in blue like this:



Now that you've got the staticmesh selected, use CTRL-left click to drag the 
static mesh around.  Use CTRL-right click to rotate it. However,
the rotation occurs around a certain point.  I have yet to understand where
unrealed gets this point from, but usually it is in the center of your mesh.
Occasionally, however, that point becomes the center of your brush and the 
rotation becomes a wide arc. So don't be surprised if this happens.

Anyways, just position your staticmesh so that it sticks out of the wall like its
supposed to and slide one of the lightbulbs over to the mesh to make it seem like
the light if coming from the mesh. 

Now, go to the "front" or "side" viewport and move the mesh appropriately up and down.
When you're satisfied, add another mesh for the other lightbulb and move all the
stuff around again.

(16).  Now we can introduce a bit of creativity. Double click on one of
the lightbulbs on the map. A box of properties comes up. Expand the
"lightcolor" tab. Here you can change the light's brightness.  Also, click on
the "Color" button that appears on the right.  Here you can select the color
of the light.

Also, if you want to change multiple light properties at the same time,
click on one lightbulb, use CTRL-Left Click to select another. Then, right
click on one of them and click "Light Properties (2 Selected)"



(17). After messing around with that, let's make the map playable. Right Click
somewhere on the floor of your cube and click "Add Player Start here."  This
adds a player start position where you pointed.  If you don't see the joystick
icon appear, move around somewhere and try again. Unrealed gets confused sometimes.

You can (and should) add more than one playerstart.  In the game, the engine randomly
chooses between any player start and spawns a person there. 

Another thing. Go into the "top" viewport and click on a player start. Rotate it
so that the arrow points somewhere. Where the arrow points is where the player
will face when spawned.

Do not place a player start on the wall. You can, but Unrealed will complain when
you build the map.  It will still work, though.

(18). Save your map. Click  Build->Build All. Click save again 
             Click Build->Play level. Now go and test it.

(19). Not too exciting yet, huh? This is what I have so far:




!!!!IMPORTANT!!!!
 
 Before releasing the map, or even if you just want to play it in instant action,
you need to change the game type. By default, Unrealed sets it to Last man standing.
You need to change it to Deathmatch.

Go to View->Level Options.  Expand LevelInfo.  Change the DefaultGameType from
"BonusPack.xLastManStandingGame" to "xGame.xDeathMatch."
Save your map. If you ever test the map again, you will need to reset the gametype
to DeathMatch again after that.  Unrealed is really stupid. Every time you
test, it sets the gametype to Last man Standing.

...you might also want to consider adding weapons. Scroll down for more info.



(20). Okay, so there you have it. The most basic map. If you want more,
             keep reading.










More stuff to add


Hi. Okay, here goes:

Adding More BSP

Remember that BSP is the subtracted regions of the unreal universe. By adding more, we are actually subtracting more (hahaha). Anyways, lets add a BSP hallway. Right click on the cube again. Set it to be 512 units high, 256 units long, and 512 units wide. Click build. Click close. The brush (red wireframe thing) should cooperate by becoming smaller. Now, rotate and position the brush in the top viewport somewhere touching the original cube (the original cube is the yellow wireframe object). Hit subtract. A hallway should be added to the cube. Give it some nice textures from the texture browser, or use the ones from the cube. If you're using the ones from the cube, you might wanna align them so that they look continuous. Do this by selecting all surfaces on the map (cube and hallway). Then rightclick on one and select surface properties. Click on the align tab. Click on box in the menu. Click align. Close the window. Now you've got a hallway!

Adding an Emitter Light

Add some lighting to it. However, let's not use regular lighting. Let's use the super-complicated form of lighting called emitter lighting. As always, add a light somewhere. Now go to View->Show Actor Browser. The window comes up, with a class actor. If not already, expand the actor tab. You should get a bunch of subclasses. Click on the one labelled emmiter (click on emmiter, not the plus sign next to it). Now right click somewhere in the hallway. Click Add Emmiter here. A little emmiter symbol appears. Double click on it. A bunch of properties comes up. Click the one labelled Emitter. It expands into "Emmiters". Expand that. (If you can't, hit Add. It gives you a [0].) It expands into [0] and two buttons appear on the right. Expand the [0]. Click on the selection called BeamEmmiter and change it to SpriteEmitter. Click on the New button that's next to the selection you just made. A bunch more properties just got created. Expand the SpriteEmitter.myLevel.SpriteEmitter1 if you haven't already. Expand the Texture tab. Click on the Texture property text field. Now open up the texture browser. Open the package called XEffectMat. Click on the green X texture. Go back to the Texture property text field. Click use. Now you made the emitter generate a bunch of X's. However, the X's don't have position change or velocity. Go back to the new property menu. Click on "Spawning" Expand it. Now change the InitialParticlesPerSecond and ParticlesPerSecond to 20. This means that only 20 X's are displayed at any given time. Now collapse that and expand Velocity. Expand StartVelocityRange. Expand the Z Change the max 200 and min to 50. Your X's will now fly anywhere from 50 to 200 units per second. Collapse that option. Expand Location. Set the StartLocationRange so that each dimesion (X,Y,Z) is anywhere from -20 to 20. Collapse That. Exit the entire window. Now you can position your light closer to the emitter so it looks like the emitter is glowing in the game. You will still need a staticmesh for effect. Open the staticmesh package called AnubisStatic. Click on EgyptSconce. Add it to the map. Position all the stuff around. Make sure that the emitter and the light are on top of the sconce. Save, build, save, and test the map. Oh no! What happened? The X's are way too freakin' big! Go to the properties of the emitter again. Expand the size. Lower the StartSizeRange from 100 to 10 in each dimension. That aughta work. Also, are you unsatisfied with how high the "fire" goes? Go to the "General" tab, and change the MaxParticles to a higher number like 50. Go to the "tick" tab and change the number of seconds before inactive as you wish. You might also want to change the "Fade" and "Acceleration" properties for a cooler effect. Everything is mostly self-explanatory. In the end, you get a cool fire effect: (I took this snapshot from the editor. I made the Emitter activate in the editor by clicking the joystick button on the perspective viewport toolbar.)

Adding even more BSP

Okay, so we can subtract rooms and hallways. But how about making some obstacles in the middle of the map. How about a floating platform or a staircase? Bring up the cubebuilder window. Change it to be 20 units high, 256 units wide and 256 units long. Hit build and close. Move the brush where you want the floating platform to appear. Hit add. (Add is to the left of subtract.) Hit build to regenerate the lighting. Add some nice textures. You've got a floating platform!

Adding Some stuff

Let's add stuff. Open the staticmesh browser. Open the package called "Albatross_architechure". Click on the crate ("Alb_crate1"). Add it somewhere on your level. Rotate it however and rebuild the map.

Adding Weapons!

If you are making any kind of decent game, you need weapons. Go to the Actor Class Browser and expand xPickUpBase. Expand xWeaponBase. Highlight xNewWeaponBase. Add one somewhere on the floor of your level. Make sure it is slightly planted into the ground. Otherwise, Unrealed complains. Double click it. Scroll down to xWeaponBase. Expand it. Change the weapon type. Also, go into the actor menu. Go into PickUp. Expand it. Expand Ammo. Select the pickup ammo type. Add it somewhere. You've just added a weapon base and ammo to the map. So far so good: Now I've gotta go eat a Thanksgiving dinner, so I'll be back with more later.. Okay, I'm back now... And I've decided that this webpage is awkwardly long, so, click on the link below to get to my second part of the tutorial..

Unreal Mapping Tutorial Part II

Well, if you didn't like my tutorial so far, you can try another: A bunch more tutorials