Simple BSP Level

In this article we're going to create basic geometry of our level and we're going to start with subtractive level because it's just simpler in order to make levels that are completely indoor (no surrounding, no windows). We presume that you can handle the editor and you've read Introduction To UnrealEd.

Start

Start with the new level.

  1. Select from main menu: File->New (or click first toolbar icon - Create a new map - see UnrealEd Reference)
  2. Dialog appears to select Geometry Style - select Subtractive and hit OK (we'll generally not explicitly mention OK button anymore).
  3. If editor asks you if you want to save something, answer No to all possible questions (saving level, saving packages - all no at this moment). :-) If you started fresh editor you shouldn't see any questions anyway.

Now you have brand new level created and it's full of mass - and you gonna carve out some rooms out of this mass. But before that - be sure your brushes snap to grid:
getstart-bsp0.png
It doesn't matter if the grid is 32 or 16 - it can be whatever suits you. If you can work with higher numbers, go for it. Important thing is to keep all vertices aligned to grid. While it's not that important to align static meshes (unless there's a visual reason) not aligning brushes can lead you into serious troubles.

Simple Layout

We will create very simple layout - but not that simple. There will be two rooms connected together with some z-axis involved just for the sake of "3Dness". There will be two ways from one room to another, that means we will have some loop - and that means we will avoid dead-ends. It's far from good layout, but better than nothing. Let's start with the first room:

getstart-bsp1.png
  1. right-click on Cube button;
  2. set the size of your cube - use Down arrow to move to other dimension - don't use Tab key;
  3. size of your red builder brush will update;
  4. subtract your cube (Ctrl+S or respective button in CSG toolbox)

Check if your viewports are set as you wish. In most cases you want Brush Wireframe for orthogonal viewports and in perspective viewport you'd use Unlit until you have some lights. Unlit is generally most usefull while working with BSP geometry.

Now it's time for second room:
getstart-bsp2.png
As you can see this one is smaller to have some diversity there. It is also placed a bit higher (64 units) just to make it more interesting. You can set the size just like for the first room and then move red builder brush on its place with dragging a widget or simply pressing Ctrl and dragging. If you don't have anything selected builder brush will become selected as you start drag it this way. Best way is to move it where you want using orthographic viewports.

Next we will create simple doorway from one room to another:
getstart-bsp3.png
We will do so by copying the existing yellow brush (select and press Ctrl+W or drag by mouse with Alt pressed). We'll be working in Front view. You can align one side of that brush with bigger room brush. This however will keep widget out of the brush after we edit its vertices in the following picture. Alternatively you can drag the widget into the desired position (marked with red arrows on the picture) and then edit all his vertices (like on the following picture). There is no need to keep widget "inside" your brushes but it's convenient when you want edit them later.

To finish the opening we have to edit vertices of the brush:
getstart-bsp4.png
To edit vertices you have to enter Geometry Mode via Camera Modes toolbox button. Little floating window appears (Geometry Tools) where you choose Vertex. Select desired vertices by marquee select (Ctrl+Alt+drag) and move them to new position (Ctrl+drag or drag the widget). Now you can't see this new brush "working" in perspective viewport. That's because geometry is not always up to date with brushes. Only adding or subtracting fresh brush causes it to affect geometry, moving brushes, copying or editing them causes that you have to Build Geometry (button in the main toolbar) in order to update the geometry accordingly. Use this button whenever you need — you can ignore errors regarding bot pathing because there is no pathing yet. Don't forget to get back to basic Camera Mode if you don't want to edit brushes anymore — this is also the only way how to close Geometry Tools floating window.

You can continue with what you've just learned to create simple level like this (shown in Wireframe mode):
getstart-bsp5.png
Brushes 1 through 3 are result of our foregoing work. Later I added two hallways (4 and 5) one above the other some doorway (6) and three window-like openings (7). If you want to check the scale of the level now you have to add some lights.

Adding lights into the level:
getstart-bsp6.png
Start in Unlit mode in perspective view. Hold L key and click on the ground where you want. Pull the light up a little with blue arrow of the widget. Do this on more places to avoid black spot. Of course this lighting is only temporary.

Time to check basic shape:
getstart-bsp7.png
This level lacks a lot of features that suppose to be there later. Platforms, jump-pads, etc — but hey, we've only started. Many of those things can be added with additive brushes but as this is UT3 we will push work on some platforms and walkways to later stages — they will be made with static meshes. Now just press right mouse button on some ground face and select Play From Here. Jump around and enjoy your first space. It's not really playable — there is no real player start and we just used editor's trick how to jump in. But this will be fixed later as well.

In the next part we will focus on texturing: Simple Level Texturing

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License