Clean mapping guide.
Disclaimer
This is one of the methods you can use to map. I don't say other ones are worse but for me this is an easy strategy that can help you create maps fast and with nicely aligned textures.
In this guide I'm often referring to steam/steamapps/common/portal 2/sdk_content/maps/ this is the default path for hammer; if you have different settings this path can be different.
intro
Over the last few weeks you've seen 3 recent releases by me:
Cube 'n Buttons,
Lp's Lazr0s and
Lp's Flingtro.
You could've seen that I use a very similar appearance in all those maps. Very clean, modern style. I've developed a technique that is really easy to use and which makes mapping really easy.
In this post I'd like to explain the basics of this technique.
The basics
Let's start at the very beginning:
When you open up hammer you start with a nice little grid. I suggest setting your grid size to 32. Zoom to the center (where all the blue lines come together). This is the origin of the map. Each time you load hammer this is where your default camera starts.
Convenient to have this in the center of your main room? no.
If your map uses lasers that turn on an off there will be sparks at the origin. There are also a few other things that make it a good idea not to start at the origin.
The technique I'm using is copying blocks of 128x128x32 and/or 128x128x128 through my maps. To make sure the textures are properly aligned I start with the tile/white_wall_tile_bullseye texture. It's a 128x128 texture and you will immediately see if it's placed correctly or not.
Ok: so where do we start. Usually I actually do start at the origin. I draw a 128x128x32 block like this:

As you can see I draw this at the top right of the cross in the xy-plane and I draw it under the line in the z-plane. When you start from this point each of your textures will be automatically aligned! But I already said I wanted to start away from the center so with [Shift] we have to copy the tile like this:

With a bit more pressing shift you can make a nice 3x3 floor. Group them together and you have a nice group. Select that group, rotate it and make it a nice wall for your map. Do this for all four sides and then also create a ceiling. It should look something like this:

Once you've done that make sure that your bullseyes are still nicely in place and use the texture replacement tool to replace your bullseye texture by nodraw. This looks a lot better and is also a bit better for performance sometimes.

Now that you got this nodraw room it's time to add some actual textures!
Make sure that you use floor textures on the floor and ceiling textures on the ceiling.
So go to the texture browser and select a nice floor texture and use the texture application tool to apply it to the floor. The advantage of the texture application tool over the apply current texture is that it looks a lot tidier in hammer and if the back of the wall is the wall on the other side it's very easy to give that another texture in order to make it look good. For black textures I suggest starting with black_wall_metal_004c. This is also fits nicely on the grid. Add variation as you like to the walls. If you use this stategy the only thing you need to be carefull with are the textures that don't fit in 128x128 areas like black_wall_metal_002f and black_wall_metal_004d. If you used my technique you might need to change the position of the texture; but only with 512 in the x-and/or y-direction!

Once you got your walls properly you'll need light. For this we will use default instances. These are good lights that provide nice light. With black textures I prefer to use "cool" lights; they're a bit blueish and they look very good. To add these create an entity, make it a func_instance and click on VMF Filename and browse to steamapps/common/portal 2/sdk_content/maps/instances/lights and select light_panel_128_cool_med.vmf This is a nice light for this room. Once you selected it hit enter. If you haven't saved your map yet nothing will happen. So save it now and load the map again. You will now see a light where you placed that instance the last time.

I now suggest you draw the instance light to the ceiling. Remove the center brush and make sure the light fits in nicely. Now add an info_player_start and hit compile. Your map should now look something like this:


You can also use steamapps/common/portal 2/sdk_content/maps/instances/lights and select light_panel_128_cool_high.vmf this one gives a lot more light. It is very useful to add this to larger rooms. Don't add too much lights or your map will be blinding which isn't good. Something that's also good to take in account is that light looks a lot brighter on black then it does on white. See also my previous images.
If you keep working with 128x128x128 blocks you will never get off-grid. However doors and fizzlers between rooms look a lot better when you put them between 32 unit thick walls. However; as soon as you've done that you need to start to (slightly) worry about your texture alignment. You need to shift the texture on the wall 128 or -128 units depending on what side you changed the room. That should align nicely again.

If you want to make a corridor it's very simple: just delete the block where you want to have the corridor and make the walls next to it 128x128x128 and the block above it as well. Then just simply copy the floor over as well and give it proper textures:

