Presentation Recipe

From FlightGear wiki
Jump to navigation Jump to search

This presentation recipe is intended to be very prescriptive about what you can do or a demo. The presentation isn't so much a formal presentation, but what is needed to have flightgear running in a booth.

This recipe can (should) be also used as a "this is what FlightGear can do" demonstration as well.

For a list of well-populated scenery locations, feature-rich aircraft and interesting flights you may want to check out:

Scenario

The basic premise is that you don't want a demo to allow people to crash or involve a lot of time with people controlling the system rather than selling your wares. The basic premise is that the system can run unattended for a number of days without needing either a pilot or a technician on hand to babysit the system.

Of course there will always be a Top Gun that walks past and wants to fly, the restart of the demo should be trivial as well...

This demonstration would be also suitable for benchmarking flightgear on different hardware as well as showing users what is possible for a new install.


Sample Monitor Layouts

4+4

 +-+-+-+-+
 | | | | |
 +-+-+-+-+
 | | |X| |
 +-+-+-+-+

http://www.youtube.com/watch?v=brG3-yyvv9Q

3+5

   +-+-+-+
   | | | |
 +-+-+-+-+-+
 | | |X| | |
 +-+-+-+-+-+

1+3

   +-+
   | |
 +-+-+-+
 | |X| |
 +-+-+-+

http://www.youtube.com/watch?v=iPO-9sf8HJ0

7+9

(Yes, really, on one system)

   +-+-+-+-+-+-+-+
   | | | | | | | |
 +-+-+-+-+-+-+-+-+-+
 | | | | |X| | | | |
 +-+-+-+-+-+-+-+-+-+

Software

This recipe is based on the CVS version of FlightGear as of 9 August 2008.

Operating System

This recipe calls for Linux, the above example used Ubuntu 8.04 and the ATI Proprietary Linux Graphics driver.

X-Windows Setup

This recipe used "multi-head" mode. With a Linux Catalyst 8.9 (Driver version 8.53 or later) and FireGL cards, this is as simple as

 aticonfig --initial=dual-head --adapter=all

Flightgear Setup

Ideally, setting FlightGear up for a demonstration sholdn't be onerous, but the under the hood configuration of flightgear is quite imposing. Follow this description to get flightgear running in this demo.

  1. Config file

The stock configuration file from CVS for data from July 2008.

==== Maximum Eyecandy ===
Turn on maximum eyecandy (maximum LOD, scenery, AA, etc).
Cameras and Screens

With CVS OSG based flightgear (basicaly CVS flightgear from July 2008), you can set up multiple cameras as using the repeated sections of the code below.For more info, check out Howto:Configure Camera View Windows.

...

Prerecorded Flight Data

This is probably most important part. Most people suck at flying aircraft with a mouse and keyboard, so having prerecorded data is must. The data used in this demo was http://www.jentronics.com/fgfs/flight2.out.gz.

Running the Demo

Commandline

Use the command as follows

 ./fgfs --enable-fullscreen --generic=file,in,25,flight.out,playback,repeat --fdm=external --aircaft=f15c3d

This runs flightscreen with the primary screen as fullscreen, using a 25 cycles/sec data from a playback file called flight.out, and repeats forever. The video above is using an F18.

User interaction

The demo is on rails, the only thing that can be changed is the view by pressing "v".

Tweaks

Enabling multicore

In preferences.xml, add the following lines to the sim/rendering section.

<multithreading-mode>CullDrawThreadPerContext</multithreading-mode>

You can choose from SingleThreaded, CullDrawThreadPerContext, DrawThreadPerContext, CullThreadPerCameraDrawThreadPerContext.

Wishlist

To make a demonstration of FlightGear even more compelling there are a few things that would make life a lot easier, and also take less explaining for the floor staff.

Preloading

Since we are talking about multicore systems, one of those cores could at-risk pre-load the geometry and textures well before flightgear needs them. This prevents the annoying stalls on the first pass through the recorded demo.

A library of flightdata

Having some nice tours of several favoured areas would be a great help. Getting the flightdata referred to above took quite a lot of smooth talking on IRC :).

Scripted Flights

Given that there is currently no easy way (available in the UI) to create/save flights in a native FlightGear format (to exchange/share such flight data for replaying), it might be interesting to investigate the possibilities of using the Nasal programming language to create scripted flights, so that scripts could be run in order to fly an aircraft (using the autopilot), in the beginning this could be a simple standard pattern in a no-wind situation, later on the script could be modified to also allow for more involved scenarios (flying holding patterns, instrument approaches etc). This would be an interesting option as it would require no changes to the fgfs core and could be implemented using purely Nasal and XML, but also because "exchanging flights" would not require exchanging actual pre-recoded flight data, but only tiny scripts or XML files to really fly the aircraft (most of this could be based on the already existing Nasal/XML tutorial system).

More Traffic

Flying on your own is interesting, but having other things in the air is even better. Having this recipe updated with extra links to data would be great.

More Eyecandy

Without multiple monitors, FlightGear looks quite simplistic. Use of shaders and other visual touches would add to FlightGear's appeal.

More Models

Adding more models and improved textures in the area the precorded data goes would go a long way in improving the visual experience.

Runtime Aircraft Changing

Different people like different aircraft, being able to change aircraft mid-flight would be great - particularly if you are using precorded data.

Runtime flight data Changing

Being able to switch between pre-recorded data and free-flying would be a great asset to flightgear. This is lower on the priority list, having this is a nive to have, but shouldn't be necessary with the right recorded flightdata.

Easier initial setup

A nice simple way to set the screens rather than modifying an XML file would be ideal.

Prerecorded Flight Repository

The Prerecorded Flights page doesn't have many flights, it would be great to see it included.