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

Difference between revisions of "Map making by hand"

From BZFlagWiki
Jump to: navigation, search
(Getting better, still needs work)
Line 7: Line 7:
 
*Notepad
 
*Notepad
 
*PSPad
 
*PSPad
 +
*NoteTab
 
===Mac===
 
===Mac===
 
*TextWrangler
 
*TextWrangler
Line 13: Line 14:
 
*Command-line editors such as nano, emacs, pico, vim, ed.  
 
*Command-line editors such as nano, emacs, pico, vim, ed.  
 
*GEdit
 
*GEdit
 
+
*Kate
 
==Editing existing maps==
 
==Editing existing maps==
 
Beginning mapmakers should spend some time studying and making small changes in existing maps to see how things work.  In the client, maps can be saved for editing by joining the desired server and choosing: Options>Save World.  Maps can also be saved by issuing the /saveworld command.  The map should be a simple map when getting started.  One may find it easier to create a file in BZEdit and open the resulting file in the text-editor.
 
Beginning mapmakers should spend some time studying and making small changes in existing maps to see how things work.  In the client, maps can be saved for editing by joining the desired server and choosing: Options>Save World.  Maps can also be saved by issuing the /saveworld command.  The map should be a simple map when getting started.  One may find it easier to create a file in BZEdit and open the resulting file in the text-editor.
Line 40: Line 41:
 
  end  
 
  end  
 
|}
 
|}
 +
 +
===Explanation of the Sample Code===
 +
There are set variables that define various things such as how fast your tank is, how fast the bullets are, or if it's raining or foggy.  Put those in the options setting with "-set(space) " in front of it. You can also make those changes as an admin by using /set _variable (notice there is a space between the set and the _).  A full list of these settings can be found on the [[Server Variables]] page.  Other options, such as how many times a flag can be grabbed before it resets or if flags can land on buildings are explained [http://my.bzflag.org/bb/files/antigrav4teamconf_114.txt in this forum post]
 +
Optionally, the variables can be placed in a separate configuration file and referenced when the server is started.
 +
 
===Basic Definitions===
 
===Basic Definitions===
 
;Objects
 
;Objects
Line 47: Line 53:
 
;3D Cartesian Coordinate System
 
;3D Cartesian Coordinate System
 
:In most objects, you will see three numbers after position and size. These numbers are coordinates on a graph. The first number is the x coordinate (left and right) the middle number is the y coordinate (forward and backward) and the third number is the z coordinate (height and depth). Another way of thinking of it is: x = width, y = depth, z = height. (Those accustomed to the Y axis determining height will have to slightly adjust their thinking.)  
 
:In most objects, you will see three numbers after position and size. These numbers are coordinates on a graph. The first number is the x coordinate (left and right) the middle number is the y coordinate (forward and backward) and the third number is the z coordinate (height and depth). Another way of thinking of it is: x = width, y = depth, z = height. (Those accustomed to the Y axis determining height will have to slightly adjust their thinking.)  
 
===Explanation of the Sample Code===
 
There are set variables that define various things such as how fast your tank is, how fast the bullets are, or if it's raining or foggy.  Put those in the options setting with "-set(space) " in front of it. You can also make those changes as an admin by using /set _variable (notice there is a space between the set and the _).  A full list of these settings can be found on the [[Server Variables]] page.  Other options, such as how many times a flag can be grabbed before it resets or if flags can land on buildings are explained [http://my.bzflag.org/bb/files/antigrav4teamconf_114.txt in this forum post]
 
  
 
==Sample Objects==
 
==Sample Objects==
 
