About the Project

Fictional Air Combat (FAC) is a flight simulation under development. It does not want to simulate certain aircrafts or war scenarios. It's all fictional, that is the name is from. It is planned to make a game around air to air and maybe air to ground combat from the view of a fighter aircraft.
The software is open source and licenced under the Genaral Public License

Features currently implemented (or under development) :
  • 6DOF flight model, aerodynamic stable aircraft configuration, short / long period pitch mode, lateral modes

  • AI implementation, offensive and defensive modes, basics for formation flight

  • tile based terrain rendering engine, more detailed coastline / mountains (based on some kind of recursive midpoint replacement), terrain is hold in memory so for now it's limited to 512x512 km, includes detail maps (based on multitexturing) Tiles itself are 1 km by 1 km, height grid is 250 by 250 meters

  • some kind of volumetric clouds

  • rendering water using bump mapping

  • a particle engine, currently used for explosions

  • a cannon usable by player

  • scalable graphics, i.e. changeable view distance and scalable LOD, some features may be disabled if desired

  • system memory consumption should not exeed 100 MB at the moment (if same amount of graphic memory is available, else more system memory is needed).

  • also runs on slower/limited hardware due to scalable graphics quality

  • a simple openGL based GUI framework for game menues etc.

Features for future implementation (of course not all for sure ...):
  • in game sound using SDL

  • network multiplayer, game engine itself is already suitable, technical part is still missing

  • further expansion of air to air combat

  • air to ground combat

  • different AI planes

  • 3ds import filter for 3D models

  • use of shaders to improve graphical quality, esspecially for the water

Next something about development and content creation :

Development tools
Texture creation
Making 3D objects
Making terrain

Development tools

FAC is a 3D software. It used openGL for rendering and SDL for some other tasks like window creation, input and timer handling. The programming language is C, except for the GUI toolkit which is written in C++. Most time development takes place under Linux. Then the GNU tools are used, including gcc compiler and linker, make tool and gdb debugger. Under Windows I use MinGW unix simulation environment for making the windows binaries.

Texture creation

Textures are made with GIMP, always using it's clouds filter feature. As one can see, there is much improvement possible regarding to texture creation.

Making 3D objects

For 3D modelling purposes (aircraft, ground objects and also all the streets) I developed my own aplication (see screenshot). It is somehow a project for it's own and also used to get some programming experience in making GUI stuff with GTK+. It is quite suitable for making low poly 3D objects by directly creating every single triangle. The main problem is about texture coordinates (it must be done completly by hand) and usability (Belive me, it's the opposite to intuitive and probably only useable by myself.). It will be needed to implement an interface sometimes to a well known 3D format (maybe 3ds). So serious 3D modelling programs can be used.

Homebrew 3D Modeller

Making terrain

For making the tile based terrain a tool is used which is based on FAC's terrain rendering engine itself. Here one can place also environmental objects like trees, houses and stuff like that.
The terrain heights and coastline geometry are based on a 512x512 pixel image.

The terrain editor

raw bitmap used to derive heightfield from

news about download screenshots changelog manual support links