FlightGear Newsletter July 2010
- 1 Newsletter history
- 2 Contributing
- 3 Reminder: Google Summer of Code 2011
- 4 Development news
- 5 In the hangar
- 6 Livery database
- 7 Scenery corner
- 8 Aircraft review
- 9 Nasal for newbies
- 10 From the community
Welcome to the July edition of the FlightGear Newsletter! This month has seen more scenery work than new or improved aircraft.
This month's newsletter marks a year since the first issue was written!
One year ago, in June 2009, FlightGear-head Curt proposed his newsletter-idea at the forum. With multiple (failed) efforts in the past, those involved were extremely eager to get it up and going this time. Stuart was the one that wrote most of the first issue(s). At the time of the second issue, more people were involved and wrote a paragraph or two.
Today, the newsletter is written by a bunch of people, with different interests and relations to FlightGear. It provides an easy way to keep up-to-date with the ongoing developments; both in FlightGear itself and in the community around it.
We would like to use this opportunity to thank those that contributed over the past year. Thanks to their work, the newsletter still exists! In order to reach our next milestone, we would like to emphasize that the monthly newsletter cannot live without the contributions of FlightGear users and developers. Everyone (with a wiki account, click to register) can edit the newsletter and every contribution is welcome.
Now, all we can say is: enjoy this brand new edition!
One of the regular thoughts expressed on the FlightGear forums is "I'd like to contribute but I don't know how to program, and I don't have the time".
Unfortunately, there is a common misconception that contributing requires programming and lots of free time. In fact, there are a huge range of ways to contribute to the project without needing to write code or spending days working on something.
- creating custom splash screens: Howto: Create custom splash screens
- writing articles for the next issue of this newsletter
- sending corrections/updates to the FlightGear Manual
- helping new users on the forums/IRC
- writing a wiki page
- organizing fly-outs
One of the easiest ways to help is to improve the scenery in your local area by placing buildings/structures using the UFO and submitting them to the FlightGear Scenery Object Database. It's easy, and best of all requires little time to have a real impact. Instructions on how to do this can be found in the wiki, article Placing 3D Objects with the UFO.
For other ideas on starting to contribute to FlightGear, you may want to check out: Volunteer.
Reminder: Google Summer of Code 2011
We would like to remind all readers that the FlightGear project is planning to participate in Google's Summer of Code 2011.
However, doing that really requires a fair amount of work, planning and organizing. This is not something that can be done by a single person. It really needs a coordinated team effort, or otherwise FlightGear won't be able to apply/participate at all.
So all users are invited to help us progress further with our preparations for GSoC 2011. Some easy ways for helping right now would be:
- suggest new project ideas (i.e. get in touch using the forums, mailing lists or the wiki)
- browse the forums or mailing list archives and look for suitable candidate projects
- help refine and improve existing project proposals
- help finalize the application template that we are preparing
- help us find suitable students who might be interested in participating in 2011
- help us find mentors
- summarize all related discussions, and document them here in the wiki
At the moment, we are collecting ideas for answering the various questions in the application: Why should FlightGear participate in GSoC?
If you have any questions or other feedback related to GSoC, please use the forum to get in touch: 
New documentation for the MK-VIII (ground proximity warning system) available
User:ThorstenB has created extensive documentation for the MK-VIII GPWS in FlightGear!
The MK-VIII is currently the most complex and most accurate simulation of a real avionics systems in FlightGear which is entirely implemented in C++, and for a long time most people did not know how to properly use it and integrate it with other aircraft, because the documentation was lacking and proper integration required in depth familiarity with the system and the C++ source code.
To learn more about what a GPWS does, check out this Wikipedia article.
To implement this system for your own aircraft, please check out the new documentation and see Ground proximity warning system.
A new forum for Google Summer of Code
As some of you may already know, there is now an orchestrated effort going on to get FlightGear ready for becoming a mentoring organization in Google's Summer of Code 2011.
So far, all related information has been collected here in the wiki: GSoC. But to ease the planning and organization process, there has now been a new sub forum set up for talking about anything that is one way or another related to this effort. The forum can be found at: http://flightgear.org/forums/viewforum.php?f=38
This should make it much easier for all community members to participate in all related discussions, without necessarily having to be subscribed to the mailing lists.
So if you have anything to contribute to this topic, please do make sure to check out this new forum.
You are for example also invited to make suggestions for new FlightGear related GSoC projects.
For the time being, one topic from the "New Features" sub forum has already been moved to this new forum, it is about a suggestion to procedurally populate the FlightGear scenery with dynamically created cities, for more details please check out AutoGen Scenery for FlightGear.
Local weather system update
The local weather system is moving towards dynamical weather. Version v0.8 is released (see more information here)and includes:
- Drift of clouds, thermals and other weather effects in the wind, enabling for example a realistic soaring experience in strong winds.
- Several available models for the wind field, including high-altitude wind patterns that gradually change along the aircraft route.
- A moderately complex model for the boundary layer, i.e. the region where the wind field interacts with terrain. The boundary layer thickness and wind speed reduction effect becomes tied to the roughness of the terrain - for example over open water, the layer will be much thinner than in mountains.
- Significantly more efficient tile management routines and some code cleanup, resulting in a better performance also in static mode.
The planned extensions beyond v0.8 include making the generation and decay of convective clouds and thermals a dynamical process, migrating to high-resolution cloud textures and shifting some low-level functionality to the C++ core for better performance.
Did you know?
The local weather package has an inbuilt METAR interface which generates weather based on a parsed METAR string. However, it can't be used with --real-weather-fetch because currently FlightGear automatically executes fetched and parsed METAR, thus preventing the local weather package from working. Some help from C++ programmers needed here!
New mapping software
Michael contributes new FlightGear mapping software to the community, written in the Ruby programming language: FGMap. Basically it shows your current flight position on an OpenStreetMap map. It therefore has some similarity to Atlas and the online MPMaps. As with all projects, feedback is highly appreciated.
FGMap has many features, including:
- Show flight position on OpenStreetMap map in real-time
- Download new map tiles on-the-fly in the background
- Add shaded elevation layer to map for nice visual effect
- Display current speed and altitude
- Show position and frequency of all navigation aids on the map
- Create FlightGear route manager entries with a click of the mouse from navigation aids and waypoints
- Record and restore flight path
- Colorize path according to speed and altitude
- Display information about instantaneous speed and altitude for all points of the track
- Set waypoints on map
Downloads and more information are available at the project's website.
Troubleshooting triangleintersect, QNaN etc.
Last month, the infamous QNaN errors that may cause FlightGear to become unresponsive have been linked to potential issues in the Nasal interpreter (and more generally Nasal code) by flug, for more details please see: "Nasal source of Dreaded Triangle Error-source of many probs?". For the time being, you will want to look out for any Nasal code that contains unchecked divisions with unvalidated divisors.
In the hangar
After months of dormancy, A320 development has been picked up by skyop. The aircraft has been updated with thrust reversal, pushback, contrails, tire smoke, a new splash screen, a new interior, animated clickable doors and cargo holds, lights, separate models for different winglet types, and a few bugs fixed here and there. Future plans include improvements to the cockpit and spoilers/speedbrakes. You can follow further A320 development at its forum thread.
Bell P59 Airacomet and Bell 222 X
helijah created and pushed both P59 and Bell 222X onto Git. The Bell 222X FDM is still in development. More information and download at helijah's Hangar.
DeHavilland Canada DHC-7-150 Dash 7
Quadunit404 has announced intentions to produce his first aircraft, the De Havilland Canada DHC-7-150 Dash 7, adding yet another member of the De Havilland Canada family to to FlightGear fleet after active development begins. Currently he is learning how to model using Blender, and nickyivyca has offered and been accepted to write a YASim FDM.
Lockheed Martin F-22 Raptor
simbabeat and jackmermod are working to bring the F-22 Raptor to FlightGear. The fuselage and fdm are finished. The fuselage has been brought into the sim and animations have begun. Sadly, simbabeat suffered a computer crash and it is yet to be known if what was done will be recovered. For more information, see the forum thread.
BAE Hawk and T-45 Goshawk
Intel-Qube is currently improving the BAE Hawk and the T-45 Goshawk. The model is done, and to be done are the cockpit and other parts of the aircraft. Currently (until approximately the second week of August), the development is on hiatus.
SpaceShipOne and White Knight
helijah made some changes to the SpaceShipOne model including the FDM, adding fuselage reflection effect and separating the SpaceShipOne and White Knight objects. The next step is to improve the SpaceShipOne model by adding wheels and moving parts. After that he will try to separate the two aircraft when in flight.
nickyivyca has continued his work on the Boeing 787 project. The revision process includes revision of the FDM and cockpit, plus addition of some systems. The FDM and systems are mostly done, with cockpit work to start soon. Releases have been intermittent through the process; the latest is available on the 787's wiki page.
In the second week of July, the livery database welcomed its 250th livery: a glider club's livery for the Robin DR400, created by top-painter Brett Harrison (Gooneybird). More liveries are welcome as always and can be uploaded!
skyop and Gijs are currently working on animated jetways for FlightGear that can be activated with a click of the mouse. At the moment they are very primitive and only fit 737s. Planned features include automatic attachment to your airplane's door and even multiple jetways for wide-body airliners and A380s. See this thread for more information.
eag1e created new terrain and buildings for Dublin airport (EIDW). For more details, see this link.
Detailed terrain for Dubai
As announced in an earlier edition, Gijs has been (re)drawing the terrain of Dubai. The FlightGear scenery now includes:
- Palm Islands (islands in the shape of a palm)
- The World (islands together forming a world map)
- Detailed coastline and city boundaries
The area is represented in its form of 2008, due to the lack of more up-to-date imagery. Given Dubai's massive expansion speed, the scenery can be considered as out-of-date already. Nevertheless it is a great step forward in comparison to the previous terrain, as the image on the right proves.
This new terrain will be available with the upcoming scenery build. Those that can handle TerraGear can download shapefiles from the mapserver. If you are interested in updating or detailing terrain yourself, take a look at this wiki article.
Detailed terrain for Qatar
Believe it or not, but here is another Emirate that has been hand drawn! Fahim worked on the peninsula of Qatar, very close to Dubai. Seeing the image on the right, you might think detail/accuracy was lost (except for the urban areas), but I can tell you that the new terrain is far more accurate in all aspects.
This new terrain will also be included with the upcoming scenery build and is already available via the mapserver.
Night flying at London Gatwick
The new version of London Gatwick Airport (EGKK) is available and has improved textures and features. It claims to be one of the few (two?) major international airports in FlightGear suitable for night flying with full lighting textures on all buildings, hazard lights and approximately one hundred lighting masts. The tower even has lit instrumentation visible in the control room. Images are shown at the forum topic.
The taxiways at night are complex but made easier if the official charts are downloaded from . Many taxiway and runway signs have been included to help you on your way. Additional AI ground network and AI traffic have made this into a very busy airport and a single gate at each pier has been thoughtfully reserved so you can find a parking space when you land here (see the readme file for details).
In daytime the airport is fully modeled with detailed textures and even the roofs of buildings having accurate features. Stock model jetways, cargoes and ground vehicles have been added in quantity to give an authentic look to the airport. Large areas of open air car parks are distributed around the perimeter with novel layering of textures to enhance the 3D effect of the parked cars. Similarly, woods and trees have been added in surrounding areas to add more to the overall feel of the airport.
London Gatwick EGKK may be downloaded from MediaFire.
Los Angeles International Airport
skyop has remodeled the terminals, roadways, and parking garages for KLAX Los Angeles International Airport. Improvements include more realistic textures, more accurate gates, the addition of terminals 7 and 8, and more accurate placement of buildings. The original Encounter building, control tower, and welcome pylons by MaverickAlex have been retained. The new models are available through Terrasync or by direct download from drop.io. See the development history at the project forum thread.
Improvement of Eastfrisian Islands, North Sea
Mike (D-SKY1) did his first steps in creating custom scenery. With great help from Fahim and Papillon81 he managed to improve Eastfrisian Islands Norderney, Baltrum, Langeoog and Wangerooge, Northsea coast of Germany. With this improvement we close the gap between the enhanced dutch islands in the west and Helgoland in the east.
This new terrain will also be included with the upcoming scenery build and is already available via the mapserver. Those that can handle TerraGear can download shapefiles from the mapserver. If you are interested in updating or detailing terrain yourself, take a look at this wiki article.
This month: Bell P-59 Airacomet
The P-59 was the first American jet aircraft. It was developed by the Bell company in response to the USAAF's requirement for a jet fighter. Although the Airacomet never saw combat, it was used to train many USAAF pilots in flying jet aircraft.
As usual, Helijah has done a fantastic job with the 3D model of the aircraft, and GIT users can take full advantage of the new fuselage reflection effect which Helijah has added to this model. The canopy opens and closes, and the pilot's head moves around. Although these features may seem insignificant, they do add to the overall experience of flying this already beautiful aircraft.
There are, however, some minor issues with the 3D model. The model has afterburners, while the real P-59 did not, and tracers fired from the guns of this aircraft do not behave like their real life counterparts. (The muzzle velocities of the guns have not been modelled correctly)
The 3D cockpit contains the standard six instruments, which is enough to fly with, and the autopilot works, too. The FDM seems to be fairly accurate. For example, the Airacobra should, and will reach 46,200 feet, and it can achieve and sustain a climb rate of 3,200 feet per minute.
Review by Armchair Ace
Nasal for newbies
Nasal is the name of FlightGear's built in scripting language that allows people to easily create custom logics for adjusting and driving FlightGear internals without having to modify the C++ source code or recompile FlightGear. To use Nasal you don't need to be a programmer, in fact Nasal is so simple that it can be used by people without any prior programming experience at all. Still Nasal is very powerful and flexible.
Nasal scripts can be used for doing many interesting things. Some of the more recent examples being the bombable add-on, the local weather system or the seeking AI missiles, all of which are purely implemented as Nasal scripts.
You can see for yourself how easy it is to get started writing Nasal scripts:
Just create a new plain text file (using an editor like notepad on Windows) named "hello.nas" in the $FG_ROOT/Nasal directory, paste the following contents:
print("My first Nasal script !");
Watch the black shell window when starting FlightGear and you'll see the "My first Nasal script !" being printed to the console. As you have surely noticed, all Nasal scripts in the $FG_ROOT/Nasal directory get loaded and run automatically during FlightGear startup.
The sample program just consists of one instruction, namely "print". Which is a function call to the built-in "print" function of the Nasal interpreter. The print function can not only print strings, but also numbers or individual characters.
Function calls in Nasal always look like this:
Where "name" would be the function's Nasal name, and then parentheses contain all parameters that you want to pass to the function. The expression is terminated using a semicolon.
To pass arguments to the function, you would simply add these in between the parentheses and separate them using a comma:
print(100, 200, 300);
From the community
TransGear founder leaves
Rob Shearman (MD-Terp), known by many as the founding father of the monthly TransGear events, announced his "retirement" at the forum. Although many Transgear Airlines pilots were surprised at the news, and feared that Transgear events would stop, some former participants are working to continue organizing the event.
On behalf of everyone in the Flightgear community, we would like to thank Rob for all he has done, and wish him well in his retirement.