Long Term Goals

From FlightGear wiki
Revision as of 10:55, 11 November 2007 by Doofie (talk | contribs) (→‎Features)
Jump to navigation Jump to search

Note: this is not an official collection of goals, rather it is simply assembled from various mailing list discussions and thus reflects mainly personal goals of individual contributors, rather than the official set of goals of the FlightGear project as a whole. However, given that FlightGear is being developed by these very contributors, this should be a fairly representative list of long term goals.

General

  • multi platform flight simulator: support as many platforms as possible
  • encourage contributions and community involvement
  • provide an open framework for educational and scientific projects
  • non-obfuscated architecture: expose all internals to users via public, well-documented interfaces
  • uncomplicated installation/deinstallation
  • stable flight simulation platform
  • framework for research related efforts (i.e. proof of concept avionics)
  • provide a compelling and free alternative to commercial flight simulator products
  • highly available (i.e. provide binaries for all supported platforms)
  • provide fully interactive tutorials and courses

Realism

  • worldwide scenery coverage
  • appropriate realism
  • wide support for all sorts of aircraft (airplanes, helicopters, unpowered flight)
  • realistic avionics modeling
  • realistic weather modeling
  • realistic IFR simulator
  • realistic VFR simulator
  • procedure trainer
  • realistic visual and aural effects where appropriate
  • realistic and complete systems modeling, including failure modeling

Features

  • multiplayer support (Mutiplayer multiple players has be implemented. Multiple pilots/passengers per plane is currently in development)
  • support for multi-core architectures (SMP)
  • support for networked distribution
  • strive for eligibility for FAA PCATD/FTD certification

Graphics

  • provide support for multiple output windows per instance
  • multi-head/monitor support - for multiple screens per instance
  • multi-accelerator support - for multiple 3D cards per running instance

Hardware

  • support lower-end hardware
  • support a wide range of input hardware (joysticks, yokes, pedals)
  • support various makes of 3D accelerator cards

Performance

  • appropriate startup and runtime performance
  • provide playable framerates (>=20fps) in 1024x768 on older systems

Footprint

  • appropriate download size
  • appropriate memory footprint, resource consumption
  • minimum amount of external dependencies
  • reasonable build times

Technical

  • conveniently extensible, even for non-programmers
  • highly configurable and customizable
  • fully runtime configurable
  • backwards compatible

Source Base

  • support as many C++ compilers and -versions as possible
  • provide current project files for as many compilers/IDEs as possible
  • modular design and architecture
  • comprehensible source code
  • tight code base
  • quality code base
  • well documented and commented

...