This wiki is archived and useful information is being migrated to the main bzflag.org website

Difference between revisions of "BZW"

From BZFlagWiki
Jump to: navigation, search
(Map Usage)
Line 54: Line 54:
  
 
==Map Usage==
 
==Map Usage==
Maps are loaded by [[BZFS]] at runtime. The most common way to load a map is with the '''-world''' [[BZFS Command Line Options|command line option]]. Other methods involve [[BZFS Plug-In|plug-ins]] or scripts to automatically change or load the map.
+
Maps are loaded by [[BZFS]] at runtime. The most common way to load a map is with the '''-world''' [[BZFS Command Line Options|command line option]]. Other methods involve [[Plug-Ins|plug-ins]] or scripts to automatically change or load the map.
  
 
==Map Editors==
 
==Map Editors==

Revision as of 01:23, 19 February 2007

The BZW format is used by BZFS to define the game world, or "map". This file is a plain text file that is loaded by the server application at start up and sent to each client when it joins the game. The map file contains a list of 3d world objects that populate the world, as well as optionally settings and options for the server to use when running.

Basic Format

All structures in the BZW format are contained in this basic block structure

      OJBECT_NAME    #comment
        KEY  VALUE
        KEY  VALUE
      end

The object names are special keywords that are recognized by the BZW parser, unknown names will produce a warning at run time. Each object type has it's own subset of recognizedly keys and associated values, depending on what it does. All blocks must have an END statement to be valid. Words are defined in lowercase. Comments can be added to the file by preceding them with a # character. The comment will be in effect until the end of the line. There is no set limit to the number of times you may use any of the objects except for the world, options, and waterLevel objects, they can only be specified once

Here is small example world:

      world  # simple world containing a box, pyramid, and mesh
       name Simple World
       size 100.0
      end
      box
       position -20 -20 0
       size 10 20 10
      end
      pyramid
       position 20 20 0
       size 10 10 20
      end
      mesh
       vertex -10 0 0
       vertex 10 0 0
       vertex 0 10 0
       face
        vertices 0 1 2
       endface
      end

Object Types

The format of this text file consists of any number of objects listed in any order (except that physics, textureMatrix, dynamicColor, and material must come before they are referenced) separated by newlines and grouped into blocks of types. The list of world types consists of:

Map Usage

Maps are loaded by BZFS at runtime. The most common way to load a map is with the -world command line option. Other methods involve plug-ins or scripts to automatically change or load the map.

Map Editors

Several map editor applications exist and are commonly used to make complex maps. They are listed in the [Category:Map_editors|Map Editor Category].