Colour map

From Worms Knowledge Base

Revision as of 14:17, 24 January 2010 by Explorer09 (Talk | contribs) (Adobe ImageReady: image position)

Jump to: navigation, search
(Up to File formats)

Support for PNG colour maps were added to Worms Armageddon with the v3.6.19.7 Beta Update (released on 9 February 2004). W:A maps need to be in a paletted 256-colour mode. The number of colours that may appear in the map is restricted as well. W:A stores the extra map settings (water level, borders, etc.) in an extra PNG chunk.

The black colour, which must be present in the colour palette, is considered as transparent (zones/pixels painted black will appear as free space in the game).

Map size

Versions of W:A before 3.6.28.0 only allowed maps that are exactly 1920×696 pixels in size. Version 3.6.28.0 introduces support for arbitrarily-sized maps, with the following restrictions:

  • the width and height of a map must be divisible by 8;
  • a cavern map may now be up to 32512 pixels wide and 32600 pixels tall;
  • an island is limited to being 28408 pixels wide and 30552 pixels tall;
  • the minimum map size is 640×32 pixels.

A list of valid sizes having the standard aspect ratio (80:29) is available here.

Colour limitation

Since W:A uses a paletted display, the number of colours that may appear simultaneously on-screen is limited. The majority of the colour space is used for in-game graphics for the Worms, weapons, objects, water, UI elements, etc. Therefore, the colour maps may only use a limited number of colours in the palette (excluding black, which is treated as transparent), without affecting other Worms graphics:

  • 64 colours and less – the map will be displayed perfectly, with no glitches
  • 65–96 colours – the map background sprites (falling debris, clouds, etc.) are removed; the destroyed-soil background may be glitchy
  • 97–112 colours – destroyed soil will be transparent; the destroyed-soil border is solid gray ( #9C9D9C). The background gradient palette will be evenly loaded into the remaining space in the palette, and the background gradient is redithered using the map + background palette—thus, a map with 112 colours (bar black) will have a background gradient dithered exclusively from the map's palette.
  • 113 colours and more – the map will not load.

These restrictions apply to the palette size, not merely the number of unique colours. WA will automatically reduce the palette losslessly, or offer to dither the image. Internally WA only supports a palette of 113 colours or less and requires that the colour at palette position 0 is black.

PNG chunk

W:A stores the extra settings in an extra PNG chunk, labeled w2lv or waLV. The chunk, excluding the label header, is at least 40 bytes long, and contains the same data as the header for monochrome maps. Extensions to the header format add extra bytes at the end; so far, there is one optional extra byte which controls the number of worm/object placement holes (the default is 18).

TweakPNG allows manipulation of PNG images on the chunk level, thus allowing chunk import/export, etc.

Authoring instructions

Microsoft Paint

Microsoft Paint will always save paletted PNGs with 256 colours in the palette, even if not all colours are used in the image. This makes it hard to create new maps with Microsoft Paint - however, if you don't want to use other image editors, this limitation can be overcome using TweakPNG:

  • You may edit an already existing map. This will not allow you to edit the palette with Microsoft Paint, however you can use TweakPNG to do that.
  • You may create a new map in MS Paint as usual, and later reduce the number of colours in the palette using TweakPNG. You must however be careful to only use the colours at the beginning of the colour palette, otherwise your map will not load or will lose colour information.
  • Before drawing your new map, you may create your colour palette beforehand. To do that, create a new 256-colour PNG (see below), and then edit the palette chunk using TweakPNG, and resize the palette to at most 113 colours. You can also edit the palette colours from TweakPNG. After you're done, save the image and open it with Paint - Paint will now use the palette specified by you.

To create a 256-colour PNG in MS Paint:

  1. open or draw your map, or open a new image
  2. click File, Save As...
  3. in the Save as type drop-down box, select 256 Color Bitmap
  4. enter a temporary file name and click Save
  5. when prompted about loss of colour information, click Yes. This will downsample your current image to use a standard 256-colour palette.
  6. click File, Save As...
  7. in the Save as type drop-down box, select PNG
  8. enter the name of your 256-colour .PNG image and click Save.

After you're done, you may delete the temporary BMP file created in step 4. The saved PNG will have 256 colours in the palette - see above on how to reduce the number of colours with TweakPNG.

Adobe Photoshop

Use the following steps to create a WA-compatible map in Adobe Photoshop:

"Save for Web" dialog (step 3)
red: required settings
orange: may be needed depending on the image
  1. draw or open your map
  2. select File → Save for Web (or "Save for Web & Devices" in CS3)
  3. in the options in the right, set the following options:
    • set Optimized file format to PNG-8
    • uncheck Transparency and Interlaced (if any was checked)
    • set Maximum number of colors in Color Table to 113 or below
      (see above for details on side effects of using certain colour ranges)
    • play with the Color reduction algorithm and Dither algorithm options until your map looks nice, increase/decrease the number of colours accordingly
    • if there is no black in the colour palette (e.g. Mole Shopper maps), you'll have to add it manually: set Colour reduction algorithm to Custom, choose the black colour using the controls to the left, and click the Add color (Adds eyedropper color to palette) button
  4. click Save, enter a file name.

Note: You could also use "Image → Mode → Indexed Color..." to make a paletted image, but the quality will be poorer comparing to "Save for Web" or ImageReady.

ImageReady Panels.png

Adobe ImageReady

The same thing can be done using ImageReady, if you prefer.

  1. draw or open your map.
  2. bring up the Optimize and the Color Table panels*.
  3. set the options as if it were in Photoshop.
  4. select File → Save Optimized, or Save Optimized As... and enter a file name.

*Note: The panels are called "palettes" in ImageReady.

Paint Shop Pro

Use the following steps to create a WA-compatible map in Paint Shop Pro:

  1. draw or open your map
  2. select Image → Decrease Color Depth → X Colors (8 bit)
    • set Number of colors to 113 or below (see above for details on side effects of using certain colour ranges)
    • it is recommended that you select Optimized Median Cut from the Palette options and Nearest color from the Reduction method options
    • The image will be saved as a 4-bit image if you select fewer than 17 colours. WA only accepts 8-bit images.
  3. select File → Save As
    • enter a file name
    • select Portable Network Graphics (*.png)
    • click Save

GIMP

GIMP (the GNU Image Manipulation Program) is a free advanced image editor. Here's how to author your W:A-compatible maps using GIMP:

  1. draw or open your map
  2. select Image → Mode → Indexed...
  3. select the desired colour-reducing image options.
    • Normally you'll want to generate an optimum colour palette and use some kind of dithering (you don't need transparency dithering as W:A doesn't understand PNG transparency).
    • Maximum number of colors should be set to 113 or below (see above for details on side effects of using certain colour ranges). It must also be a number above 16, otherwise GIMP will save your PNG as a 4-bit or 1-bit image, instead of an 8-bit image required by W:A.
  4. when creating a reduced colour palette, GIMP sometimes doesn't create a "pure black" palette entry. To check and fix this, do the following:
    1. open the Colormap by selecting Dialogs → Colormap
    2. find the black colour index (it's usually first)
      • Hint: you can find the colour index of a pixel in the image by selecting the Color Picker tool, and clicking in the transparent/black area. The Index field will show the clicked colour's index.
    3. double-click the black colour entry to open the Edit Colormap Entry dialog
    4. set the R, G and B values to 0.
  5. select File → Save as...
  6. enter a file name—the file name must include the extension and end with .png
  7. click Save to open the Save as PNG dialog:
    • uncheck Interlacing as it will only increase your image's file size.
    • you may uncheck all Save ... options, as W:A ignores them
    • compression level can be set to maximum (PNG is a lossless format, so compression does NOT affect image quality).
  8. click OK.

PhotoFiltre (Studio)

PhotoFiltre is the free edition of PhotoFiltre Studio available on http://photofiltre.free.fr/. You can create W:A compatible maps with it by following these steps:

"Indexed color" dialog (step 3)
  1. draw or open your map
  2. select Image → Mode → Indexed color...
  3. select the desired colour-reducing image options.
    • if you want to increase the image quality, enable the checkbox Diffusion. Warning: This can sometimes mess the black color and free space will be filled with slightly non-black pixels here and there.
    • 64 colors is the recommended setting. Higher settings requires you to reduce the palette manually using TreakPNG, while lower settings decreases the image quality.
      (see above for details on side effects of using certain colour ranges)
  4. select File → Save as...
  5. enter a filename and select PNG (*.png) from the list of filetypes.
  6. click Save to open the PNG dialog
    • uncheck the Interlacing option as it will only increase your image's file size.
    • use no filtering option by activating the radio box None.
  7. click OK.

However, due to PhotoFiltre's inability to edit the image palette, you have to add the black color with TreakPNG.


How to load maps.png

Using colour maps

To load a colour map in W:A, copy it to your User\SavedLevels folder, or a subfolder of that folder. You can load your map in W:A by opening the map editor (right-click the map thumbnail in the offline multiplayer or host screen), and selecting the map from the drop-down combo box (see image).

Personal tools