How To Make Counter-Strike Maps
This is a complete guide that will get you started making maps for Counter-Strike.
Download Valve Hammer Editor
Valve Hammer Editor can be downloaded from here. Its about 2Mb in size.
Install Valve Hammer Editor
I suguest that you install VHE (Valve Hammer Editor) on the same drive letter as your Halflife installation (Counter-Strike and Steam included). This will remove isues with adding harddrives and making backups. For more detailed explanations see this tutorial.
Start Valve Hammer Editor
For best performance, close all other programs. To start VHE, simply click on the following icon on the desktop.
Setup Valve Hammer Editors Options
This window shoul show up when you are done with installing VHE (if not you can reach it through the tools/options menu).
Click Edit and choose Add. Name the configuration whatever you like. I named mine Counter-Strike.
First you have to download the counter-Strike FGD. A relatively new version is available from http://www.slackiller.com/tommy14/cs_expert-tom793.zip. The file should be extracted into your Valve Hammer Editor directory. In the window above click the Add button located by the Game data files. Browse to where you extracted your cs_expert-tom793.fgd file and click open.
Texture Format/Map Type
They should be left as on the image above.
Default PointEntity Class
A point entity can be a sound, a light, a spawn and simular entites. Set this to the light entity, as this is probably the entity you will be using the most for now.
Default SolidEntity Class
A solid entity is a box with some function, like for instance ladders, doors and so on. I recommend the func_wall as the default here.
Game Executable Directory
This should be
Browse to your cstrike directory.
Browse to your valve directory.
This is where your uncompiled work will be. Choose some directory on the same drive letter as Counter-Strike and remember to back it up oftenly.
Setting Up The Compilers
When done with the part above choose the tab labeled Build programs and the following window should apear.
I recommend that you download and install the ZHLT compilers, follow this link to see how: http://www.egir.dk/index.php?page=vhe_zhlt.htm
Make sure you choose the configuration you specified before in Configuration (its nice with so clear differences on the labels don't you think)
This executable will be run automatically when you have finished your map and press compile. Browse to your hl.exe or cstrike.exe. If you have steam you might not have these two files, in which case there is no support for running a map through parameters. It doesn't really matter that much, just browse to your steam.exe.
browse to the qcsg.exe located where you installed Hammer. Qcsg.exe calculates solids in the map and prepares some Hull files for qbsp. Hull files are difinitions of how big the inside of a map is.
Browse to the qbsp.exe also located where you installed Hammer. Qbsp creates the actual map, meaning that when the bsp is done, the map is playable... but it looks like something you wouldn't even feed your dog with. Further more it lags like something that would make Charlie Chaplin move smoothly.
This file is, believe it or not, also located where you installed Hammer, it is named vis.exe . Vis compress surfaces, so they use less textures (sometimes more, untill you learn the basics of vis). This most often decreases the r_speeds, and thereby increases the rendering performance. More information on VIS can be found here.
This file calculates lightning. You should browse to your qrad.exe here.
What about the last one
Browse to your cstrike/maps folder.
Lets Load Up Some Textures
Click the tab labeled textures and click the button Add. I suguest that you use the halflife.wad for now, its located in the valve directory.
Textures are what makes the surface of a box look like walls, crates, ground and simular.
In case you have steam (like everybody else) you may not have the wadfiles. You can download the Halflife windows dedicated server and install int on the same drive letter as you've got your compilertools. The HLDS includes all the steam files, but in normal windows file format instead of the gfc format, that steam tends to use. You can download Dedicated Server (windows) from here
When you are done installing Hammer proberly, you are ready to proceed to the next part.
Create A New Map
Click file/new, enlarge the new window as big as possible, this will ease your work later on.
Click to enlarge
I'm so confused¿
Now you will see four black windows. One named Camera in the upper left, one named top (x/y) in the upper right, one named front (y/z) in the lower left and finally one named side (x/z) in the lower right.
Explanation: Upan and down corosponds to Z. East and West corosponds to X. North and south corosponds to Y. To make this easier to understand I've made a little drawing that you may have a look at right below.
Choosing A Texture For Your First Brush
To the right you will see a black lambda on a pink background, this is the ugly standart texture in halflife and it is called AAATRIGGER. This texture you hopefully not want to use anywhere visible so click the browse button. If you didn't get a blue screen (just kidding!) you should see unreasonably many pictures looking like crates, walls and containers etc. Find anything you would use for your floor and doubleclick it.
Now you should be back to the main window.
Changing Your Grid Size
Click twice on the web with the negative sign in order to get a gridsize on 16. You can see your present gridsize in the lower right corner at OnGrid. Gids are the small white lines helping you sizing your objects. The size of them are the size of a pixel in a unstreched texture.
Dragging The First Dimension Of A Brush
Click the block tool (I oftenly refear to it as the brush tool), its a white cupe in the left bar. this is used for draging your brush. Now go to the top (x/y) windows and make a square in the size of 256x256.
When you stop draggin you will notice that your square turns into a stipled white square with eight small resize squares. You can drag any of these points to resize your brush, but that is verry simular to other applications, so you probably had figured that out allready.
Editing Your Brush From The Site
In the site (x/z) window you should resize you box to the height of 16px (one grid).
Finishing the Brush
Rightclick the white brush and choose Create Object.
Look At Your Work
Click the Camera in the leftbar and then click once in the camera window. In the View menu you choose 3d textured polygons. Click again in the Camera window and hold down your mouse button. Move around the mouse untill you spot your box. Still holding down the button, you use w,a,s and d just like in Counter-Strike to move around. If you got that right you will be looking at something simular to this.
Now you choose a new texture suitable for walls. Create Four brushes as sites around your floor. Make them 128 units height and 16 units wide. When you have done this, it should look like this.
This looks ugly, you can see that the walls are textured wrongly. (the pannels are not aligned with the floor).
The Texture Tool
Click the cupe beneath the block tool, a new window labeled Face Proberties pops up. Click the Arrow in the top of the left bar in VHE. Click at the inner wall and you will notice it gets red. Use CTRL to choose more walls. When you can't see the wall you want to change just use the camera tool to move your view to another angle and go back to the arrow tool and chose the last side(s). Now all the iner textures should be red. Click the T button under justify in the Face Proberties and you will see the textures align with the top all the way around your room. It now looks like this.
You Have To Get It By Now
So create a roof for the room.
What Are The Green Lines For?
The green lines define the center of the map. The green lines are in the camera window drawn as some red, green and blue wires.
Sizes In CS-Mapping
Here follows some normal heights and width you should at all time be aware of.
|Thing ||Width ||Height
Creating A Light
Richt now your map is bitch black. Click the entity tool right above the block tool and click on the center of your room. Move around the green square untill it looks something like this.
Rightclick and create object. Avery small box should now show up in the most of the windows. Click it once, so that it becomes red and then hold down the ALT key while pressing Enter. Make sure that light is selected as class just as below.
Close the Object Proberties window again. Now you have a light in your level. Hooray.
Creating A Counter-Terrorist Spawn
Do as you did with the light before but this time you choose info_player_start instead of light. When you close the window a big box repressenting a Counter-Terrorist spawn sows up. (in your VHE it might just be a green cube, but that will make no difference).
Creating A Terrorist Spawn
Same as CT-spawn, but choose info_player_deathmatch instead of info_player_start. Make sure that there is plenty of space between theese two fellows. I suguest 128 units between the centers of each spawn atleast. You also want to place them above the floor, a 16 units gab between the buttom of the spawns and the floor will be enough (you get stuck in the floor when spawning if you do this wrong). It is also important that you place both spawn points inside the room, or you will get a LEAK error when compiling.
First you need to save your map. It'd just as you save everything else in all other programs (File/save). Name your map something. and now for the fun part.. hit F9 and the following dialog will apear:
Lets click this expert button shall we. You will get another dialog looking like this.
Click the dropdownbox marked on the picture above and you will get something like the picture below.
Now you should choose the Halflife Counterstrike (full) option and behold, a new picture:
Click go! to go. DONT touch anything before the compiling finishes. In steam you will have to start up your map automatically, which should be obviously how to do. Counter-Strike < 1.5 will start the map automatically.
Its a screenshot from another single room map, hence the different textures. You should be able to map now, congratulations B).
If you have problems with mapping go here, don't bother to post mapping questions in the comments. They are for comments only. (I wonder why this is so not obvious).