Seems people are constantly having trouble with this, so here's a step by step tutorial. It covers everything from installing BSP to making and compiling a simple map.
Step 1 - DownloadingMake sure you have the latest bsp pack for paintball2. This is located at
http://dpball.com/files/mapmaking/ under the filename "bsp_pb2_****.bsp". Old packs will be moved into the "old" subdirectory to avoid confusion.
Step 2 - UnzippingIf you have Windows XP, simply open the zip file. It will contain a folder called "bsp". Drag that to your c:\ drive. If you have WinZip or another zip handling application, press the "extract" button and select c:\ as your destination. If you can't extract it to your c:\ drive, extract it somewhere else and follow step 3, otherwise skip to step 4.
Step 3 - BSP Directory SettingsAs directed by the
INSTALLING (read this!).txt file, open up bsp\pball2\game.ini in notepad or the editor of your choice. You should be able to double click on it to open it. Edit|Replace "c:\bsp" with wherever you ended up putting bsp. For example, if you extracted the zip to your D: drive, replace it with "d:\bsp". If you put it in c:\program files, replace it with "c:\program files\bsp". Next open up bsp\pball2\quake2\pball\compilers\rad.bat and do the same thing.
Step 4 - Paintball2 Directory SettingsIf paintball2 is installed to c:\games\paintball2, skip to step 5.
Open up bsp\quake2\pball\compilers\runmap.bat in notepad, or your editor of choice. You should be able to right click on the file and select "edit". Otherwise File|Open it from notepad. Edit|Replace "c:\games\paintball2" with wherever paintball2 is installed to. Also, if paintball2 is not installed on your c:\ drive, replace the line containing "c:" with the appropriate drive letter.
Step 5 - Open BSPDouble click on bsp.exe. You might want to create a shortcut to bsp.exe to make accessing it easier. If you get any errors, such as "Couldn't find pak file ...", that means you didn't properly set up your configuration files. Go back to step 3.
Step 6 - Window ArrangementClick on the "New" icon or go to File|New. Several windows should appear. You can rearrange these to fit your preference. There are 4 different layouts included. Press ctrl-Numpad1 through ctrl-Numpad4 to change layouts. 1 is optimized for 1024x768. 2 is optimized for 1280x1024. If you want to save your layout, click the "Save Window Arrangement" icon or select File|Save Window Arrangement. Saving different arrangements can make it easy to swap back and forth between different types of editing. For example, you might want to have one layout with a large texture selection window and a large 3D window for doing texturing, and another layout that has large 2D grid views for easier brush manipulation. Editing the window positions is completely optional, and if you do, be sure to save a copy of your bsp\Settings\bspwin.ini so it doesn't get overwritten when installing new versions of BSP.
Step 7 - Loading TexturesPress the "L" key on your keyboard or go to "Texture|Load Texture Directory...". Select "PBALL" from the dropdown list and hit "OK". You should get a window full of textures. Pless the "T" key to show or hide the texture window. If you have problems, your directories probably aren't set up correctly. Go back to step 3.
Step 8 - Creating BrushesSelect a texture and press "T" to get the texture window out of the way. It's time to make a brush. "Brush" is the term for the convex objects used to create walls, floors, and basically everything else in a map. Making a brush is as simple as clicking and dragging. You might notice that the 3D camera automatically looks at the brush you've created. You can enable this or disable it by clicking the "Toggle Look At Selection" button (looks like an eyeball looking at a box). Once you've created a brush, you can click on it and drag it around or click next to a side of it and move faces around. You can also click on the vertexes (or corners) of the brush and move them as well to make various angles. Brushes are limited to convex shapes, though, so it might require multiple brushes to make the shape you want. Hit the ESC button to deselect all brushes if you want to create a new one. You can select a brush again by shi on it in the 2D view or simply clicking on it in the 3D view. To delete a brush (or any other object you have selecte) press the "-" (minus) key on the keypad.
Step 9 - Creating EntitiesPress ESC to deselect any brushes you might have selected. Press the "E" key or go to "Window|Restore Entity" to display the entity window if it isn't already visible. All we need to get started is a single spawn point. Paintball2 uses the "info_player_deathmatch" entity for this. Click the dropdown arrow and select "info_player_deathmatch" then press the "Make Entity" button. A player-sized box should appear where the camera is. It will be selected by default and you can click and drag it around like a brush. Place this over one of the brushes you've created so you have something to stand on when you test the map.
Step 10 - Saving MapsPress the "Save" icon or select "File|Save". The compiling tools are somewhat limited, so you must save your maps in the proper directory or compiling won't work. If your directories are set up properly from step 3, BSP should automatically default to the correct directory. Your maps should be in bsp\pball2\quake2\pball\mapfiles. It's convoluted, I know, but necessary for the compilers to work correctly. Choose a short name and stick with alphanumeric characters. Don't use spaces or dashes. You can use underscores, though. Something like "testmap1.map" will work fine.
Step 11 - Basic Compiling and TestingThe map needs to be exported in order to test it in the game. To export it, click on the "Export" menu. For now, we're just going to use the first phase of compiling: qbsp. Select qbsp.bat from the menu. BSP will prompt you if it's OK to save your map. Click "Yes." After the compiler does its thing, it will pause so you can check for errors. If there are errors, you probably didn't set your paintball2 directory settings up correctly. Go back to step 4. Press a key to start up paintball2. If paintball2 does not start or it sits at the console with "Can't find maps/inprogress/testmap1.bsp", go back to step 4.
Step 12 - Sealing Your Map (Fixing Leaks)When the game loads, you will likely see some crazy "hall of mirrors" effect in the void where there is no map. You may have also noticed a "**** leaked ****" displayed in the compiler window. Maps need to be "water tight" in order to compile properly. They can't have any leaks. Follow step 9 and create enough brushes to make a room that completely seals in the player then compile your map again. If the compiler window still displays "**** leaked ****", then there's still a hole in the map somewhere or an entity is outside of the room you created. BSP can help you find leaks with "File|Leak Check|Load (.pts)..." Select "testmap.lin" and it will draw a line from an entity to the hole in the map.
Step 13 - Zooming, Grid Scale, and Camera MovementYou can zoom in and out quickly with the mouse wheel or select a zoom by clicking on the second number in the top corner of any 2D window. You can change the grid size by holding down ctrl and scrolling the mouse wheel or clicking on the first number on one of the 2D windows. Use large grid sizes, like 32 or 64 for basic overall map construction and smaller grid sizes for details. Large grid sizes make texture alignment easier. You can move around on the 2D window holding the right mouse button down and dragging. You can move the 3D camera around either by clicking on it in the 2D windows and dragging it, or using the arrow keys or mouse scroll wheel while the 3D window is selected to move. Holding the middle mouse button down allows you to look around in the 3D view. You can use the "[" and "]" keys to adjust the speed at which you move forward and backward. BSP actually has multiple cameras. You can use ctrl+leftarrow and ctrl+rightarrow to switch between them. I just use 1, personally. You can quickly position the camera where the 2D view is by pressing "J" or position the 2D views where the camera is by hitting "Alt-E".
Step 14 - Lighting (and Texturing)The easiest and usually best looking way to add lighting to a map is to use light surfaces. Set your grid size to 32 and select a metal texture. Make a brush from the top view that's 1 square wide and 4 squares tall. Now look up at it with the 3D camera. Make sure the bottom of the brush is selected. The selected face will be yellow. You can either click next to the bottom face on the Front or Right view or click on the face in the 3D view (first time will probably deselect it, so click twice). Now select the lit2_2 texture (first texture in the group of lights). Press alt-f to apply the texture to just the selected face. If the texture isn't aligned, move the brush around on the grid until it is. You can then press "Alt-L" to lock the texture and move the brush anywhere you want it and the texture will stay aligned. The brush will turn blue when the texture is locked. The light is awfully thick, too. You might want to set your grid size down to 8 or even 4 and make it not stick out from the ceiling as much. Now press "S" to bring up the surface properties. The checkbox next to "light" should be checked and there should be a number in the "value" field. This means the surface will emit the light amount specified by the value.
Step 15 - More CompilingYou should now have a simple room with one spawn point and a simple fluorescent light fixture. We need to compiling it with all 3 stages to see how it looks: qbsp, vis, and rad. Select "qbsp vis rad.bat" from the export menu. If all goes well, you should have a lit map. If it's too bright or dark, you can adjust the light value in the surface properties as mentioned in step 14. If you get any errors like "Couldn't load pball/lit2_2", you need to edit your rad.bat as specified in step 3. Before you release a map, you'll want to use the best settings. You probably won't notice it in this simple map, but it becomes apparent in maps with detailed shadows. Select "export|final compile.bat".
Step 16 - CTF Worldspawn KeysLet's put some flags and bases in our map. If you have trouble with this, you may want to open the provided sample.map which includes these entities. First, let's give our map a name. Hit ESC to deselect everything and "E" to bring up the entity window. You should just see "classname" - "worldspawn". Click the "+" button. Add "message" and "Test CTF Map" for the key and value (without the quotes). This will be displayed at the console when the map loads.
Now we need to specify the game mode and teams. Press "+" again, and add "gamemode" "4". A game mode of 4 tells paintball2 that this map supports CTF. Now add the following key/values (without the quotes):
"maxteams" "2"
"team1" "red"
"team2" "blue"
This tells the game that the map supports 2 teams. Team #1 is red, and team #2 is blue. You can get more information on entities by visiting the docs page on digitalpaint.org or clicking the "?" next to the drop-down in BSP.
Step 17 - Team Spawn EntitiesNow we need to make team-specific spawns. Select your info_player_deathmatch and press "+" in the entity window. Add "teamnumber" "1". This tells the game that the spawn is on team #1, the red team. If we want this spawn to only be present in CTF mode, we can specify "gamemode" "4" like we did in the worldspawn. By default, entities that don't have a gamemode specified spawn in any game mode. There are quick buttons to set the angle you want players to face when they spawn. or you can set it manually with the "angle" key. You can also make players spawn with equipment: "GiveGun" "trracer", "GiveHopper" "100", "GiveAmmo" "100", etc.
We need to make a blue spawn, too. You can either create another info_player_deathmatch from scratch or hit Ctrl-Space to clone your current one. Drag it to a new location and then double click on the "teamnumber" in the entity window. Change it to "2". This will be the blue team spawn, as specified by the worldspawn in step 15. You can create as many of these spawns as you want. It's a good idea to have lots of spawn points in your final map so people don't spawn on top of each other.
Step 18 - CTF Flag EntitiesHit ESC to make sure everything is deselected, then select "flag" from the entity drop-down and press "Make Entity". Set the following keys/values:
"teamnumber" "1"
"gamemode" "4"
This will be a red flag in CTF mode. Make another flag the same way with a teamnumber of 2. This will be the blue flag.
Step 19 - CTF Base EntitiesBase entities are different than the rest of the entities we used. They're brush entities. This means they need a brush to specify the area that can be touched to trigger them. Hit ESC to make sure nothing is selected then create a new brush. The texture doesn't matter as it won't actually be visible, but sometimes it's useful to use the "trigger" texture so it's obvious the brush is a trigger. You can also use a colored texture to make it easy to tell what team the base entity is for. While the brush is selected, press "E" to bring up the entity window. Select "base" from the dropdown menu and hit "Make Entity". Set the teamnumber and gamemode like you did for the flags. Note that the base entity must be rectangular. While you can make sides angled in the editor, they will not trigger that way in the game. The game simply checks if you are within the rectangular bounds of the brush. You may need to make multiple base entities if you want triggers in various shapes. This applies to all trigger entities. Also, make sure your base entities cover a fair amount of area. It's possible for a fast-moving player to move clear through a base entity and not touch it. Bases should be a good 64-128 units thick.
By default, a flag capture is worth 5 points. This is calculated by (flag count) * (base count) * 5. You can make a flag worth more or less by specifying the "count" value in either the base or flag entity. A count of 0.2, for example, would make a flag cap worth only 1 point.
Shortcut Keys and Advanced ConfigurationAll of the shortcut keys mentioned above as well as many others can be configured. To see what all the shortcut keys are, click "Help|Show Key Mappings..." To configure them, click on the keyboard icon. Note that you must set the shortcut key
before you select what it does. Many other preferences can be set by either editing bsp\Settings\bsp.ini directly or going to "File|Preferences|Preferences...". Be sure to back up your .ini files if you modify these things so new bsp installs won't overwrite them.