Vilham
Say wat!?
+580|7020|UK
This tutorial was made ages ago before the crash of BF2s. I forgot about it but just found in on my HD so I thought I would repost it.

To create a map for CS:S, HL2 or HL2:DM you will need to install Source SDK in your "Tools" section of Steam.

Terms
  • Brush - is a geometrical object in a map.
    • World Brushes these are things like solid walls.         
    • Brush Entities are World Brushes that have been changed to entities.
  • Entity - an object defined within the Source Engine as having characteristics which differentiate it from "the world" (world brushes).
    • Brush Entity - This is a World Brush that has been "tied to entity", this allows it to do something rather than just being.         
    • Point Entity - An entity created at a location that has no effect unless given a model.
  • nodraw - a texture that stops a face from being rendered, increases frames per second.
Installation
  • 1. Open Steam.
  • 2. Click the "Tools" tab.
  • 3. Right click Source SDK Base.
  • 4. Click Install and follow through the instructions.
  • 5. Right click Source SDK.
  • 6. Click Install and follow through the instructions.
  • 7. Make sure you have played which ever game you wish to map for at least once since its last install. (This creates the gameinfo.txt file required to run the editor.)
This next bit is thanks to a major fuck up by valve. When they merged the ep1 and ep2 engines they forgot that E1, CSS, HL2 Deathmatch and HL2 don't use some features that the ep2 engine uses, thus you need this line to map for ep1 engine games.
  • 8. Right click Source SDK and Click Properties.
  • 9. Click Set lauch options....
  • 10. Add "-engine ep1".
Configuration
  • 1. Open Steam.
  • 2. Click the "Tools" tab.
  • 3. Double Click Source SDK.
  • 4. Double Click https://img526.imageshack.us/img526/6285/hammerconfiggs9.png
  • 5. Click Reset.
Now Hammer should be ready to go!StartingSo first of all select CSS in the drop down box and then load up Hammer. This step may take only 10 seconds or may take a few minutes. It has to load all of the data. You should once its done have 4 lines of text in the message window all starting: "Search Path".Now go File/New.This will load a fresh map for you, the interface looks like so:https://img294.imageshack.us/img294/8914/hammermy9.gifThe 4 black areas you see are your view ports, these allow you to view and create in your level. They are defaulted as:
  • Top left - front y/z
  • Top right - top x/y
  • Bottom left - side x/z
  • Bottom right - 3d Camera
  • 2d view - The arrow keys move your view around, or just use the scroll bars.
  • 3d view - The wasd keys move your view around. The arrow keys move the direction you are viewing in. (Imagine you are in CS:S, the wasd make you move and the arrows act as your mouse.)
Zoom - You can use the scroll wheel or this https://img516.imageshack.us/img516/9282/magnifyjg7.gif icon.Practice around with the controls for a second.GUI
  • https://img392.imageshack.us/img392/6730/mousepointerfw2.gif - Mouse pointer, always select this when you want to manipulate.
  • https://img524.imageshack.us/img524/9423/entityym0.gif - Entity, this will create an entity at the location you select.
  • https://img117.imageshack.us/img117/5205/brushxl0.gif - Block, this will create a brush of the selected size at the location you select.
  • https://img294.imageshack.us/img294/6596/texturenb8.gif - Texture Application, this will load the texture application.
  • https://img72.imageshack.us/img72/6967/gridgn8.gif - Toggle Grid/Toggle 3d Grid/Smaller Grid/Larger Grid, always have Toggle Grid on and always make the grid as small as possible.
