How to make New Tiles for Total Annihilation
by Zero.G

 

 

First of all: in this tutorial I'll not teach you to create (paint) a tile in an image processing program, but how to get a tile to edit and how to use it in TA maps once finished.
Second: for this tutorial I'll use Annihilator 1.5 as TA Maps Editor and Adobe Photoshop (version 5 LE, if you care) as Image Editing Program, but things should be similar if you use TAE and/or a different Image Editing Program. The same function could be in different places and maybe have different names, but with a bit of will I'm sure you'll can reach a good result using your favourite apps.

For our tutorial we'll go to modify an existing tile, but if you'll want to create a completely new tileset the steps are the same, except you'll don't need to export an existing tile.
So, open Annihilator, right-click on the tile you want to edit and choose "Export BMP". A standard Windows "save as" window will open, type in an appropriate name and save the tile where you want. Then right-click again on the choosen tile but now choose "Export Haightmap", we'll need it later.

 

Now open Photoshop and load the tile image (you know how to do this, isn't it?). This image is in indexed color mode, this is very important as the palette that indexes these color must be the same in all the tiles (and coherent with the TA palette), otherwise TA will show your terrain with distorted colors. Since we'll need to change the "color mode" of the image to better work on it, so we'll save the palette to be able to restore it later.
This is done only once, once saved we'll use the same palette all times we'll need it. So click on "Image|Mode|Color Table".

  A window will open showing the actual palette of the image. We only need to push the "Save" button and store the palette in our Hard Disk.
  Now we can convert the tile image into RGB. This is done to allow us to use all Photoshop tools to modify the image, as many tools and filters will not work in Indexed Color mode. To do this click on "Image|Mode|RGB Color".
  At this point we are free to make all modification and add all features we want. The only limits are our immagination and our skill with the painting software. Well, this is not true, but sounds good.
As you can see in the images to the left I've chosen to add a simple bridge in a coast tile from the Greenworld tileset.
Describing all the steps isn't the task of this tutorial, but I can tell you that I've first added a vertical gray row, then added noise and blurred it to obtain a metallic effect, then I've added parapets and shadowed a little all the bridge. Finally I've added details.
 
  Photoshop has a great way of working with images, allowing you to paint and modify elements in different layers. In this way you can keep each element separate from the others to modify it (or even removing) later without losing what there's "behind". Again, a discussion on how to use layers in Photoshop isn't the task of this tutorial, but if you want to know more about this you can make a web search for Photoshop-specific tutorials. For non-Photoshop users benefit I can say that Corel PhotoPaint, PaintShop Pro and The GIMP also allow you to spread your image into layers.
Back to our tutorial, now: As you can see in the image I've used many layers while adding the bridge in my tile, so I need to flatten them in a single image. Before doing this it's very important that you save the image in Photoshop proprietary format (.PSD) to maintain your layer structure for eventually modify it later. Then click on "Layer|Flatten Image" in menu bar or click on the button (the one with a small black triangle in it) to the top right of the Layers palette and choose the same option.
 

Now we'll revert the tile to its Indexed Color palette.
Click on "Image|Indexed Color".

  A dialog window pops up allowing us to choose wich palette use.
We'll chose "Custom"...
  Then click on the "Load" button and browse to our previously saved TA palette. Then click OK. Colors in our tile may be change slightly but this should not ruin our image.
  Now we need to load the previously exported heightmap and modify it accordingly with the new tile. Heightmap is the grayscale image that tells to TA at wich altitude is each part of our tile. Darker areas are the deeper ones, while lighter areas are the topmost ones. In our Map Editor we will then specify at wich altitude is the Sea Level. It's important to note that the heightmap is 1/16 of the tile: so if our tile is 512x512 pixels, the heightmap wil be 32x32. It's also important that the heightmap is in Grayscale color mode when we save it. To convert it in grayscale click on "Image|Mode|Grayscale". Then save it.
 
  Back to Annihilator, now.
To load our newly created tile into Annihilator to be used in our maps we'll click on "Sections|Import BMP".
  A dialog window pops up allowing us to browse to our files (see the image to the left). Load your tile image and your heightmap and click on "OK" button.
  And voilà! Our new gorgeous tile is ready to be placed in our maps.
  Now we want to make an HPI file with all our newly created tiles.
If we want to add our tiles to an existing group we'll must load Annihilator without loading any tileset, this is done by modifying its preferences, or double-clicking on a map and in the window that will show up we'll choose "Quick-load map" as seen in image to the left. Note that map files must be associated with Annihilator for this second method to work.
We must open Annihilator without loading any tile otherwise all tiles of the group will be included in our HPI file.
  Now click on "Sections|Edit Section Groups".
  In the window that will open we must create a Group and a Category for our tiles. For the above tiles we could create "Greenworld" as group (so our tiles will be in Greenworld group) and "Bridges" as Category. Then click OK. On Annihilator choose "Sections|Import BMP" to load all our tiles as done previously.
  When all our tiles are loaded click on "Sections|Export HPI Tileset" to save all tiles in the group in a single HPI file on our HD.
  Choose an appropriate name for the Tileset and save it.

© 2002 Gabriele "Zero.G" Zunino