First off let's clear up some common terms and misconceptions:
• The word "map" is not synonymous to the word "server". They are different things. A map is run on a server.
• When we say 'server' we mean 'BZFS', the BZFlag server application that comes with every stable binary release of BZFlag. BZFS allows you to host a BZFlag game, with either a randomly generated map, or a custom map.
• The standard extension for a BZFlag map is ".bzw". There are a variety of ways for making maps, and this can be done on any platform BZFlag runs on.
• You will often hear the different types of map objects referred to by the first version of BZFS they appeared in. "1.x" objects are simple boxes, pyramids and teleporters. "2.0" or "2.x" objects are objects such as meshes, arcs, materials, etc. With skill, these can be textured to look like almost anything you want.
• Textures must be in the .png format.
• Team numbering occurs frequently in BZW. Each team is given a number, and these are as follows: 0 = rogue; 1 = red; 2 = green; 3 = blue; 4 = purple.
• Think carefully about the layout of your map: Is is going to be fun to play? This is a factor that many people call 'playability'. This is probably the most important thing for a map that is intended to be played on. It may seem obvious, but you'd be surprised at the number of maps that are either too full of eye candy, or just badly thought out. You want to think about, among other things, distribution of obstacles, how balanced it is for CTF, concentration of ricochet bullets and sloped surfaces to rebound lasers.
Frequently Asked Questions
How do I make a map/world for BZFlag?
There are many ways to do this:
• You can use a dedicated map editor such as BZEdit, iBZEdit or BZFed. In general, dedicated editors will only support simple map objects such as a box, a pyramid or a teleporter. On the whole, this is the easiest way to create maps for most people. See the wiki. As part of the Google Summer of Code, Jude has been making a brand spanking new editor, BZWorkbench, which has full support for everything, and should be ready in the near future!
• You can use a 3D modeling application, such as Blender or Wings3D. There are plugins available for each. With a 3D modeler, you can create much more complex maps, but there is a much steeper learning curve.
The blender plugin, BZWTools, can be found here.
The wings plugin can be found here.
• Lastly, you can edit maps by hand in your favorite plain text editor. Most maps made by hand tend to be fairly simple, though experienced mappers have made some extraordinary maps in this way. It is a good idea to be familiar with the structure of BZW code, as often exported meshes from 3D modelers will require 'touching up' in a text editor. Even the most experienced 3D modeler user needs to know how to text edit.
How do I make a cylinder/cone/sphere etc.?
You can't do it in BZEdit. You will need to add them by hand in a text editor.
See the wiki for more in depth info.
I created a map in BZEdit, how do I add my own colors and textures?
BZEdit will not create colored, complex objects. If you want to texture a map made in bzedit, you will need to do so in a text editor such as NotePad. You must change the boxes you want texturing to meshboxes, and define your textures with the material object. for more information see the BZW wiki page.
Where can I host textures that I have made for my map?
BZFlag offers a free texture hosting service at http://images.bzflag.org. To qualify to be hosted, you need to own the rights to use those textures (i.e. you made it, or you have permission to use it from the creator).
You can submit images via the submissions page, and they will be moderated. Be patient - the moderation can take some time. Remember - this service is a privilege, not a right.
Can I make moving objects in BZFlag?
The short answer is no, and there probably never will be moving objects that tanks can interact with. You can, however make moving textures with the textureMatrix object.
The long answer is yes, simple moving objects have been made that move in a circle around the central Z axis using a method of mesh drawing called DrawInfo, however these objects are always shootthrough and drivethrough, and tanks cannot interact with them in any way - in other words decorative only. The DrawInfo code was never fully documented, and as such is very hard to generate. It's probably best to steer clear of it.
Can I get BZEdit for Mac OS X?
Yes, it's called iBZEdit.
Alternatively, you could use Wings 3D, or Blender if you're prepared for a steep learning curve - or you could go for plain text editing in the TextEdit application that came with your OS.
How can I get a flag to spawn in a specific place in my map?
Use the following simple code:
Code: Select all
zone size 0.1 0.1 0.1 ## Size of the zone pos 0 0 0 ## Position of the zone (i.e. the place it will spawn) zoneflag GM 2 ## For example, this will create two GM flags. end
How can I get a tank to spawn in a specific place in my map?
Use the following simple code:
Code: Select all
zone size 10 10 10 ## Size of the zone pos 0 0 0 ## Position of the zone (i.e. the place it will spawn) team 0 1 2 3 4 ## Every team will spawn here.. end
I want tanks to die when a tank touches this box... How?
You can create boxes that kill tanks when they are touched by using a physics driver. A physics driver can be applied to any 2.0 object. Specifically, we need the 'death' function.
Code: Select all
physics name myDeath ## Name of physics driver. death You Died! ## Message displayed on death. end
Code: Select all
This is covered extensively in the wiki. You can configure the weapon to fire on a flag capture, like on all your favorite CTF servers.
How do I start a server to host my map?
Getting Your Map Out There
There is a forum dedicated entirely to this. It's the 'Map Releases' forum. Please bear the following in mind when you release your map.
• Releasing you map does not necessarily mean you will get hosting for your map, so do not post "OMGZ this map is sooo good i spent like 2 hours making it and it's like amazing all my friends think it rawks!!!!!!11". It's not going appeal to many people. Instead give about a paragraph to describe your map, and any server settings you may recommend for playing. Be sure to use full sentences, and check your spelling!
• Extensions, extensions: you should always give your map the '.bzw' file extension, text edited or otherwise. It dosn't matter what you made it in - it's all the same format. It's just good practice.
• Give your map an imaginative name - not just "xyz's CTF", and not something obvious like "Bridges" or "Castles", as there are probably about five other maps with this title. Instead think of something decriptive and short. Think as though you were titling a movie or a song, something that's going to be attractive to people browsing the forum or listserver.
• Take nice screenshots using the roaming feature in observer mode. Most people will use only the screenshots to get an idea of how well your map will actually play. Try to capture the essence of your map with as little screenshots as possible, no more than three or four, and (if you can) convert your images to JPEGs for faster downloading.
• Furthermore, releasing your map means that anyone can download your map. If they decide to host your map they don't have to make you an admin on their server. If you have any issues with the way they are using your map take it up with them personally. It's not up for public discussion. See this announcement for more information on releasing and licencing in this forum.
• Be open and ready for criticism - if you're new to mapping, the chances are that your map isn't going to be a smash hit, so don't be too offended if somebody doesn't like it. Instead take that criticism on board and use it to improve your map, or to make further maps better.
I also cannot over stress how useful it is to know how the BZW code works and is structured, it's a huge help and I guarantee will help you find and eliminate bugs in your map more quickly.
If you're looking for some further help with BZW, you can post a question in this forum, or you can always try the ##bzw IRC channel on irc.freenode.net.
Lastly, have fun making maps. Many players enjoy mapping even more than actually playing the game, and find it an ammusing and challenging passtime. Just remember to persevere, and with some work, you could be the next Dutchrai or Louman!
If you can think of further frequently asked questions, or spot any spelling/grammar mistakes, i'll be happy to add them.