ATTENTION: This work is copyright 1998 Ron Andrade for Portal Special Edition. Do not duplicate for other than your own purposes or redistribute without the permission of the author: Ron Andrade (Gadget Factor) |
Second Edition is Sponsored by

``

| At the very least, you should have downloaded and printed the OVERVIEW quick reference document. As mentioned in the overview, your world is actually a giant block of clay. We need to sculpt out your level using a brush in primitive shapes. Primitives are simple shapes: cube, cylinder, cone and sphere. Keep in mind, you have utter control over these primitives. For example, the bottom of a cone can have as little as three sides (creating a three-sided pyramid) or as many as 64 (not recommended too much computing power will be required) or anything in between. By the way, a realistic smooth-looking round cone can be achieved with as little as 12 sides.

Before you dig in, there are a couple of things you need to prepare for:

How will your level be played? Is there a specific story line or theme?

What will the location look like or where will it be?

Will there be any puzzles or traps and other perils?

How large will/should it be?

These questions should be answered (in the general sense) before you begin. By getting a good idea of the answers of these questions, you will save yourself a lot of hard work and doing things over and over again not to mention, saving your potential player the burden of plain old computing power!

First, let's answer these questions for ourselves, as they relate to this tutorial. Remember that you do not have to follow this tutorial exactly. Though, by doing so, you will find things much easier to understand. You do not have to be exact, so close enough will do. Also, the more work you put into your levels and the more of a perfectionist you are, the better you will look to your players. Surely, your goal is to make a name for yourself and to have your player begging for more!

How will your level be played?

To make the most out of this tutorial, we will create a level that is intended to be played four ways:

DeathMatch via real opponents on the Internet or other direct connection.

DeathMatch via robots in a single-player situation.

DarkMatch via either scenario above.

Single-player story.

Is there a specific story line or theme?

Though not necessary, having an overall theme or story line will make your level far more enjoyable to your players, regardless if it is a DeathMatch (DM) or Single-Player (SP) game. Not to mention that it will help keep you in line from overusing textures and such. Also, our overall theme must be obvious for the DM player: The player will be bouncing around an abandoned communications antenna array.

The single-player story might even be more detailed: The player has returned to the abandoned communications antenna array he had built with any and all salvageable parts of the wrecked Vortex Rikers ship. The player is returning from a mission where he had to enable power to the system before an attempt could be made to communicate with any off-world friendly life (there's an idea for another level a prequel, if you will.)

The array has been overrun by bad guys (of course) and control of the array must be regained before the system can be fired-up. This will provide two separate missions: first, gain control of the area from the bad guys. Then, solve puzzles and traps to get the array working.

What will the location look like or where will it be?

Because antennas of the magnitude required for this communications feat are usually way too large to fit in anyone's living-room, the main portion of the level will be located outdoors. Also, since we are creating an "array," we will need quite a bit of room, primarily in the vertical direction.

Thus, a few thoughts: The level will most likely be more tall than wide. Problem: Combat on the array itself will be pretty straight forward but once the player is in the air (on the scaffolding,) we may want to add more of a challenge and combat opportunity, especially for the DM version of this level.

Will there be any puzzles or traps and other perils?

Solution: We will create a valley, where sits the base of our array. We will also create a plateau that will be just lower than the top of the array, allowing good DM action. Another fun benefit is that the great height will afford many opportunity for traps, and otherwise dangerous perils and threats of falling off.

How large will/should it be?

This is a question that is rarely answered up front. You will start out small and it will grow. Every time you sit down to eat or lay down to sleep those ideas will start flowing through your head like water through the spicket. The ideas and creativity will snowball grow faster than you can get them implemented.

This brings up another issue you must take care that your map does not outgrow DM capabilities. If the level is too large, DM may not be enjoyable to your players. Remember, they have to find each other if they are to kill each other.

Now, let's begin.

A quick note: Each tutorial will be presented to you in this fashion:

The detailed tutorial can (and should) be read right here, online.

At the end of the tutorial, you will have opportunity to download the checklist of the tutorial goals.

The checklist allows you to perform the steps presented in the tutorial.

The tutorial also will include a map level of the tutorial level completed up to that point.

NONE of the tutorials, except number two will include a sample map level file. Primarily because it will rely on your own creativity. Beside that, you need to do some of the work yourself. Though this level will include the whole tutorial in a downloadable format. Deal?

Look at the bright side when we are done, you will have a game level that looks somewhat like these screen shots on the left! Not to mention access to the full playable version (far more detailed than these tutorials will allow.)

Once you have UnrealEd (henceforth referred to as UE) open and ready to go

Click your cube brush. The cube will appear at the absolute center of your world. However, we need to change the dimensions for this exercise. Right-click on the cube brush tool. A small menu will appear. Select the first choice "Cube Properties" The ellipses indicate a dialog box will appear.

This is how you maintain control over your primitive as precisely as desired.

In this case, we will begin by cutting out a chunk of our clay world. The chunk must be large enough to hold the whole "outside" portion of our level.

Your four view windows are arranged like so: The top-left is a top-down view. The top-right is a front view. The bottom right is a side view. The bottom left view is the camera view.

The reason for the redundant views is to allow you to properly align your models and objects precisely in 3D space.

Remember that the array will be very tall, so we need to make room for it. In the properties dialog, enter a large number in the Height field. 10000 or slightly larger should do it.

We also need some room to move around on the ground. Put a smaller number in the Width and Breadth fields but not too small. For our tutorial, we recommend a width of 4000 and a breadth of 6000. Click the build button to create the new brush. This will give you a rectangle in all views. The rectangle will be taller in either of the side views.

Once you are satisfied with the dimensions of your brush (or scoop, in this case) it is time to start breaking ground. Click the Subtract from world icon. Your camera view should now reflect a large, colored room. A very large, colored room. Your camera may be positioned outside the room itself. You will know this if you see a three-sided box in black space. This is normal.

Use your mouse to navigate your camera, by clicking inside the camera view and dragging. Put your camera completely inside your new room. (Navigation methods are covered in the OVERVIEW.)

Once your camera is inside the new room, you should notice the tiny camera icon in each of the three axis views (top, front and side.) You can zoom in to get a better look at the camera icon, which looks like the "move" icon in the toolbar. You can click and drag to move the camera in any of the axis views. You can also right-click to rotate the camera in any axis view the same way that you would rotate any other object. Your camera view will reflect any changes you made.

TIP:

You will notice, in your axis views, the brush is highlighted to indicate that you have just placed a model in your world. Move the brush out of the way by ctrl-clicking anywhere in the view and dragging. That tan colored box is the room you have just created. You may have to zoom out your view to see it.

Now, change the dimensions of your brush make it much smaller: height of 1000, width of 1000 and breadth of 1000. Put the brush somewhere inside your room. Click the add to world icon. Your camera view should reflect a new box inside your room.

Now take a close look at your axis views: You have two boxes: one is tan, the other is blue.

This is important to note. Any object model that is tan is a subtraction from the solid world. In other words, it is an area that was "dug-out" of the world a "hole" if you will. However, a blue object is an addition something added to a subtraction. To keep it simple: your world is a solid block. Therefor, you must dig a hole out of the solid block and tan models are holes. But, to put anything inside the hole, you have to add it blue models are additions. This is called "Boolean" modeling a popular feature in many 3D modeling packages. You will come to understand this concept very soon. For now, it is important that you can tell the difference between an added object and a subtracted object by sight alone.

For now, click on the blue box so it becomes highlighted. Press the delete key and confirm the deletion.

Now that you have the literal building block of your new map, there are a couple of things that need to be considered

Things will become very confusing, quite rapidly. This map will quickly turn into a large, complex maze of objects and a mess of little straight and curved lines in your axis views. Therefore, there is a simple paradigm to follow:

First, we will create our level in sections. Then, we will start adding architecture and moving objects. We will build "zones" as needed, but we will add controls and special effects after most of our map is complete. We will save our actors and pawns (things like pick-ups and weapons) for the end of our map construction. The last task is to add lights and finalize other effects, like the sky and water areas.

Now, back to your outdoor "room."

Obviously, a square valley simply will not achieve the player emotion we intend. We need to break the straight lines and flat surfaces by creating some uneven ground. This is actually a lot simpler than it sounds. Again, we will be sticking with our cube brush and we may even play with the cylinder or sphere.

Before continuing, you should set the texture library for our walls. It is not necessary, but it is a good idea that you pick a only a couple of texture sets and try hard to stick with them. This helps to communicate your theme and it actually helps to keep your file size down and speed up game level loading.

At the bottom of your objects library are a set of buttons: edit, new, apply, delete, load, save, import and export. At the top of this pane is a set of three pop-down menus. The top menu, called "Browse" is your object library. They are: Textures, Classes (models and controls), SoundFX and Music. Ensure TEXTURES is selected.

Click the load button to bring up an open-file dialog box. Look for a file called "GenEarth.utx." These are very good textures for use when you need something earthy or natural organic looking. When you click on a texture, any selected model surface and new models will be painted with the highlighted texture.

Click once on the floor of your room. You will do this in your camera view, so you may need to navigate your camera to get a good view of the floor. The floor will become shaded. This indicates the surface is selected and ready for input or "modification." Now, browse through your textures and locate a nice rocky look. When you find one you like, click on it. Your floor will now be painted with the rock texture. If you do not like the texture you have chosen, simply click on another. As long as your surface is selected, it is ready for input. Click again on a selected surface to deselect it.

To help you decide on a good looking texture bring your camera in close just above the surface. Hint: this will be the bedrock under water you will put here later. Water is hazy and it will be dark down here. So, keep in mind that a brighter texture may work best if you want the ground to be visible under water. Note: you can change any texture on any surface at any time.

If this were any other room on your level, you would normally repeat these steps for the other four walls and ceiling. But we have other plans for those. For now, raise your camera to the top of the room and look at your floor texture. These textures are really just small image files that are tiled in a repeated pattern. Your floor texture will be under water, so the obvious pattern does not matter. The texture will not be seen by the player unless he is under water. So, for now, we will leave it as is.

Now for the walls and ceiling. As of right now, they probably do not look very realistic. We need to change them drastically. The issue at hand is that if we simply apply another texture to them, the player will feel like he is inside some kind of rock box. We need to make it look more natural.

The process is known as a "skybox" and is really quite simple to accomplish. However, we will to save that for a later time so we can concentrate on the playability of our map for the time being. But, before things get crowded and cluttered up, we should prepare these surfaces now, while we have easy access to them.

Click once on the ceiling to select its surface. Now, right-click on the same surface. Normally, you can go straight to the right-click without preselecting any surface, but we wanted to ensure we have the right surface. A good habit to get into when things start getting confusing!

Again, a menu pops-up. Select "Surface Properties (1 selected)" this will bring up your master texture and surface control console.

This dialog box has six tabs along the top: Effects, Rotate, Pan, Align, Scale and Editor. Please, stay away from the editor. UE is still "officially" in beta and the editor can destabilize the program. If UE generates and error or General Protection Fault restart Windows before continuing.

The effects tab features several check-box controls. Do not get into a hurry we only want two of these for now. First, make certain all check-boxes are off. Then, turn on the check-box for fake Backdrop. Next, turn on the check mark for Unlit and close the dialog.

The "fake backdrop" effect is incredibly handy. What we have accomplished, is to turn this surface into a "movie screen" or "television screen." Later, we will create the content, or "projector" that will place pictures or textures onto this screen. For now, we will know that this particular surface is ready for reception of the signal.

The "unlit" effect tells the surface not to reflect any light, even if a light object is placed right next to it. This is because our broadcast picture will be lighted already. And, unlike a real movie or television picture, any lights we place at the "projector" side of this equation will actually shine through and light objects on this side of the equation!

Now, repeat these exact same steps for each of the four walls of our room.

Now comes the creative, fun part. Create a cube brush. Set the size to be large almost as high and wide as the room itself. Rotate the brush slightly tilt it a little to give it an obvious off-set look. Move the brush so it is just slightly inside your room and creates an uneven surface (see item 1). You do not want it to go all the way to the top of your room. Whether or not it goes all the way to the bottom is up to you.

Now, the problem here is that it is impossible to create a primitive that will fit perfectly into our room the way we want. However, the tools in UE are outstanding. There is a simple way to get our brush to assume the shape of the portion of the cube that resides inside or outside our room, which is all we really want. In other words, we want to shear off one side of the brush at the spot where the room wall slices through.

Note: there are two ways to create an object model in UE we can "dig" the object out of the solid area (the half outside our room,) or we can build the object in a hollow area (the half inside the room.) Since we want the part of the brush inside the room, we need to cut away the part of the brush outside the room before creating our object. The purpose of this is simple: even though the portion of the object outside the room will never be seen, the computer still keeps track of it. Beside that, when tunneling through the "clay" creating new passages, we might run into it and we will have a big solid wall where we never intended.

This is where the "intersect" and "deintersect" tools come in. You could think of these tools as "shrink-wrap." We want to "wrap" our brush around the shape inside the room and ignore any part of the cube that falls outside the room.

If you are confused now, do not worry. We will be using the intersect and deintersect tools often throughout our map construction.

For now, click the deintersect tool. Deintersect will select only those parts of any shape that reside inside a hollow space. Since our room is hollow, only the parts of the cube inside the room will remain.

Now that our brush is in the shape we want, click the add to world tool. This will now add the model into our room. You can add into a hollow space and subtract from a filled space.

Now, using the same procedure explained above, change the textures of each surface to something more comfortable. When you have done so, click the cube brush tool again. Your "sheared-off" shape will return to a cube.

Now, rotate the cube slightly again maybe change the size slightly and reposition the brush and perform another deintersct. You may also want to do this several times on the same wall to break-up the straight, flat surface. Also, experiment with other shapes. One shape you will definitely want to use, at least twice, will be the cylinder.

Create a cylinder brush that extends about 1/3 into the room (when viewed from the top.) Also, make it tall enough to reach the floor and extend as high as Ύ the height of your room. Deintersect and give the wall surfaces of the cylinder a nice rock pattern, but give the top a good grass pattern. Then, click the cylinder tool again and lower the brush. Bring it way down so it is just above the floor maybe two or three grid squares. Then, in the top view, move it toward the center of the room so it juts out from the first cylinder somewhat. Give it about the same plateau space as the first cylinder. Add it and repeat the surface texture routine.

A hint: It can be a real pain to create an object, then go about changing all the surfaces to new textures. By now, you may have realized that the current selected texture will be painted on all new models created. Thus, it is a good habit to select a texture you want before creating the model. If you don't like the texture, then experiment on one surface until you find the one you like. Then go about changing the other surfaces of the model.

The idea here is to create a "rocky, uneven" wall system. There should be two plateaus, one up high, about two thirds to the top and one down low, close to the floor. There should be a little of the original room wall showing near the cieling. Your room should look a little like the screen shot provided here, though it may be far from similar.

Note that the actual walls of this sample are blue. This is the camera view in UE, the camera is above and outside the room looking down. Because it is not directly over the room, some distortion (perspective) is evident.

There may be one thing just nagging the heck out of you your textures might appear like grandma's tablecloth pattern.

The fix is simple.

For the time being, ignore the axis views. Now you will get some real practice at camera navigation.

You will now move your camera all over your new world. Move it high and low. Move it in close and out far. The object is to judge the appearance of your rock textures. This is actually an unusual situation for an Unreal map level. Because this level deals with a large outdoor area, there will be many surfaces visible from afar.

To make the texture plausible, we need to change the scale of some of them. Take care with this feat. Scale a texture too large and your player may come in close enough to see nothing more than a giant, blurry blob. Then again, if he moves far enough away, as you can see now, he gets grandmas old tablecloth.

Start by positioning your camera at the center of your room (we will call it the "world" now.) and move it high enough so you can see over the top plateau. Aim the camera at the wall surfaces that rise up over the plateau. You should have created some "rock" walls that extend above the plateau but do not reach the ceiling. If you did not, that is okay for now. You can add them at any time.

Now, right-click on any rock texture that does not look good from your camera view.

Choose surface properties and click the scale tab.

There are two types of scaling: simple and custom. Custom will come later. For now, use the pop-down menu in the simple scaling section to choose 4.0 and click apply.

If you still see too much of a pattern, choose 8.0 and apply. When you are satisfied with the scale of your texture move your camera as close to the texture as your player is likely to be if it is too blurry, shrink the texture. If 4.0 is too small, but 8.0 is too big, try typing in 7 or 6.5 and see what you get. The number is the multiplication factor. 8.0 is eight times the original size of the texture.

You want to find a happy medium where the texture will not be to fuzzy if the player gets up close, but the pattern is not too obvious if the player can see it from afar. Repeat this process for all the surfaces in your world until you are satisfied with the result. Remember, move your camera around especially to all likely places where the player could end up. Make sure the surfaces look realistic and plausible (actually, the game is called "Unreal" so you can forget the plausible part.)

With your new world looking just the way you want it there is one more step we want to accomplish before we get into the meat of level creation and UE usage.

Remember all those cubes, cylinders and other models you added to your box to make it look more organic? Even though you have used the deintersect tool, there are still a lot of polygons laying around that aren't really being used and your computer will continue to keep track of them. Since this will also be a multiplayer DeathMatch level, we want to make it as easy for the computer as possible so it can concentrate on what the players are doing. A polygon is that part of the surface that is enclosed by the vertex lines that define your model. Each time you click on a surface, the highlighted part is a polygon.

In your top view and your front (or side) view zoom way out so you can see the entire world you have created. The whole thing. Now create a cube brush and adjust its size so it is actually larger than your original room. If you have forgotten the dimensions, they are 10000, 4000 and 6000. So, set your cube to: 12000, 6000 and 8000 respectively.

Position your cube so the entire world you have created is entirely within the brush.

Now, remember the nifty trick with the deintersecting tool? Hit is again! This time we are not really "shearing" anything away from our brush. What we are doing is remolding our brush to the exact shape and dimensions of everything inside the cube.

We now have a "rubber-stamp" brush that will literally duplicate your world as many times as you see fit! BUT, that is not what we want. By creating a single brush of our world, we have removed all the unused polygons. Only those that are necessary remain. Now we have a specific model mold with all surface textures in tact and, when we save, our file size has shrunk considerably.

Now move your new brush off to the side all by itself and click the subtract from world tool. Presto! Your world is now a convenient (and solid) single object model! Now, click the cube tool again and move the cube brush over the original world model. Be sure everything is inside the cube and click the select all inside tool. Save your level (to be safe) and then press the DELETE key and confirm the prompt.

Grab your new one-piece world and move it back to the center of the level. One more step before we complete this tutorial. You will learn this step in more detail in the next lesson, but for now just follow along:

Press the F8 key. UNCHECK the "Auto BSP" check box and click the "Rebuild geometry" button. This ensures the UnrealEd engine is aware of your model changes and allows it realign itself to what you have done. Save and name your level.

Congratulations on a job well done! The next lesson: Creating internal architecture - will be available here by this time next week, so check back often!

| Previous Chapter | Home | Next Chapter