FlightGear Newsletter December 2013

From FlightGear wiki
Jump to navigation Jump to search



Magagazine.png
Welcome to the FlightGear Newsletter!
Please help us write the next edition!
Enjoy reading the latest edition!


We would like to emphasize that the monthly newsletter can not live without the contributions of FlightGear users and developers. Everyone with a wiki account (free to register) can edit the newsletter and every contribution is welcome. So if you know about any FlightGear related news or projects such as for example updated scenery or aircraft, please do feel invited to add such news to the newsletter. Core developers are encouraged to add news about their latest work to the newsletter's development section and the changelog of the upcoming release. At the end of each month, it's generally a good idea to get in touch with other contributors to ask them to add news about their contributions to the newsletter.

Development news

Note to all contributors: Please also copy your newsletter additions to the changelog for the upcoming release: Next Changelog.

Wizard-based Aircraft Creation

Aircraft-template-wizard-intro.png

When it comes to aircraft development, one of the areas that people find frustrating is that features used by aircraft developers will be documented in the Wiki but the examples are so minimal that it can be difficult or nearly impossible to get something working because the published examples are lacking in detail or don't show important variations of how to code the feature.

We've come to the conclusion, the best step towards fixing these issues is to have a set of templates for common aircraft configurations (single engine prop, multi-engine prop, single engine jet, multi-engine jet with co-pilot etc). These templates would have all of the minimal components to compose a "production" aircraft (according to the rating guide).

We've been tossing around that idea for a while, i.e. coming up with project-maintained "templates" for things like aircraft, to ensure that people have some way to get guidance without overly relying on extensive copy/paste programming - we really only need someone to start with a "dummy" aircraft that, with lots of comments and options (Nasal, sound, canvas, help, checklists, tutorials). In fact, it would even be possible to provide wizards to help customize such templates, i.e. to change name/author/status, 3D models, file names (sound, textures).

The idea is that we should have a set of standard aircraft templates, or some fancy means of generating an aircraft skeleton based on some user input. These templates would contain all necessary files and code to implement a simple but complete aircraft of a given configuration (single engine prop, multi-engine jet etc), and possibly stubs for common enhancements. Standard enhancements (checklists, autopilots etc) could be included as comments indicating where code needs to be added, This would make FG aircraft more consistent, but also help newbie aircraft developers to get of the initial obstacle of understanding how it all comes together. I think this would help us overcome the issue of having so many aircraft in various pre-production states of development.

During the discussion on the forum, we came up with the ideas that we could have a template aircraft and parametrize it dynamically inside FlightGear - after all, it's 95% PropertyList-encoded XML, i.e. can be read/manipulated and written via standard FlightGear/Nasal means - in other words, you could take an existing PUI dialog and turn it into an "aircraft wizard", where the user could specify things like 1) filename, 2) description, 3) FDM type, 4) status, 5) thumbnail and so on - this is all straightforward to do, it just involves setprop() stuff after having read the template into the property tree via io.read_properties(), at which point a simple GUI dialog could be shown to streamline the aircraft development process in a step-by-step manner. Many building blocks exist already, including a file picker dialog - missing stuff can be implemented via Canvas extensions.

Such a wizard woud ideally not be implemented as a "hardcoded" XML dialog, but rather as a Nasal submodule that dynamically creates "pages" for each step in the wizard. None of this is difficult, it really just involves 1) property tree, 2) read/write properties via io.nas and 3) basic Nasal (setprop/props.nas) for modifying the template aircraft. Such a wizard could also be easily made aware of difference between FG versions, and users could be asked to target a certain version, i.e. to omit certain stuff, like for example Canvas support, or effects etc

A first, very basic, prototype of this is now available, and waiting to be adopted by fellow contributors to help grow this "wizard", i.e. by adding features to it, but also by adding new templates to it, for different aircraft features, such as Aircraft Checklists, Tutorials, Walk View etc.

Given that most of us are already juggling too many projects, we're also looking for people who would possibly like to get involved in this in some way.

Coding-wise, this is currently just about 150 lines of very simple Nasal code, copied together from various other dialogs and wiki tutorials. So knowing Nasal would be a plus, but if you have any other scripting/programming experience, that will do too. So if you are interested in FlightGear scripting and simplifying aircraft deveopment for newcomers, please get in touch via the forum or the wiki.

Continue reading at Aircraft Generation Wizard...


Random Buildings

Project Rembrandt

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.

Canvas System

High Level Architecture

Usability Improvements

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.

