FlightGear

FlightGear FlightGear 0.9.9 - Concorde.jpg
Dyrektor Curt Olson
Początek projektu 1996
Uprzejmy Symulacja lotu
Tryb gry Jeden gracz / Multiplayer Multi
Platforma GNU / Linux , Windows , BSD , SGI IRIX , Solaris , Mac OS
Język język angielski
Silnik PLIB ( d ) , OpenSceneGraph
Wersja 2020.3.6 (24 stycznia 2021
Stronie internetowej lotgear.org

FlightGear Flight Simulator , często w skrócie FlightGear lub FGFS to gra wideo wolna od symulacji lotu , darmowa, open-source i wieloplatformowa opracowana przez projekt FlightGear. FlightGear jest pierwotnie napisany w języku programowania C++ , podobnie jak Fly! Legacy, symulator lotu typu open source .

funkcje

Projekt jest przeznaczony przede wszystkim do symulacji lotów cywilnych. Powinna nadawać się do symulacji lotnictwa ogólnego ( lekkie samoloty , w tym lekkie samoloty, mikroloty ) oraz lotnictwa cywilnego (transport i samoloty pasażerskie ), ale także samolotów ratowniczych ( śmigłowce , canadair ) i wojskowych (myśliwce, bombowce, samoloty wielozadaniowe, śmigłowce bojowe) i lotniskowce do szkolenia w lądowaniu i startowaniu z nich. Istnieje scenariusz zwany „bombardowaniem”, który symuluje walkę z użyciem broni. Są też bardziej fantazyjne samoloty; UFO (UFO o nazwie) służy do dodawania elementów w krajobrazie, ale także papierowy samolot , sanie z Mikołajem i niektóre pojazdy lądowe, takie jak Citroen 2CV . Możliwe jest dodanie własnego samolotu, z pewną wiedzą techniczną.

Krajobraz obejmuje całą planetę z większą lub mniejszą szczegółowością w zależności od regionu. Paryż to najbardziej szczegółowe miasto z dużą częścią centrum miasta i jego zabytków. Posiada również największe lotniska i wiele lotnisk. Niektóre szczegóły głównych miast na całym świecie, takich jak Nowy Jork , Berlin , Tokio , Seul , Szanghaj czy Hongkong są również obecne. Domyślnie start znajduje się na międzynarodowym lotnisku w San Francisco . Od wersji 2.4.0 możliwe jest automatyczne aktualizowanie scenariusza podczas lotu nad obszarem, dzięki wykorzystaniu Apache Subversion do pobierania scen. Większość głównych lotnisk jest uwzględniona i można je znaleźć według nazwy lub kodu ICAO .

Symulator obsługuje interfejsy popularnych symulatorów lotu (ster, pedały, manetki ciągu itp.) oraz wykorzystanie wielu ekranów w celu uzyskania panoramicznego widoku symulacji. Niektóre narzędzia istnieją w systemie Android , na przykład do zarządzania elementami deski rozdzielczej z tabletu lub smartfona.

Można skorzystać z obsługi wielu procesorów lub rdzeni, modyfikując plik konfiguracyjny symulacji preferences.xml, niezależnie od tego, czy jest to jeden wątek na ekran wyjściowy, czy kilka wątków równolegle do obliczeń.

Wymiany radiowe (informacje o pogodzie, warunkach ruchu) są symulowane za pomocą lotnisk, a także radiowych radiolatarni lokalizacyjnych.

Pogodę można pobrać z prawdziwych stacji pogodowych i zintegrować z symulacją, jest to ustawienie domyślne. Zła pogoda i jej wpływ na nawigację są następnie włączane do symulacji, ale możliwe jest również wymuszenie klimatu.

Jeżeli domyślnie symulator symuluje warunki czasu rzeczywistego (dzień/noc, pory roku ), istnieje również możliwość modyfikacji tych parametrów poprzez ich wymuszenie.

Oprogramowanie oferuje możliwość wykorzystania scenariusza z kilkoma w sieci, a tym samym do symulacji ograniczeń zatłoczenia lotnisk i nieba. Stworzono również interfejs wieży kontrolnej do symulacji wymiany między wieżą kontrolną a samolotem.

Oprogramowanie jest obecnie używane w systemach Windows (95, 98, ME, NT, 2000, XP, Vista i 7), GNU / Linux (wszystkie platformy i dystrybucje), BSD , IRIX , Solaris i Mac OS X . Trwa również tworzenie portu OpenGL ES dla Androida. Co 6 miesięcy wypuszczana jest wersja wyposażenia pokładowego (17 lutego i 17 sierpnia).

Ulepszenia partycypacyjne

Formaty scen i płaszczyzn, zmienne wewnętrzne itp. są dostępne dla użytkowników i od początku udokumentowane. Celem programistów jest zbudowanie podstawowego silnika, do którego mogą dodać twórcy scen, inżynierowie deski rozdzielczej, być może twórcy przygód lub rutyny ATC , artyści dźwiękowi i tym podobne.

Historyczny

Projekt rozpoczął się dyskusją między internautami w 1996 roku , w wyniku której powstała propozycja napisana przez Davida Murra (który później zrezygnował z projektu). Oryginalna propozycja jest nadal dostępna na stronie FlightGear i można ją znaleźć pod adresem http://www.flightgear.org/proposal-3.0.1

Programowanie rozpoczęło się latem 1996 roku i pod koniec tego roku napisano podstawowe procedury graficzne. W tamtym czasie programowaniem zajmował się i koordynował przede wszystkim Eric Korpela z Uniwersytetu Kalifornijskiego w Berkeley . Na początku kod działał pod Linuksem, a także pod DOS, OS/2, Windows 95/NT i Sun-OS, co wymagało między innymi napisania wszystkich niezależnych od systemu procedur graficznych całkowicie od zera. Rozwój zwolnił, a następnie ostatecznie zatrzymał się na początku 1997 roku, kiedy Eric ukończył swoją pracę magisterską. W tym momencie projekt wydawał się martwy, a liczba wiadomości z listy mailingowej była bliska 0.

To Curt Olson z University of Minnesota wskrzesił projekt w połowie 1997 r. Jego pomysł polegał na zintegrowaniu istniejącego oprogramowania z FlightGear . Było kilka darmowych symulatorów lotu dostępnych na stacjach roboczych pod różnymi systemami Unix. Jeden z nich, LaRCsim (opracowany przez Bruce'a Jacksona z NASA ), wydawał się w tym podejściu doskonały. Curt wziął to na bok i przepisał kilka procedur, aby można było je zbudować i wykonać na zamierzonych platformach docelowych. Kluczową ideą było działanie niezależnej od systemu platformy graficznej: OpenGL .

Również w bardzo wczesnych wersjach podjęto mądrą decyzję dotyczącą wyboru podstawowych danych sceny. Scena FlightGear jest tworzona w bazie danych satelitarnych opublikowanej przez US Geological Survey. Te dane terenowe są swobodnie dostępne w Internecie na całym świecie. Te bezpłatne dane, w połączeniu z narzędziami do tworzenia scen zawartymi w FlightGear , są ważną funkcją dla każdego, kto może stworzyć własną scenę.

Ten nowy kod od FlightGear - nadal w dużej mierze oparty na oryginalnym kodzie LaRCsim - został dostarczony wlipiec 1997.

W nowszej historii rozwoju były ważne kamienie milowe:

PLIB przeszedł wówczas szybki rozwój. Od wiosny 1999 roku jest on dystrybuowany przez Steve'a jako osobny pakiet z myślą, że może być przydatny dla innych aplikacji . Od jesieni 1999 roku dostarcza podstawy silnika renderowania grafiki dla FlightGear .

Wiosną 1999 roku scena została wzbogacona o punkty orientacyjne, takie jak jeziora, rzeki i wybrzeże .

Podczas rozwoju podjęto kilka prób reorganizacji kodu. Spakowano różne podsystemy kodu. Obecnie kod jest zorganizowany w następujący sposób:

Użytkownik musi posiadać kartę graficzną 3D - najlepiej taką ze sprzętową obsługą OpenGL. Oparta na OpenGL, przenośna biblioteka PLIB Steve'a Bakera zapewnia podstawowe procedury do renderowania grafiki, obsługi dźwięku, uchwytów gier i innych. SimGear, również oparty na PLIb, zawiera wszystkie podstawowe procedury wymagane do symulacji lotu, a także tworzenia scen za pośrednictwem biblioteki OpenSceneGraph . Oprócz SimGear znajdują się (i) FlightGear (sam symulator) oraz (ii) TerraGear, który zawiera narzędzia do tworzenia scen.

Od lata 1999 FlightGear został podzielony na stabilną i rozwijającą się gałąź. Każdy numer wersji, taki jak 0.6, 0.8 i 1.0, odnosi się do wersji stabilnych, podczas gdy numery nieparzyste 0.7, 0.9 itd. odnoszą się do wersji rozwojowych. Wytyczne polega na naprawianiu błędów tylko w wersjach parzystych, podczas gdy nowe funkcje są zwykle dodawane w wersjach nieparzystych, które po ustabilizowaniu wszystkiego stają się kolejną stabilną wersją z liczbą obliczoną przez dodanie 0,1.

Z pewnością nie jest to pełna historia, a niektórzy ludzie, którzy wnieśli znaczący wkład, prawdopodobnie nie zostali wymienieni. Oprócz wspomnianych już wkładów, znaczące prace nad strukturą wewnętrzną wykonali Steve Baker, Jon S. Berndt, Oliver Delise, Christian Mayer, Curt Olson, Tony Peden, Gary R. Van Sickle, Norman Vine i inni. Pełniejszą listę uczestników można znaleźć w podręczniku, a także w pliku z podziękowaniami dołączonym do kodu. Witryna FlightGear zawiera również szczegółową historię wszystkich ważnych wydarzeń pod adresem http://www.flightgear.org/#news/

Zwróć uwagę na obecny przyjazd listopad 2004 japońskie i francuskie tłumaczenie oficjalnej strony, łączące ze społecznością niemiecką międzynarodową społeczność tego symulatora lotu.

Oprogramowanie

Silnik symulacji to SimGear. Wykorzystywany jest zarówno do zastosowań końcowych, jak i w środowisku badawczym, a także do opracowywania symulacji lotu. Silnik renderujący jest zorganizowany jako OpenSceneGraph , do którego dodawane są określone efekty FlightGear (w tym shadery).

Ta wszechstronność Flightgear jest doskonale ilustrowana przez szeroką gamę dostępnych samolotów, począwszy od szybowców i helikopterów , w tym samoloty prywatne, samoloty i myśliwce , bombowce i samoloty wielozadaniowe lub wahadłowce kosmiczne . Te samoloty pochodzą ze społeczności FlightGear . Jest też UFO (zwane ufo), pozwalające swobodnie i swobodnie poruszać się po planecie, czołg Świętego Mikołaja , 2 CV i niektóre statki kosmiczne z serii science fiction.

Obecnie dostępny jest tylko jeden silnik renderujący teren: TerraGear, składający się z różnych modułów i ewoluujący w czasie. Możliwe jest dodawanie do niego zdjęć satelitarnych, z kilkoma dodatkami zarządza włączaniem budynków z OpenStreetMap , w 2018 roku Hawaje zostały więc domyślnie włączone do tych budynków, a na początku 2020 roku część Islandii . Domyślnie, jeśli ta opcja jest włączona, TerraGear używa TerraSync do pobierania scenariusza planetarnego z serwerów za pośrednictwem Internetu. Odzyskuje obszar, gdy wlatuje do niego samolot i przechowuje je na dysku twardym. Możliwe jest dodawanie scenariuszy z różnych części planety dopracowanych przez niektórych współtwórców. Lub poprawić scenariusz za pomocą narzędzi witryny oprogramowania.

Scenariusz obejmuje większość głównych lotnisk na planecie i wiele lotnisk, w oparciu o dane z wspólnego rozwoju, wykorzystywanego z symulatorem X-Plane . Dostępny jest również lotniskowiec, który od Flightgear 2020.1 można umieścić w wybranym miejscu.

Symulacje pogody obejmują chmury 3D, błyskawice podczas burz, ulewy, mgłę, mgłę, efekty oświetlenia słonecznego zależne od pogody oraz wschody i zachody słońca. Raport domyślnie uwzględnia aktualny czas i aktualną pogodę w miejscu położenia samolotu, dzięki danym METAR , ale istnieje możliwość dezaktywacji tych danych lub wymuszenia innego czasu lub klimatu.

Dynamiczne modele lotu

Model lotu to symulacja samolotu w programie. FlightGear może korzystać z kilku z trzech dostępnych obecnie modeli lotu, a każdy samolot musi być zaprogramowany specjalnie dla jednego z tych modeli.

Pierwsze wersje wykorzystywały model o nazwie LaRCsim, opracowany przez NASA , który później został zastąpiony bardziej elastycznymi modelami:

Mapowanie zespołowe

Mapa oprogramowania jest domyślnie mapą Ziemi , która jest modelowana w całości, z różnym stopniem dokładności. Wykorzystuje konstrukcję współpracy, zarówno za pośrednictwem danych OpenStreetMap , jak i modelowania infrastruktury naziemnej oraz udoskonalania ukształtowania terenu i tekstur przez użytkowników.

Wykorzystywane są również dane dostępne na wolnej licencji , ukształtowanie terenu , na podstawie danych satelitarnych, SRTM , GSHHS, a także dla Europy ze zwiększoną precyzją Corine Land Cover .

Porty lotnicze wykorzystują dane zagregowane w bazie danych X-Plane przez swoich użytkowników i na podstawie wolnej licencji, dla pasów startowych i dróg kołowania. Z drugiej strony budynki lotniskowe są modelowane przez użytkowników FlighGear.

OpenStreetMap służy głównie do modelowania dróg, rzek i rozróżniania różnych obszarów (lasy, pustynie, miasta, wsie, pola itp.). OSM2City, system do automatycznego generowania infrastruktur objętościowych (budynki, latarnie morskie, turbiny wiatrowe itp.) również istnieje od 2017 roku, ale obecnie jest używany tylko do scenariuszy tworzonych przez użytkowników, a nie na standardowej mapie podstawowej. Możliwe jest wymieszanie tych dwóch, poprzez określenie ścieżki tych scenariuszy podczas uruchamiania FlightGear.

System generowania powierzchni Ziemi opiera się na tych różnych elementach i jest aktualizowany w nieregularnych odstępach czasu, zgodnie z jego ulepszeniami i napływaniem nowych danych do źródeł.

Cały teren planety może być dynamicznie ładowany w trakcie gry, dzięki stworzonemu na potrzeby tego symulatora systemowi Terrasync.

Uwagi i referencje

  1. https://sourceforge.net/projects/flightgear/files/release-2020.3/
  2. http://edcwww.cr.usgs.gov/doc/edchome/ndcdb/ndcdb.html dla Stanów Zjednoczonych oraz http://edcwww.cr.usgs.gov/landdaac/gtopo30/gtopo30.html dla inne kraje
  3. (w) "  Changelog 2020.1  " na FlightGear
  4. (w) "  Osm2city.py  " na Fligthgear.org

Załączniki

Powiązane artykuły

Bibliografia

Linki zewnętrzne