Next: Hacking the game, Previous: How you can help, Up: Top
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.
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.
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.
Todo...
Todo...
Todo...
Todo...
Todo...
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.
Todo...
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.
Here are some points you should think about before designing new maps: