|
This tutorial is a step-by-step guide to importing your own vehicles into the game Battlezone using the VDF Viewer and GEO exporter contained in the programs section of the site.
|
|
Creating a simple vehicle in Battlezone
This first Battlezone tutorial will talk you through creating a vehicle and getting it in game. It is highly recommended that you know how to use 3D Studio Max 5 or 6, as this tutorial does not teach the basics. It simply shows how to get your model out of 3DSMAX and into the game. As usual, any questions of problems feel free to email me.
|
|
1) Creating your new vehicle
The first thing we're going to do is create the actual vehicle. For this particular tutorial I've created a `panzer tank` based on an old World War 2 tank.
One thing to note is that you must get the scaling right. For example, the Grizzly is 6.15 units wing to wing wide, 6.5 units long and 2.6 units high. Making your vehicle close to this size will ensure it looks ok in game.
|
|
2) Creating texture coordinates
The exporter will not work unless your model has texture coordinates. To do this use the UVWUnwrap modifier (Look up how to use it on google if you're not sure). Basically at this stage you are telling the game how it maps the texture onto the vehicle.
Once you have finished, you can also create your texture now if you wish. In the image on the right I've started on a skin for my panzer.
|
|
3) Creating reference points
Next we're going to create reference points. These tell Battlezone where the weapons mount, where the pilot sits, etc. To make these we create small Pyramid objects and orientate them so theyre facing forwards. The picture on the right shows I've created and placed a small red pyramid in the turret.
Ensure that you apply some form of texture mapping to each point (I used simple UVW Wrap). They don't have to look nice as theyre invisible in game.
|
|
4) Exporting each part
Now our vehicle is ready to export. We'll export each piece individually. To do this we perform the following steps:
1) Select the piece of vehicle we're exporting (I've picked the turret).
2) On the toolbar at the top, click the `Select and Move` tool.
3) Using the Transformation Type-in box at the bottom of the screen, set all X,Y and Z positions to 0.0. The object will move to the origin.
|
|
4) With the part still selected, go to the file menu and click Export Selected. Choose 'Battlezone GEO format' as the export type.
5) Export to a suitable filename (eg. GPZ11TUR.GEO) into the Battlezone addons directory. A name guide is at the end of this tutorial. Give it a useful name (I used Panzer Turret), and a common texture. (I used GVTANK00)
|
|
5) Repeat for all parts
Make sure to undo the previous step's transformations so that the part returns to its original position.
Repeat the above step with all the parts of the vehicle until you've exported them all. Give each piece a unique name, but use the same texture for all.
If at any time 3D Studio MAX crashes on a piece it means you didn't texture-map it. Texture-map it and try again.
|
|
6) Using VDF Viewer to build it
Now comes the easy part. Open the VDF Viewer (available in the downloads section). Make sure that you either run the VDF Viewer from you addons directory, or have the shortcut to VDF Viewer 'Starting in' the addons folder.
If you do not then the VDF Viewer will not know where you Battlezone addons folder is, and won't be able to load your exported vehicle parts.
|
|
7) Inserting each part
Now we're going to import each part in one by one. First we'll do the Turret. Select Insert GEO in the Edit menu. A dialog will pop up asking for the properties.
For the Turret I put 'Name' as GPZ11TUR, 'Parent' as GPZ11BDA, 'Type' as 60. I left the Identity Matrix on its default settings. I repeated this for all my parts, making sure that 'GPZ11BDA' was the last piece that I inserted (see end for reason why).
|
|
8) Moving everything into place
Next I used the CTRL + Up, Down, Left, Right, PGUp, PGDN keys to position each object. I used the keypad +/- keys to switch between each part.
Note that moving a parent will move it's children as well, so I recommend positioning the parent objects before the children.
|
|
9) Linking your ship to the world
Now we're going to make sure our ship is 'linked' to the world. Everything in Battlezone has a parent. It's one big tree (explained at the end).
First make sure the body of your ship is red (use -/+ on keypad if its not). Then goto the Edit menu and select GEO Properties.
A dialog will pop up. Simply type WORLD into the 'Parent:' textbox and hit OK.
|
|
10) Setting up special objects
Now that we have everything positioned and in place we need to set up the reference objects mentioned before (Point of view, cannons, etc).
Using -/+ make sure that the POV point is selected (in my case, GPZ11POV) and go to Edit -> GEO Properties. Set it's property Type to 40 and press OK.
A new floating icon will appear, letting you know it is now a POV type object.
|
|
11) Collision detection details
Now we're going to set up collision details. First turn on rendering of collision boxes (View menu -> Render Style -> Show Collision).
Now select Collision Data from the View -> Information menu. A dialog will pop up allow you to change and Apply collision settings.
The values on the right show what I've used. It's not a very good fit for the vehicle, but it'll do for now.
|
|
12) Testing it out
Our vehicle is now ready to try out! The easiest way to do this is to save it as AVFIGH.VDF (that way, replacing the razor).
Firstly, and most importantly back up your AVFIGH.VDF file. Done that? Ok, now go to the File menu and click Save. Save it as AVFIGH.VDF
Once it's saved, launch Battlezone and head to the first training mission. You should see your vehicle.
|
|
13) And we're done!
This was just a basic introduction to creating vehicles. I recommend playing with 3DSMAX and the VDF Viewer to see what you can come up with.
A tip on weapons: Cannons and Mortars are created the same way as the POV (but using different types/filenames (eg 71/GPZ11GC1).
I'll make some more tutorials in the future that handle Weapons, Engines, Parental Hierarchies, etc.
|
|
Other notes
This section contains various pieces of information you may find useful when creating your ships. GEO suitable naming guides, object types, parental information, etc.
Example Vehicle Download
To help you out, the Panzer featured above can be downloaded. I've included the original 3D Studio MAX 5 scene as well as the finished VDF/GEO article. You can grab the MAX scene from here and the Battlezone ready tank from here.
Suitable naming guide
Each component of your ship must have an 8 lettered globally unique name, different to all existing GEOs. It is also recommended that you use a suitable name that you can use to identify the ship piece. Lets take a look at Battlezone's default naming scheme:
AGR11BDA.GEO is the body of the American Grizzly tank.
The first 3 characters specify the Race and Vehicle type (A = american, GR = Grizzly). The next 2 specify Level of Detail; LOD, and Damage indicator; DI, (LOD=1, DI=1). LOD and DI are not too important right not (DI is not even used) and I'll explain them in more detail in future tutorials. The last 3 specify the component type. Above, the BDA specifies Armoured Body.
Below is a list of all the component types I know of:
BD*: Body. Repalace * with a single character (eg. BDA, BD4, etc)
ROR: Rotational Object Rear
ROF: Rotational Object Front
NRR: Nacelle Rear Right
NRL: Nacelle Rear Left
NFR: Nacelle Front Right
NFL: Nacelle Front Left
POV: Point of View reference
LGT: Headlight reference. This is unused in Battlezone
COL: Collision mesh
GC*: Hardpoint - Cannon. Replace * with a single digit (eg. GC5, GC9)
GR*: Hardpoint - Rocket. Replace * with a single digit (eg. GR0, GR3)
GM*: Hardpoint - Mortar. Replace * with a single digit (eg. GM4, GM7)
GS*: Hardpoint - Special. Replace * with a single digit (eg. GS1, GS8)
TX*: Turret x axis type. Replace * with a single digit (eg TX1, TX6)
TY*: Turret y axis type. Replace * with a single digit (eg TY9, TY5)
Object types
Although the naming system above allows you to identify objects easier, it does not actually specify to Battlezone what the object is. This is done via the Type property (located in the Edit GEO Component dialog in VDF Viewer). Below is a list of all the types I know of:
0: Default component (same as 60)
38: Headlight (Unused in Battlezone)
40: Point of view (Required otherwise Battlezone crashes when you eject)
60: Default component
65: Turret type (Allows rotation when deployed)
66: Rotation object (Twists left/write when strafing)
67: Engine Nacelle (Twists back/forth when turning and emits blue flames)
71: Hardpoint - Cannon (Allows cannon to be deployed & fire from here)
72: Hardpoint - Rocket (Allows rocket to be deployed & fire from here)
73: Hardpoint - Mortar (Allows mortar to be deployed & fire from here)
74: Hardpoint - Special (Allows special to be deployed & fire from here)
Basics of Parental Hierarchy
All objects in Battlezone use a hierarchy. Basically everything has a parent, and the top parent is WORLD. Below is an example drawn out as best I could describe.
As you can see, the red lines point from an object, to its parent. Everything on the ship has a parent that eventually leads back to the main body of the ship. This body is then linked to WORLD as it's parent. This is the reason your ship body has to have the parent WORLD, as explained in the tutorial.
This also explains why you must insert your ship's BDA body last. Let's take a look at the GEO table for my panzer tank.

As you can see, GPZ11BDA (the body) is at the top of the list. All of the objects below it reference GPZ11BDA as their parent (either directly, or through another parent). For this hierarchy to work correctly, the parent must be higher up the list than the child. When you use Insert GEO on VDF viewer, the newly created component is placed before the currently selected object. Therefore if you'd inserted the body first, it would now be at the bottom of the list and unusable as a parent.
Although not a current feature, future revisions of VDF Viewer will allow you to change the hierarchy order. Currently though I recommend you keep this limitation in mind when initially importing ship pieces into the editor.
Resources
The tutorial above used the following tools and resources. You can click each link to download the tool:
? Battlezone 3dsmax plugins (2nd August 2005)
? VDf Viewer v0.12a (28th November 2003)
|
|