Hi,

finally had the time to complete the replay system overhaul. Thanks to 
everyone providing input. Some people had sent me longer wish lists – 
unfortunately I'm unable to fulfill all of them - at least not now :). 
But some things are still high on my list: specifically the option to 
easily save/load and stream recorded data using a format that doesn't 
break easily. Also, the option of taking over flight controls at any 
point during a replay. The latter isn't as easy as it sounds, since most 
FDMs don't really like being repositioned or even having the speed 
changed externally.

Another thing, since the topic was raised: since FG2.4.0 the multiplayer 
system is already aware of replay sessions - and already freezes the 
state. Other pilots are no longer annoyed by remote replay sessions. 
It's still a good idea though to start the replay only while in a 
parking position – since other MP players could still see your aircraft 
squatting the runway or frozen in mid-flight.

Now to the overhaul: main improvement is the option of making it work 
properly with any type of aircraft and any custom properties. The old 
system only worked perfectly with certain propeller aircraft and piston 
engines.

Important to mention though: by default, nothing changes for existing 
aircraft. The old system already covered a huge number of properties - 
but it's impossible to just record everything. I did some tests trying 
to auto-detect aircraft types and properties to be recorded - but that 
cannot really work with all aircraft for a number of reasons.  And any 
fixed selection eventually doesn't work perfectly with some aircraft. 
Hence, it seems a better idea to avoid any kind of guessing and 
hard-coded logic - and rely on configuration alone. The default, 
obviously, is the same set as hard-coded for FG2.4 and earlier.

The new system is still easy to adapt since several ready-to-use 
configuration files are available - which simply need to be included, 
depending on aircraft/engine/.. type. And it's not much more work to 
customize.

For those interested, there's a README.flightrecorder in the Docs 
folder. There's also a few examples in fgdata showing different levels 
of customization: the ASK13 (glider), the c172p (prop/piston), the 
b1900d (turboprop), the UH-1 (helicopter), and the 777-200ER (jet).

As announced, I haven't changed the actual replay buffering. But, as 
someone requested, all buffer properties are now configurable (see 
/sim/replay/buffer properties). So, if you have enough memory, you could 
increase the buffer sizes/rates. There's still no configuration GUI for 
these properties though.

The most obvious change though is probably the new GUI dialog: looks 
like a video player, provides play/pause/skip controls, also controls 
replay speed. You can also use the 4 arrow keys to control replay (they 
were useless during replay so far).
Finally, since replay can be paused now, it was necessary to move the 
"stop replay" key binding to the "ESC" key (instead of pressing "pause" 
twice) – which feels more intuitive to me anyway.

Hope some people find all this a bit useful - so have fun. I recommend 
you take your favourite aircraft for a ride and then replay and evaluate 
your landing using the new slow-motion support... ;-) And I'm sure 
you'll let me know when things aren't working as expected...

cheers,
Thorsten


On 04.09.2011 20:56, ThorstenB wrote:
> Hi,
>
> I'm currently looking into an overhaul of the replay system. The
> buffer mechanisms of the existing replay system itself won't change,
> but I'm replacing the hard-coded recorder/FDM interface. Instead,
> I'll introduce a fully configurable "flight recorder". It's basically
> a "property recorder", so anything that's in the property tree can be
> recorded - and replayed. Aircraft-specific XML descriptions can be
> used to specify properties, data type and interpolation method
> (discrete, linear, or rotational in degrees/radiant) for each
> "signal".
>
> There'll be a set of default property lists which can be included, so
> only custom properties need to be specified manually. Naturally, all
> (existing) aircraft not providing any recorder configuration will use
> a default, matching the hard-coded system of <= FG 2.4.0.
>
> I have a prototype which also shows the new system is going to be
> faster, mainly since it doesn't resolve property paths at run-time
> and avoids copying data around. It'll also use less memory, since
> most properties can be recorded with reduced precision, e.g. it's
> unnecessary to record things like flap or gear position with full
> "double" precision. And the current system always records properties
> for 4 engines + 4 propellers + 6 tanks + 3 gear. With the new system,
> this can be easily adapted - a glider doesn't even need
> tank/gear/engine/propeller properties. On the other hand, most jet
> engine properties weren't recorded so far - this will also improve.
> And the obvious advantage of the new system is the option of
> recording custom properties.
>
> Finally, the new system also comes with a new replay "dialog". Looks
> more like a video player, provides a "time slider" and, also new,
> introduces slow-motion play back. Sneak preview:
> http://imageshack.us/photo/my-images/683/fgfsreplay.png/
>
> I have a working prototype, but nothing ready to be committed.
> Meanwhile, constructive comments/ideas are welcome.
>
> cheers, Thorsten
>


------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security
threats, fraudulent activity, and more. Splunk takes this data and makes
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2dcopy2
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to