If you're planning to do long corridors I suggest to only make the first and/or last blocks 128x128x128. It looks cleaner if the rest are just nicely 128x128x32. If you're having problems with lighting I suggest making the corridors 256 high so you can add proper light panels to it. Doing this in a 128 high corridor is a bad idea; the light easily gets too bright.
If you want to make height differences: also use 128x128x128 blocks to get to a lower point:

The final thing I want to mention in this post is the other way of lighting your room: observation rooms. They look really cool and people like to have them in the maps they play! To add these create an instance and browse to maps/instances/labs/ now choose observation_room_128x128_1.vmf or
observation_room_256x128_1.vmf and place them in your map. For this example I will be using observation_room_256x128_1.vmf.
Now delete 2 blocks so the observation room fits in.

As you can see with the red arrows there are overlapping textures here! Usually they will take extra computer power to be shown and it doesn't even look good. So they need to be fixed. This is a special case though: overlapping nodraw textures don't cost more computer power. They can get strange graphical glitches though so it's still a good idea to fix it!
In order to do this set your grid size to 16 and cut the edges so they are the same as the edges from the observation room:

Get your camera inside the observation room to make sure you got 'em all! not that if you did all there is one nodraw texture visible from the instance, this is part of the instance itself.

now is a nice time to stop reading and start practicing in hammer. Just create a slightly bigger level than this and keep using shift to copy and paste. Once you master this technique I suggest reading the next post.
todo
* More instances is faster mapping!
* Adding various test elements.
* How are we going to add all those indicator lights here?
So keep tuned, and please let me know what you think of it so far, where can I improve and is it clear enough?
~Lp
Cube droppers; gel and gel droppers:
Once you created your first room it's time to add test elements. Let's start with a cube dropper and a button. For the cube dropper we use an instance: instances\gameplay\cube_dropper_normal.vmf

As you can see the model clips (overlaps) with the wall. What's harder to see is that the instance either sticks out of the ceiling a bit or it is somewhat inside the ceiling by default. This doesn't look good so I suggest you now set your grid to 8 and drag it down one block, after that it's at the proper height. Because the model clips with the wall it's a good idea to move it.
To do this you have two options: move it to the center of the room or create a 256x256x32 brush around the box dropper:

Personally I prefer the 256x256 option because it is less room wasted! It is important to know that this cube dropper can only used once. This is because a lot of things in the instance have the @ prefix. This triggers all relays with the same name. also outside the instance itself. You can either use cube_dropper_multiple_normal.vmf or open cube_dropper_normal.vmf; remove the @'s and save it under a different name in your own instance folder. For example: All my custom instances are in maps/instances/Lp/ this way it's very easy to find your own instances and share them with others.
95% of the time you want a button to respawn a cube. This often prevents people from getting stuck in your level so now it's time to add a button. Go to hammer and create a prop_button. Place it near a wall: a button against the wall is often looking better then a button in the middle of the room. If you want you can create a 64x32x4 brush as a base. Use the [ and ] buttons to get to a grid size of 4 to get the proper height and then switch back to 32 again. It's just a small detail that makes your map look better. Use a floor texture for the top face and add plastic/plasticwall004 to the sides. Now press [Ctrl]+[T] to make it a func_detail. This is something that will improve performance. I'll go into that later. Then grab the cube dropper and place it. For the height you once again should temporarily set your grid size to 4 you can also use this grid size to place the button nicely at the center of the platform.

Once the button is properly placed double click it or select it and press Alt+Enter. Set the "Delay Before Reset" property to 3 and "prevent fast recent" to Yes. This is very important: if people press the button too fast the cubes can get stuck thereby breaking your puzzle. So make sure you do this.

Now it is time to activate the cubedropper. To do this select the cube dropper first and give it a name. "cube_dropper" for example. Then select the button and go to the outputs tab. Click add and add the folowing output:

Usually when you added the name cube_dropper you can press the arrow up and down keys to see the inputs you can give to the instance. Congratulations; you now have a working cube dropper!
Once you have the gel dropper it is a good idea to add indicator lights. They are the blue/orange dots that help people see what each button does. To do this you must select the apply overlay tool:

