Mapping:Create your first room

From Custom Map Makers Wiki
Revision as of 15:48, 22 August 2011 by John (talk | contribs) (Texture the ceiling)
Jump to: navigation, search
Roadworks.png This page is work in progress!


Introduction

This tutorial aims to help you create your first room and, your first map. The tutorial isn't meant to be "the best way", it's been created to introduce you to good practice, neat brushwork and a consideration of a 10 year old engine (soon to be given a new lease of life).


Before we begin

I'm assuming before this tutorial begins that you have a correctly configured radiant, it doesn't matter which, the principles are pretty similar in all versions. If it doesn't look slightly similar to this or If you've not yet configured radiant please see one of the sections about installing

  • links to installing

If you're happy that your radiant shares similarities with the image above you may now close radiant, it's not required for the next 10 minutes, we have to prepare.


Screenshot.png

First steps

Before you begin any mapping project you should choose a name for the project and create an empty folder in your textures folder with that name. For the purpose of this tutorial our map is called myfirstmap, it's short and snappy and easy to remember.

Create a folder in your mapping/textures folder called myfirstmap

Find your shaderlist.txt file, normally this will be in the mapping/scripts folder. Open this with a text editor.

Somewhere in this file, add the single line

myfirstmap

Confirm that there is a line which reads

common

if not, add one. Save the file and close the editor.

In order to know how large things in map world are in urban terror the game it's important to have a reference. Luckily somebody created a set of entities which help.

Download the file measure.def Right click and save target

If anyone knows the name of the person who created this we should give credit.

Move this file to your mapping/scripts folder.

Textures / images

For the purpose of this tutorial you'll need a couple of images. Download these 2 files and save them to your mapping/textures/myfirstmap folder. You created this earlier if you didn't you've been skipping - go back and do it now.

Plaster.jpg Bricks.jpg

Save these files as plaster.jpg and bricks.jpg -

Additionally download these files and save them to your mapping/textures folder

Watercaulk.jpgWater.jpg

Save these as water.jpg and watercaulk.jpg

Create a shaders file

In your mapping/scripts folder create a new file called myfirstmap.shader and open it with a text editor.

Paste in the following lines, they're not important at this stage but will be needed in another tutorial later.

///////////////////////////////////////////////////////////////
textures/myfirstmap/watercaulk
{
   qer_nocarve
   qer_trans 0.40
   qer_editorimage textures/watercaulk.tga
   surfaceparm nodraw
   surfaceparm nolightmap
   surfaceparm nonsolid
   surfaceparm trans
   surfaceparm nomarks
   surfaceparm water
}
///////////////////////////////////////////////////////////////
textures/myfirstmap/ladder
{
   qer_editorimage textures/ladder.jpg
   qer_trans .40
   surfaceparm ladder
   surfaceparm nodraw
   surfaceparm nolightmap
   surfaceparm nonsolid
   surfaceparm trans
   surfaceparm nomarks
   surfaceparm noimpact
   surfaceparm playerclip
}

Save this file and close the text editor, the preparation work is complete it's now time to open radiant.

Open Radiant

Start radiant, after a few moments it will start and have a layout similar to this


It may look slightly different but all of the important windows will be visible.

  • 2d view
  • 3d view
  • Textures
  • Mesages

If not, you've seriously done something wrong and should leave now or read a topic about fixing radiant... needs one

Most work will take place in the 2d section. To switch beween 3d projections use the CTRL-Tab key. This will cycle between Y/X Z/X and Z/Y - basically top, side, other side

For the purpose of this tutorial work in units of 8. Check that this is your current selection by the grid menu option or by pressing 4

Screenshot1.png

Create your first brush, the floor

Brushes, the basic building blocks are created by dragging rectangular blocks.

Working in the Y/X plane drag out a rectangle to form a floor. For the first 20 minutes or so you'll struggle to find the brush you just created in the 3d view but persevere


Having created your floor you should move this to the center of the map, this isn't really important. As long as you can see your floor in both the 2d and 3d views you can work anywhere.

Select your floor, Shift and Click in the 2d or 3d window over the brush will do this.


Tut1-1.png

Make it caulk

Having created your floor and selected it it's now time to open a set of shaders.

Depending on how your radiant is configured you may or may not have loaded the common shaders as part of the start up, if not you'll need to load the common shaders.

To do this:

  • Click textures on the top menu
  • Select Directory list
  • Choose common

If common isn't listed you should add common.shader to your shaderlist.txt which is usually in your mapping/scripts folder.

The common shaders (caulk, botclip, playerclip, etc) should now be visible in your textures window. Click on the caulk texture. On my configuration and others I've used this is bright pink.