+
Most objects have similar parameters as the basic box. For instance, the code for a cone may look something like this:
==Getting more help==
+
{|
*The links at the bottom of the [[:Category:Map Making|Map Making]] page.
+
|
*The original creator of this page is flight, you can email him at dirtbikerdude_91@yahoo.com and he will be happy to answer any questions that he is capable of answering.
+
 
+
==The Original Post==
+
For now, you can put those in the options part of your map file, but when you are ready to get your map public, copy those options out to another blank text file and save it as a .conf. You don't have to know what that does, just do it. .conf is configuration file. Then in terminal or command prompt you can specify the path to your .conf file and it will open the map. For more information on this, look in the link above. It explains a lot.
+
 
+
The code for the cone works like a box. In fact, the code for every other object (other than meshes and tetra) look like the box code. You must say you are creating a cone. Complex shapes will be explained later in the post.
+
 
+
In case the article hyperlinks in the previous page confuse you, (because I know it confused me) I’ll let you know the only real things you need to make a cone are divisions, position, and size. Divisions basically decide how smooth the cone is. The higher the divisions the more smooth. For example, if you were to say 4 divisions it would look like a pyramid. Basically the divisions is how many sides there are. 4 divisions, 4 sides. Imagine 128 divisions. The sides would be so small you wouldn't really notice them, making it look more like a cone. To see what I’m talking about, go ahead and test it out. I’ll show the code to test it in a second. I assume you know what position is. I assume you know what size is too, however you should know that you can make a cone that's more of an oval-shaped cone simply by making the size something like 5 10 20. If the x is larger than the y coordinate or vise versa than obviously you have an oval, just like in a box you would have a rectangle. That's it.
+
 
+
 
  cone  
 
  cone  
     name cone1            # name is optional, but it helps you.
+
     name cone1            # name is optional
    divisions 128
+
 
     position 0 0 0  
 
     position 0 0 0  
 
     size 10 10 20  
 
     size 10 10 20  
 +
    divisions 128
 
  end  
 
  end  
 +
|}
  