once you selected that tool browse for "indicator" and you will find the signage/indicator_lights/indicator_lights_floor texture. Select it and click somewhere on the surface where you want that texture to be.
(to be continued...)
Feel free to post now
I Figure it would help if I post my checklist for clean maps
Uses instance elevators
Has an elevator video
Has a light-up sign room
All walls have aligned textures
Lighting
All rooms are lit by real light sources
global_ents should always be in a map, used for fog
Should never be so bright that you cant see the textures (blinding)
Puzzles is well laid out, the exit/goal should be obvious from the beginning
Observation rooms should be in every chamber
lasers and excursion funnels, should emit light, which has to be done manually
Nothing should be hidden
Things that cause death should be made clear.
Include security cameras, but not too many
Lighting should point out key parts of the test ie. portalable surfaces
The exit elevator should usually be covered by a door
There should always be indicator lights
Indicator lights that go to doors should always have checkboxes
Anything that uses timers, need to have timer panels
The map should make sense
I don't think you should make small 128x128x32 blocks for the whole map.
it's knid of a hassle especially for large maps. (but your choice)
I also recommend adding hints to your maps.
Load your portal file and add hints in the blue.
It optimizes your map and good for low end computers.
(dont do it like valve does it in some of their maps, god the horror)
never use lights so bright, that you can only see white on a surface, you need to make it darker.
P.S observation rooms should not be in every chamber. Some Valve maps dont even have observation rooms.
BenVlodgi wrote:
Looks good, bassically how I do it... I know where you got using the bussley texture fromI Figure it would help if I post my checklist for clean maps
<>
Yes, the bullseye texture was your idea ![]()
I used to use another texture for it but the bullseye looks really clean!
I mostly agree with your checklist; though I don't think an observation room is required in every room.
spongylover123 wrote:
Actually, I recommend using the trasition and global_ents instances in your map first.
I don't think you should make small 128x128x32 blocks for the whole map.it's knid of a hassle especially for large maps. (but your choice)
That seems to be the case at first; but if you group larger pieces together it is actually really easy! Why don't you give it a try and let me know what you think after you finished a map?
The best thing about it that it is really easy to change or to add parts: forgot a white surface? No problem; we got a nice 128x128 part right there 
spongylover123 wrote:
I also recommend adding hints to your maps.
Hint/skips occulders; func_details; areaportals and so forth are very powerful but I just started this guide and hint/skips are not the basics. By using this very blocky method the visleaves also stay relatively simple so that is good too.
spongylover123 wrote:
Load your portal file and add hints in the blue.
It optimizes your map and good for low end computers.
(dont do it like valve does it in some of their maps, god the horror)
Good optimization requires careful attention to line of sights and usually I prefer to keep visleaves in mind while mapping. And add them myself first before loading up the portal files. (Though I have to admit that I haven't hint/skipped my newest two maps yet
)
spongylover123 wrote:
never use lights so bright, that you can only see white on a surface, you need to make it darker.P.S observation rooms should not be in every chamber. Some Valve maps dont even have observation rooms.
I agree; this is the reason why I have a custom light_panel_128_cool_low.vmf
Jimo wrote:
Thanks for the tips here. The texturing tutorial is great and I'm going to give it a try tonight on my map. I've been struggling with getting my textures looking good.
Glad I could help; I'm planning to add more stuff later on this week, so keep an eye on this thread!
lpfreaky90 wrote:
BenVlodgi wrote:Looks good, bassically how I do it... I know where you got using the bussley texture from
I Figure it would help if I post my checklist for clean maps
<>Yes, the bullseye texture was your idea
I used to use another texture for it but the bullseye looks really clean!I mostly agree with your checklist; though I don't think an observation room is required in every room.
True story, for back-stock though most rooms look better with the nice lighting they give off. but you are correct, not always needed 