Note: Radiant can be configured to always use a specific texture when it starts up. Plain installations can use anything. For the purpose of this tutorial I'll assume you've got

Tut1-2.png

Sizing the room

Earlier in this tutorial we downloaded the measurement entities and saved them to our mapping/scripts folder. The entities file define a set of useful measures that we can use to make our map feel the right size.

Right click in the 2d window,

A list of all the possible entities that can be added will be listed in the context menu.

Select measure to open the measurement entities and select measure_player_stand


Move this object around so that it's standing on the floor and is roughly in the center of the brush you created, the brush should be 16 units in the Y plane (2 grid units when viewed with grid 8)

When you're happy that you have your entity placed correctly and you're happy with the size of your floor, select the measurement entity (shift right click) and press space to copy this.

Move the copy to stand on top of the first.

Copy this second entity and place that on top of the 2nd so you have a stack of 3 entities measuring 3 x the player height.

Tut1-3.png

Tut1-4.png

Build the walls

The next stage requires that we build 4 walls, these walls should be 16 units thick and as high as the 3 measurement entities. Start with any wall you wish, drag the wall brush next to the floor but never overlapping.


By copying the first brush (space) and by dragging the brush around you will eventually make walls that surround the floor brush.


Don't overlap any brushes. Eventually you'll have a scene which looks something like this.

Save the map at this point, Use - myfirstmap.map as your filename.

Tut1-5.png

Tut1-6.png

Tut1-7.png

Add the ceiling

Select the floor, press space and drag the copy of the floor to be the ceiling

Tut1-8.png

Using mitres

Although not strictly necessary this is a tutorial and it's perhaps good practice to sometimes use mitres to reduce the number of brush faces where 2 brushes connect. This method can help reduce light leaks and makes a much neater map.

There are a couple of different ways to created mitred joints, this tutorial will attempt to explain both methods, you can choose whether to use mitres or not and if you do, which method you prefer.

For example, these 2 walls.

Tut1-9.png

Using the clipper tool

The clipper tool is one of the greatest assets available, it allows you to both split and delete brushes.

At first the clipper is daunting, you'll make many mistakes - please save your map at this point - just in case.

Make these 2 brushes over lap, extend the length of each brush so there is an overhang


Press X - you're now in clipper mode.

Click on the inside point where these brushes overlap


If you look closely at the previous example image you'll notice 2 little numbers - 1 & 2 - this is the order in which I clicked using the clipper tool, the editor has created a line between the points.

Press Shift and Enter to split these brushes - Please note Pressing Ctrl and Enter would have deleted the red area but for this tutorial we just want to split our brushes.


This has sub-divided the 2 overlapping brushes into 4 brushes, we no longer require the excess brushes, all we wanted to achieve was a mitre between the 2 walls so the excess can be deleted.


Select the excess brushes and press backspace to delete them.


You're left with a perfect mitre, no additional brush faces are left.

Tut1-11.png

Tut1-12.png

Tut1-13.png

Tut1-14.png

Mitre with control points

The clipper method is only one way to create mitres, there is another, simpler way using control points.

It's important to always work in the same grid when constructing in this way, it's simple and you quickly remember how many units you must adjust by.

These 2 walls will be mitred in just a few clicks.

Select the first wall and press E - the control points will be displayed as small rectangles in the corner of your brush.

By dragging the small blue points it's possible to change the overall shape of a brush.

Move the control points so that the walls connect like this...

At this point you should use whichever technique you prefer to mitre all of the other walls.

Tut1-15.png

Tut1-16.png

Tut1-17.png

Tut1-18.png

Adding textures

With your walls constructed and mitred it's time to consider texturing those portions of the map that the player will see - NEVER use textures on areas that will not be seen. Its for this reason that construction should be using caulk brushes, texture only when construction is complete.

Select the roof brush and press H to hide it. The hide feature is very useful, several brushes can be hidden at a time by first selecting them and then pressing H

Load your textures

Previously we create a shader file called myfirstmap.shader in the mapping/scripts folder.

We added that shadername myfirstmap to the shaderlist.txt in the mapping/scripts folder.

We created a textures folder and saved 4 files to the folder mapping/textures/myfirstmap

It should now be possible to load that texture set into radiant and have them display in the textures window.

From the main menu click textures then click directory list

Choose myfirstmap and click ok.

Your textures should display in the textures window.

Tut1-20.png

Texture one wall

Select ONE face of any of the wall brushes.

To select ONE face (not the entire brush) you will need to Press Shift and click the face you wish to select in the 3d view.