There are other options such as shift, shear, scale, spin, angle, smoothbounce, flatshading, and probably many more. I don't know what the smoothbounce and flatshading options do, however I do know how to use the other options such as rotation (I'm sure you know what that does too) which in a cone's case doesn't really matter what way it's rotated, angle, which basically allows you to make half of a cone. If you say angle 180, that would make 1/2 of a cone, 90 would make 1/4 of a cone, and so on. To add one of these, simply type in angle <number> somewhere under "cone". Shear is interesting!  This is what it does. Imagine a slinky. Hold the bottom of the slinky tight. Take the top of the slinky and move it to the left (right, forward, or backward). That would be a perfect example of a sheared arc! When you write the shear options, it must look like this:  shear 3 0 0  . This is telling the object to be sheared 3 units to the x coordinate. The number next to the 3 is the y and the last 0 is the z or the height. Shift is weird in my opinion. It doesn't seem to have any benefits unless you are working with a mesh. When you shift something, you are basically changing the position of it. Shift is a synonym for position. The scale option is the same as the size option. Another really cool option is spin. This takes a tall pyramid and can turn it on it's side. The code for this may be a little hard to understand, so I'll do my best to explain it. Take an object (in this case I'm using a cone).
+
Divisions basically decide how smooth the cone is. The higher the divisions the more smooth the cone is.  A division of 4 would look like a pyramid.  Another parameter that can be added to the cone object is angle. If you say angle 180, that would make 1/2 of a cone, 90 would make 1/4 of a cone, and so on.  
 
+
cone
+
  name cone
+
  divisions 128
+
  position 0 0 0
+
  size 10 10 10
+
  spin 90 0 1 0
+
end
+
 
+
One thing you will notice about BZFlag is a lot of times the numbers 1 and 0 will be given not as a value, but more of a way of saying on or off, or in this case which coordinate gets the spin. I'll show you what I'm talking about. I say spin (that is to say it I'm putting a spin on it). The 90 is saying that the object is going to spin 90 degrees, but it doesn't now which way to turn 90 degrees.  that is what the 0 1 0 are for. Because there is a 0 in the x and z coordinates it won't spin that way. Because there is a 1 in the y coordinate it will spin that way 90 degrees. 
+
 
+
I also know how to use phydrv and matref. I’ll show you how to use those later in this article. For now lets move on to arcs.
+
  
 
An arc...
 
An arc...
Line 92: Line 75:
  
 
The only options required to make a sphere are position, size, and divisions.  
 
The only options required to make a sphere are position, size, and divisions.  
all these options do the same thing as they did in the objects above. you may also have an oval like sphere. You make an oval like sphere simply by making the x and y's different sizes just like in the cone and arc. The radius option is just a substitute for size. You can write size 10 10 10 or radius 10.  Both do the same thing. However if you want an oval shaped sphere you have to use size. Rotation wouldn’t really have an effect and the shear and spin works the same for this object. :O I can show you how to use phydrv and marref now.  
+
all these options do the same thing as they did in the objects above. you may also have an oval like sphere. You make an oval like sphere simply by making the x and y's different sizes just like in the cone and arc. The radius option is just a substitute for size. You can write size 10 10 10 or radius 10.  Both do the same thing. However if you want an oval shaped sphere you have to use size. Rotation wouldn’t really have an effect and the shear and spin works the same for this object.
  
OK, a phydrv is a physics driver. And a matref, well I’m not sure what it means, but I always thought it meant material reference. Lets focus on material right now. A material is how you add a design or a texture on something. For example if you make a box, that box doesn’t have to have bricks around the outside of it like it does in bzedit. You want to make a tree? Later I will show you how to make a cone and put a material on it like Louman does for the trunk although Louman is way better than I am!! You might want to find a picture of wood on Google or something and use it as a material so that instead of a cone with bricks it looks like wood. I’ll show you how to do this later. You can change that design by using the material and matref. These two work together. Material is where you define the material. And matref is where you reference the material you defined. Let me show you...  
+
==Getting more help==
 +
*The links at the bottom of the [[:Category:Map Making|Map Making]] page.
 +
*The original creator of this page is flight, you can email him at dirtbikerdude_91@yahoo.com and he will be happy to answer any questions that he is capable of answering.
  
 +
==Special Objects==
 +
There are certain objects that are often coded by hand because it is simpler or it is impossible to do with graphical map creation tools. 
 +
 +
===Materials ===
 +
example:
 +
 +
{|
 +
|
 
  material  
 
  material  
 
   name mat1  
 
   name mat1  
Line 106: Line 99:
 
   matref mat1  
 
   matref mat1  
 
  end  
 
  end  
 
+
|}
 
Material is letting the computer know that a material is about to be explained to it. You name it so that way you can reference it with the matref. The name can be any thing you want as long as it does not have any spaces. You type in addtexture and you state a texture name. Now, how do you know what texture names there are to use?
 
Material is letting the computer know that a material is about to be explained to it. You name it so that way you can reference it with the matref. The name can be any thing you want as long as it does not have any spaces. You type in addtexture and you state a texture name. Now, how do you know what texture names there are to use?
  
Line 115: Line 108:
 
'''On Windows''': The default path is C:\Program Files\BZFlag\data\*.png
 
'''On Windows''': The default path is C:\Program Files\BZFlag\data\*.png
  
What you will find are images that are used in every day games. The top of a base, the wall of a base. A bullet which is blue_bolt.png (i used above). You can check the rest out by going to that folder. You can also add your own. Any picture you add must be in a .png format. I suggest just taking a screen shot of a picture you want to use, such as, the wood picture to make a tree trunk. Most screen shots are .png formats. (At least mine are) you can name that what ever you want as long as it has a .png in the title and no spaces. Then put it in the same folder as the rest of the images in the resource folder. You may now reference those images by typing matref (name of image.png)
+
What you will find are images that are used in every day games. The top of a base, the wall of a base. A bullet which is blue_bolt.png (as was used above). The full path to the texture needs to be used if the texture is not found in that directory. Any customized textures should be uploaded to the bzflag image submission system at [http://images.bzflag.org/submitimages/] before the map is hosted publicly.
  
Also you probably noticed I typed meshbox, not box. To enable the material or physics it must be a meshbox. A meshbox is a box just like a "box" however it enables things such as materials and physics. The same goes for pyramids. You must type meshpyr to get a pyramid with a material on it or physics. However objects such as spheres cones and arcs don't need do have the word mesh in front of them.  
+
Servers running bzfs 2.0.8 and earlier will require "meshbox" and "meshpyr" in order to apply textures and physics to these objects.
  
Also a really cool thing is diffuse. You can add the diffuse command and it will look like this diffuse 1 1 1 1. Those four numbers represent things. The first number is the amount of red that will be in the meshobject. The second number is the amount of green, the third is the amount of blue. So you can mix those colors to make more colors. You may use a range from 0-1. For example diffuse .3 .5 .26 1. Now the fourth number is cool. It is the opacity or transparency. The see through-ability I call it.  0 is invisible .5 is half invisible 1 is normal. If you use this I suggest using the texture mesh.png only because it looks the best however you can use that option on any texture. so it would look like the code below. (For default images you don't have to say .png but I suggest getting in the habit of doing it.)
 
  
 +
Instead of creating a new texture, many interesting and creative things can be done with the "diffuse" parameter in the material object. You can add the diffuse command and it will look like this diffuse 1 1 1 1. The first number is the amount of red that will be in the meshobject. The second number is the amount of green, the third is the amount of blue. So you can mix those colors to make more colors. You may use a range from 0-1. For example diffuse .3 .5 .26 1. The fourth number determines the opacity or transparency (the see-throughability).  0 is invisible, .5 is half invisible, and 1 is normal.
 +
 +
{|
 
  material  
 
  material  
 
   name mat1  
 
   name mat1  
Line 126: Line 121:
 
   addtexture mesh.png  
 
   addtexture mesh.png  
 
  end  
 
  end  
 +
|}
  
So the best way of thinking about a material or rather a meshbox is NOT this– A mateial isn't something you put on as a skin to a box. A meshbox is a different type of box that allows the use of a material or physics. So lets cap up materials
+
===Physics===
  
  
 
+
Physics make your tank behave in different ways. If you have ever played laser mania by Louman than you know on the outskirts of the map there is something you can jump on and you go really fast, that is a physics. Physics and materials work the same way. Physics is to material as phydrv is to matref. You must specify a physics then on a meshbox, meshpyr cone arc sphere or whatever, you can reference that physics by using the phydrv command just like you would use the matref command for materials. There are different physics commands. Linear, angular, slide and death. In the Louman map I mentioned above is a linear physics. Linear physics makes your tank move in a line. The numbers after a linear command are just like position x y z. example:
material <you must type material
+
{|
  name mat1 <you must give it a name so that you can reference it, the name may be any thing as long as there are no spaces and ends in .png. I named it mat1
+
|
  addtexture <add a texture name you may find in the folder I specified simply by  typing the file name of that image.
+
end <must use end
+
meshbox <this alows for a box to use the material above
+
  position x y z
+
  size x y z
+
  rotation 0
+
  matref mat1<referencing the material to the name mat1 so that this box will have the properties of the material specified.
+
end <must use end
+
 
+
Similarly, lets make a mesh pyramid (a pyramid with different images on it)
+
 
+
meshpry <this alows for a pyramid to use the material above
+
  position x y z
+
  size x y z
+
  rotation 0
+
  matref mat1 <referencing the material to the name mat1 (note, I can have several material listed above with different names and reference them as I want with different objects
+
end <must use end
+
 
+
And the same for an arc, cone and sphere, this time without the mesh in front of the name
+
 
+
sphere
+
  divisions 128
+
  position
+
  size
+
  rotation
+
  matref mat1
+
end
+
 
+
Done with materials.
+
 
+
Lets move on to phydrv and physics
+
 
+
Physics make your tank behave in different ways. If you have ever played laser mania by Louman than you know on the outskirts of the map there is something you can jump on and you go really fast, that is a physics. Physics and materials work the same way. Physics is to material as phydrv is to matref. You must specify a physics then on a meshbox, meshpyr cone arc sphere or whatever, you can reference that physics by using the phydrv command just like you would use the matref command for materials. There are different physics commands. Linear, angular, slide and death. In the Louman map I mentioned above is a linear physics. Linear physics makes your tank move in... well a line. The numbers after a linear command are just like position x y z. example
+
 
+
 
  physics  
 
  physics  
 
   name phy1  
 
   name phy1  
 
   linear 50 0 0  
 
   linear 50 0 0  
 
  end  
 
  end  
 
+
|}
 
This will make your tank move at a speed of 50 in a positive x direction you may use -50 and it will make it go the other way.
 
This will make your tank move at a speed of 50 in a positive x direction you may use -50 and it will make it go the other way.
  
Line 193: Line 155:
 
  end  
 
  end  
  
This will make your tank basically feel like it's on ice, that's the only way I can explain it. Whichever way the tank is moving it will keep moving that way. A good example is in ... I forgot the exact title, but it's the "wide world even wider" on the sides if you go up top there is a slide physics.  
+
This will make your tank basically feel like it's on ice. Whichever way the tank is moving it will keep moving that way.  
  
 
  physics  
 
  physics  
Line 202: Line 164:
 
This will make the tank die when it touches the object that refers to this and the message haha! you died will be displayed to that person.  
 
This will make the tank die when it touches the object that refers to this and the message haha! you died will be displayed to that person.  
  
Now you know how to write a physics you have to be able to reference it.
+
example:
Let me show you the code
+
 
+
 
  physics  
 
  physics  
 
   name phy1  
 
   name phy1  
Line 233: Line 193:
 
  end  
 
  end  
  
I hope this helped. As you get more advanced into making maps by hand you will start doing meshes and "tetra" which is a tetrahedron. <I think that's how you spell it. I’m willing to explain meshes but it's much more complicated and would be easier to explain in a conversation.
+
===Groups===
*flight
+
==Transformations==
 
+
 
[[Category:Map Making]]
 
[[Category:Map Making]]

Revision as of 03:40, 21 February 2008

Plywood hammer100x101.gif There is still documentation to be done here!! If you feel up to the task, please have a go at it. Specifically what needs to be added is:
Major re-organization, transform away from "chat" style

Although there are a number of GUI options for creating maps such as BZ-Edit, 3D modelers, many map-makers use a basic text-editor. There are many times when it is necessary to make small changes to a map, such as including objects that are unavailable in GUI map-maker, but there are also some who enjoy the challenge of creating a map entirely from scratch with a text-editor.

Text Editors

Most text-editors designed for coding/programming are more than sufficient for editing bzw files. Although word-processing programs such as Microsoft Word can be used, there are many cheaper (free) and more efficient programs designed specifically for coding.

Windows

  • Notepad
  • PSPad
  • NoteTab

Mac

  • TextWrangler
  • TextEdit

Linux

  • Command-line editors such as nano, emacs, pico, vim, ed.
  • GEdit
  • Kate

Editing existing maps

Beginning mapmakers should spend some time studying and making small changes in existing maps to see how things work. In the client, maps can be saved for editing by joining the desired server and choosing: Options>Save World. Maps can also be saved by issuing the /saveworld command. The map should be a simple map when getting started. One may find it easier to create a file in BZEdit and open the resulting file in the text-editor.

Getting Started

If you have created a box in BZEdit you may see:

# World built with bzedit32 world class, available at
# http://www.sourceforge.net/projects/bzflag
world 
  size 400 
end 
options 
  +r 
  -j 
  -set _tankSpeed 25 
  -ms 5 
  -mp 0,2,0,2,0,2 
end 
box 
  name box1 
  position 0 0 0 
  size 10 10 10 
  rotation 0 
end 

Explanation of the Sample Code

There are set variables that define various things such as how fast your tank is, how fast the bullets are, or if it's raining or foggy. Put those in the options setting with "-set(space) " in front of it. You can also make those changes as an admin by using /set _variable (notice there is a space between the set and the _). A full list of these settings can be found on the Server Variables page. Other options, such as how many times a flag can be grabbed before it resets or if flags can land on buildings are explained in this forum post Optionally, the variables can be placed in a separate configuration file and referenced when the server is started.

Basic Definitions

Objects
Objects are the basic building blocks of the bzw file. Objects begin with a line declaring the object, some fields describing that object, and a line that closes the object (usually with "end"). Each of these sections of the object is important.
Comments
BZFS ignores anything in a line following the #; the line has been "commented out." It is highly recommended that comments be used often, both for the mapmaker and for others that may see the map.
3D Cartesian Coordinate System
In most objects, you will see three numbers after position and size. These numbers are coordinates on a graph. The first number is the x coordinate (left and right) the middle number is the y coordinate (forward and backward) and the third number is the z coordinate (height and depth). Another way of thinking of it is: x = width, y = depth, z = height. (Those accustomed to the Y axis determining height will have to slightly adjust their thinking.)

Sample Objects

Most objects have similar parameters as the basic box. For instance, the code for a cone may look something like this:

cone 
   name cone1            # name is optional
   position 0 0 0 
   size 10 10 20 
   divisions 128 
end 

Divisions basically decide how smooth the cone is. The higher the divisions the more smooth the cone is. A division of 4 would look like a pyramid. Another parameter that can be added to the cone object is angle. If you say angle 180, that would make 1/2 of a cone, 90 would make 1/4 of a cone, and so on.

An arc...

An arc is basically a cylinder. However it doesn’t have to be a perfect cylinder depending on certain options you select. For an arc the only required options are divisions, position and size. Just like the cone divisions have the same effect, position and size are all the same. Once again you can have an oval shaped cylinder type thing. Now, you WILL find more options to an arc than to a cone, for example the ratio option. The ratio options let you basically put a hole in the cylinder. So if you have the option: ratio 1 you would have a full cylinder. If you say for example ratio .3 or any number less than 1 you will get a whole in the cylinder. The bigger the number, the smaller the hole. Angle allows you to do a simi-circle. Rotation once again isn't really needed. all the options like spin and shear are the same for this object too! phydrv and matref I’ll show later. Let’s move to the sphere

The sphere...

The only options required to make a sphere are position, size, and divisions. all these options do the same thing as they did in the objects above. you may also have an oval like sphere. You make an oval like sphere simply by making the x and y's different sizes just like in the cone and arc. The radius option is just a substitute for size. You can write size 10 10 10 or radius 10. Both do the same thing. However if you want an oval shaped sphere you have to use size. Rotation wouldn’t really have an effect and the shear and spin works the same for this object.

Getting more help

  • The links at the bottom of the Map Making page.
  • The original creator of this page is flight, you can email him at dirtbikerdude_91@yahoo.com and he will be happy to answer any questions that he is capable of answering.

Special Objects

There are certain objects that are often coded by hand because it is simpler or it is impossible to do with graphical map creation tools.

Materials

example:

material 
  name mat1 
  addtexture blue_bolt.png 
end 
meshbox 
  position 0 0 0 
  size 10 10 10 
  rotation 0 
  matref mat1 
end 

Material is letting the computer know that a material is about to be explained to it. You name it so that way you can reference it with the matref. The name can be any thing you want as long as it does not have any spaces. You type in addtexture and you state a texture name. Now, how do you know what texture names there are to use?

On Linux: Running ls /usr/share/bzflag/*.png in a terminal will show the list of pictures.

On Mac: If you control click (right click) on the bzflag icon, click show package contents, click contents, and click resources, those are the pictures you may use.

On Windows: The default path is C:\Program Files\BZFlag\data\*.png

What you will find are images that are used in every day games. The top of a base, the wall of a base. A bullet which is blue_bolt.png (as was used above). The full path to the texture needs to be used if the texture is not found in that directory. Any customized textures should be uploaded to the bzflag image submission system at [1] before the map is hosted publicly.

Servers running bzfs 2.0.8 and earlier will require "meshbox" and "meshpyr" in order to apply textures and physics to these objects.


Instead of creating a new texture, many interesting and creative things can be done with the "diffuse" parameter in the material object. You can add the diffuse command and it will look like this diffuse 1 1 1 1. The first number is the amount of red that will be in the meshobject. The second number is the amount of green, the third is the amount of blue. So you can mix those colors to make more colors. You may use a range from 0-1. For example diffuse .3 .5 .26 1. The fourth number determines the opacity or transparency (the see-throughability). 0 is invisible, .5 is half invisible, and 1 is normal.

material name mat1 diffuse .5 .25 .1 .6 addtexture mesh.png end

Physics

Physics make your tank behave in different ways. If you have ever played laser mania by Louman than you know on the outskirts of the map there is something you can jump on and you go really fast, that is a physics. Physics and materials work the same way. Physics is to material as phydrv is to matref. You must specify a physics then on a meshbox, meshpyr cone arc sphere or whatever, you can reference that physics by using the phydrv command just like you would use the matref command for materials. There are different physics commands. Linear, angular, slide and death. In the Louman map I mentioned above is a linear physics. Linear physics makes your tank move in a line. The numbers after a linear command are just like position x y z. example:

physics 
 name phy1 
 linear 50 0 0 
end 

This will make your tank move at a speed of 50 in a positive x direction you may use -50 and it will make it go the other way.

physics 
 name phy2 
 linear 0 50 0 
end 

This will make your tank move at a speed of 50 in a positive y direction

physics 
  name phy3 
  linear 0 0 50 
end 

This will make your tank jump at a speed of 50

physics 
  name phy4 
  slide 5 0 
end 

This will make your tank basically feel like it's on ice. Whichever way the tank is moving it will keep moving that way.

physics 
  name phy5 
  death haha! you died 
end 

This will make the tank die when it touches the object that refers to this and the message haha! you died will be displayed to that person.

example:

physics 
  name phy1 
  death I like you better dead! 
end 
meshbox 
  position 0 0 0 
  size 10 10 10 
  rotation 0 
  phydrv phy1 <or what ever you named the physics 
end 

This works just like the material

The thing about physics and materials is that they have to be written before they are referenced.

This WON'T work

meshbox 
  position 0 0 0 
  size 10 10 10 
  rotation 0 
  matref mat1 
end 
material 
  name mat1 
  addtexture blue_team.png 
end 

Groups

Transformations