Ah yes. Level design. It's the one factor of game design where there are no promises. You can master lighting. You can have all the cunning necessary for gameplay scenario creation. You can even have the technical savvy to create textures, models, skins, and all the little nooks and crannies that bring levels to life. But even professionally trained designers can miss the point when it comes to basic level design. It's really easy to get carried away, and when you're a novice it's just as easy to allow yourself to become overwhelmed and make mistakes.
Look, there's no way to bullshit anyone on this. It's not an exact science. But then again, it doesn't have to be. That's the real cause for badly planned levels: overcompensation. You get so fixed on "wowing" the player with a stunning set piece that you forget you are making a game. It happens! Every mapper goes through this phase. You want to see how far you can go, and everything takes a backseat to the art. When you're still starting out, you can't help but get trapped in doing this at least once. But the final result is the game, not the level. When you take technical prowess to the stage where you're pushing the limits of the engine rather than creating a game map, you've lost the point.
In essence, you should not be trying to push the engine to the limit, but rather, to FIND the limits and construct your level within those boundaries. Don't try to make the best level, try to make the best level you can with what you've got. This is universal of any game, and on these basic terms there are basic strategies to do the best job you can do.
2. Layout Planning
Here's something some novices may not know, but magic space vaginas don't descend from the cosmos and eject the fruit of their celestial loins from their birth canals directly into the ears of sleeping professional level designers. No really, that's not how it happens. You can have a mere understanding of primitive shapes or you can have all the assets available to mapping legends, ANYONE can make a passable layout. And by passable I mean engaging and, ultimately, immersive.
You're creating game space. A beginning, a middle, and an end. And in that void there's an open forum for how to properly fill it. Your level can be about item hunting, or it could be a series of connected combat zones. It could also be a medium to present scripted sequences, or the entirety of the map could be built around a central puzzle or a narrative theme. Or it could be all those things. What you have to do is know how much room you'll need to fit it all in.
There's a degree of distinction in the approach to making a layout. What I'm referring to here is the big debate between linear and non-linear level design. For those who are reading with a dull, glazed over glint in their eyes, please allow me to embellish. You see with pace driven games, shooters especially, that there is a fundamental divide in these two directions.
Linearity is when the "plan" of a level is strictly bound a Point A to Point B outline. It's directional, and the level can only be played one way. For example, there's only one real route that you have to take in order to reach completion and there is no way to break the sequence. Even levels that seem heavily intertwined, with overlapping rooms and backtracking scenarios, might seem to be contrary to this trend, but really they are linear maps in disguise. There's no way to get around the truth of it, that linear game design is a dominating staple in almost all shooters ever made. The main reason for this is that it's far... ridiculously far... easier to make a linear map, or shooter, than a non-linear one. It's the nature of the beast. This has inherently caused a great deal of criticism over the years. Not so much because of linearity itself, but because of the corners cut because of it when level designers offer drab, uninspired layouts. In particular, this is a case many in the core Unreal community had a problem with in regards to Unreal 2. But linearity as an approach is hardly to blame. In a lot of ways, linearity is a style that naturally goes well with shooters, and it does not mean a level can be any less engaging, or immersive, because of it. It's simply a matter of commitment to the complexity of a linear layout. For example, games like Bioshock and Half-Life 2 have a great respect for the art of complicated linearity. All their levels exist on a point A to B directional flow, but it's HOW the player gets from the beginning to the end that makes the level design in these cases so clever. The player is always completely immersed.
Non-linearity is, as you may have figured out, the exact opposite of this method. And in shooter history, it's very rare. Almost to the point of non-existence. To give you a comparable basis from which to compare linear to non-linear layouts, certain platformers have utilized non-linearity in critically acclaimed ways. Games within the Metroid saga and the Castlevania sidescrollers are great examples; these are games where sequence-breaking is standard and you can potentially play the game out of order. Obviously, when it comes to shooters, this is much harder to accomplish. In fact, it has become sort of a game of catch the unicorn with incorporating non-linear elements into shooters, usually by merging those elements with linear ones. An example of this is the original Half-Life, or any other shooter that allows the player to move backwards through previously completed territory (maps that have been played already) instead of moving forward, or even revisiting old areas later on when they have become worse for wear, with new sequences to bypass. All of this is an example of level designing working around linear restrictions without truly being non-linear. True non-linearity in a shooter, perhaps at this point, is generally unattainable, and those that have tried going head first in this direction have nearly unanimously garnered mixed results. But that doesn't stop contemporary shooters from delving into this "sand box" territory, presenting map layouts that have blurred borders and detours concerning subplots that may not necessary to access in order to complete the game; putting the player in a position where they don't have any particular reason to take a step in any direction, aside from that curious drive to explore the unknown. It's amazing how empowering it is for players to realize that they have the ability to choose their next course of action and that the gameplay will alter according to that decision.
So that's basically the first step, dear reader. Picking your approach. It's simply a matter of deciding how and to what extent your map will conform to or reject a linear outline, and that's a call you have to make while you are still staring into that empty level editor. But don't start mapping until you have a good idea of what you want to do. A good method that lots of mappers try is laying down a simple "draft" of the entire perimeter of the game space you are creating, so that when it's all laid out in primitives, you begin to fill in all the details. This is how the commercial mappers do it; all maps are made in basic shapes and filled in with artistic content at a later stage.
The important thing is to do what you set out to do, but remember that in the end the whole idea is not to just make set pieces. Not entirely. Players need to play, not just gawk and pine over your awesome lighting techniques and attention to ceiling detail. So plan the layout, and by definition the gameplay first. Everything else comes after. Sometimes it helps to make a sketch, although everyone has different routines. Often, playing a well layered level from a good shooter is a great way to acquire inspiration. Just remember that you're trying to challenge the player, and everything the player is going to experience weighs within the confines of the layout you construct. If you limit the layout, you limit the experience. Size is not as important a factor as length. But longer doesn't automatically mean better. You do not want to get tedious. Length only works if the gameplay works. If you don't have a handle on gameplay, learn it, or keep it shorter. Don't make your level huge if you can't handle it! Similarly, if you have the skill to provide good gameplay, then it might be better to keep your layouts longer. Extending the experience as long as possible.
But there are rules. The longer, and bigger, your map is, means the more strain on your node count. Hence, bigger and longer means your map won’t be as complex or as visually detailed as it would be normally. It's a trade, but a fair one. Smaller maps traditionally allow room for more detail, but the playing experience is shorter. This is a fact that's difficult for some designers to get a handle on, since everyone's first impulse is to do something vastly epic. For a lot of people, it comes down to a simple matter of architectural expenditure and generation.
3. BSP Architectural Application
The layout is the most important part, but once you get the foundation set the next logical step is adding your architecture. It's the phase everyone tears the hair out over. How should this room be crafted? What kind of design do I use for these girders? How do I get my pawns to move around with all these parts sticking out? What would a theme like this need to look believable? There are a million questions and a million ways to decorate your layout. But know this; nothing fills your map up quicker than architectural detail. I mean this in both content and in node count. Too much is a bad thing, as is too little.
There is a balance you have to find between the size and scope of your layout and the kind of architecture that will be available to you. And in this regard there are two types that you are going to utilize. They are high poly, and low poly.
Look at Unreal and its mission pack Return to Na Pali. Everything you saw in those games that filled you with wonder was done in low poly terms. That's right. In fact, every commercial game attempts to make their games with as little stress on their engines as possible. Even games like Doom 3, Bioshock and Unreal Tournament 3 do this. You may not notice, but this is how things are done. Commercial games have a regimented standard that level designers have to work around. These levels that are created as a result might awe and mystify you, but on a technical level they are only as advanced as the current benchmark will allow. Community mappers aren't bound by these strict guidelines, so spiraling off the performing course is quite common. When it comes to architecture, it's the detail that always determines how close to those limits a level can go. This is why the professionals create their layouts before they ever get close to adding all the great set pieces. It's the only guaranteed way to regulate a level's performance.
You can see the evidence in all the really great looking games. Take for instance Bioshock, a game that took the Unreal Engine to amazing looking levels of art direction. But even in Bioshock, where locales seep with beauty and detail at every step of the player's passage through Rapture, you can see the evidence of a simple, primitive layout filled with architectural set pieces. Take away some meshes and emitter effects, and you'd be surprised how many rooms in Bioshock are basically a collection of square boxes. Same with games like Half-Life 2, where every urban area is rich with a level of dystopian decay, rooms of any kind are all extremely basic in shape with other details added in to thicken the environments. When you get close enough to these details, and theses collections of meshes that fill archways and hold up ceilings, you'll see them as chunks of carefully assembled material with most of their detail on a surface-to-skin basis.
This is all low poly level design working with the standards set by each game's limitations. In the case of Unreal or Unreal Tournament (which this tutorial is designed for) the "standard" has been enhanced over the last decade by the changes in available technology, so it's possible now for a level detail to exist in maps that was never before conceived by the original developers. However, there still are limits. Obviously. And you have to know them. All that really changes now is how complex your architecture will be when you get to that stage.
In the case of this tutorial, low poly will refer to a detail level that passed with the mother game. Essentially what I mean is, low poly is anything that's Unreal quality, or Unreal Tournament quality. Low poly in this sense means basic layouts with brief pieces of addition structure supporting it. Simple squares or rectangles for wooded beams, crates, pillars, trims, and things of that nature. Cylinders for pipes and other things. Irregular geometric shapes as well. In a nutshell, you'd be using only one or two geometric shapes for a single piece of architecture, or a single brush from the 2D Shape Editor (covered in a later section), or a simple-to-medium prefabricated brush that is used sparingly. Everything else is filled in by lighting and decorative meshwork, which in this engine is nowhere near as advanced as it is by the time the Unreal Tournament 2003 era rolled around. So for Unreal and Unreal Tournament mappers, your biggest asset is BSP. BSP (standing for "Binary Space Partition") is anything you subtract or add to a level with the building brush. The common misconception is that you can only map in either low poly or high poly standards. This is silly. A good mapper uses simple and complex BSP in all their maps, much like how professional commercial games consist of simple areas filled with complex looking things.
High poly architecture is obviously more complicated. You'd be employing a great deal of vertex editing, 2D shape editing, or third party tools in this regard, and often in combination. Of these three choices, newer mappers will find the 2D Shape Editor the most versatile. Vertex editing is a scary phrase for new mappers. It's the kind of thing that makes newbies glaze over, thinking of super angulated geometry like terrain. The truth is that in terms of architecture vertex editing is simply a matter of altering the angles of numerous primitive shapes, usually cubes, or mild alterations of shapes made with the 2D Shape Editor. Third party tools, like 3D Studio Max, are rarely used anymore for BSP (tools like this or Maya are ideal for static mesh or model design). Designers who worked on the original Unreal and its mission pack used programs like 3D Studio Max heavily for the various terrain maps that appeared in the game, and some community maps feature levels that used the tool for the same purposes. For BSP architecture, 3D Studio Max has proven to be a very effective tool to make very detailed, but very poly-costly set pieces. The drawbacks with high poly architecture are obvious. Performance is always an issue, and in Unreal Tournament's silver age there was a fine gamut of maps that tested the current hardware capabilities of the time, and many of them suffered for it by finding little or no online rotation. The most common reason for performance drops is when a mapper makes a complex prefab and places them irresponsibly, like in an open area with a long viewing range. More moderate causes are general over-complication, like making a hall that has just too many BSP complexities in view at once. There's one rule I live by when it comes to high poly BSP: if you can do it simpler with the same effect, than do so. Because once you move into high maintenance BSP territory, your only goal is to impress visually. And if this is at the cost of gameplay, well, players will be the first to take notice. Everyone likes to see something good looking in a video game, but they like having fun more. Graphics make you play, gameplay makes you stay. Live it, love it.
The thing to remember is that BSP is very different from making a level with static meshes, as is the cornerstone of current Unreal Technology games. But the same logic applies. You are using assets to illustrate your layout. BSP may be far limited in comparison to contemporary meshwork, but that does not mean you still cannot produce great looking environments. If you're mapping for Unreal or Unreal Tournament, well, it's not like you have another choice.
The walkthrough at the end of the tutorial will teach you how to make a convincing environment using low poly architecture, as well as give you tips on how to know when to make BSP more complicated (i.e. high poly).
4. The Sensibility Factor
Once you get a handle on layout planning and basic architectural production with BSP, you'll soon find that you're seriously ready to implement themes. Sprawling temples with deteriorating walls, or high tech factories with high ceilings and intricate support structures. Urban skyscraper offices or eerily organic alien strongholds. Whatever it is that you are making, you have to acknowledge one important factor. Sensibility. In this regard, you'll have to perform on two levels. You'll have to create sensibly with both your layout and your architecture.
Planning an environment that makes sense is more important when mapping out your layout. Because if you don't have the room space to contain a functioning world, no amount of architecture is going to magically make it all work. This starts at the seed stage. That first moment where you decide what kind of location your map will be set in. A hospital, or a starship, or a colonial outpost. Whatever. There are things you have to consider beyond just that of where the villains go, how items and puzzles are dispersed through the layout, what gameplay combat scenes appear along the player's route, and where the scripted sequences are going. Firstly, and more importantly, you have to remember that everything you are going to add is contained inside the location, not the other way around. If you don't take this stuff into account, the result will always be the same; generically textured rooms with no real purpose connected to each other all the way to the exit.
Let me give you an example. Let's say your map is set in a military outpost. Easy enough, right? Well look at it this way. It's a facility where people are intended to be living, breathing, working, and sleeping. If the context of your level is during some kind of alien siege where the crew is dead and you are walking corridor to corridor toting your guns in an attempt to hunt down aliens, it may be hard to remember that the level that now lays in shambles still at point was a functioning environment, and you have to convey that. That's the word you have to slap onto your forehead: Functioning. Your military base needs barracks, security outposts, mess halls, restrooms, weapon lockers, training grounds, and other such places. You can even add gyms with those blue mats for hand-to-hand combat training. If your environment is a working environment, like say a colonial mining outpost, you need to have areas that reflect that. There have to be monitoring stations, boiler rooms, storage depots with cranes, elevators down to the mining level, things like that. This goes for all things relevant to living, working locations, regardless of the race or culture of the beings intended to run it. Think of it this way: you don't want your entire game to be a series of nonspecific hallways, do you?
With architecture, the sensibility factor is less stressful. Well, generally. In this sense you're basically trying to keep everything technically sound. If you have a catwalk, you don't put a ton of boxes on top of it unless you have some kind of supporting arches or braces underneath. If a system of ductwork lines a wall, you're going to need to find a way to hold it up. Pillars have a purpose and you'd best find a reason for putting them there, like for instance putting them in a basement or sub-floor before thinking of putting them on higher levels. This brings me to another point; if you are making a building with multiple floors, establish a strong, supported foundation. If your pipes go through walls, they might need a connecting brace to feed them through a wall, or if they are big enough they'll need to be bound to something. In older environments, beams and arches are good for holding up brick hallways, and just about anything else. Basically, older environments are easier to make supportive architecture for since anything can be given a stone base texture. Above all, you always want to convey the concept of weight. Common sense reigns supreme here; just pretend there is gravity and build accordingly.
The walkthrough at the end of this tutorial will also cover this principle first hand, citing examples of what to do and what not to do.
I've covered playability before but I feel it needs its own brief section, in order to remind you how important it is. As mentioned in previous steps, everything you'll be adding or subtracting from your level has to keep a steady standard as far as performance goes. If you are making a map and you find that it is choppy ingame, then you have a problem. You always want to be able to give the player a smooth ride. All your hard work rides on the fact that the player can enjoy your level, and no amount of visual awe or revolutionary gameplay will amount to anything if your map stutters and lags.
The easiest way to watch yourself is to make sure you don't shove too much within a single viewing distance. What this means is, break up your innovations. Do not put a dynamic strobe light in a wide open fog zone with high shadow details and a hefty enemy count. That will spell disaster. Instead, stick to logic. Reduce heavy combat in visually complicated areas. Keep any sort of complex lighting styles confined to enclosed areas with where the viewing distance is limited. The bigger an area (where the player has a long viewing range), keep things simpler.
Basically, like everything else, it's a balancing act. Not every room needs all your atmospheric ingenuity at once.
This section will familiarize you with the basic tools any newbie can use straight from the get go. Keep in mind though, you should learn each one from the most basic to the most complex.
Look upon the basic brush builders available with UnrealEd 2. Cubes, Cylinders, Pyramids, Spheres, Staircases, and Sheets. With any of these you can construct a working, immersive level. Of these, the most versatile and widely used item you will ever use in UnrealEd 2 level design is the cube. I have created entire levels just using cubes, and you would not know it by looking. That's because you can mold and adjust cubes to work for just about anything. In the walkthrough at the end of the tutorial, you will be using the cube more than any other feature to make your first level. In regards to layout generation, cubes are crucial. And all of this is just the basic cube. Once you figure out how to generate a tessellated cube (and you will in the walkthrough), there is very little you can't do with them. There's a 99% chance that every mind blowing level you've seen carved from BSP for Unreal Tournament was made primarily, or completely, from tessellated cubes. Operation Na Pali? Seven Bullets? Project Zephon? Tessellated Cubes, my friends. Tessellated cubes are the best way most mappers can make perfect BSP terrain, with the rare exception of some of the better third party tools (like 3D Studio Max, which is unbeatable for BSP terrain, but hard to learn). You will even learn to make organic formations for your sample map with the walkthrough.
Cylinders and Pyramids are far less useful than cubes, and once you master the 2D Shape Editor there is a chance you may never touch them again, but they still have their place. Cylinders are still very reliable for straight piping, as well as old-style tower generation. But it won't take long for you to see that their usage becomes less relevant the better you get at mapping. Pyramids have their place early on, but for 99% of cases you'll find the 2D Shape Editor's pyramid tools (or more directly, the capped pyramid tool) pretty much the end all approach to anything you can conjure up that would need that sort of shape. And in conjunction with vertex editing, you'll never touch the pyramid primitive again. The sphere, however, can be useful on the odd occasions, since you can make that primitive as simple as a diamond or as complex as a rounder shape. The sphere is the only primitive besides the cube that, more often than not, works better for its intended purpose than what you could do in the 2D Shape Editor. But that's a matter of advanced mapping and you're not ready for that.
The sheet is a heavily useful feature. Any masked, modulated, or translucent texture can be added to your level using the sheet. It's also the tool designed for closing zones. Next to the cube, the sheet will be the second most heavily used primitive for most detailed mappage. You might not even realize how often you see them in levels. The 2D Shape Editor also has a sheet generator, and the one available there can be made in a number of shapes with ease. Staircase primitives have an obvious usefulness, but the more familiar you get with vertex editing and 2D shap editing, you may find that often times you may want stairs that look different than what you can make with this brush. While limited, the staircase primitive has its uses.
The 2D Shape Editor
Accessed via a single button located in UnrealEd 2 (and UnrealEd 1), the 2D Shape Editpt is a built-in program that opens into its own window. Immediately upon looking at it you'll see the default square (or in UnrealEd 1's case, triangle) against a grid backdrop set up in quadrants. You can adjust the grid size, just like normal editing, but the default is 16. Not many mappers appreciate this tool, and even I admit that I overlooked it for a long time starting out. But if you take time with it, you'd be surprised what you can do with it. I use the shaper heavily in my own mappage, and often in place of what others use vertex mapping for in order to perform the same task... and with less complicated results. Did you know you can make a rounded hallway complete with side trimming and pipes with only one subtraction? What's good about 2D shape editing is that it's fast, and you can make a room with one stroke that would normally take you a much longer time using vertex editing with primitives.
I chose to put this separately from primitives because you can make a mover with any tool or style. Movers are those objects that, well, move. From doors, to elevators, to not-static BSP, movers are everywhere. In Single Player mappage, mover use is non-negotiable. Everyone has to add them, so you have to learn how to make them. When I started mapping, there were not many useful tutorials on basic mover use so I avoided trying to make them for a long time. In newer Unreal Engine games, movers are vastly different than how they are in Unreal and Unreal Tournament, utilizing static meshes instead of BSP. In UnrealEd 1 and UnrealEd 2, movers are skeletal purple brushes that pop up around your map, and making them can easily be confusing to new mappers. The walkthrough at the bottom of the tutorial will teach you how to make doors consisting of two movers each, using the 2D Shape Editor to construct them. You're going to do it, and you're going to like it.
When it comes to BSP mapping, few things draw blank looks as easily as vertex editing. When most budding mappers read vertex editing tutorials, they get two sentences in and just shake there head, saying, "well there's no way I'm going to figure that out". Yes, it's confusing, but it's a surprisingly simple process. The problem that turns many people off is the time consuming nature of it. Even I find myself skipping the most basic vertex editing endeavors at times to just knock something as simple as a door frame out in the 2D Shape Editor in less than a quarter of the time it would take me otherwise. But the reality is that vertex editing is the only way to align your BSP when things don't match. If you want to master anything in UnrealEd 2, including the 2D Shape Editor, you have to know how to vertex edit. And if you want to make terrain but you do not want to buy (or pirate) third party programs like 3D Studio Max and spend a huge amount of time learning it, well then you HAVE to learn vertex editing.
Open the Unreal Editor. We're going to map. Look at the pic below and use the key to educate yourself on everything we will be using in this tutorial.
- Camera Movement/ Brush Movement
- Vertex Edit
- Rotate Brush
- Manual Texture Aligner
- Cube Brush Primitive
- Sheet Brush Primitive
- Cylinder Brush Primitive
- Cone Brush Primitive
- Sphere Brush Primitive
- Staircase Primitive
- Add Special Brush
- Add Mover Brush
- Actor Class Browser
- Sound Browser
- Texture Browser
- 2D Shape Editor
- Actor Properties
- Texture Properties
- Panel Toolbar
- Grid Size
- Menu Bar
Add: Anytime you add something to a level, but more specifically Add means Adding a brush.
Subtract: Anytime you carve out a space in the level to Add content into. You must have a Subtraction in order to start Adding.
Brush Builder: The red skeletal frame that appears in the window. You use this to add or subtract brushes from your level.
Brush: Any BSP you are adding or subtracting from the level, be it in primitive format, 2d Shape Editor format, or other. Brushes can be Added (Solid, Nonsolid, Semisolid) or subtracted.
BSP: The physical building blocks used to make structures or carve rooms. Pretty much anything made with a Brush.
Viewports: The windows in which you see the level you are creating.
Solid: Brushes represented in Blue in skeletal view. These can be carved into with subtractions. They block the player like any wall. Used for basic structural building.
Semisolid: represented in Pink in skeletal view. These cannot be subtracted from and they block the player. Mainly used for complex geometry.
Nonsolid: represented in Green in skeletal view. These cannot be subtracted from and the player can move through them. They are mainly used for sheets and zone portals.
Primitives: The basic shapes that appear on the left hand of the screen. Cubes, Cylinders, etc.
Prefabs: Pre-made brushes that you can either load into the level or import. You won't really need to know this until you've gotten the basics down.
Mover: represented in purple in all view modes. These are brushes that move in-game.
Actor: Any in-game item that you add from the Actor Browser into your level. This can be anything from lights to keypoints, pawns, and decorations.
Zones: Every section of a level that is sealed off gets labeled as a zone. You can add zone actors into your level to set specific details about a room, such as making a pool of water or a room with an echo. A level can have up to 63 zones.
Portal: These are sheets that are invisible ingame, but represent the boundaries of zones in the editor.
If this is the first time you are opening UnrealEd 2 then you should immediately see that the viewports are divided up into four (or two). When you get a little better, you can get used to mapping with multiple ports open, but for the sake of our little session, the first thing you are going to do is go into VIEW, scroll down to where it says CONFIGURE and pick the illustration in the window that has the ports divided in two, one over the other. Now, all you have to do is click the mouse in either port and locate the little arrow on the bottom right of the screen (near the grid number) and click. Your viewport should now be one big box.
This is your Brush Builder. It represents the current item of BSP you are either adding or subtracting. But before you can subtract you should add a texture, otherwise if you skip ahead and subtract your room will look all funky in the default texture (an ugly, white thing with bubbles). So click on the Texture browser at the top of the screen (Number 19). Click.
Okay we're ready to get our freak on. The space you see in front of you is known as the Matrix. Pffft, ahaha, no really we can call it the Void. You'll see a blue flat grid in the Void, but really it represents nothing. Think of the Void as one big filled volume, and the only way to map is to cut out of that volume. This means making Subtractions. Once you make a Subtraction, you can Add to it to make a room. Get it?
Okay let's get started. You should see a cross-shaped cursor on your screen as your mouse icon when you move it around in the Void. If not, select Camera Movement (Icon 1 in the LIST). Okay, this is what you use to move around in your edited level. It might take some getting used to, but here's how it works. If you hold the left mouse button down and try moving the mouse, you'll notice that you can either move it Forward or Backward, or you can pivot left or right. If you hold both the left AND right mouse button, you can move up and down or left and right. For some of you used to playing console shooters with two analog sticks, you might get the hang of this pretty easily. Just holding the right key is like a mouselook function, where your camera stays still but you can look around.
Now spend seven hours getting used to it. I'll wait.
Okay, you had your fun? Let's subtract a box. Or rather, our first room. Click the Cube Brush Primitive on the left side of the screen (number 5 on the LIST). If you right click the Cube you'll see a window with numbers that say Height, Width, and other parameters. Right now you're going to leave it on the defaults (default cube is always 256*256*256) You'll immediately see a red skeletal shape.
You should see the above. In the new window go to File and then go to Open. You should automatically open a list of packages from the UT texture folder, but if not then go into the Unreal Tournament Textures directory. We're gonna be doing a nice and easy Tech map, so select the file UTtech1.
Once it's open, you'll notice that the set is broken up into sub categories like wall and base and such. You can make this easy on yourself by selected subcategory ALL and then look for the texture named BMPanelS45.
Click the texture. Now we're ready to make our room appear. You can minimize the texture window for now. Cus right now you are going to Subtract a box, so you can either do this by clicking the Subtract Icon on the left icon pane (number 12) or you can go into "Brush" on the Menu Bar and scroll down to where it says Subtract.
What! Look what you did! You made a room. Let's take the moment to do something you'll be doing frequently. Save.
Okay now you might be pretty excited about your first room and all, but why just have a box. Right click on your Cube builder icon again and this time make the Breadth four times as long. Four times 256 is what? That's right, 1024! Now move the new rectangular Brush Builder you see into position. How, you ask? By simply moving your Camera Movement while holding the CTRL key. You'll always need to do this to move an object. Get the rectangle just on the side of the cube you subtracted, and then Subtract it as well. If you did it right...
...it should look like this. Here's something important that I should mention. Math is important here. You don't need to be an Einstein, but always keep in mind the grid number at the bottom of the screen. 16 is default, and you want all your subtractions and additions to be mathematically sound. For instance, 16 x 16 = 256, which is the default size of a basic cube. 16 is also the maximum step height a player can make in Unreal and Unreal Tournament without having to jump. The approximate height for a contemporary doorway would be 128, and its width would be 64...just big enough for one player to move through. 128 is also half of 256. In this case, it might seem that 256 is big, and it generally is. But this is a tutorial, so don't worry. Here's the list of numbers you'll likely use more often than any other when using a grid size of 16:
* You'll need to set the grid to 8 in order to properly place a unit with a height of 16.
Okay, enough bullshit, I want you to make a cube subtraction on each end of the new rectangle and then make a new rectangle of the same parameters going in the different direction so that you come up with this:
Now we're gonna get freaky with texture alignment. Say you want to make it so all your floors and ceiling match up despite the fact that your big connection of halls is made up of different subtractions. Right click on any floor and you'll see that it will turn blueish (this means you selected a surface). When you right click, a menu will pop up that says "Surface Properties" at the top. Scroll down to Select Surfaces and then slide over to Adjacent Floors and ceilings.
When you right-click any of the blue surfaces again, you'll notice that "Surface Properties" will have a number next to it. Select that and you'll open a window that says Flags, Alignment, and Stats. Go to the Alignment section and click Align Floor. You'll also want to pick a good texture, so reopen the texture browser and select a good profiled floor texture in UTtech1, like so:
Once you click the new texture from the browser, any surfaces selected in blue will change.
Now go back to the Texture browser and select some nice gray bricks for all the walls and some blue textures for the ceiling using rhe UTtech1 package. Use the ceiling named BMceiling3 and the wall brick named ClifBrk3. Get it to match this:
Not bad, right? Well we can spruce up those corners. First make sure all your surfaces are unselected (you can do this by clicking on any surface that is currently selected) so that none are highlighted in blue, and select the texture named CliffBr5. Right click your cube builder and change the numbers in Breadth and Width to 128 but keep the height 256. Move the new shape directly into one of the corners (use the pic above) and get it so the vertical rectangle's outside is lined up with the inner wall of the subtraction's corner. Then Add.
If you did it right, it will look a bit odd but the brush will be lined up. If it isn't, hit the Undo button and try again. Save. Okay. Now we have to align the textures. Right click the two visible surfaces of the new Additive and go into Surface Properties > Alignment to use the area with the word Pan over a U and V. Mess with the U there to move the texture along so that the corner has both the white bricks aiming away from it. Or you can use the Manual Texture aligner, which is easier although less precise (Number 4).
Now you can do the same to all the corners of your map until it looks like this:
Starting to look a little decent, right? A little better than you were expecting for a first time. Okay, save, and then let's make some lights. Right click your Cube builder and make a brush that has 32 Height, 32 Width, and 64 Breadth. A tinier rectangle. Now look in your UTtech1 subcategory of lights.
Nothing really tickles my pickle, so I used a light from a new package by opening MetalMys, but you can use what you like. When you got a good light, make sure you have no other surfaces selected (the Undo button is your friend if you make a mistake) and align the new rectangle in the center of the outer walls of either of your four corner cubes (make the brush flush with the wall), and Add.
Your light texture might be too big or too small. In the pic you can see my MetalMys one is too big, so I went into my Surface Properties > Alignment with a right click and went to Scaling, where I reduced the texture to half its size by making it 0.5.
While still in that Surface Properties window, go to Flags and check Unlit. This will make the light become bright even in the dark. Typically you'll never make lights this way when you are better at mapping, but you can always read my lighting tutorial later.
For now just do it this way. Now you want to add a light, and usually when you add an Actor you have to open the Actor Browser (the one next to the Texture one, with the Chess Piece Icon) but as it so happens UnrealED 2 makes this easy for you and you'll always have the option to add a default light actor wherever you right click. You can add one now. To see how your light looks, you need to Rebuild Geometry. You'll need to do this every time you Add or Subtract new BSP to a level, or change lighting. Otherwise the level will crash when you try to play it. Save, and go to where it says Build on the top editor toolbar. Scroll down to Build Options.
Don't mess with any of the presets. Just click "Build". You'll see loading bars flash by and this should take a fraction of a second since your map is so small. When you make bigger maps, this process will take longer. But you have to do it every time you edit BSP or lighting. Once you do this your level should appear like this:
If not, make sure your panel view is on Dynamic Light and not Textured (click on second button from the right on the panel at the top of the viewport). If everything is fine, keep going. You can duplicate the process to each corner of the map now by either manually remaking the light cube on each spot, or you can take a shortcut: Click the Perspective Icon on the Panel toolbar (the skeletal cube) and select the Blue solid brush of the light rectangle (click on it), then select the light as well (press Ctrl and click on the light); duplicate them (right-click on one of the selected items and choose Duplicate, or press Ctrl-W), and then use the rotator (Number 3) (operated in a similar way to camera / brush movement). In either case, it should look like this:
You probably want to check out what you got so far. Go into your Actor Browser at the top of the screen (the Chess Pawn icon). You'll see a single unit that says Actor. Click the little box, and all the actors you can use in the editor will open. In there, open the section called NavigationPoint and find the PlayerStart.
Select the player start and add it to the floor of your original cube, which we'll call the starting alcove for now on (to add the player start, right-click on the floor where you want the player start to go and choose "Add PlayerStart Here").
But, hold on: before you play you'll want to add some sounds to your lights, right? What am I saying, of course you do. You can do this by opening Keypoints in the Actor tree and selecting AmbientSound. You can add one to each light you made (same principle as adding the player start, but this time right click on the light texture).
To get your AmbientSounds to work, you have to right click them (or double click them, whatever) and go into the properties.
You'll see a bunch of options that will certainly confuse the shit out fo you, so just go to where it says Sound at the bottom of the list and click. In that window you'll see a slot for AmbientSound. This is what you want, so click on it. Having done that, if you click the three little dots (...) that appear, the Sound Browser will open up (you can do this manually by finding it at the top of the screen, too). Now, you don't want to add any Announcer sounds to your Actor, so go to File and find Open. Search for a package called AmbModern.
Once you open it, select the looping sound called Hum60 and put it in the AmbientSound slot. You'll also notice that the default numbers are strange. Or wait, you won't notice that. Okay I'm telling you, they are wack. Your sounds have to match up with the size and power of their source. We're talking basic bulb wattage here, so take the radius down a notch. The values I picked were SoundRadius=17 and SoundVolume=175.
Duplicate the keypoint to each light.
Now you can save and rebuild your geometry. You can play your level now by either clicking the Play Map option in the Editor... (the joystick icon on the main toolbar) or by loading it on the Unreal Tournament console by typing in Open [filename]. If you want your map to appear in the DM list, just add "DM-" to the filename. I suggest that you lower your bot count to zero first because you'll risk a telefrag event, and you just want to walk around a bit in your new map. When your all set, walk around and enjoy!
In part 2 we'll take what we learned a step further. You'll add a water pool and some doors and other things.