Hi fellow wiki editors!
I have tried to keep the template short, but meaningful. /Johan G
FlightGear Newsletter April 2014
- 1 Development news
- 1.1 Proof-of-Concept: A TerraGear Web Service (by F-JJTH)
- 1.2 Helicopter Missions
- 1.3 YASim Bug Fixes
- 1.4 Canvas GUI Progress
- 1.5 Random Buildings
- 1.6 Project Rembrandt
- 1.7 Canvas System
- 1.8 High Level Architecture
- 1.9 Usability Improvements
- 1.10 Creating your own keybindings
- 1.11 Getting involved as a programmer
- 2 Release ChangeLog
- 3 Interview with a contributor (NAME)
- 4 Nasal for newbies
- 5 New software tools and projects
- 6 FlightGear addons and mods
- 7 In the hangar
- 8 Scenery corner
- 9 Aircraft of the month
- 10 Airport of the month
- 11 Screenshot of the month
- 12 Suggested flights
- 13 Aircraft reviews
- 14 Wiki updates
- 15 Community news
- 16 Useful links
- 17 And finally ...
Note to all contributors: Please also copy your newsletter additions to the changelog for the upcoming release: Next Changelog.
Proof-of-Concept: A TerraGear Web Service (by F-JJTH)
| Work in progress|
This article or section will be worked on in the upcoming hours or days.
See for the latest developments.
As part of prototyping a TerraGear scenery build server, F-JJTH has started working on a proof-of-concept for a web-based TerraGear GUI/build service. This can use the precompiled-TerraGear packages created and provided by saiarcot895. We are currently looking for people interested in picking up this prototype to continue developing it over time. All the difficult bits are now in place (namely the TerraGear setup), as well as a compelling web-based interface. People interested in helping with this, should ideally have some web programming experience, for TerraGear specifics you can probably just get in touch with psadro_gm and papillon81 (or refer to the docs for starters). Also, we're hoping to also create Linux packages for the web interface, so that installation/updates can be just as easily handled using the deb/apt/ppa package manager.
Primarily, we are now looking for hosting, not just for the TerraGear setup itself (which should be fairly powerful), but also for those deb/apt packages. If you'd like to help with this, please get in touch via the forum.
Continue reading at TerraGear scenery build server...
| Work in progress|
This article or section will be worked on in the upcoming hours or days.
See for the latest developments.
Continue reading at "Mission" for helicopters...
YASim Bug Fixes
As of April 4th, several bug fixes by Colin Howell have been merged into the "next" branch of FlightGear's source. As per issues 1400, 1423, and 1427, these are only small fixes in portions of code, but they still may have noticeable affects on YASim aircraft, including making the solver fail with some aircraft and making other aircraft perform better. Currently these fixes are loaded unconditionally, so there's no opt-in or opt-out system in place, meaning that we need you to help test as many YASim aircraft as possible. (Please note that these patches are only available with a latest binary, i.e. a nightly from Jenkins or a compilation from source, and a corresponding FGData clone.) Detlef posts, "I have tested the slat patch and the twist patch and found very little problems, in fact most cases I've seen saw an improvment. Of the 15 Aircraft I've tested the twist patch on, only two wouldn't start up at all" . Having a large number of non-working aircraft in the next release would be undesirable, and would suggest that we need an opt-in system for such fixes, but if most aircraft work well it will be simpler to let the patches load unconditionally.
Please report aircraft that fail to work with latest FG (but that still work in 3.0, i.e. without the fixes) on the devel list or on the forums.
Canvas GUI Progress
A number of Mac users have been reporting issues related to running Project Rembrandt (deferred rendering/shadows) on Mac OSX with ATI/AMD GPUS, we are now looking for Mac users to provide feedback on running Rembrandt on Mac OSX, required information includes errors and warnings shown during startup/runtime, but also screen shots showing any issues. Please see: Project Rembrandt#Mac Issues.
Tom has updated FlightGear 3.1 to remove a lot of unneeded OpenGL state changes. Depending on the GPU/driver this can lead to quite a noticeable performance improvement. For example, he was able to get from ~120ms down to ~45ms .
High Level Architecture
Creating your own keybindings
A common request is how to change keys to do different commands. FlightGear makes this as easy as editing an XML file, and possibly adding a parameter to point FG to the new XML file.
In general, the list of keyboard commands is stored in the property tree and is loaded at startup or when the menu option "Debug -> Reload input" is selected. The main list of commands is available in , but each aircraft can add/change its own bindings through its -set.xml file, and additional config files can do the same.
Continue reading Howto:Reassign keyboard keys...
Getting involved as a programmer
Unfortunately, most of the active FG developers are currently very overstretched in terms of the areas that they have ownership of, which is affecting how much can actually be done. Fundamentally we need more core devs.
If you are interested in contributing as a core developer, please see Howto:Start core development.
If you interested in other developing, i.e. not C++ but Nasal scripting and/or XML, there are some articles listed at Category:Popular Community Requests that have been suggested, but not fully or partially implemented, and are "mentored efforts". That means that the community is looking for a hand in implementing them -- help from you -- but will also have more experienced developers willing to help you, for example by having tailored tutorials or even code snippets written for you. As mentioned in each page, please get in touch if you would like to help with one of those projects. In comparison to C/C++, Nasal is simpler and easier to learn quickly. It also doesn't require recompiling, which means that you can test and develop changes with a standard FlightGear release, i.e. off of the main download page. As long as you can run FlightGear, you can also run Nasal code and contribute. Many tutorials covering a wide range of projects are listed at Nasal, so if you know a programming/scripting language already, or would like to try something new, go ahead: read, write, try and get involved! When it comes to Nasal scripting, playing around with different tutorials and code snippets is more important than being an experienced coder.
Of course, you're also free to work on whatever you want -- FlightGear as a community-driven doesn't tell people what to do, but welcomes any contributions from anybody, as long as they have acceptable quality and are free to be licensed under the GNU GPL. So if you have something you would like to contribute back to FlightGear, please get in touch! (Preferably using Gitorious for larger merge requests, and the forums or (core-) developer's mailing list to inform the developers of what you want to contribute back.) Changes contributed 6-8 weeks before a release will usually appear in the next release, so your changes can be spread across the world.
This section lists changes committed this month that will be available in the next release, these will be copied to the release changelog shortly before a release (for each month), so that we hopefully get a comprehensive list of new features.
Interview with a contributor (NAME)
In each edition we have an interview with a contributor. Suggestions for possible questions are available on interview questions, you are invited to come up with new questions and interview ideas obviously! Anyone is free to write an interview (with him-/herself or others) for next month's newsletter! If you'd like to help interview a contributor or get interviewed, please do consider adding yourself to the list of interview volunteers! To keep this going and less awkward, we are currently trying to come up with the convention that former interviewees become next month's interviewers.
- How long have you been involved in FlightGear?
- What are your major interests in FlightGear?
- What project are you working on right now?
- What do you plan on doing in the future?
- Are you happy with the way the FlightGear project is going?
- What do you enjoy most about developing for FlightGear?
- Are there any "hidden features" you have worked on in FlightGear that new users may miss?
- What advice can you give to new developers who want to get started on their first aircraft/new feature/Nasal script?
More questions are being collected here: Interview questions.
Stay tuned for next month's interview, featuring FlightGear contributor XXXXXXXX
Nasal for newbies
New software tools and projects
FlightGear addons and mods
In the hangar
The Making of a new World Scenery
A frequently asked question about scenery is: "Why isn't the terrain updated more often?". Most of us are probably unaware about what is required to build a new World Scenery and what is required to ship a complete set of data for rendering the world in FlightGear. As there is actually a new build in progress, we are able to present some naked numbers to give a rough impression about the resources involved.First, there is the raw data. Roughly half a dozen databases containing more than 100GB of elevation, coast lines, water ways, roads, land cover, navigation data and all the things that make up the details of our planets surface.
All these information have to be converted into files understandable by FlightGear. The earth's surface in FlightGear is cut into tiles, each tile containing a 3d model for that area. While generating a single tile is a not too complicated task, generating the entire world is. Roads, coastlines, run- and taxiways do sometimes cross tile boundaries so the 3d surface has to be sliced at the tile boundary. The vertices on both edges have to be at the exact same position. To guarantee, you can't fall into the abyss while taxiing across an unclosed tile boundary, all tiles have to be created in a single run with the current toolchain. The machine performing that task has to crunch all the 100GB of raw data, keep the results more or less in memory and write the results to disk. This is an extremly time and resource hungry job. The current vectorization job has been started on Feb. 28th and is still running (Apr. 6th). Probably most impressive is the memory consumption which has grown to nearly 130GB. This is RAM, not Harddisk. As the machine is unfortunately only equipped with 100GB of RAM has started to use nearly 30GB of swap space. All this only works because of just a few people working hard and usually undiscovered in the background.
Aircraft of the month
Airport of the month
Screenshot of the month
|The FlightGear Wiki still needs help for translating it into various languages. If you are interested in making the FlightGear Wiki multi-language then start at Help:Translate.|
|Das FlightGear Wiki benötigt immer noch Hilfe bei der Übersetzung in verschiedene Sprachen. Wenn Du Interesse daran hast, das FlightGear Wiki Mehrsprachig zu machen, dann fang doch mit Help:Übersetzen an.|
|De FlightGear Wiki kan nog steed hulp gebruiken bij het vertalen van artikelen. Als je interesse hebt om de wiki meertalig te maken, raden we je aan om een kijkje te nemen bij Help:Vertalen.|
|La FlightGear wiki todavía necesita ayuda para traducirla a varios lenguajes. Si estás interesado en hacer la FlightGear wiki multilingüe, entonces comienza en Help:Traducir.|
FlightGear on YouTube
New tutorials and screencasts
The Northern-Italy ATC Controlled Area (NIATCA)
NIATCA was born between December 2013 and January 2014 to offer Air Traffic Control in Northern Italy and in the neighboring area. Initially it was an ATC project only for LIPA, LIPX, LSZS and LIMC; but then more airports have been added to the project to become what NIATCA is today.
Presently, its members' efforts allow you to enjoy professional services at the following airports:
- Verona Villafranca (LIPX)
- Milano Malpensa (LIMC)
- Aviano Air Base (LIPA)
- Samedan (LSZS)
- Trieste-Ronchi dei Legionari (LIPQ)
- Venezia Tessera (LIPZ)
For more informations, you can visit the project's Google+ page or its YouTube channel. The project is also searching for new members to extend coverage; current open positions are Torino Caselle (LIMF), Genova Sestri (LIMJ), Milano Linate (LIML), Bergamo (LIME), Treviso "San Angelo" (LIPH), Innsbruck-Kranebitten (LOWI), Bologna (LIPE), Bolzano-Dolomiti (LIPB), Base aerea di Rivolto (LIPI). If you want to contribute, just apply to become a member.
Candidates are required to:
- know ATC phraseology;
- know the English language (knowledge of Italian is a plus);
- be able to read charts and to let pilots follow real SIDs/STARs;
- be able to man their position(s) at least one/two hours a week.
And finally ...
Many people think that contributing to the FlightGear project requires writing C++ code or doing 3D modeling and that it takes lots of time, and therefore feel that they cannot contribute directly. Not so. There's a whole variety of ways to make a valuable and satisfying contribution to FlightGear without being a developer.
The Volunteer page is intended to provide a starting point for those wanting to contribute, but who don't know how. Of course, these are just suggestions. So if you have already a specific idea in mind, please do get in touch with the community to ask for feedback, using the mailing lists, or the IRC channel (chat).
Remember that work in non-development areas will be appreciated as much as developer contributions (or more!), because generally more visible to the end user.
If you'd like to learn more about getting your own ideas and features into FlightGear, check out Implementing new features for FlightGear.
If you are contributing to the core simulator, or an aircraft in the master repository, you should be part of the FlightGear-devel mailing list, which is the primary point of contact for all discussions regarding the development of the simulator. You may want to check out also Howto: Understand the FlightGear development process and Howto: Starting core development.
YASim looking for a new maintainer
|There are some pending merge requests to add some Yasim features, but we have an issue that since none of the current C++ developers own, or are experts in Yasim, we're reluctant to be the person who merges such changes, and potentially introduces subtle regressions.
Obviously this is chicken-and-egg, since no one can become expert enough in the code to become a maintainer :)
So, I'm more than happy to apply patches *providing* I can be convinced they are sane+reasonable from a pure code perspective (happy to help with that, too, if people are new to C++), and providing we have some assurance that a representative sample of yasim aircraft are unchanged or improved by the patch. Suggestions for that means in practice, are most welcome!Otherwise I worry, given the nature of the solver, we'll keep optimising the solver for some aircraft, and making other existing aircraft worse - until someone tests them, and announced that they're no longer working.
— James Turner
|I am still broadly happy to answer questions if posed (as long as I remember enough to come up with a meaningful answer). Just cc: me if you do, because my
latencies here are measured in weeks.Bugs can always be fixed. What YASim needs is a maintainer, not really expertise per se. The latter comes from the former.
— Andy Ross
- James Turner (Fri, 05 Oct 2012 03:54:43 -0700). YASim and documentation.
- Andy Ross (Fri, 05 Oct 2012 03:54:43 -0700). YASim and documentation.
Call for volunteers
- The Terragear maintainers are looking for volunteers to help with development on the next world scenery project. If you've ever wondered how a full 3D model of earth can be generated from raw data, now is your chance. See the plan at World Scenery 3.0 roadmap.
- The Target4Today team is looking for volunteers to help improving FlightGear's combat support