Next: , Previous: Getting the game, Up: Top


3 Installation

3.1 Dependencies

Before installing Liquid War 6, you'll need to install the following:

  1. Mesa. This library provides an API similar to OpenGL and enables 2-D and 3-D drawing.
  2. zlib. Required by other libraries, but can also be used directly by Liquid War 6 to compress network messages for instance.
  3. libpng. Used by SDL_image. Liquid War 6 also uses libpng to read levels (maps), without using the SDL_image layer.
  4. SDL. SDL is used to set up a working OpenGL environnement, and handle input (mouse and keyboard).
  5. SDL_image. This SDL extension is used to read textures and other graphics from disk.
  6. SDL_ttf. This SDL extension is used to draw fonts. It is UTF-8 enabled.
  7. Guile. Possibly the most required library, since Liquid War 6 is a scheme program which uses a set of functions coded in standard C.
  8. expat. Used to read and write XML files, which contain constants and configuration data.

3.2 ./configure

Once all these libraries are installed, use the standard sequence:

     ./configure
     make
     make install

Liquid War 6 makes a heavy use of Automake and Autoconf.

3.3 3-D hardware and drivers

3.3.1 Why is 3-D acceleration required?

Liquid War 6 requires Mesa, a 3-D library which offers a high level API similar to OpenGL. While Liquid War 6 will compile and run with theorically any Mesa configuration, it might not run fast enough with software rendering only. The frame rate will probably be well below 10 fps, which is not acceptable.

The reason for it being so slow is that the OpenGL API was not really designed for software rendering. It is possible to achieve better performance in 2-D and 3-D graphics in software mode, but not using a high-level API like OpenGL. You need to get your hands in the dirt. On the other side, using Mesa is very comfortable, and when it is configured to use the 3-D features of the hardware, it runs faster than any pure software solution.

Therefore Liquid War 6 requires some sort of hardware acceleration. And it will probably do for some time. The reason for using a 3-D library to provide acceleration is that fundamentaly, most recent hardware provide acceleration functions through their 3-D interfaces, and barely anything is done on the pure 2-D side.

The good news is that while Liquid War 6 requires acceleration, it does not require any fast, recent or expensive video card. It can reasonnably be run on video cards which date from the last century. If not from the last millenium.

3.3.2 Choose your hardware carefully!

It is important, if you want to run Liquid War 6 in the best conditions, to have a hardware which provides acceleration, and for which a free (as in speech) driver is available. As GNU/Linux is the platform Liquid War 6 is being developped on, it is also the platform it is being designed for.

In a general manner, knowing which hardware devices support GNU/Linux is important not only for practical reasons—you want your hardware to work with the software that you want to use—but also for ethical and political reasons. You can help the free software movement by purchasing hardware from manufacturers who support our goals and not purchasing from those who don't.

See the list of hardware devices that support GNU/Linux for more informations.

Keep in mind that owning a hardware which has no driver for it will make Liquid War 6 and possibly any 3-D game simply unplayable.

3.3.3 List of working hardware

The following list describes some hardware configurations which are capable of running Liquid War 6 in correct conditions. This list obviously does not pretend to be perfect or exhaustive. If you know any other hardware capable of sufficient 3-D acceleration (fast enough to run Liquid War 6) with a free (as in speech) driver, please inform the maintainer.

3.3.3.1 Matrox G450

This card is fully supported under GNU/Linux.

You need to load the `mga' driver into the Linux kernel, and the XFree86 configuration file should contain a section like:

Section "Device"
        Identifier      "G450"
        Driver          "mga"
        Option          "AGPMode" "2"
        VideoRam        32768
EndSection
3.3.3.2 ATI Radeon Mobility 9000

This card is supported under GNU/Linux. It is typically shipped with notebooks. Make sure to use the free (as in speech) driver. It exists and works.

Note that the ATI Radeon 9200 is the latest ATI card to be fully supported by a free driver. There is an effort to develop a free driver for recent ATI cards, but this is done through reverse engineering, for ATI do not give the specs of these recent cards. It is therefore extremely hard to write drivers for this hardware.

You need to load the `radeon' driver into the Linux kernel, and the XFree86 configuration file should contain a section like:

Section "Device"
        Identifier      "ATI9000"
        Driver          "ati"
EndSection