Have a quick look at the other buttons available on the main interface. Some are useful most aren't, many of the things you see can easily be accessed by right clicking brushes or entity's.TexturesThe first thing you need to know are two important groups of textures when mapping. To check them out first click the Texture Application. This brings up the Face Edit Sheet, click Browse, this now brings up a HUGE thumbnail list. This would take far too long to navigate just by browsing, that is where the filter comes in handy. Ok, first type "tools/" into the filter. Each of these textures shown is not visible to the player but are very handy and crucial in map making.https://img72.imageshack.us/img72/8780/toolsff9.gifNow type "dev/dev" into the filter. Each of these textures are great for when developing a map. When mapping NEVER use finalized textures until the editing of brushes is finished, otherwise you spend a lot of wasted time texturing, this is why the "dev/dev_measure" textures are great, you can measure the brushes to fit with textures without trying to work out your theme.https://img294.imageshack.us/img294/2899/devuh6.gifThats all the introduction to Hammer done. Lets start mapping!MappingThis section is going to be basic, the aim behind it is to get you to learn the basic tools and how to make a map that works.First thing to do is build our skybox (A map doesn't have to have a skybox, but everything on the map must be blocked off from the outside of the map, this can be done with simple blocks or with a skybox, gaps in the outer wall of the map are known as "leaks".), this is the area inside the map that we will be using. So go to the texture application, then browse, type "tools/" into the filter. Now double click the texture that looks like this:https://img212.imageshack.us/img212/9007/textskyboxiv5.gifClick the texture application button again.Now select the Block tool and in the top right view port make a box 1000x1000, then in the top left view port make it about 300 tall. Now right click, create object. Now select the pointer tool and right click your block and make hollow or use Ctrl + H enter a value of 32 and press Ok.If you now fly around in your 3d view port until your camera is inside the skybox you should see this.https://img144.imageshack.us/img144/9963/skyboxud4.gifNow you have a skybox, this will act as a solid object to the player. (Never use a skybox as your floor, this will get in the way if you are trying to add water etc.)So lets build ourselves a floor for the map. So go to the texture application, then browse, type "tools/" into the filter. Now you will be confronted with two similar images that look like this:https://img267.imageshack.us/img267/5614/textnodrawco9.gifDouble click the first one. Click the texture application button again.Now select the Block tool and in the top right view port make a box from the top left inner edge to the bottom right inner edge. In the top left view port make the block 8 tall then shift it down till it touches the inner edge of the skybox. Now right click, create object. Go to the texture application, then browse, type "grass" into the filter. Double click any of them, then right click the nodraw texture you can see in the 3d view port. You should now have a grassy surface in your skybox.Now go to the texture application, then browse, type "tools/" into the filter. Double click the "nodraw" texture again.We are going to start making some walls for cover in the map now, so select your block tool again and start making some some blocks on the grass, 50 is the height for crouching cover and 100 or so will cover a standing person. After some messing around you may have something like this:https://img267.imageshack.us/img267/458/firstblocks1qn3.gifTransforming blocksThere are 3 things you can do to transform blocks. Stretch, rotate or move. To stretch an object select the object in a 2d viewport then drag the corners of the block in the direction you wish. To rotate an object select the object in a 2d viewport then click the object again now use the rotating icons on the corners of the object. To move an object select the object in a 2d viewport then hold the mouse over the middle of the object and hold down the left mouse button and drag the object around.A move advanced method is right clicking the object and then selecting transform.Copying blocksHold down shift and move a block, it will place a copy of the block to where you move it.Now go into the texture application, click browse and type any kind of texture you want into the filter, double click the desired one and then right click the faces that you can see on your blocks, move the 3d view port around so that you can see the sides. Make sure to leave the side of the block that is touching the ground as nodraw, you may now have something that looks like this:https://img526.imageshack.us/img526/8703/firstblocks2hf6.gifMess around with as many blocks as you want, you can also make:
  • Arch
  • Block
  • Cylinder
  • Sphere
  • Spike
  • Torus
  • Wedge

This is done by selecting the block tool and then in the bottom right there should be a section that looks like so:
https://img267.imageshack.us/img267/7368/objectsif1.gif select the desired shape from the drop down window.

Also texture the sides of the skybox if you wish. Just mess around with stuff, I doubt you can do much damage as long as you stick to the tools I have already shown.

Lets place a few ladders now, go to the texture application, then browse, type "tools/" into the filter. Now double click the texture that looks like this:
https://img178.imageshack.us/img178/5092/textladderkc5.gif
Click the texture application button again.

Now select the Block tool what you now want to do is make a block that is against a wall and is only 1 thick.
https://img267.imageshack.us/img267/6773/ladderblocks1fd7.gif
Right click the ladder and click tie to entity, change the class to func_ladder.

