Next: , Previous: How you can help, Up: Top


8 Designing new levels

8.1 Introduction

As of Liquid War 5, most levels have been contributed by players. While the maintainer of Liquid War 6 has technical knowledge to develop the game, artistic talent and taste might not be his domain of excellence 8-)

Therefore contribution are truely welcomed when they take the form of a new, original, fun and good looking level.

Note that this manual might refer to levels and maps: they are just two different names to describe the very same thing. It's an alias.

8.2 Format description

8.2.1 Basics

Liquid War 6 stores level information in a plain directory.

There is no such thing as an opaque .dat binary file. The name of the level is the name of the directory itself, and its elements are the files contained in it.

Files must follow a precise naming scheme. For instance Liquid War 6 expects a map.png file to be present in each map directory.

All image files in a level use the Portable Network Graphics format.

It is possible that in the long term, Liquid War 6 will be able to handle levels as .tar.gz or .zip files. In that case these files will only be a compressed image of the actual level directory.

See the ./data/map/ directory of the source Liquid War 6 distribution to see example of maps.

8.2.2 Elements reference

8.2.2.1 map.png

This is the only required file in a level.

In fact, the existence of map.png makes a directory a level. When checking wether a directory is a correct level, Liquid War 6 simply tests the existence and validity of map.png.

This image is a simple black & white area, where white zones are the background, the sea, the places where fighters can move, and black zones are the foreground, the walls, the places where fighters can't go.

This informations can be stored in a 2-color indexed file, or in a grayscaled or even truecolor RGB file, but color information won't be used. Internally, Liquid War 6 will read the color of every point. If it is over 127 on a 0 to 255 scale, it will be considered as background, if it is below 127, it will be considered as foreground.

8.2.2.2 elevation.png

Todo...

8.2.2.3 texture.png

Todo...

8.2.2.4 background.png

Todo...

8.2.2.5 foreground.png

Todo...

8.2.2.6 settings.xml

Todo...

8.2.2.7 README

A README which describes the map. Should contain a short description, and copyright information.

It is a deliberate choice not to use specific fields to store these informations and use a global README instead. It makes both program code and map design simpler.

8.3 Migrating levels from Liquid War 5

Todo...

8.4 Legal issues

8.4.1 Why data must be free

Many Free Software games come with a free game engine, but without free data. A very good example of this is Doom. While the engine of this game is free, released under the GNU GPL, the data required by it is still proprietary. The Freedoom project addresses this issue, and aims at creating a complete Doom-based game which is Free Software. This requires time and energy, and it is very usefull since a Free Software game without free data to run with is not really usable.

All the data in Liquid War 6 are released under the GNU GPL, along with the source code. Data is considered as being part of the game, since running Liquid War 6 without any level makes no sense.

While the act of running Liquid War 6 is not restricted (see the complete terms of the GNU GPL), no non-free levels or graphics will be distributed with the game.

8.4.2 Common pitfalls

Here are some points you should think about before designing new maps: