FlightGear Flight Simulator, meglio noto come FlightGear, è un progetto collaborativo che ha lo scopo di creare un sofisticato framework di simulatore di volo libero. È sotto licenza GNU GPL disponibile per svariati sistemi operativi, fra cui Microsoft Windows (Win9x/ME/2000/XP), Linux e macOS.

Il motore di simulazione in FlightGear viene chiamato SimGear. È utilizzato sia come applicazione per l'utente finale sia come ricerca in ambito accademico, per lo sviluppo e il raggiungimento di soluzioni in ambito di simulazione di volo.

La personalizzazione del gioco si può notare nei vari tipi di aerei disponibili in FlightGear, dall'aliante all'elicottero, dall'aereo di linea agli aerei militari. Tutti questi modelli sono stati implementati da svariate persone.

Storia Inizi: 1996, 1997

Lo sviluppo è iniziato nel 1996, con una proposta online su iniziativa dello statunitense David Murr. Lo sviluppo del codice iniziò utilizzando una versione personalizzata del codice per la grafica 3D. Lo sviluppo di una versione che fosse basata sull'OpenGL prese inizio da Curtis Olson agli inizi del 1997. Una grande risposta dalla comunità ha portato a forti contributi al progetto dal suo inizio negli anni 90 al presente.The Flight Gear Manual Version.9, April 2006"Flight Gear Flight Simulator" Proposal http://www.flightgear.org/proposal-3.0.1 accesso 26 giugno 2007

Piuttosto che partire da zero, gli sviluppatori di FlightGear fecero uso del modello di volo LaRCsim della NASA, con l'OpenGL per il codice grafico 3D e dei dati liberamente usufruibili per le quote del terreno. Le prime versioni compilate uscirono nel 1997 con un aggiornamento molto intenso di nuove versioni per parecchi anni, che portarono progressivamente ad un programma più stabile e avanzato.

Per il 2001, il team di sviluppo distribuiva regolarmente versioni beta (0.7.x, 0.8.x tra il 2001 ed il 2003). Più tardi nello stesso decennio, il ritmo di distribuzione delle varie versioni si è rallentato, a favore di un maggior numero di miglioramenti e aggiunte (0.9.8, 0.9.19, ecc.). La maturità raggiunta del software nell'anno 2005 ha portato ad un maggiore interesse da parte della stampa e ad un forte incremento di popolarità. L'utilizzo di numeri di versione si è drammaticamente rallentato dopo il tardo 2002, alla corrente versione 0.9.0. Le versioni 0.9.9 (2005) e 0.9.10 (2006) hanno avuto circa 8 aerei tutti nuovi (o completamente rifatti), portando il numero totale di aerei dai 70 ai 90. La versione 0.9.11 ne ha circa 33 nuovi (o completamente rifatti).

Versioni 0.9.0-0.9.11 (2002-2007)

Gli oggetti grafici di FlightGear sono molto dotati se comparati con quelli di altri simulatori tipo Microsoft Flight Simulator anche dello stesso periodo. Inoltre l'intero mondo è ben rappresentato utilizzando i dati delle quote presi liberamente da SRTM, vi sono anche un numero di caratteristiche speciali come per esempio le piste in pendenza. Oltre 20000 piste, nuvole 3D, supporto multi piattaforma, scelte di FDM multiple, quasi 100 aeromobili da poter scegliere garantiscono un buon numero di caratteristiche apprezzabili.

L'Hardware necessario per far girare FlightGear è quello in cui vi sia un supporto alle OpenGL con una scheda accelerata per il 3D; sembra che un miglior supporto lo si ottenga con le schede NVIDIA. Le recenti versioni garantiscono un supporto anche per il 3dfx, sebbene questo sia venuto a mancare in quanto le richieste hardware sono aumentate.

FlightGear viene utilizzato in vari progetti industriali e accademici.

Software

Il motore della simulazione in FlightGear è chiamato SimGear. Viene utilizzato sia per le applicazioni per gli utenti generici, sia per ambienti di ricerca per lo sviluppo e raggiungimento di idee per la simulazione del volo.

Questa personalizzazione di FlightGear è illustrata dal grande numero di modelli di aerei disponibili in FlightGear, dall'aliante, all'elicottero e dagli aerei di linea ai caccia da combattimento. Questi modelli di aerei sono il contributo di svariate persone.

Il modello di aereo in FlightGear usa uno dei tre modelli principali: JSBSim YAsim UIUC (Dalla versione 0.9.10)

Tuttora solo un motore viene utilizzato per la generazione del terreno: TerraGear. Gli effetti meteorologici includono nuvole 3D, fulmini e differenti orari del giorno.

Modelli Dinamici di volo

Un modello dinamico del volo (o FDM, dall'inglese Flight Dynamic Model) rappresenta come il volo di un aereo viene simulato nel programma. FlightGear usa una varietà di progetti di modelli interni e importati. Ogni aereo deve essere istruito ad usare uno di questi modelli. Per ora FlightGear è l'unico simulatore di volo grafico in cui gli FDM vengono utilizzati; UUIC e YASim furono sviluppato specificamente per FlightGear. Versioni iniziali utilizzavano FDM basati su LaRCsim della NASA, il quale venne però sostituito dal più flessibile FDM.

JSBSim - il modello di volo dinamico di default dal 2000. YASim - un altro FDM che utilizza un diverso metodo di calcoli. Introdotto a partire dalla versione 0.7.9 nel 2002. UIUC -un altro FDM incluso, sviluppato dalla 'UIUC Applied Aerodynamics Group' nell'Università dell'Illinois all'Urbana-Champaign, fa anche uso di LaRCsim. Flight Gear può essere impostato per renderizzare utilizzando i dati da una fonte FDM esterna come per esempio MATLAB. Sono stati scritti anche altri FDM personalizzati per specifici aerei, come per esempio quelli più leggeri dell'aria.

Dipendenze di FlightGear A differenza di titoli commerciali di software, lo scopo principale del progetto è la distribuzione di una collezione di codici. Per farli diventare un pacchetto usabile questi codici devono essere compilati per una specifica piattaforma. Le librerie software utilizzate per creare FlightGear sono variate durante il tempo. La principale è SimGear, che è il principale motore di simulazione che sta alla base di FlightGear. TerraGear non è una dipendenza, ma semplicemente un nome per il programma di default per la generazione del terreno in FlightGear. OpenAL viene usato per il suono e l'audio con l'aggiunta di un supporto per SDL (dalla versione 0.9.5). PLIB per le procedure per il supporto hardware, solitamente usate per il suono che venne comunque rimpiazzato da OpenAL. OpenGL serve per le procedure integrate per la grafica 3D, altre varie accelerazioni hardware (come DirectX) non sono supportate. OpenSceneGraph è anch'esso integrato in FlightGear; molte routine grafiche sono necessarie per la compilazione. Infine, Simple DirectMedia Layer è la libreria software che è utilizzata per compilare. Alcune altre dipendenze variano a seconda del tipo di piattaforma per cui si desidera ottenere il binario. Gli utenti di FlightGear possono sia compilarsi il programma loro stessi, o trovare qualcuno che fornisca i binari già compilati, che non è uno degli scopi del progetto.

Multi-display e Networking Parecchie opzioni di networking permettono a FlightGear di comunicare con altre istanze di FlightGear. È disponibile un protocollo multiplayer per utilizzare FlightGear in una rete locale in un ambiente a multi-aereo. Questo può essere usato per voli in formazione o simulazioni di torri di controllo.

Parecchie istanze di FlightGear possono essere sincronizzate per permettere un ambiente multi monitor. Se tutte le istanze girano con lo stesso frame rate, è possibile ottenere buone sincronizzazioni tra i display.

Software aggiuntivo

Vi sono programmi che sono sia integrati in FlightGear (Dipendenze) o che collaborano con esso per una determinata funzione. Alcuni di questi sono inclusi nelle release di FlightGear per specifiche piattaforme e sviluppati dal progetto stesso, altri invece vengono distribuiti indipendentemente ma comunque ospitati all'interno del progetto di FlightGear.

Un importante software aggiuntivo riguarda l'interfaccia per lanciare l'eseguibile FlightGear. Infatti per la maggior parte del suo sviluppo iniziale FlightGear poteva essere lanciato solo attraverso la riga di comando. Comunque, il FlightGear Launch Control è stato incluso con il front-end FG lancher sin dalla versione 0.9.3 nel 2003. KFreeFlight è un front-end/lanucher per KDE. FGTools è un launcher alternativo per windows. FGKicker è un front-end sviluppato con le GTK+.

Altri programmi di rilievo sono editor e progetti per i dati del terreno. Atlas è un supporto per le cartine e le mappe per FlightGear; Kelpie Flight Planner è un programma per creare i piani di volo sviluppato in Java. FlightGear Scenery Designer è un editor di scenari per poter lavorare con i dati del terreno. Il progetto World Custom Scenery Project ha lo scopo di coordinare gli sforzi e gli sviluppi sugli scenari personalizzati. Infine, Taxidraw è un editor per le piste di rullaggio e le piste di atterraggio/decollo degli aeroporti.

Il codice di FlightGear rispetto ai binari Diversamente dalla maggior parte del software commerciale, le date di distribuzione del progetto si applicano solo per la distribuzione dei codici sorgenti, non dei binari. Per ottenere un programma funzionante il codice sorgente deve essere compilato, il che richiede librerie specifiche (Vedi la sezione #Dipendenze di FlightGear) tra quelle generali e quelle specifiche per il tipo di piattaforma di compilazione. Comunque, siccome questo è troppo complicato per la maggior parte degli utenti, altri lavorano per rendere i binari disponibili per le specifiche piattaforme e sistemi operativi. I pacchetti ottenuti variano quindi nella loro stabilità, prestazioni, dipendenze, e di quanto sono aggiornati rispetto al codice di base. Per esempio, alcuni vecchi binari funzionano ancora con Mac OS 9 ma le nuove versioni di FlightGear richiedono la versione di macOS.

Per esempio, nel tardo 2007, l'ultimo codice distribuito era la versione 0.9.11-pre1 (pre-release) e la 0.9.10 (finale). Comunque, i binari disponibili variavano significativamente; alcuni binari disponibili un anno dopo la distribuzione della versione 0.9.10 erano:

Win-32 ha un pacchetto di circa 138 Mb (v0.9.10) (Per Windows 98, 2000, ME, 32-bit XP) Linux Pacchetti compilati per le specifiche distribuzioni Slackware pacchetto (v0.9.10), Fedora (v0.9.10), Pardus (v0.9.10), Debian (v0.9.9) Solaris pacchetti che girano sia su SPARC sia sui processori x86. SPARC (v0.9.8), x86 (v0.9.9) Silicon Graphics IRIX SGI binari per (v0.9.9) macOS Mac OS 10.4 (v0.9.10) Mac OS 10.3 (v0.9.9) FreeBSD ha un pacchetto (v0.9.10)

Reazioni della critica Sebbene non sviluppato per essere un gioco nel senso stretto, FlightGear ha in ogni caso ricevuto articoli in un certo numero di pubblicazioni sia online che offline. FlightGear 0.9.10 ha ricevuto molti articoli, evidenziato come una simulazione accurata che però richiedeva pazienza ed un certo lavoro prima di poter giocare. PC Magazine fece notare come esso sia progettato per poterci aggiungere facilmente nuovi aerei e scenari.

Al contrario, un più vecchio articolo alcuni anni precedenti, un articolo di giugno 2002 di FlightXPress, fu piuttosto critico, facendo notare una mancanza di funzionalità e scenari (Si trattava della versione 0.7.10 di FlightGear).FlightGear, Marc Stoering, Issue June 2002 FlightXPress magazine.

Date delle release

Release definitivi del codice sorgente per anno. (controllo il 24 giugno, 2007)