Things You Should Know
Nazi Zombies Portable is, as i'm sure you all know, on the quake engine. Thus being quakey it uses the same format of maps that quake does which is the BSP (Binary Space Partition) format. There are a few level editors that can compile into the .BSP format. Here's a list of the ones I know of.
- QuArK (Quake Army Knife) (If you use QuArK, you will need to install the original quake to compile maps. You may make them, but compiling to BSP will fail miserably. GL quake works just fine.)
- CoD Radiant will compile BSP, But it has to be an older version of Radiant. To run it, you need CoD installed. ( Radiant can be used with it's more vivid texture availibility to create or modify maps with more realistic textures. Also, will not add entities for NZP, so you will inevitably need Worldcraft, hammer or QuArK.)
I will be using Worldcraft as an example in this post but before I get into how to map we are going to need some things to help us get started.
- Worldcraft 3.3 and the Quake adapter are available here
- The FGD file from NZ:P which contains all of the entity names so you can add Juggernog etc. This is available on NZ:P's moddb page here
- Some textures to get you started will help. There are some neat ones here
Setting up is an easy process. I will assume that you have downloaded everything above and installed both Worldcraft and the Quake adapter. Take the FGD file and place it in the the Worldcraft folder in qentitydefs-fgd. This should be in the directory "C:\Program Files\Worldcraft" by default. Also place all your textures that you wish to use (don't worry you can add more later if you want) into the folder named textures. The folder should be in the same directory as the qentitydefs-fgd folder. After you put textures in that folder you have to get them ready to use in Worldcraft. In the textures folder there should be a file called All Wad To Hlwad. Double click it and it should turn all your wad files into hlwad texture files making them usable in Worldcraft. Once that is done were ready to open Worldcraft. Once open you should go to Tools->Options and click on the Game Configuration tab. Where you see configuration click Edit to the right of it and click Add. Put something like NZP or Nazi Zombies Portable for the name so you know what game you are making maps for then click ok. Next is the Game Data File which is the FGD that you downloaded. Click Add and browse to where you put your FGD file. If you followed the instruction it would be in "C:\Program Files\Worldcraft\gentitydefs-fgd". Click the FGD and move on. Under texture format it should say WAD 3 (HalfLife / TFC) and under Map Type it should have HalfLife / TFC. You're done with this tab but not the options. Next go to the Build Programs tab and change Configuration to OZM or whatever you named the game for the data file. Here is what the rest of the things under configuration should read. Your setup may be different if you have Worldcraft files in different places. These directories are if you did the standard installation into your program files.
- Game Executable
You can leave this one empty. I'm not going to try to add the directory for the .EXE because it will be different for allot of people. You can if you like though. If you add this the game wil run automatically when you compile a map.
- CSG executable
- BSP executable
- VIS executable
- RAD executable
- Place compiled maps in this drectory before running the game
This can go anywhere to be honest but i suggest you put it in your maps folder of NZ:P (NZP/maps)
There is one last step for setup and thats adding your textures so you can use them on your polygons. Go to the Textures tab of your options and click Add Wad and navigate to your textures folder of Worldcraft "C:\Program Files\Worldcraft\textures" and double click the texture file you want to include. Once you have all of them included click Apply and then click OK. You are now done with the setup.
Getting A Map Started. Your Average Box And A Spawn Point
Click File->New in Worldcraft to start a new map. Select NZ:P or whatever you named it as your configuration. Now you're probably going to want a textured view so in the top left editing box in Worldcraft click camera->3d Textured. Now your going to make your first map. Similarily how most coders start out with the infamous "Hello World" application, allot of beggininer mappers start out with your typical everyday box with a spawn point so you can run aruond in it. Click the block tool which is the fifth tool down on the bar on the left. Don't worry I'll explain the rest of the tools later. Once you have your box tool selected go to a 2d map and click and drag the box until it is an OK size. If you wish to have a smaller grid there is an option for that. On the top bar under File, Edit, Map, etc the third button going left from right makes the grid smaller so you ca nexpand on blocks more accurately. The next button has the opposite effect. After drawing it on one of the 2d views you might want to shapen it up a bit on the others to make it look like a square. Once you are satisfied with how it looks, right click it and click "create object". This will make it "real". You may have noticed that nothing has shown up on your 3d textured view or, if it has you cannot go into the cube without it going completely black. Thats because your cube is not hollow. Click your selection tool, which is the first tool on the left bar, and right click on the cube in a 2d view and click "Make Hollow". This will, of course, make it hollow, and you can explore it with your 3d textured view with the arrow keys and the scrolly thing on your mouse. NOTE: The square will autmotaically be the texture you have selected in the Current Texture box on the right. Once you have your box done the only thing left to do to make it a playable map is add a spawn point. Click the entity tool, which is the fourth tool down above the block tool. On the right hand bar there should now be a dropdown box called objects. Change the objec to info_player_start. This is an entity that tells NZP where you spawn when you first start the game. Place it on the floor in the 3d Textured view. Now if you try to compile and play this you'll just fall through the map because, by using the 3d view to place the entity it's half in the ground, half out of the ground. Go to your side view and click the entity with the selection tool and drag it out of the ground. Now I know you REALLY want to play your map but really, the same texture all around? Click the button that sais ig on the top bar. This lets you select peices of the hollow cube wall by wall so you can texture. Add whatever textures you want via the current texture dropbox on the right. Once you have one selcted click the Apply Current Texture button on the left bar which is the seventh one down from the top. Ok now that you have everything done it's time to compile. Click F9 or Run Map! on the top bar all the way to the right to open the compilation thing. NOTE: If you have'nt already saved it will ask yuo to save before compiling. Do not run RAD as we have no lights yet and if you run it your map will be pitch black. Just run BSP and CSG for now. If you added a game exectable back in setup you can leave Don't Run Game unticked. If you didn't add one tick it. After compilation your map file will be where you set them to go after compilation, and if you set it as the map folder of NZP you're ready to play! Go to NZP and then click the ~ key to bring up the console and type "map yourmapnamehere" without quotes.
Ok This Is Neat I Wanna Start Getting More Detailed. The Tools Explained
This section defines the tool on the left hand bar from top to bottom.
- The Selection Tool
The selection tool is pretty basic. Select things with it. Click stuff on the 2d or 3d view and it's selected. What else could you ask for :D
If you use this on a 2d view it zooms in on what you clicked. You can get the same effect by using your scrolly thing on your mouse. This tool is aimed at people with laptops I think.
If you click and hold this on a 3d view it gives you a way to look around. You can get the same effect by using the arrow kets. This tool is aimed at people with....no arrow keys? Whatever =/
- Entity Tool
This entity tool places entities at the selected point. You can choose what entity you want to use on the right hand bar in the objects dropbox. Entities are read on the client side, meaning that theyre interpreted by the game. An example of this is that when you place a shotgun entity in Worldcraft it's not a shotgun. It's merely an object called a shotgun. When it's read by the client (in this case NZP) it is translated to what it should be so then you actually get the shotgun. I'll go more into NZP entities later
- The Block Tool
Easily one of the most important tools in Worldcraft. It provides land, walls, ceilings, oceans, rivers, objects, almost everything. The block tools default shape is a cube but it can be other things. Click the block tool and on the right hand bar you have what is called prefabs. Prefabs are already made objects, wedges, arches, and even household items like desks, beds, shelves, etc. They can be anything thats already been made before as you can create your own prefabs. Make a cool lamp? Save it as a prefab, when you select it in the objects dropbox on the right and draw it in a 2d view it will be the same thing proportional to the size of the square you drew. Blocks can also become entities but we will get into that later.
- Toggle Texture Application
This tool if for the more detailed application of textures. You can reposition them and resize, and center, and justify, and align and a bunch of neat stuff.
- Apply Current Texture
Apply the texture selected on the right hand bar to the block you have selected with the selection tool.
- Apply Decals
Decals are used for stuff like bullet holes and the like. I don't use them very often to be honest so I can't tell you much about them. They are little entites you can apply textures to or something.
- Clipping Tool
You can use the clipping tool to "slice" objects. Drag it accross a block in the 2d view and it will break apart the block where the line is. Very usefull no doubt.
- Vertex Tool
The vertex tool shows you the points of a block and you can manipulate them to your liking. This is kinda hard to explain. I suggest you just play with it for a while and get a hold of it :3
- Path Tool
The Path tool creates Path_corner markers for use with moving platforms, or in NZ:P's case, the zombies. They are a critical component in getting the Zombies to spawn, and begin attacking the barricade. You can have as many path_corners as you like.
NZ:P's entities are all located in the fgd file that you used in the setup so I will not go into every single one of them. What i'm going to do is group the ones that are similar in function and explain. Before you read this i'm going to explain somethings. All entites have key values that effect them. These values are accessible by clicking the entity in a 2d then right clicking it and clicking properties. Most key values taht work with an entity are available in smart edit but if you fee one is missing you can get out of smart edit and add your own by clicking the Smart Edit button. Also you'll notice a circle in the properties. This governs which way the perk is facing. You cannot rotate perks like you would rotate a block. Also there are two kind of entities. Point and brush based entities. Point based entities are your avergae entites you get when you use your entity tools. Textureless and just a square lookin thing until you play the game. Brush based entities are blocks that are tranformed into entities by right clicking on a block in 2d view and clicking tie to entity.
Point Based Entities
- The Perks
The perks are pretty easy, you do not have to edit key values after your place them. The most you really have to do is make sure the'yre facing the right way.
- The Player Spawns
There are the normal ones and the ones for special characters like nikolai and stuff. Thats about it on them
- The Mystery Box
Same with the perks just have to worry which way its facin =/
This isn't exactly just NZ:P but they're important. Light is light. the keyvalues decide what kind of light it is, how bright, does it flicker, pulse, etc. Light can make or break a map. You need perfect lighting to play comfortably. Also once you have light you will want to run RAD when you compile to be able to see your work.
- Place Model
This is only directed towards the entity place_model. Models are found in the nzp/progs directory of NZ:P and can be called on with this command. It's keyvalue is model and you have to specify the directory and name of the model to get it to work. Say I wanted the Kar model. In the model value area i'd put progs/g_kar.mdl because that's where the model is for the kar in the NZ:P folder.
- Spawn Points
Spawn points should always have names depending on which room they should start coming in, eg if i want a group of zombies to spawn in the first room i'd name them s1, the next room i'd name them s2, etc. I'm pretty sure it's the same when dealing with the dog spawns but i'm not sure. Zombies should always be directed to a path_corner in their "target" keyvalue. After they reach the path_corner they can either go to another one or go to a barrier.
- Path Corner
Path corners shoudl always have names also so the spawn_zombie entity has something to target to. Under Next Stop Target there should be the name of another path_corner or a barrier.
The barrier name is item_cover. The barrier IS NECESSARY. If a zombie doesn't go through a barrier he won't attack you. A path corner entity should point to a barrier. You do not need to edit any key values for the barrier. The onyl thing that needs to be done with it is move it around and change the direction its facing based on where it is.
Brush Based Entities
Some brush based entites are activated via a trigger texture. A trigger texture is a texture that triggers something. What defines the texture as a trigger texture is the name. A trigger texture is named trigger. Trigger textures are not visible in game. Their size in Worldcraft is where you can touch it to activate it in game.
- Buying Weapons
You may have placed a gun model but that doesn't allow you to buy it. That's this entity. Their keyvalues are pretty self explanatory and that NZ:P starter pack you download from moddb has most the weapon id's for the guns. Here's a list of all of em anyway. You can thank jester and true nightmare for this list. The numbers before the weapon name is the weapon id and goes in the wich weapon keyname.
1: Colt M1911
129: Scoped Kar98
133: Wonderwaffe DG2
137: Double Barrel
140: Trench Gun
142: Gewher -43
143: M1919 Browning
146: M1 Garand
147: !!! Upgraded Colt M1911 !!!
153: Ballistic Knives
155: Bouncing Bettys
157: Porter's X2 Ray Gun (Ray Gun)
158: H34dcr4ck3r (Kar Scoped)
159: The Widow Maker (The Bar)
160: Widdershins RC-1 (M1A1)
161: F1W Nitrogen Cooled (Flamethrower)
162: wunderwaffe DG-3 JZ (Wunderwaffle DG-2)
163: Gibs-O-matic (Tompson)
164: snuff box (Swan Off)
165: the reaper (PPSH)
166: 24 bore long range (Double Barrel Shotgun)
167: armageddon (Kar)
168: 420 impeller (FG-42)
169: Gut shot (Trench Gun)
170: Barracuba FU-A11 (MG42)
171: G115 compressor (Gewer rifle)
172: B115 Accelerator (Browning)
173: .357 plus 1 K1L-u (.357)
174: MP115 Kollider (MP5K)
175: M1000 (M1 Grand)
176: The Afterburner (MP40)
177: Longinus (Panzerschreck)
178: The penetrator (PTRS-41)
179: The Kraus Refiberillator (Blistic Knife)
180: Spatz-447+ (STG)
181: Bowie knife
Doors are brush based entities but it's not activated via a trigger. Basically build the door and place it where you can and tie it to the door entity func_door_nzp. Smart edit gives you what you need for the rest
About Making More Than One Room
You need an entry way but hwo do you make the hole for the door. You blast a hole in it thats how. Make a block approximately the size of the door you want to make (it doesnt have to be hollow) and stick it through where the door is gunna be. Right click the block and click carve. Remove the block and there should be a nice hole. Then undo the block moving and resize it to fit neatly in to the hole and make it a door entity as described above.
Waypointing a map is neccesarry for the zombie's navigation. You have to download a different .dat file and place it into the OZM folder to be able to waypoint your map. That dat file can be downloadedhere. Waypointing is done in game and once your done and you save your waypoints NZ:P generates a data file that contains the information for the wayopints. This data file should be distributed along with your bsp file if you want to show it off. I'm really not to good at waypoints so I'm going to link to Ju[s]tice's tutorial he posted here.
I used this tutorial as a reference several time while writing this tutorial. It's a tut written by Jukki
The Worldcraft team I guess deserves some credit XD