AVSIM Interview

 

An Interview with Flight Gear's Curtis Olson

By Maury Pratt, Managing Editor - Reviews

   

There's a new kid on the block in the flight simulation community: Flight Gear! As AVSIM is intrigued with the open simulator concept and the community effort it represents, we invited Curt Olson to tell us about Flight Gear, its goals, and current progress.

AVSIM:

What's your new simulator, "Flight Gear" going to address?

Curt Olson:

Feature for feature we don't plan anything that spectacularly different or better than any of the existing (or upcoming) commercial sims. In fact we aren't trying to directly compete head to head with these sims.

Instead our primary goals are to build a multi-platform, open source, general aviation simulator.

"Multi-platform" means we hope our sim will run under at least MS Windows, Macintosh, Linux, other varieties of Unix. This lets us take advantage of a broader development base and serve a broader set of people.

Open source: The entire source code for this project is freely available under the Gnu Public License (GPL). This ensures that the code stays "free" while allowing us to make it available for people to use and enhance.

We are creating a flight simulator framework that researchers, hackers, do-it-yourselfers, and hopefully just about anyone can plug their own code into.

AVSIM:

A "framework"?

Curt Olson:

Right now, the flight gear developers are hard at work implementing the basic features of a flight simulator. Because our project is "open-source" anyone can join in and help out. Anyone with a good idea for a flight sim feature and a little bit of programming knowledge can plug their work into our sim.

If you are frustrated that none of the commercial sims implement a feature you want, here's your chance to show them how it's done. We also hope to target the research and academic communities with our project. Again, because of its open-source nature, Flight Gear might just be an ideal platform to plug your research project into.

AVSIM:

Could you share your background with our readers?

Curt Olson:

I have a master's degree in computer science. This may sound impressive, but I'm not sure if it qualifies me to do anything practical. Most of my practical experience has been gained on the job, and on my own time.

I work as a unix system administrator for the University of Minnesota. This doesn't give me a lot of opportunity to do software development, so I mostly satisfy this urge doing programming projects on the side in my "spare" time.

I've been involved in writing a free check book balancer for Unix: Curt's Unix project. And, recently I've been involved in the Flight Gear project.

At home I mostly run Linux. Between my brother and I we have a network of at least 6 or 7 machines. My brother rents a room from me and runs a mini-ISP out of our house. This provides me with nice 24/7 internet access from home which compensates for the unbelievably cheap rent I charge my brother. (grins)

AVSIM:

What inspired you to take on such a far-reaching project?

Curt Olson:

I've always been fascinated by aviation as far back as my memory goes. My first exposure to computers was in Jr. High where I was immensely impressed with their capabilities. A flight simulator project combines both of these fascinations.

A couple years ago, a net discussion brewed up and a few of us asked, why not? So we embarked on this difficult and lengthy project to build a free flight simulator from scratch.

In retrospect, it has turned out to be much more difficult and challenging than I would have thought at the beginning. But, each time the hurdles turned out to be higher than I expected, I've been forced to jump and stretch higher than I expected. This has been a tremendous education experience for me personally. I think everyone should write at least one flight simulator in their lifetime. (a very big grin this time)

AVSIM:

Who's working with you on Flight Gear?

Curt Olson:

We have quite a long list of contributors you can see at: Flight Gear's contributors. This list is definitely not complete, but I have maintained it as best I can. These people have made both large and small contributions as their free time has permitted.

I hesitate to single just a few people out of this list because everyone's contribution is important to the overall project.

AVSIM:

What can you tell us about their backgrounds?

Curt Olson:

Let me answer this in vague generalities. It is often hard to know specific people's backgrounds if they don't volunteer this information up front.

But what I can say is that we have had contributions from a huge range of backgrounds, from people in high school to people with PhD's. Many contributors have backgrounds in computer related fields, but we've had contributions from people in fields ranging from astronomy to technical writing to databases to graphical design to retired 747 pilots.

AVSIM:

Can you outline something about the technologies you are implementing?

Curt Olson:

Let me start out by talking about our scenery since this is what I am heavily involved in right now. Let me say that not all of this is currently implemented, but much of it is.

Our scenery system is designed to have a number of nice features.

- Oblate ellipsoid (WGS-84) world model. This is a fancy way to say our world is inherently round, so great circle routes will work exactly as they do in real life and flights over the poles will be possible with out seeing any discontinuities or "map-maker" distortion in the scenery.

- We have leap frogged the MSFS flat plane + pyramid model of scenery. Our terrain is built entirely from a triangle "skin." All the tiles mesh together perfectly so you will never see the earth rapidly rising towards or falling away from you.

- We have carefully integrated the sun position into our scenery rendering system so that the terrain is always lit and shaded based on the current sun position for your position and time. As the day progresses and as you move, the terrain shading changes.

- Currently I am working on an advanced scheme which will seamlessly integrate 2d polygon data (lakes, rivers, coastlines, urban areas, etc.) with 3d height data with detail and precision never before seen in PC caliber sims. I'm really exited about the progress I've been making in this area, and look forward to the final results.

