--- AN IMPORTANT NOTE ------------------------

Table of Contents :

  1. Requirements

    1. Software
    2. Hardware

  2. Get it work

    1. Installation and Execution
    2. Building
    3. Configuration - the settings.cfg file

      1. width / height / fullscreen / screen_ratio
      2. joystick / joystick_device
      3. performance stuff

  3. How to fly

  4. Support


1. Requirements

1.1 Software

For the windows version opengl and openglu dll's are necessary, both should be installed on a normal system. Further you need the SDl.dll, this is contained in the package, i.e. I supply it.

For Linux you need similar stuff, libgl, libglu, libsdl. All this is nothing special and should be available on a system that supplies accerlated 3D graphic. Maybe one must install SDL but it should be available in the repositories of the linux distribution. I use Ubuntu 6.06 and this is the only system the current release was tested for.

1.2 Hardware

The main thing to know is you need 3D accerlation to get this work fast enough. I use the vendor drivers.
I _guess_ for now you should have 256 MB RAM and 32 MB Video memory.
Further you can adjust graphic complexity and view distances as well as screen resolution to get more FPS on slower hardware (see settings.cfg).

2. Get it work

2.1 Installation and Execution

Windows :
Download the zip file and extract it to a folder of your choice. Then type or click onto fac.exe

Linux :
After downloading the tarball extract it into a directory of your choice, probably it would be good to use something in your home directory so you have all access. Then go into the main program directory (facsim_i586_linux_src_0_1 for example) and run the binary by typing:
Now see what happens ... Maybe you get told it needs some libraries, see above. Else you should sit in the cockpit after little loading time, if not (quite probably I fear) it would be nice to get some feedback :-).

2.2 Building

This is only for linux. If you want (or need) to build a binary from source, go into /src/flugi and type make. To ensure a complete rebuild one should remove all .o files before if there are some. Then there should be a fac file. Copy this into the main directory by overwriting the old fac file.
Probably building will fail due to different gcc version. Then edit the Makefile (it is in source directory and replace gcc-3.4 by the gcc you got.
Note: You need some development packages belonging to libraries listed in 1.1

2.3 Configuration - the settings.cfg file

1st an example of settings.cfg (it is in the fac main directory there also the binary ('fac') is:

width 1024
height 768
fullscreen 1
screen_ratio 1.3333

joystick 0
joystick_device /dev/input/js0
joystick_invert_x 0
joystick_invert_z 0
max_framerate 200

view_dist 40000
world_detail_dists medium

sky 1
dot3_water 1
cockpit_glass 1
detailmap_and_levelforest 1
shadows 1
clouds 1
3d_objects 1
use_vbos 1


2.3.1 width / height / fullscreen / screen_ratio

This should be clear, one exception is screen_ratio:
screen_ratio is the ratio of your screen with and height from the monitor you got on your desktop! Normally this ratio is width divided by height (which is indeed the default if you do not specify screen_ratio). But imagine: Your got a 1280x1024 19 inch monitor and want to use a resolution of 1024x768 in _fullscreen_. The graphic proportions would be bad (I wonder what happens if you got one of these supi-wide-screen monitors ...). For this specify screen_ratio which is 1.25 in this case. If it does not run in fullscreen mode, screen_ratio must be width / height (as the default also is).

2.3.2 joystick / joystick_device / joystick_invert_x / joystick_invert_z

joystick means use a joystick or not. If not, the airplane is controlled by keyboard. joytsick_device is only needed in the case you dont want to use SDL on linux but the jsw joystick library instead. Since it is strongely recommed to use the SDL you do not need care about joystick_device.
With joystick_invert_x and joystick_invert_z you can adjust sign of values got from joystick. You need it if you find the aicraft control feels somehow strange.
Calibration : You should calibrate your joystick by using your systems calibration utilities. If the result is not what you want (Sitting in the cockpit, one can see joystick values in lower right corner, centered it should be 0 and one should reach 100 in each direction) then the ingame calibration should be used on top of the system calibration. For this type ESC and j and follow the instructions.

If you do not have a joystick at all, don't care about all this (just leave jostick 0).

2.3.3 performance stuff

Sometimes I will explain them, for now your should be able to get more FPS by modifying these values yourself.
Some words on use_vbos : This dramatically speeds up rendering of 3d objects like houses, trees and aircraft because I do not yet use vertex arrays alternitively but single triangles which is slow. If you get problems (esspecially on older graphic cards) leave this option 0.

3 How to fly

For now you can do following:

Control airplane by joystick/cursor keys as usual.

Throttle control type (once, key repeat is off):
a ... go up 10 %
y ... go down 10 % (Note: on QWERTZ keyboard must press z, at least I guess)
s ... full throttle
x ... throttle off

ESC puts you into the self explaining ingame menue.

ALT looks to the enemy plane you padlocked. One is always padlocked, to cycle through all enemy airplanes use q.

F1 is cockpit view of your plane, Shift+F1 the cockpit (but without a cockpit itself) view of the padlocked enemy plane. F3 is a fly-by view of your plane.

SPACE fires continiousely, yes, this is the main purpose of the game. You can make an enemy explode if you hit ...

4 Support

As said above, fac is hosted on This is the project URL:

In the public section one can find forums to post problems, questions or any other feedback.

Further can sent emails to

And there is a website:

news about download screenshots changelog manual support links