The last thing I will show you with blocks is making the buyzones. Go to the texture application, then browse, type "tools/" into the filter. Now double click the texture that looks like this:
https://img104.imageshack.us/img104/5443/texttriggercj1.gif
Click the texture application button again.

Now select the Block tool what you now want to do is make a block that is where you wish each spawn to be, make it reasonably large, this is the area in which you can buy weapons.
Right click the trigger and click tie to entity, change the class to func_buyzone. Now change the Team number (int) to Counter Terrorist or Terrorist, obviously select the opposite for the other buyzone.

That's the basic working with blocks, now lets get onto entity's.

Entity's

Lets start by making some spawn points.

Select the entity tool. Now click on the map inside one of your buy zones:
https://img130.imageshack.us/img130/442/entity1yo2.gif
Right click the green square in one of the 2d view ports, then click create object. It should give you a terrorist guy. Move the entity to the terrorist buyzone and leave it a tiny bit above the ground. Now copy it around so you have 5-6 spawns. Copy one of the entitys to the Counter terrorist buyzone. Right click it, click [properties[/b], change the class to info_player_counterterrorist. Now copy the new entity 5-6 times in the counter terrorist buyzone.

You now should have a map like this:
https://img267.imageshack.us/img267/3871/entity2tk7.gif

Looks a bit boring at the moment, won't take long to fix that though. Make an entity anywhere in the map. Now right click it, go to properties and change the class to prop_static. Now go to World Model, Browse and type "crate" into the filter(It takes a while to load the models, it does this every time you view the models, gets pretty annoying...), select a crate you like the look of, I personally like the prodigy crates. Click Ok and then Apply. Now you have your first prop in the map. Just copy some of them about, rotate then abit, place a few on top of each other, just to make it look nice and provide cover.
https://img14.imgspot.com/u/07/251/12/entity3.gif

Now we should add some destructable crates and some crates to move around. Copy one of your crates, right click, properties change the class to prop_physics_overdrive. Now you have a crate you can move around by shooting. Copy that crate a bit if you wish.

Now you know how these basic props work add any you like to your map, just enter an appropriate search term into the filter and use the model.

Now lets finish up this basic tutorial with the lighting. Select the Entity tool and make a new entity in the air above the middle of the map. Right click, create object. Now right click it and click properties change the class to light_enviroment click apply.

Compiling
Press F9, we will start with a fast compile to check the map for any errors before you actually want to fully compile the map.
Use these settings.
https://img297.imageshack.us/img297/3050/fastcompilebg3.gif

Now open up CSS, bring down the console with the tilde key and enter map "map name" without the quotes. Press enter and you will be taken into the map where you can check everything is ok.

Once everything has been checked exit CSS and fix any errors in hammer. Then press F9, use these settings. https://img98.imageshack.us/img98/2589/normalcompilexj6.gif.

That is the basic tutorial done. Have fun.

Last edited by Vilham (2008-09-03 17:53:28)

Vilham
Say wat!?
+580|7020|UK
Fixed lines.

Last edited by Vilham (2008-01-27 09:15:52)

Snake
Missing, Presumed Dead
+1,046|6819|England

Pretty good for a beginners guide. Hammer > BF Editor, by a LONG way.

Thing with mapping for source (and its even worse for CS1.6), is you have to take into account fps readings and errors a lot more than BF. VIS blockers, leaks and wall thicknesses are all quite critical.

Use this website for any, and all source mapping needs (includes tutorials and a debugger, where you just copy your compile list and it tells you what is wrong):
http://www.interlopers.net/

Thats how I did my map, de_beachassault - believe me, they know everything

Last edited by Snake (2008-01-27 08:35:18)

Vilham
Say wat!?
+580|7020|UK
Personally I use www.FPSbanana.com. It has some incredibly good mappers. I agree making a BF map took me fucking months, making a hammer map took a week or so. Taking fps into account isnt too bad either, it means my maps are optimised to 299 FPS on my computer. If you didnt like BF  Editor dont try the CoD4 one, atleast not for a month or so till its actually read for release, they released a totally bugged modtools, its nearly like a beta...

Board footer

Privacy Policy - © 2025 Jeff Minard