Building from Source

Thanks to work done by Seatbutler, the Howto:Build FlightGear with NetBeans using CMake article has recently been updated and verified to still work.

Release ChangeLog

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

Hardware development

Project computer2cockpit

Following design changes suggested by FG users to flight yoke design were entered

  • Map holder
  • Additional rocker switch and push button switches on right side of the yoke
  • Additional push to talk switch

Curent activity

  • Prototype manufacturing preparation - setting up the CNC router
  • Talking with suppliers to lower the initial costs and production price

FlightGear addons and mods

In the hangar

New Aircraft; Junkers JU-288, and Caudron Type 'C' biplane, from Lester Boffo

Two new aircraft from my 'Hangar', such as it is. The first one is a Junkers JU-288 Bomber-Interceptor/Bomber presented to the Luftwaffe in 1942 as a hedge against the expected US Bombing campaign and the new Boeing B29. Being as it is with all things bomber-ish in the WWII German air war, the politics of who's company got the funding, and go ahead with production, also doomed this aircraft to only a few prototypes and variants. That it relied upon the then promising Jumo 222 water-cooled inline/radial, only hastened it's demise, as the Jumo's development was rushed, and then the engine factory was destroyed by Allied bombing. Finding literature covering this aircraft was a bit hard to find, but with some help from FMG, I was able to source some drawings and spec's. I'm not sure when this plane will be finished, but the basic 3D is done and a rudimentary cockpit is in place.

Secondly is a small, pre WWI early aircraft from Rene Caudron and sibling, his Type 'C' biplane. The first of his 'Public Domain' designs that he released to the early aviation community. This aircraft was to go on to more development as the G series of trainers and observation/bombers during WWI. This particular aircraft was also known as the '10 meter Caudron', it was interesting to note that it employed along with it's wing warping roll control, an enhanced roll control from the divided stab/elevator, which could be flexed with up and down, twisting deflections in addition to it's normal pitch control. It was praised for it's high rate of climb, lightness, and maneuverability, on a modest 45 h.p. Anzani 6 cylinder radial. The aircraft is releasable and is under a GPL license. Images of these two aircraft.


Junkers Ju-288A in development in MetasequoiaLE
another angle of the in-development Junkers Ju-288A
Caudron Type "C" flying over Paris in a morning late fall fog.
Caudron Type "C" on the slopes of a Rhone Alp's meadow

Updated aircraft

Liveries

Scenery corner

Airports

Aircraft of the month

Airport of the month

Screenshot of the month

Suggested flights

Aircraft reviews

Wiki updates

Major changes in the wiki help pages

During November and December many of the help pages have been moved around and extended, and a few new help pages have been created, Help:Tables and Help:Glossary.

These changes were made to improve the help mostly for entirely new users, but will probably also be helpful some of the regular editors as well. The rewritten pages now also have links to more advanced help primarily at the MediaWiki Wiki, the wiki of the developers of the the wiki software used by the FlightGear Wiki.

In summary, the following changes have been made:

Help:Templates – Rewritten and extended
Help:Formatting – Rewritten and extended
Help:Tutorial
– Rewritten and extended

The work is not complete yet though. Most of all the translations of these pages needs to be moved and/or translated, and a couple of pages, Help:Categories and Help:Tutorial, could still need a rewrite (though on a much smaller scale).

And finally, a style guide (as in a guide, not a manual) is something there is a growing need for. Any suggestions and opinions are welcome at Help talk:Style guide, as well as additions to Help:Style guide, which is currently (very) incomplete.

Translators required

En.gif 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.
De.gif 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.
Nl.gif 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.
Es.gif 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.

Community news

FlightGear on YouTube

New tutorials and screencasts

Forum news

Multiplayer

Virtual airlines

FlightGear events

Useful links

And finally ...

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". 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.

For ideas on starting to contribute to FlightGear, you may want to check out: Volunteer.

To learn more about how the project works, please see this short essay written by Thorsten, for a more detailed article see How the FlightGear project works.

YASim looking for a new maintainer

Cquote1.png 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.[1]
— James Turner
Cquote2.png
Cquote1.png 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.[2]
— Andy Ross
Cquote2.png
  1. James Turner (Fri, 05 Oct 2012 03:54:43 -0700). YASim and documentation.
  2. Andy Ross (Fri, 05 Oct 2012 03:54:43 -0700). YASim and documentation.

Call for volunteers

  • The Target4Today team is looking for volunteers to help improving FlightGear's combat support

Did you know