My First UT Level

(or How I Learned To Stop Worrying And Love UnrealEd)

Cort Stratton (Mister Programmer, Sir)

This tutorial is intended to teach you how to create the most bare-bones, ghetto-tastic, rudimentary Unreal Tournament level imaginable. There are PLENTY of general UnrealEd tutorials out on the web -- if you want to learn ANYTHING at all about UnrealEd, this isn't where you belong. If you've never fired up the program at all and you want to know where to begin, keep reading.

Okay, here we go. Fire up UnrealEd!

Oops, it crashed. Okay, no problem, just run it again.

Aw crap, it looks like it froze while starting up. It's okay, just kill the application through the Task Manager and try one more time.

Son of a...! Okay, don't panic, just reboot your computer, I bet it'll run perfectly NEXT time!

Allright, enough joking around, you get the idea. I don't really expect that UnrealEd will crash your computer three times just by opening the application, but the unfortunate fact is, even the MacOS starts to look like a robust and stable piece of software compared to UnrealEd. Get into the habit of saving early, saving often, saving MULTIPLE copies of everything just in case UnrealEd decides to start randomly overwriting files, and your life as an Unreal mod author will be that much easier.

Okay, on to the basics. To create The Simplest And Most Pointless Unreal Tournament Level On The Planet, we need to do three things:

  1. Create a room.
  2. Put a light in it, so we can see.
  3. Put a PlayerStart in it, so we can actually spawn a player.

So, first we create the room. it's worth pointing out that UnrealEd operates on a completely different paradigm than any other level editor I've ever worked with, in that it's all based on constructive solid geometry (CSG). Instead of starting with empty space and having to add floors, walls and (optionally) a ceiling, in UnrealEd you start with a solid block of Stuff, and you have to carve your level out of the Stuff by adding & subtracting various "brushes" throughout the level. So creating a room in UnrealEd isn't about adding a floor and some walls -- it's about subtracting a square block of empty space from the boundless void of the Stuff.

So, the first thing we do is click on the "Cube" brush. It's the button in the middle of the left edge of the screen which looks like a turquoise 3D cube. Right-click the cube and a window pops up which lets you specify the dimensions of the brush. These dimensions are measured in Unreal Units, which don't actually correspond to anything in the real world. Just to give you a sense of scale, an average human-sized player in Unreal is about 128 units tall. So, make adjust your brush's dimensions to be Height: 256.0, Width & Breadth: 512.0 -- that's a goodly-sized room. Click the "Build" button, and your brush will appear in the world.

It would be tempting at this point to assume that you're done, but you'd be WRONG! All you've done is modified the shape of the Brush. There is only ever one Brush in the world; you can't create more and you can't get rid of the one you have, you can only change its shape. You can identify the Brush by the fact that its mesh is drawn in red instead of black. The important thing here is that building a brush and building a room are two completely separate operations! Now that the Brush is shaped the way we want, we have to Subtract it from the Stuff in order to build our room (choose "Subtract" from the "Brush" menu). And we have a room!

So, now I bet you want to fly over and check out your room. Well, navigation in UnrealEd takes some getting used to. It doesn't take too long to figure out that just clicking and dragging the mouse lets you move around in two dimensions. To move in the third direction, click and drag with both buttons at once. This will move you up and down in the 3D view, or let you zoom in & out of the grid views.

Now suppose you wanted to move an object (like the brush, or a light, or whatever). First you must select that object in one of the grid views, by single-clicking on it with the left mouse button. Try selecting the brush, so we can move it away from the room we just created. Now, while holding down the control key, drag the object around with the left mouse button. That's all there is to moving! Well, that's not entirely true. See how when you move an object, your viewpoint stays constant while the object moves? Well, if you hold the shift key instead of the control key, the reverse is true -- your viewpoint moves with the object. Try it out on the brush again!

Okay, now fly back to the room you created. We have two objects to add before this level even qualifies as a real level. First, a light. This is easy. Right-click somewhere inside your room (the brown box in the grid) and select "Add Light here". A small torch icon should appear. That's your light! You can of course customize the brightness and color of the light, but that's another story to be told another time. For now, the important thing is, you can see!

Finally, we need to add a spawning point for players to jump through when they enter the level. A spawning point is actually called a "PlayerStart" in Unreal, and like most objects that you add to levels, it's a subclass of the Actor class. To add any Actor to our level, we open up the Actor Class Browser (View menu -> View Actor Class Browser...), and descend through the class hierarchy until we find the Actor we wish to add. We select that Actor, and then right click in our room and select "Add <ActorName> here". In this case, the PlayerStart actor can be found by expanding "Actor", and then expanding "NavigationPoint". There it is! Add a PlayerStart to your level (it'll look like a little joystick icon).

Okay, one thing to be aware of is that Unreal Tournament can be VERY picky about where your PlayerStarts are. If the PlayerStart is more than a certain distance off the floor, your players will immediately die upon entering the world. This doesn't make for a very fun level, so it's time to practice moving objects again! From the Front or Side grid view, move your PlayerStart until it's as close to the floor as you can get it. Just eyeball it.

Okay, that's all you need to add! The next step is to build you world. Building the world involves performing all sorts of pre-calculations on lighting & shadow visibility, creating an optimal BSP tree for the world's geometry, and all sorts of other things you don't need to know anything about. What you DO need to know is that, for some reason, the world isn't automatically built when you save! You should therefore get into the habit of selecting "Build -> Build All" before saving.

Finally, save your level into the UnrealTournament/Maps directory. Two things to be aware of here: first, things may go wrong if your map doesn't begin with a recognized prefix indicating its game type, so be safe and call your level DM-Foo.unr instead of just Foo.unr. Secondly, unlike any sane application, Control-S is NOT bound to "Save" -- instead, it's bound to "Subtract Brush". So very often you'll try to save the world and end up carving a new room in the middle of nowhere. Not good. Save from the File menu, just to be sure.

That's all I have the energy for. You're now ready to tackle more advanced tutorials. Happy level editi...crap, it crashed again.

Well, you get the idea.


Last modified: Wed Oct 17 03:58:59 Eastern Daylight Time 2001