Bayleaf wrote:
stuff about mapping.
My method right here.
I think should do one, but for underground or Portal themed maps.
Bayleaf wrote:
stuff about mapping.
You are mostly right: you're using dev textures; this is common with other source games but since the blocky nature of most portal 2 textures another texture is also just as fine.
Your strategy for creating walls, floors and ceilings is most likely more efficient. And when I started this guide I knew I'd get at least one reaction like this. The main advantage of this method though is that people start to think in bigger blocks ad that they easily see that their textures are misaligned. A final advantage is that by using 128x128 textures It's easier to actually make all your textures fitting. The main point of my strategy is to get people more aware of how blocks can influence the final texturing and that a 128x128 block (either a separate brush or part of a bigger brush) is often the best choice.
About the dark/light metal thing: After seeing your pictures I guess I have to agree that light metal indeed looks better. I will change this!
lpfreaky90 wrote:
Bayleaf wrote:stuff about mapping.
You are mostly right: you're using dev textures; this is common with other source games but since the blocky nature of most portal 2 textures another texture is also just as fine.
Your strategy for creating walls, floors and ceilings is most likely more efficient. And when I started this guide I knew I'd get at least one reaction like this. The main advantage of this method though is that people start to think in bigger blocks ad that they easily see that their textures are misaligned. A final advantage is that by using 128x128 textures It's easier to actually make all your textures fitting. The main point of my strategy is to get people more aware of how blocks can influence the final texturing and that a 128x128 block (either a separate brush or part of a bigger brush) is often the best choice.
About the dark/light metal thing: After seeing your pictures I guess I have to agree that light metal indeed looks better. I will change this!
If the player can't see misaligned textures, maybe they should get glasses. They're glaringly obvious not only in the editor but in the game too. Another advantage to my method is that the player isn't restricted by 128x128 blocks, they can also use 32 unit blocks to add in small panels. Newbie mappers should start out with the proper techniques that way when they become more experienced they already know these things and won't have to switch over. You don't train a dog by tying string to their hands and animating them like puppets, contrawise you don't train a mapper by making mapping moron proof.
Always aim for minimal brushes, it makes your maps streamlined and more compatible. A solution to a problems isn't always the easiest one. Mapping has always been a long process and in order to produce quality maps you must fuss over every detail to make your maps perfect. If a test is prone to glitching, fix it or scrap it. That's what separates the good maps from the great maps.
Bayleaf wrote:
lpfreaky90 wrote:Bayleaf wrote:
stuff about mapping.
You are mostly right: you're using dev textures; this is common with other source games but since the blocky nature of most portal 2 textures another texture is also just as fine.
Your strategy for creating walls, floors and ceilings is most likely more efficient. And when I started this guide I knew I'd get at least one reaction like this. The main advantage of this method though is that people start to think in bigger blocks ad that they easily see that their textures are misaligned. A final advantage is that by using 128x128 textures It's easier to actually make all your textures fitting. The main point of my strategy is to get people more aware of how blocks can influence the final texturing and that a 128x128 block (either a separate brush or part of a bigger brush) is often the best choice.
About the dark/light metal thing: After seeing your pictures I guess I have to agree that light metal indeed looks better. I will change this!
If the player can't see misaligned textures, maybe they should get glasses. They're glaringly obvious not only in the editor but in the game too. Another advantage to my method is that the player isn't restricted by 128x128 blocks, they can also use 32 unit blocks to add in small panels. Newbie mappers should start out with the proper techniques that way when they become more experienced they already know these things and won't have to switch over. You don't train a dog by tying string to their hands and animating them like puppets, contrawise you don't train a mapper by making mapping moron proof.
Always aim for minimal brushes, it makes your maps streamlined and more compatible. A solution to a problems isn't always the easiest one. Mapping has always been a long process and in order to produce quality maps you must fuss over every detail to make your maps perfect. If a test is prone to glitching, fix it or scrap it. That's what separates the good maps from the great maps.
Glados would like to have her say about that post.
anyway, I noticed that these tutorials are only showing textures for clean aperture. are the methods the same for wheatley/destroyed labs?
CamBen wrote:
I noticed that these tutorials are only showing textures for clean aperture. are the methods the same for wheatley/destroyed labs?
To do the wheatley/destroyed style, you should always map your map first in the manner that LP, or Ballie have mentioned. make your chamber a good clean chamber, then destroy it as added detail. It depends on how much you want destroyed, if your chamber contains a toxic pit, then that it usually replaced with an infinite fall into the bts. the bts consists of the framework, other chambers, tubes with stuff going through them and stuff like that. walls can be smashed in. The best thing you can do is to go through VALVe's maps and see what they did, see what entities they used.
Make sure you are familiar with optimization before you venture to this style, really any style.
BenVlodgi wrote:
The best thing you can do is to go through VALVe's maps and see what they did, see what entities they used.
You should do this sparingly, its good to get ideas, but noone wants to see exact copies.
iWork925 wrote:
BenVlodgi wrote:The best thing you can do is to go through VALVe's maps and see what they did, see what entities they used.
You should do this sparingly, its good to get ideas, but noone wants to see exact copies.
As long as you're not ctrl+c, ctrl+ving you should be fine. BTS chambers tend to be very unique in terms of different ways you can detail them. I'm going to try making a BTS tutorial and post it here.
Bayleaf wrote:
As long as you're not ctrl+c, ctrl+ving you should be fine. BTS chambers tend to be very unique in terms of different ways you can detail them. I'm going to try making a BTS tutorial and post it here.
I'd suggest you to create own topic, I wouldn't be so happy if someone else is posting tutorials to my topic.