Feature Requests / Proposals / Ideas: Difference between revisions

Jump to navigation Jump to search
Update
m (Robot: Cosmetic changes)
(Update)
Line 60: Line 60:


=== General ===
=== General ===
* no version information available within GUI
* no licensing information available within GUI
* no detailed build information available within GUI (compiler, date, cflags/ldflags etc)
* no information about versions of linked dependencies within GUI
* no information about versions of linked dependencies within GUI


=== Platform Support/Misc ===
=== Platform Support/Misc ===
* significant initial download (>200MB) - might be a good idea to try to reduce the base package size where possible (as of 11/2008 this is being addressed by replacing rgb textures with png textures)
* significant initial download (>200MB) - might be a good idea to try to reduce the base package size where possible (as of 11/2008 this is being addressed by replacing rgb textures with png textures)
* <del>insufficient mac support</del> (as of 11/2008 mac support has significantly improved, see the macflightgear project at sourceforge)
* lacking documentation (as of 11/2008 quality of up to date documentation has been significantly improved, especially due to the wiki but also due to the FlightGear forums (also see [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg22495.html] from 06/2009).
* lacking documentation (as of 11/2008 quality of up to date documentation has been significantly improved, especially due to the wiki but also due to the FlightGear forums (also see [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg22495.html] from 06/2009).
* webpage appearance (as of 11/2008 this is still being brought up regularly in various discussions, on both the mailing lists and the forums)
* webpage appearance (as of 11/2008 this is still being brought up regularly in various discussions, on both the mailing lists and the forums)
Line 75: Line 71:
* non-intuitive joystick configuration (it has been repeatedly suggested to make joystick configuration more intuitive by providing a built-in GUI mode based on dialogs & script within FlightGear) [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg05488.html] [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg21393.html]
* non-intuitive joystick configuration (it has been repeatedly suggested to make joystick configuration more intuitive by providing a built-in GUI mode based on dialogs & script within FlightGear) [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg05488.html] [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg21393.html]
* GUI does not yet expose many of FlightGear's features that are available via command line, i.e. FG isn't fully runtime configurable - many changes require a simulator restart.
* GUI does not yet expose many of FlightGear's features that are available via command line, i.e. FG isn't fully runtime configurable - many changes require a simulator restart.
* <del>no multi screen support</del> (as of 11/2008, this is no longer true given the latest additions of multi view/camera support, see [[Howto: Configure Camera View Windows]], however multi-screen support still needs to be configured at startup time, it cannot be set up dynamically or modified at runtime (as requested [http://wiki.flightgear.org/index.php/Presentation_Recipe#Easier_initial_camera_setup here]).


=== Startup ===
=== Startup ===
Line 93: Line 88:


=== Realism ===
=== Realism ===
* <strike>no realistic helicopter support</strike> (no longer true: FlightGear features now pretty realistic support for helicopter flight)
* hardly realistic scenery-missing/inappropriate textures, objects, landmarks. (this changed WRT textures already some time ago)
* hardly realistic scenery-missing/inappropriate textures, objects, landmarks. (this changed WRT textures already some time ago)
* not very advanced AI ATC
* not very advanced AI ATC
* no flight planning facility integrated/available (several 3rd party options)
* no flight planning facility integrated/available (several 3rd party options)
* no support for weight & balance (and fuel) for aircraft (not true of YASim)
* currently not a suitable VFR simulator (basic vegetation modeling has been added in 2008)
* currently not a suitable VFR simulator (basic vegetation modeling has been added in 2008)
* few buildings have proper night textures (this situation is somewhat improving since 01/2008)
* few buildings have proper night textures (this situation is somewhat improving since 01/2008)


=== Visuals ===
=== Visuals ===
* not fully animated 3D models (this depends on the aircraft being used)
* insufficient weather modeling and -effects (as of 11/2008, shader-based 3D clouds were added to Git/HEAD)
* insufficient weather modeling and -effects (as of 11/2008, shader-based 3D clouds were added to Git/HEAD)
* non-standard GUI, not too appealing to many users
* non-standard GUI, not too appealing to many users
* no realistic water modelling (improving in OSG branch as of 11/2007, in fact there's [http://helijah.free.fr/water/ very promising work] going on since 01/2008)
* no moving map directly integrated in FlightGear (separate program available: atlas)
* no water effects for ocean and rivers (waves/streams)
* no nice passage of taxiways at airports (the textures aren't abound in each other)
* no nice passage of taxiways at airports (the textures aren't abound in each other)


=== Interactivity ===
=== Interactivity ===
* no integrated tutorial/ground school or learning mode (No longer true: depends on aircraft being used, tutorials are available on an aircraft-specific basis)
* no real interactive mission (scenario/adventure) support (lack of evaluation facilities to assess user's performance)
* no real interactive mission (scenario/adventure) support (lack of evaluation facilities to assess user's performance)
* no combat support
* no Voice ATC
* no ATC facilities for real life controllers (VATSIM like)
* no ATC facilities for real life controllers (VATSIM like)
* no scripted demo flights that users could "play" to see a simple flight (pattern) including landing
* no scripted demo flights that users could "play" to see a simple flight (pattern) including landing


=== Avionics ===
=== Avionics ===
* currently no glass cockpit support
* no support for advanced avionics that would require drawing complex images (i.e. charts) to instrument screens
* no support for advanced avionics that would require drawing complex images (i.e. charts) to instrument screens


Line 133: Line 118:
=== Minor Requests ===
=== Minor Requests ===
* <del>Create or modify existing DTDs/Schemas for the various PropertyList encoded XML file formats that FlightGear currently supports (FDM, Aircraft, GUI, Sounds etc.), so that such DTDs or Schemas can be used by XML editors and validators.</del> Work in progress as of 03/2009 [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg21404.html]
* <del>Create or modify existing DTDs/Schemas for the various PropertyList encoded XML file formats that FlightGear currently supports (FDM, Aircraft, GUI, Sounds etc.), so that such DTDs or Schemas can be used by XML editors and validators.</del> Work in progress as of 03/2009 [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg21404.html]
* <del>Add support for an optional framerate limiting mode (configurable, default i.e. 60-70fps), this can safe CPU cycles on many platforms (no useless idling/sleep() )</del> available: /sim/frame-rate-throttle-hz
* Add new nimitz carrier view
* Add new nimitz carrier view
* add support for non-rectangular hotspots (2D panels)
* add support for non-rectangular hotspots (2D panels)
* currently, hotspots don't seem to work properly if you tilt the panel-we should try to fix this soon


=== Intermediate Requests ===
=== Intermediate Requests ===
* <del>switch completely to [http://www.libsdl.org/ SDL] (or [http://www.andesengineering.com/Producer/ OpenProducer]?) for I/O handling (many more possibilities and better support than plib/GLUT can offer)</del> Git/HEAD is now based on osgviewer
* support additional transformation type to allow cropping and cutting off of textures, useful for example for things like a rose vs. arc mode HSI representation
* support additional transformation type to allow cropping and cutting off of textures, useful for example for things like a rose vs. arc mode HSI representation
* <del>it might be a good idea to add another routine to SimGear that can optionally check textures to match the 'power of two' requirement and emit a console warning if that's not the case. This will make it easier for developers to track down texture size related problems.</del> also now handled by OSG
* add new command to nasal interpreter to allow playing of sound files (see mailing list discussions)
* add new command to nasal interpreter to allow playing of sound files (see mailing list discussions)
* <del>implement a "failure/crash" (limits?) subsystem that can be XML-configured with tailored values and limits for specific aircraft (i.e. max allowable speeds in various configurations, max allowable pitch up/down, roll angle, g load etc.). That way, it would be up to aircraft authors to provide such limits for their aircraft in some sort of easily modifiable XML file and FlightGear could optionally honor these values at runtime (currently, it is no problem to extend the gear or flaps at ridiculously high speeds, or crash-land an airliner and keep flying afterwards-this would certainly add a good portion of realism to FlightGear and could still be kept entirely optional).</del> this has been basically implemented via the the limits Nasal module, see [[Howto: Define speed limits]] (there's now also failures.nas in Git)
* <strike>add openGL wrapper commands to the Nasal interpreter, so that users can make use of basic OpenGL calls (the primitives at least) from their scripts, optionally allow to render to a texture rather than directly to the screen, i.e. useful for things like a scripted display (CDU/moving map)</strike> Don't try to bypass the SceneGraph, instead, use proper interfaces/modelling..
* <strike>add openGL wrapper commands to the Nasal interpreter, so that users can make use of basic OpenGL calls (the primitives at least) from their scripts, optionally allow to render to a texture rather than directly to the screen, i.e. useful for things like a scripted display (CDU/moving map)</strike> Don't try to bypass the SceneGraph, instead, use proper interfaces/modelling..
* add support to enable users to disable 3D cockpit rendering for multiplayer/AI aircraft (what is this supposed to mean?)
* add support to enable users to disable 3D cockpit rendering for multiplayer/AI aircraft (what is this supposed to mean?)
* <strike>extend nasal interpreter to provide functions for loading and saving XML files directly</strike> '''DONE''', preferably also wrapping the functions from props_io.cxx for nasal
* <del>provide support for optional use of VoIP (voice over IP) clients within FlightGear, so that such clients can be used for ATC-specific purposes (there were various discussions with plenty of good ideas mentioned on the mailing list)</del> there's FGCOM
* add support for flight path visualization within FlightGear, possibly so that it can optionally be enabled for external or replay views ( http://www.flightgear.org/Projects/SynthVision/ http://www.cobbin.com/synthetic-vision.htm )
* add support for flight path visualization within FlightGear, possibly so that it can optionally be enabled for external or replay views ( http://www.flightgear.org/Projects/SynthVision/ http://www.cobbin.com/synthetic-vision.htm )
* <strike>expose the nasal interpreter via network/telnet, so that scripts can be remotely inserted and executed.</strike> this can be basically done already by writing new code to properties and executing the code in the property
* <strike>expose the nasal interpreter via network/telnet, so that scripts can be remotely inserted and executed.</strike> this can be basically done already by writing new code to properties and executing the code in the property
* there is a great number of aircraft in FlightGear that cannot yet be reliably reset due to problems relating to tied properties that cannot properly be untied, obviously there are various parts in FlightGear that still do not make proper use of the property tree, we should get rid of such problems eventually
* there is a great number of aircraft in FlightGear that cannot yet be reliably reset due to problems relating to tied properties that cannot properly be untied, obviously there are various parts in FlightGear that still do not make proper use of the property tree, we should get rid of such problems eventually
* <del>Currently, TerraSync (the automatic scenery tile downloader) is a separate program, that users need to get separately, explicitly install and set up in order to be able to use it. Even more so, due to TerraSync's dependency to rsync, TerraSync users are mostly Unix/Linux users right now. However, FlightGear being a cross platform project should whenever possible try to target a maximally broad audience[http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg18193.html]. That's why it would probably make sense to port the TerraSync functionality over to FG, so that scenery paging can become a native part of FlightGear itself, preferably an SGSubsystem based service that's runtime configurable via property tree variables. At http://www.samba.org/rsync/ there is a small C library available that exposes most of the rsync features, we could make the library either an additional dependency or simply make it a part of FlightGear/SimGear, so that it's automatically available to all FG users.:: Please note that this (similar to other proposals on this Wiki page) is likely just the opinion of an individual user, not much involved with the actual proceedings on this topic.</del> Depreciated: TerraSync is now based on svn
* <del>Currently, TerraSync (the automatic scenery tile downloader) is a separate program, that users need to get separately, explicitly install and set up in order to be able to use it. Even more so, due to TerraSync's dependency to rsync, TerraSync users are mostly Unix/Linux users right now. However, FlightGear being a cross platform project should whenever possible try to target a maximally broad audience[http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg18193.html]. That's why it would probably make sense to port the TerraSync functionality over to FG, so that scenery paging can become a native part of FlightGear itself, preferably an SGSubsystem based service that's runtime configurable via property tree variables. At http://www.samba.org/rsync/ there is a small C library available that exposes most of the rsync features, we could make the library either an additional dependency or simply make it a part of FlightGear/SimGear, so that it's automatically available to all FG users.:: Please note that this (similar to other proposals on this Wiki page) is likely just the opinion of an individual user, not much involved with the actual proceedings on this topic.</del> Depreciated: TerraSync is now based on svn
* After each FlightGear session there are often many OpenAL related warnings displayed in the console, we should try to get rid of these wherever possible
* <del>provide a property in order to allow users to enable/disable scenery rendering at runtime, in particular this could also be useful for debugging sessions</del> (draw-otw?)
* <del>provide a property in order to allow users to enable/disable scenery rendering at runtime, in particular this could also be useful for debugging sessions</del> (draw-otw?)
* aircraft (FDM & 3D model) should be re-loadable at runtime
* aircraft (FDM & 3D model) should be re-loadable at runtime
* <del>provide support for cockpit light sources, so that we can realistically illuminate the cockpit as a whole</del> this is usually handled by specific night textures
* it would be useful if we could add support for transformation to panel actions, so that certain actions could trigger a conditional transformation, affecting the displayed panel textures. This could for example be used in order to simulate "key presses", simply by reducing the texture's dimensions while the key is pressed.
* it would be useful if we could add support for transformation to panel actions, so that certain actions could trigger a conditional transformation, affecting the displayed panel textures. This could for example be used in order to simulate "key presses", simply by reducing the texture's dimensions while the key is pressed.
* <del>extend multiplayer code to add support for helicopters</del> it's been working for quite a while already
* it would be nice if we could port the current PID controller code over to Nasal, so that we can automatically equip AI traffic instances with nasal based autopilots (AI aircraft do no currently use FDMs)
* it would be nice if we could port the current PID controller code over to Nasal, so that we can automatically equip AI traffic instances with nasal based autopilots (AI aircraft do no currently use FDMs)


Line 166: Line 140:
* add support for inter-texture copying to allow users to copy parts of a texture to another texture (see mailing list dicussions for details)
* add support for inter-texture copying to allow users to copy parts of a texture to another texture (see mailing list dicussions for details)
* Extend VRML/X3D or XGL support, so that proprietary formats such as *.ac can be entirely replaced using open standards http://en.wikipedia.org/wiki/COLLADA https://collada.org/public_forum/welcome.php (search the archives for COLLADA)
* Extend VRML/X3D or XGL support, so that proprietary formats such as *.ac can be entirely replaced using open standards http://en.wikipedia.org/wiki/COLLADA https://collada.org/public_forum/welcome.php (search the archives for COLLADA)
* <strike>Helicopter FDM: either extend current FDM engines (i.e. yasim) to provide better support for helicopter flight dynamics, or come up with an entirely new dedicated helicopter FDM engine altogether</strike>-'''Support for helicopter flight simulation has been significantly improved meanwhile, and is still being worked on'''
* add support for integration with TTS (text to speech) engines to FlightGear (i.e. Festival), so that voice ATC becomes possible. There were various discussions about this topic on the mailing list, so you may want to search the archives if you are interested in this feature. '''(Note - Festival support has already been added)''' <s>Also, there is a free multi platform TTS engine called sphinx that is siginificantly more lightweight than festival, so that it may be worth considering this to make it an optional dependency for SimGear?</s> '''Note 2: Sphinx is actually a speech recognizer, not a text-to-speech engine, AFAIK. --[[User:Josh|Josh]] 20:06, 9 May 2008 (EDT).'''
* add support for integration with TTS (text to speech) engines to FlightGear (i.e. Festival), so that voice ATC becomes possible. There were various discussions about this topic on the mailing list, so you may want to search the archives if you are interested in this feature. '''(Note - Festival support has already been added)''' <s>Also, there is a free multi platform TTS engine called sphinx that is siginificantly more lightweight than festival, so that it may be worth considering this to make it an optional dependency for SimGear?</s> '''Note 2: Sphinx is actually a speech recognizer, not a text-to-speech engine, AFAIK. --[[User:Josh|Josh]] 20:06, 9 May 2008 (EDT).'''
* add moving map functionality to FlightGear (i.e. integrate atlas natively into FlightGear), so that a basic map can be directly shown within FlightGear
* add moving map functionality to FlightGear (i.e. integrate atlas natively into FlightGear), so that a basic map can be directly shown within FlightGear
* the current (2D/3D) cockpit panel code is not yet particularly efficient, would be good if someone could optimize it some more
* the current (2D/3D) cockpit panel code is not yet particularly efficient, would be good if someone could optimize it some more
* add support for tutorials/lessons (think, flight school) to FlightGear (see earlier mailing list discussions for details) '''(Note - tutorials have already been added; check the Help menu in the default C172 or Lightning)'''
* use OpenStreetMap as datasource for Scenery (Map with buildings). using OSM-tags for create 3D buildings, see [http://wiki.openstreetmap.org/wiki/Key:building OSM-Key:building] and [http://wiki.openstreetmap.org/wiki/Proposed features/Building attributes OSM-Building attributes], tags give much more meta data for Scenery as just using gps-points as lines to draw the map. like this [http://gallery.flightgear.org.uk/c1702623.html gallery.flightgear.org.uk/c1702623.html]
* use OpenStreetMap as datasource for Scenery (Map with buildings). using OSM-tags for create 3D buildings, see [http://wiki.openstreetmap.org/wiki/Key:building OSM-Key:building] and [http://wiki.openstreetmap.org/wiki/Proposed features/Building attributes OSM-Building attributes], tags give much more meta data for Scenery as just using gps-points as lines to draw the map. like this [http://gallery.flightgear.org.uk/c1702623.html gallery.flightgear.org.uk/c1702623.html]
** use in realtime OSM as source, to retrieve fresh data of maps (OSM have very active community with many contributors, every minute the OSM DB become more updates and more precision data! it would be nice to participate on this benefit!)
** use in realtime OSM as source, to retrieve fresh data of maps (OSM have very active community with many contributors, every minute the OSM DB become more updates and more precision data! it would be nice to participate on this benefit!)

Navigation menu