With that face selected find the brick.jpg image in your textures window and click it. The brick texture will be applied to the selected face.

Tut1-21.png

Texture 3 more walls

You can select multiple faces at the same time, to do this Press Shift, Ctrl, Alt and Click another face in the 3d view, click again to unselect.

With the final 3 faces selected click the brick.jpg image once more in the textures window

Tut1-22.png

Texture the floor

Select the floor face and click the plaster.jpg image in the textures window, this will texture the floor of your map.

Texture the ceiling

You'll need to fly inside your map in the 3d view to add the final texture, before you do this press Shift H to un-hide any previously hidden brushes.

Once you've found how to move around and you're inside your map, select the ceiling brush face (only the face)

Texture this face with the plaster.jpg image in your materials view.

Congratulations - you've built and textured your first room - almost.


Tut1-23.png

Tut1-24.png

Structural brushes and detail brushes

A couple of things to consdier.

  • Structural brushes should not be textured
  • Detail brushes with texture block visability

This tutorial is not intended as an in-depth discussion about structural and detail brushes for that you should read the topic Mapping:Structural and detail brushes

If you follow the rule "structural brushes should not be textured" then an interesting problem arises with our current map, it's constructed entirely from structural brushes (by default a brush is structural).

We've textured our brushes which means we must convert them to detail, there are a few ways to select entire maps, I'll describe only one here.

Create a brush which totally surrounds your room.

Tut1-25.png

You might need to flip between 2d views to fully enclose your map

With your map totally surrounded by this new brush, from the main menu selection, then select -> inside

This will select everything enclosed by the brush

Tut1-27.png

Press Ctrl M to convert these brushes to detail brushes.

Add structural brushes

Your entire map is made from detail brushes, in this state you will not be able to compile your map, it will most likely leak.

Our next task is to encase your room in a structural caulk hull.

To do this we first need to select a will, this will set the default height of the next brush we draw.

Tut1-28.png

Create a new brush touching the wall and the same (16 units, 2x8 units wide)

Tut1-29.png

Make sure this brush is as high as your detail brush walls and floor and ceiling.

By copying and dragging the first brush create a solid wall around your map.

Press Ctrl Shift D to hide all detail brushes - lol - all your map dissapears!! Don't worry, it's still there, press Ctrl Shift D and it will come back, press again to hide it.

Tut1-33.png

Create a floor for your new structural box

Tut1-34.png

Copy the floor up to be the top

Tut1-35.png

Hide the structure

Press Ctrl D to make the rest of your map dissapear for a moment, Ctrl D hides structural brushes and you'll probably use this a lot. I tend to work on either structure or detail so at anyone time I can see either one of the other.

Remember Ctrl D will also flip the state and re-show the hidden structural brushes but for now keep them turned off.

Tut1-37.png

Show the detail

Ctrl Shift and D will show or hide detail brushes - Press this to show the detail brushes in your map.

We now have to light our map.

Adding lights

Current trends seem to be moving towards the idea that lots of little lights are better than one big mother f*cker of a light. I subscribe to this theory and we'll add 4 lights to light our room

Right click inside your room and select light from the list of possible entities.

A small type-in may appear insisting that you enter a value. Enter something low between 40 and 70 and click OK. We can change this value from the entity inspector window.

Move the light into a corner of the room, move it half way up the height of the room, not too close to any other brushes.

When you're happy with the placement, and with the light still selected we will inspect this lights properties.

Do this now by pressing N with your light selected. N opens up the entity inspector whenever you have something selected, if you don't have anything selected the worldspawn settings are displayed. For more information about the Worldspawn see the topic Entities:World Spawn Tut1-38.png

You can change the light value here to increase or decrease intensity.

Close the entity inspector window when you've finished reading, adjusting.

Pretty colours

Press K with your light selected, choose a nice colour for your light from the pallette, it's your map, choose what you like.

Tut1-39.png

Close this box when you've selected the colour.

Many lights

With the light selected, make 3 copies (press space to copy an object) and move these lights to each corner of your room. Not too close to a wall.


Tut1-41.png

Info Player Start

With your map constructed and lighting added we must now add an entry point into your map. All maps must have at least one of these entities.

Right click inside your map away from walls and lights and select info -> info_player_start

Move this around so it's just above the floor.

Tut1-42.png


Compiling your first map

HELP HELP HELP

Are all radiants the same - do they all come with a compiler of some description?

COMPILE INSTRUCTIONS NEEDED FROM INSIDE RADIANT IF POSSIBLE

Test your map

Tut1-screenshot.jpg