- Flightgear
-
FlightGear
FlightGear Concepteur Curt Olson Début du projet 1996 Licence GNU GPL Version Genre Simulation de vol Mode de jeu Un joueur / Multijoueurs Plate-forme Linux, Windows, BSD, SGI IRIX, Solaris, Mac OS Média téléchargeable (gratuit) / CD (payant) Langue anglais FlightGear est un simulateur de vol civil gratuit sous licence GNU GPL, et actuellement probablement le seul simulateur de vol dont les sources sont libres.
Le projet est en premier lieu destiné à la simulation de vol civile. Il doit être approprié pour simuler l'aviation générale (les petits coucous) aussi bien que l'aviation civile (le transport). Cependant, en considérant le concept ouvert du développement, cela n'empêche pas quelqu'un de prendre le code et d'intégrer des armes, par exemple. Les formats de scènes et d'avions, les variables internes, etc. sont accessibles aux utilisateurs et documentés depuis le début. Même sans une documentation de développement explicite (qui sera sûrement écrite un jour), cela est garanti par la fourniture des sources. Le but des développeurs est de construire un moteur de base dans lequel les développeurs de scènes, les ingénieurs de tableaux de bord, peut-être les auteurs d'aventures ou de routines ATC, les artistes du son et les autres peuvent (et ils y sont invités) faire des ajouts.
Il est dans la lignée des Flight Simulator de Microsoft, Fly! de Terminal Reality, X-Plane de Laminar Research ou d'autres programmes commerciaux de simulation de vol sur PC.
Le logiciel est actuellement utilisable sous Linux (toutes plates-formes et distributions), Windows (95, 98, ME, NT, 2000, XP, et toléré sous Vista), BSD, IRIX, Solaris, et Macintosh.
Sommaire
Historique
Le projet a démarré d'une discussion entre des internautes en 1996, de laquelle est sortie une proposition écrite par David Murr (qui, plus tard, abandonne le projet). La proposition originale est encore disponible sur le site Web de FlightGear et peut être trouvée à http://www.flightgear.org/proposal-3.0.1
Le codage actuel a démarré à l'été 1996 et à la fin de cette année, les routines graphiques essentielles étaient écrites. À cette époque, la programmation a été principalement effectuée et coordonnée par Eric Korpela de l'université de Berkeley. Très tôt, le code a tourné sous Linux aussi bien que sous DOS, OS/2, Windows 95/NT et Sun-OS, ce qui nécessitait, entre autres, d'écrire toutes les routines graphiques indépendantes du système entièrement à partir de rien. Le développement a ralenti puis finalement stoppé au début de 1997 quand Eric a fini sa thèse. À ce moment, le projet sembla mort et le nombre de messages sur la liste de discussion fut proche de 0.
Ce fut Curt Olson de l'université de Minnesota qui a relancé le projet dans le milieu de 1997. Son idée était d'intégrer du logiciel existant dans FlightGear. Il existait plusieurs simulateurs de vol libres disponibles sur station de travail sous différents systèmes Unix. Un d'entre eux, LaRCsim (développé par Bruce Jackson de la NASA), semblait être parfait dans cette approche. Curt prit celui-ci à part et réécrit plusieurs routines afin qu'il puisse être construit et exécuté sur les plates-formes cibles prévues. L'idée clé était d'exploiter une plate-forme graphique indépendante du système : OpenGL.
En outre, une décision astucieuse pour la sélection des données de la scène de base a été prise dans les toutes premières versions. La scène de FlightGear est créée sur une base de données satellites publiée par la US Geological Survey. Ces données de terrains sont disponibles pour le monde entier sur l'Internet librement (http://edcwww.cr.usgs.gov/doc/edchome/ndcdb/ndcdb.html pour les États-Unis, et à http://edcwww.cr.usgs.gov/landdaac/gtopo30/gtopo30.html), pour les autres pays. Ces données gratuites, en conjonction avec les outils de fabrication de scènes inclus dans FlightGear, sont une possibilité importante permettant à quiconque de créer sa propre scène.
Ce nouveau code de FlightGear — encore largement basé sur le code original de LaRCsim — a été livré en juillet 1997.
Il y eut des étapes importantes dans l'histoire plus récente du développement :
- L'affichage du soleil, de la lune et des étoiles est une possibilité dans laquelle les simulateurs pour PC sont notoirement faibles depuis des années. C'est une des grandes réussites de FlightGear que d'inclure un modèle exact et l'affichage du soleil, de la lune et des planètes. Le code astronomique correspondant a été ajouté en automne 1997 par Durk Talsma.
- Les textures ont été ajoutées par Curt Olson au printemps 1998. Cela a marqué une amélioration significative en termes de réalisme. Microsoft Flight Simulator avait des scènes non texturées jusqu'à la version 4.0. Quelques textures de haute qualité ont été fournies par Eric Mitchell pour le projet FlightGear.
- Un affichage tête haute (head up display - HUD) a été ajouté, basé sur le code de Michele America et Charlie Hotchkiss en automne 1997 et a été amélioré par Norman Vine. Bien qu'il ne soit habituellement pas disponible dans la réalité pour le Cessna 172, le HUD est pratique pour afficher des informations sur la simulation en cours. Cependant, les instruments se comportent comme dans l'avion réel (y compris avec leurs erreurs) et cela peut être très déstabilisant pour un apprenti pilote ou un développeur.
- Après avoir amélioré la scène et les textures et ajouté quelques autres possibilités, la fréquence image (« frame rate ») a chuté au point de rendre FlightGear involable au printemps 1998. La solution a été d'utiliser la partie matérielle des cartes OpenGL, qui devint disponible à cette date ; de programmer le « view frustum culling » (une technique de visualisation qui ignore la partie non visible de la scène), ceci fait par Curt Olson. Ces mesures ont rendu FlightGear utilisable de nouveau - même sur des machines peu puissantes - du moment qu'une carte graphique 3D avec le support du hardware OpenGL est dans la machine. Avec égard pour la fréquence d'images : on doit garder à l'esprit que le code, à présent, n'est en aucune façon optimisé, ce qui laisse la possibilité d'améliorations dans le futur.
- Un auto-pilote rudimentaire (maintien du cap) a été la contribution de Jeff Goeke-Smith en avril 1998. Il a été amélioré avec l'ajout du maintien de l'altitude et d'un « terrain following switch », en octobre 1998.
- Les bases d'un système de menu a été apporté par la bibliothèque portable PLIB de Steve Baker en juin 1998. Après avoir été inutilisé un temps, les premiers menus furent actifs au printemps 1999.
PLIB a subi un rapide développement ensuite. Elle a été distribuée par Steve dans un packet séparé avec l'idée d'être utile à d'autres applications depuis le printemps 1999. Elle fournit les bases d'un moteur de rendu graphique pour FlightGear depuis l'automne 1999.
- Friedemann Reinhard a développé tôt le code d'un tableau de bord, qui a été disponible en juin 1998. Le développement de ce tableau s'est arrêté ensuite, en partie à cause de problèmes de compatibilité avec OpenGL. Finalement, David Megginson a décidé de repartir de zéro en janvier 2000, le résultat étant que le tableau est maintenant de nouveau en développement rapide.
- En 1998 il y eut le support audio de base, c'est-à-dire une bibliothèque (de routines) et quelques sons de moteurs. Ce fut la contribution de Steve Baker et ce fut ensuite intégré dans sa déjà mentionnée bibliothèque portable, PLIB. Cette même bibliothèque a été étendue pour supporter les poignées de jeu, volants, palonniers en octobre 1999, ce qui a encore marqué une étape importante dans le réalisme.
- En septembre 1998 Curt Olson a réussi à créer un modèle de terrain complet pour les États-Unis. La scène est disponible pour tous en cliquant sur une carte à http://www.flightgear.org/Downloads/scenery.html
La scène a été améliorée en ajoutant des repères géographiques comme les lacs, rivières et côtes au printemps 1999.
- Le code pour la gestion en réseau / multijoueurs a été intégré par Oliver Delise et Curt Olson au début de l'automne 1999. Cet effort a permis à FlightGear de fonctionner simultanément sur plusieurs machines à travers un réseau local, en intranet ou sur Internet ; couplé à un planificateur de vol tournant sur une seconde machine, et plus.
- Christian Mayer et Durk Talsma, ont ajouté la gestion de la météo durant l'hiver 1999. Cela gère les nuages, les vents et même les orages.
- Changer manuellement les vues dans un simulateur de vol est dans un certain sens toujours « irréel » mais néanmoins requis dans certaines situations. Une solution possible a été fournie par Norman Vine en hiver 1999. Norman a écrit le code pour changer de vue avec la souris.
- Finalement, le Navion du LaRCsim a été remplacé comme avion par défaut par le Cessna 172, quand celui-ci devint assez stable en février 2000 - un changement bienvenu pour la plupart des utilisateurs. Il y a maintenant plusieurs options de modèles de vol à choisir à l'exécution : un Cessna 172 avec le LaRCsim modifié et amélioré développé par Tony Peden, le X15 de Jon Berndt, et le ballon à air chaud de Christian Mayer. Jon Berndt a investi beaucoup de temps dans un modèle de vol plus réaliste et souple, avec une méthode de configuration des avions plus puissante. JSBSim, comme il allait être appelé, peut éventuellement remplacer LaRCsim comme modèle de vol dynamique (FDM - Flight Dynamics Model) et il est prévu d'y ajouter quelques fonctionnalités comme les effets de clapotage (NDT ?) du fuel, la turbulence, un système de contrôle de vol complet, et d'autres choses peu souvent trouvées ensemble dans un simulateur de vol.
Pendant le développement, il y a eu plusieurs efforts de réorganisation du code. Des sous-systèmes de codes variés ont été mis en paquets. Actuellement, le code est organisé ainsi :
L'utilisateur doit avoir une carte vidéo 3D -- de préférence une avec gestion matérielle d'OpenGL. Basé sur OpenGL, La bibliothèque portable PLIB de Steve Baker fournit les routines de base du rendu graphique, de la gestion du son, des poignées de jeu, etc. Basé sur la PLIB il y a SimGear, qui inclut toutes les routines de base requises pour la simulation du vol aussi bien que pour la construction de la scène. Au-dessus de SimGear il y a (i) FlightGear (le simulateur lui-même), et (ii) TerraGear, qui comprend les outils de contruction de scènes.
Depuis l'été 1999 FlightGear a été divisé en une branche stable et une autre de développement. Chaque numéro de version comme 0.6, 0.8, et 1.0 fait référence à des versions stables, tandis que les numéros impairs 0.7, 0.9, et ainsi de suite font référence à des versions de développement. La ligne de conduite est de ne faire que des résolutions de bogues dans les versions paires, alors que les nouvelles fonctionnalités sont généralement ajoutées dans les versions impaires qui, quand tout est stabilisé, deviennent la prochaine version stable avec un numéro calculé en ajoutant 0.1.
Ce n'est certainement pas une histoire complète et certaines personnes qui ont fait des contributions importantes n'ont probablement pas été citées. Excepté les contributions déjà nommées il y a eu un travail important concernant la structure interne effectué par : Steve Baker, Jon S.Berndt, Oliver Delise, Christian Mayer, Curt Olson, Tony Peden, Gary R. Van Sickle, Norman Vine, et les autres. Une liste plus complète des participants peut être trouvée dans le manuel, et également dans le fichier Thanks fourni avec le code. Le site web de FlightGear contient aussi une histoire détaillée de tous les développements notables à http://www.flightgear.org/#news/
A noter l'arrivée courant novembre 2004 d'une traduction japonaise et française du site officiel, venant rejoindre, avec la communauté allemande, la communauté internationale de ce simulateur de vol.
Logiciel
Le moteur de simulation est SimGear. Il est utilisé autant pour des applications finales qu'en environnement de recherche, que pour le developpement de simulations de vol.
Cette polyvalence de Flightgear est parfaitement illustrée par la grande varieté d'aéronefs disponibles, allant du planeur à l'hélicoptère, en passant par les avions de ligne et les chasseurs. Ces aéronefs ont pour origine la communauté FlightGear.
Actuellement, seul un moteur de rendu de terrain est disponible : TerraGear. Les effets météo incluent les nuages 3D, les éclairs pendant les orages et l'heure courante. Il est possible d'avoir la météo en temps réel grâce aux données METAR.
Modèles de vol dynamique
Le modèle de vol est la manière dont est simulé un aéronef dans le programme. Flighgear peut utiliser plusieurs modèles de vol parmi les trois disponibles à l'heure actuelle et chaque aéronef doit être programmé specifiquement pour un de ces modèles.
Les premieres versions utilisaient un modèle appelé LaRCsim, developpé par la NASA, qui fut plus tard remplacé par des modèles plus flexibles :
- JSBSim - Le modèle par défaut depuis 2000. Un modèle de vol JSBSim contient toutes les données aérodynamiques de l'avion qui définissent son comportement, telles que les coefficients de portance et de traînée, les modifications de portance/traînée dues aux ailerons, volets, à l'effet de sol...
- YASim - Un autre modèle utilisant des algorithmes différents et disponible depuis 2002 dans la version 0.7.9. Ce modèle de vol fonctionne différemment: il contient la forme de l'avion (position du fuselage, des ailes, des gouvernes, etc) et simule le comportement de l'avion à partir de ces données.
- UIUC - Un autre modèle, développé par l'UIUC Applied Aerodynamics Group de l'université de l'Illinois à Urbana-Champaign, qui utilisait LaRCsim.
Liste des avions disponibles
Liste des avions disponibles en standard, sans extensions.
Flightgear 0.9.10 - Boeing 737
- Cessna 172
- Cessna 310
- Cessna Citation Bravo
- Eurocopter Bo 105
- Fairchild A-10
- General Dynamics F-16
- Hawker Hunter
- Messerschmitt Bf 109
- North American P-51
- Northrop Grumman T-38
- Piper Cub ou Piper J-3
- Piper PA-28 Warrior
- Rascal 110
- UFO from the White Project from the UNESCO
- Wright Flyer I de 1903
FlightGear 1.0.0 - Airbus A380
- Beechcraft 1900-D
- Boeing 787-8
- Cessna 172P Skyhawk
- de Havilland DHC-2 ou de Havilland Beaver
- English Electric Lightning F1A
- Eurocopter Bo 105
- Fairchild A-10
- Hawker Seahawk FGA6
- Messerschmitt Bf 109-G14
- North American P-51D
- Northrop Grumman T-38
- Piper Cub J3C-65 ou Piper J-3
- Piper PA-28-161 Cherokee Warrior II
- Piper PA-34-200T SENECA II
- Sopwith Camel-1F1
- SZD-9 Bocian-1E
- UFO from the White Project from the UNESCO
D'autres avions (environ 54) sont disponibles sur le site de FlightGear.
Liens externes
- Portail du jeu vidéo
- Portail des logiciels libres
- Portail de l’aéronautique
Catégories : Simulateur de vol | Jeu vidéo libre
Wikimedia Foundation. 2010.