|
AVSIM Interview |
---|
|
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 |