FlightGear Newsletter July 2010: Difference between revisions

m
proofreading & shuffling
m (proofreading & shuffling)
Line 4: Line 4:
This month's newsletter marks a year since [[FlightGear Newsletter July 2009|the first issue]] was written!
This month's newsletter marks a year since [[FlightGear Newsletter July 2009|the first issue]] was written!


'''<font size="4">Newsletter history</font>'''
==Newsletter history==


One year ago, in June 2009, [[FlightGear]]-head Curt proposed his newsletter-idea [http://www.flightgear.org/forums/viewtopic.php?f=6&t=5201 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.
One year ago, in June 2009, [[FlightGear]]-head Curt proposed his newsletter-idea [http://www.flightgear.org/forums/viewtopic.php?f=6&t=5201 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.
Line 14: Line 14:
Now, all I can say is: enjoy this brand new edition!
Now, all I can say is: enjoy this brand new edition!


== Contributing ==
==Contributing==
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".
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 mis-conception 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.  
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.  


Some ideas:
Some ideas:


* writing articles for the [http://wiki.flightgear.org/index.php/Next_newsletter next issue of this newletter]
* writing articles for the [http://wiki.flightgear.org/index.php/Next_newsletter next issue of this newsletter]
* sending corrections/updates to the FlightGear Manual
* sending corrections/updates to the FlightGear Manual
* helping new users on the forums/IRC
* helping new users on the forums/IRC
* writing a wiki page
* writing a wiki page
* organising fly-outs  
* 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 [http://scenemodels.flightgear.org/contribute.php 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, [http://wiki.flightgear.org/index.php/Placing_3D_Objects_with_the_UFO Placing 3D Objects with the UFO].  
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 [http://scenemodels.flightgear.org/contribute.php 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]].
For other ideas on starting to contribute to FlightGear, you may want to check out: [[Volunteer]].
Line 51: Line 51:
At the moment, we are collecting ideas for answering the various questions in the application: [http://flightgear.org/forums/viewtopic.php?f=38&t=8857 Why should FlightGear participate in GSoC?]
At the moment, we are collecting ideas for answering the various questions in the application: [http://flightgear.org/forums/viewtopic.php?f=38&t=8857 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: http://flightgear.org/forums/viewforum.php?f=38
If you have any questions or other feedback related to GSoC, please use the forum to get in touch: [http://flightgear.org/forums/viewforum.php?f=38]


==Development news==
==Development news==
Line 76: Line 76:
* Drift of clouds, thermals and other weather effects in the wind, enabling for example a realistic soaring experience in strong winds.
* 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 windfield, including high-altitude wind patterns that gradually change along the aircraft route.
* 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 windspeed reduction effect becomes tied to the roughness of the terrain - for example over open water, the layer will be much thinner than in mountains.  
* 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.
* Significantly more efficient tile management routines and some code cleanup, resulting in a better performance also in static mode.
Line 86: Line 86:
Did you know?
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 <i>--real-weather-fetch</i> because currently Flightgear automatically executes fetched and parsed METAR, thus preventing the local weather package from working. Some help from C++ programmers needed here!
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 <i>--real-weather-fetch</i> 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===
===New mapping software===
Michael contributes new FlightGear mapping software to the communitiy, written in the Ruby programming language: [http://rubyforge.org/projects/fgmap FGMap]. Basically it shows your current flight position on an [http://openstreetmap.org OpenStreetMap] map. It therefore has some similarity to [[Atlas]] and the online [[MPMap]]s. As with all projects, [http://rubyforge.org/tracker/?func=add&group_id=9572&atid=37032 feedback] is highly appreciated.
Michael contributes new FlightGear mapping software to the community, written in the Ruby programming language: [http://rubyforge.org/projects/fgmap FGMap]. Basically it shows your current flight position on an [http://openstreetmap.org OpenStreetMap] map. It therefore has some similarity to [[Atlas]] and the online [[MPMap]]s. As with all projects, [http://rubyforge.org/tracker/?func=add&group_id=9572&atid=37032 feedback] is highly appreciated.


FGMap has many features, including:
FGMap has many features, including:
* Show flight position on Openstreetmap map in real-time
* Show flight position on OpenStreetMap map in real-time
* Download new map tiles on-the-fly in the background
* Download new map tiles on-the-fly in the background
* Add shaded elevation layer to map for nice visual effect
* Add shaded elevation layer to map for nice visual effect
Line 109: Line 109:
Last month, the infamous [http://wiki.flightgear.org/index.php/Howto:_Get_rid_of_common_errors#Warning:_Picked_up_TriangleIntersect QNaN errors] that may cause FlightGear to become [[Showstoppers|unresponsive]] have been linked to potential issues in the Nasal interpreter (and more generally Nasal code) by flug, for more details please see: [http://www.flightgear.org/forums/viewtopic.php?f=18&t=8483&p=83701 "Nasal source of Dreaded Triangle Error-source of many probs?"].
Last month, the infamous [http://wiki.flightgear.org/index.php/Howto:_Get_rid_of_common_errors#Warning:_Picked_up_TriangleIntersect QNaN errors] that may cause FlightGear to become [[Showstoppers|unresponsive]] have been linked to potential issues in the Nasal interpreter (and more generally Nasal code) by flug, for more details please see: [http://www.flightgear.org/forums/viewtopic.php?f=18&t=8483&p=83701 "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.
For the time being, you will want to look out for any Nasal code that contains unchecked divisions with unvalidated divisors.
==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 addon, 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:
name();
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);


==In the hangar==
==In the hangar==
Line 155: Line 125:
==Scenery corner==
==Scenery corner==
===Animated jetways===
===Animated jetways===
[[File:Movable_Jetway.jpg|thumb|A jetway connecting to a [[Boeing 737-300|737-300]].]]
[[File:Movable_Jetway.jpg|thumb|A Jetway connecting to a [[Boeing 737-300|737-300]].]]
''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 [[Boeing 737|737s]]. Planned features include automatic attachment to your airplane's door and even multiple jetways for wide-body airliners and [[Airbus A380|A380s]]. See [http://www.flightgear.org/forums/viewtopic.php?t=8728 this thread] for more information.
''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 [[Boeing 737|737s]]. Planned features include automatic attachment to your airplane's door and even multiple jetways for wide-body airliners and [[Airbus A380|A380s]]. See [http://www.flightgear.org/forums/viewtopic.php?t=8728 this thread] for more information.


Line 166: Line 136:
As announced in an [[FlightGear Newsletter March 2010#Dubai is coming up|earlier edition]], Gijs has been (re)drawing the terrain of Dubai. The FlightGear scenery now includes:
As announced in an [[FlightGear Newsletter March 2010#Dubai is coming up|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)
* Palm Islands (islands in the shape of a palm)
* The World (islands together forming a worldmap)
* The World (islands together forming a world map)
* Detailed coastline and city boundaries
* 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.
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.
Line 184: Line 154:
The taxiways at night are complex but made easier if the official charts are downloaded from [http://www.nats-uk.ead-it.com]. 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).
The taxiways at night are complex but made easier if the official charts are downloaded from [http://www.nats-uk.ead-it.com]. 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 modelled 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.
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 [http://www.mediafire.com/?t2ml5ezmgwv MediaFire].
London Gatwick EGKK may be downloaded from [http://www.mediafire.com/?t2ml5ezmgwv MediaFire].
Line 216: Line 186:
The 3D cockpit contains the standard six instruments, which is enough to fly with, and the autopilot works, too.
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, as the Airacobra should, and will reach 46,200 feet, and it can achieve and sustain a climb rate of 3,200 feet per minute.
The FDM seems to be fairly accurate, as the Airacobra should, and will reach 46,200 feet, and it can achieve and sustain a climb rate of 3,200 feet per minute.
==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:
name();
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==
==From the community==
173

edits