- Flight Gear currently has one of the most sophisticated skies in any PC caliber sim. The stars are properly positioned based on your location and time. Likewise the sun, moon, and planets are also properly positioned based on your location and time. Furthermore, the stars and planets have the correct brightness (magnitude.) This is even more amazing once you realize that the brightness of the planets changes depending on the relative position between the earth, the planets, and the sun. The moon even has the proper phase. This was implemented by properly positioning the moon, properly positioning the sun, and then illuminating the moon from the proper sun location ... just like real life. (here a very satisfied smile)

AVSIM:

Please give us some idea of the technological challenges you've found most interesting?

Curt Olson:

One challenge that I've found interesting is related to our terrain. Most of today's simulators that implement DEM based terrain use height data arranged in regular grid like a checkerboard. This makes things simpler, but can lead to visual artifacts that give pilots unrealistic cues.

For the Flight Gear project, we use an "irregular" mesh of triangles to represent the terrain. This means in simple, flat areas, we can use large triangles, while in complex areas we use smaller triangles. Our scheme adapts to the complexity of the terrain and maintains a fixed "error" rate between the original data and the Flight Gear terrain.

This makes everything 10 times more complex, but it has a couple of important benefits that make it worth the extra effort.

First, an "irregular" triangle mesh can represent terrain with the same detail level as a "regular" mesh, but with 4-6x fewer polygons. This means an irregular mesh can achieve better detail with faster frame rates. This is extremely important for a flight simulator.

Another benefit to an irregular triangle mesh is that it has far fewer artificial visual cues. The grid structure in a regular grid can often be seen by the pilot. This gives them artificial visual cues as they practice turns and other maneuvers. These artificial cues provide "negative" training value and should be avoided as much as possible.

One final benefit of an arbitrary, irregular triangle mesh is that we can insert accurate features and polygons into the terrain without disrupting some "regular gridding" scheme. This leads to an extremely flexible scenery engine.

AVSIM:

Which aircraft/panels/scenery/NavAids, etc. are included in the current version?

Curt Olson:

Let me start out by saying that Flight Gear is "a work in progress."

Currently we only model a Navion which is an under powered, single engine, post-WWII era aircraft. We use the NASA LaRCsim research flight model code which models this single aircraft by default. It would certainly be possible to tune the flight model parameters to model other aircraft, but no one has done that yet.

Instead, there is an effort underway to create a complete rewrite/overhaul of the NASA LaRCsim code in C++. Jon Berndt who is spear heading this project is basing his work partially on LaRCsim, partially on the research papers which inspired LaRCsim, and partially on his own experience and education.

He is starting out by modeling an X15 with his code. The goal is that between a Navion and an X15, we will be able to test our flight sim frame work on both extremes of the flight envelope.

When Jon's rewrite is ready, it should be straight forward to create many additional aircraft as is possible in MSFS and other sims.

There is also work in progress to create an extremely detailed and accurate Bonanza instrument panel. Out of this effort, it should become possible to model arbitrary instruments and instrument panels.

As far as scenery goes, we have modeled the entire continental USA, and several smaller areas from other countries including Ecuador, Germany, and Switzerland. The scenery generation tools are general enough that the entire world can be modeled given enough time, input data, and disk space.

AVSIM:

Can 3rd party add-ons be easily implemented? Do you use some form of SDK for this?

Curt Olson:

Because flight gear is open-source, a potential developer has much more flexibility, leeway, and potential for creating addons. You aren't limited to specific SDK's + what people can reverse engineer. You have the full source code at your fingertips, and can wire in just about any feature into just about any place in the code.

There really are no practical limits. Hopefully as time goes on and as the Flight Gear project progresses, a few inspired developers will create some truly astounding addons that wouldn't be possible in other "commercial" sims.

But let me just say that we are still working on implementing the basics, and we could still use volunteers to work on a few specific areas.

AVSIM:

And finally, what implementation/packaging/distribution "lessons learned" from the commercial industry have influenced Flight Gear's development?

Curt Olson:

I'm not sure if you have anything specific in mind here (or any specific limitations of commercial products) please feed me a few hints if you do.

In general, we are attempting to create a flexible, open structure (vs. a closed commercial product.)

We release new incremental versions quite frequently ... usually once or twice a month rather than once every year or two. This allows people to keep current with the development.

Using a product called CVS, developers can keep their local source tree in sync with the master repository on a daily basis, even between official releases.

Our whole development process is done out in the open where everyone can see. This has advantages of involving lots of great people, but it does hang out our weaknesses and arguments for everyone to see. On the whole, I think the advantages of our approach will outweigh the disadvantages.

Every approach has strengths and weaknesses. There are enough commercial projects out there already. We hope to show what can be accomplished by the the open source process. The two approaches are very different, and the end result may be very different as well.

But, hopefully we have a project that is worthy of people's interest, that will accomplish some new and exiting things, and will give people another choice and another option when the commercial sims don't quite do what you want.

AVSIM:

Curt, thanks for such an interesting and infromative insight into Flight Gear. We and the flightsim community applaud you and wish you and your contributers every success in achieving your vision!

For more information, AVSIM encourages you to take a look at Michael Basler's "FlightGear Flight Simulator Installation and Getting Started" here. Also check out the Flight Gear home page. And you can reach Curt by e-mail here: .

 


© 1999 - AVSIM Online
All Rights Reserved