Sky Dolly v0.16 - Free Flight Recorder & Replay, Location Management

Sky Dolly v0.7 now supports formation flying with an unlimited number of aircraft. While you are recording the formation aircraft are being replayed, so you know exactly where you are flying.

All aircraft are controlled with a single user interface instance: play, seek & pause all aircraft at once. Or do you feel brave enough to take control yourself and fly with the formation? You may do so at any time during replay!

The following teaser trailer illustrates the new “Formation” module:

Enjoy!

Checkout the channel Microsoft Flight Simulator 2020 Videos for some serious formation flying, featuring „The Tiger Moths“:

And a DC-3 formation:

Formation flying recorded with Sky Dolly.

I am so excited about the new features in the upcoming Sky Dolly v0.8, which is being fine-tweaked as we speak! While it was supposed to be more of an “under the hood changes” release (Sky Dolly v0.8 is now based on a plugin architecture) this release kept receiving many exciting - and hopefully useful - features.

Most of them revolve again around “formation flying”. The features will be announced once they are ready to ship, until then a few preview screenshots of a new “export plugin” (for those familiar: you will instantly recognise what this is all about ;))

1 Like

Sky Dolly v0.8 introduces a new plugin architecture and many new features, most of which revolve again around formation flying:

Sky Dolly 0.8.0 square

Highlights:

  • Support for multiplayer formation flying
  • New “fly with formation” replay mode
  • New plugin architecture
  • New KML export plugin
  • Logbook filtering (by date, free text search, formation, duration, engine type)
  • Usability improvements

Also refer to the official announcement and the full CHANGELOG on github.com.

Let’s quickly dive in into one of the new features…

Multiplayer Formation Flying

While the SimConnect API does not yet give access to multiplayer aircrafts Sky Dolly now allows to import CSV (“comma-separated values”) files and add them to an existing flight:

Note that the aircraft type can now also be chosen in th CSV import plugin. For convenience all Flight Simulator 2020 stock aircrafts are already available (including the new aircrafts coming with the Simulation Update 5), but of course this aircraft table is automatically updated as new flights are recorded with new 3rd party aircrafts.

In the Formation module a time offset can then be added or subtracted to each individual aircraft, in order to synchronise their position to each other, depending on when the record button was pressed for each aircraft. The time offset result is immediately visible in Flight Simulator 2020, which is updated in realtime:

So the entire “multiplayer formation flying” process is as follows:

  • Each pilot records his/her flight on their computer
  • All but one pilot export their flight as CSV file
  • One pilot collects and imports all CSV files and adds them to his/her own recorded flight
  • Each aircraft can then be synchronised (“time-shifted”), by adding or subtracting a time offset (with millisecond granularity)

The formation flight can then be replayed like any other flight stored in the logbook.

The number of aircrafts per formation flight is technically unlimited. Of course replay, pause and seeking back and forth controls all aircrafts at one.

Sky Dolly is open source. Latest binaries are also available at:

Yay! The recent downloads just skyrocketed in the last couple of days and the 5’000 downloads mark has just been crossed:

Thank you so much, community, for the ongoing support and constructive feedback that I received over the weeks! I hope that Sky Dolly is as much use to you as it is fun for me to develop!

2 Likes

:birthday::birthday::birthday: HAPPY BIRTHDAY, FLIGHT SIMULATOR 2020 :birthday::birthday::birthday:

Today a year ago the Flight Simulator 2020 was released - happy birthday!

As a present also to the community the latest bug fix release v0.8.5 also contains - exceptionally - a new feature: a KML import plugin which allows to import real-world flight data from https://flightaware.com. The real-world flights can then be visualised in Flight Simulator 2020, via Sky Dolly replay.

Here is a quick step-by-step instruction how to export KML data from FlightAware and import it into Sky Dolly:

FlightAware - Export KML

  • Go to https://flightaware.com
  • Enter a known flight number or airport ICAO
    • In this example we choose Zurich airport (LSZH)

  • Choose any completed flight
    • KML flight track data is not available for in progress flights
    • In this example we choose SWR317 from London Heathrow

  • Click on the yellow “View track log” button

  • In the Flight Track Log View click on the “Google Earth” button

  • The KML file download should now start
    • With most web browsers the file is automatically stored in the “Downloads” folder

Sky Dolly - Import KML

  • Launch Sky Dolly
  • Choose File | Import | KML (Keyhole Markup Language)
  • Click the Browse… button and locate the previously downloaded KML file
    • For example C:\Users\ [User Name] \Downloads\FlightAware_SWR317_EGLL_LSZH_20210818.kml
  • Choose an aircraft in the dropdown list that most closely matches the real-world aircraft
    • You may also add the data to an existing flight (“formation flying”)
  • Click on the Import button - done! :slight_smile:

You can now replay the newly imported flight like any other recorded flight!

Known Limitations

  • The KML file only contains position and timestamp data
  • So the aircraft attitude (pitch, bank and heading) is “reconstructed”, assuming an “A320-like aircraft” (airliner)
  • Events like flaps and gears up/down are currently also “hardcoded” and simplistic
  • The yoke inside the cockpit is not animated
  • Most real-world position data makes the aircraft “dive under the runway”, as altitude data does not 100% match with the Flight Simulator scenery data
    • This might get addressed in a future release, by adjusting the track point’s altitude to the actual scenery altitude

I hope you enjoy this new KML plugin and have fun visualising real-world aviation with Flight Simulator 2020!

P.S. Why not “join” the flight with your own aircraft (“formation flying”)? Can you do better? :wink:

5 Likes

Hello,

Supporting IGC files could be an interesting feature to have.
See Technical specification for GNSS flight recorders from international gliding commission (FAI)

Kind regards

Do you have a link to the technical specification? I did not find anything with some initial research…

UPDATE: Never mind, I found something:

https://xp-soaring.github.io/igc_file_format/igc_format_2008.html#link_preface

But… uh…

The IGC Data File Standard was initially developed by a group consisting of representatives of IGC, glider FR manufacturers and a number of independent software developers mainly concerned with flight data analysis programs. After discussion and development during 1993 and 1994 it was initially defined in December 1994 and became part of official IGC/FAI documents after approval by IGC in March 1995.

This seems to be a pretty archaic file format, with „records“ prefixed with letters A, B, C, D, … I mean, „parseable“ and understandable… but „pretty much 80ies/90ies style“ :wink:

Is this format still „widely used“? I understood that this is for flight recording equipment (mostly? Only?) used in gliders?

Pretty simple format yes…
Probably more efficient than a soup of XML tags.
This is used by glider but also paraglider to ensure that a track have been really done. There is flight recorder aka FR of differents level of conformance with IGC specification.
We use hardware logger such as Volkslogger, LX Nav logger Nano, FLARM devices (after software update for some models), Naviter Oudie. For simpler IGC conformance (and shorter track) a simple position recorder aka PR can be used. It can simply consist of software running on a smartphone (XCSoar, LK8000, SeeYou mobile…).

I think latest spec is available at

Supporting simply B records may be enough

It will avoid user to use converter from IGC to KML such as
https://igc2kml.com/

See also IGC (format de fichier) — Wikipédia (sorry french language only currently on Wikipedia)

See at https://file.io/inFX8nSiU2ZJ an example of IGC file
It can be opened with GPXSee https://www.gpxsee.org/
You can also watch that file using Ayvri
ayvri - Planeur 2021 Rochefort - Glide - SĂ©bastien Celles
Beeing able to see this file in MFS could be interesting.

Yes, by now I came to the same conclusion, after some quick “top left to bottom right” scan of the documentation that I’ve found/read so far.

The most relevant data is in the “B records”, so it could be as simple as “reading position & altitute” (and I guess the timestamp, but not sure yet whether the timestamp is also included in the “B records”, or implicitly given by the “recording interval” in some other record).

I’ll keep support for this format in mind - but no promises made at this point :slight_smile:

Btw a better place to request features would be:

(free github.com account required though). Not least because we are not allowed to misuse this forum here as a “support forum” for 3rd party applications (open source or not - so only for “discussing features or getting help from within the flight simulator community”).

Issue / feature request opened at IGC file format support (import / export) · Issue #15 · till213/SkyDolly · GitHub

Thanks Steeler2340

1 Like

Hi,
Thanks for all your hard work making Sky Dolly, I’m finding it very easy to use and having a lot of fun with it.
Any idea what is causing the jitters yet? Or any tips to reduce them while recording a formation flight?
I have a fairly low spec machine, but can still get decent frame rates if I sacrifice a lot of graphics settings… (40-60+ fps)
I like to keep a nice tight formation in an aerobatic aircraft at around 120kts
The aircraft in focus is always steady as a rock during playback, but ones played back as AI are very jittery. If playing back more than one as AI they jitter at the same time.
I`ve tried a lot of different settings, but nothing seems to make much if any difference.
Thanks

2 Likes

I have some ideas what might causing the jitter - unfortunately those ideas tell me that I cannot solve this “client-side” (in Sky Dolly). But there is still some idea that I want to try out before I “give up”.

Essentially my theory is that “AI Objects” (technically speaking there is the “user aircraft” which is typically directly controlled by the user. Every other object - aircraft, cars, boats - is spawned as an “AI object”) are updated less frequently than the “user aircraft”, especially when nearby the user aircraft. Or at least in different intervals (in the best case each object should get updated for each “simulated frame”).

What speaks for this theory is that you see all AI aircraft “jitter” by the same amount (at the same time). Note that the “jitter” is caused by "slightly different movements relative to the user aircraft (respectively the camera, which typically moves along at the exact same speed like the user aircraft).

Another theory is that the precision of the latitute / longitute coordinates (keyword: “double vs float” or 64bit vs 32bit floating point numbers) is somehow less than for the user aircraft, making the AI objects move in a more “coarse way” (note: Sky Dolly receives, stores and sends all position data as double (64 bit) - so if my theory about “loss of precision” would hold then that would somewhere happen along the way of SimConnect → MSFS).

I have also been told that the same “jitter” effect also happens with other flight simulators such as Prepar3D - as MSFS “inherited” quite some code from the common “base” FS X (specifically the SimConnect implementation) that would indicate that this “jitter” effect must be a common problem of “SimConnect” (respectively how (often) the AI objects get updated within the flight simulator).

Again, I emphasise that those are just some vague theories of mine without any hard evidence. And I still want to try out something else (related to interpolation and “smoothening” of sample points). But I cannot (do not want to ;)) give any timeline nor any false hopes here. In fact, I just made some longer “creative winter pause” and just slowly started adding a new feature (which was requested by a user ;)).

3 Likes

Thanks for the reply, that’s perfectly explained the situation.
Fingers crossed Asobo can get round to a solution although I feel its likely quite down their list of priorities.

The current bug fix release v0.8.6 (aka “Drop Bear Edition”) also introduces a new IGC file format import plugin.

The International Gliding Commission (IGC) file format is mostly produced by flight recorders in gliders.

Currently the following basic data is imported:

  • Header data (pilot names, glider type and ID, flight date and number)
  • Tasks (“C records”) which are stored as “waypoints” in Sky Dolly
  • Position data: latitude, longitude, GNSS altitude (altitude above the WGS84 reference elipsoid)

Note that some flight recorders only sample in very rough intervals (e.g. only every 10 seconds), so while the interpolated flight path is “smooth” it is impossible to properly reconstruct “tight turns” (e.g. when rising in thermal updrafts) with so few sample points, especially the heading (which is “reconstructed” from the sampled positions).

The glider also typically “wildly turns on the ground” just before take-off, due to GPS “signal noise” (this might be amended in a future update of the IGC importer). Another known issue is that the initial altitude rarely matches with the terrain height in MSFS, so the glider starts either way below or above the terrain. This might be amended with a future altitude offset in Sky Dolly.

But for now enjoy the silence of gliders:

Glider model: Discus 2c Glider (flightsim.to) by @DigitalJonx et al.
Also refer to: [RELEASE] Discus-2c | Got Friends Remaster
IGC file: Madrid to Jerez.igc (available on skypolaris.org/)

1 Like

Thank you all, folks! Sky Dolly has just reached 10’000 downloads this very moment, just a little bit under one year of its initial release on the February 28, 2021:

grafik

:slight_smile:

I greatly appreciate your support, feature suggestions and nice comments!

:birthday: :birthday: :birthday:HAPPY BIRTHDAY, SKY DOLLY :birthday: :birthday: :birthday:

Today a year ago - on the February 28 2021 - Sky Dolly saw the world of flight simming, in its glorious first v0.1 release on flightsim.to. And exactly one year later the latest Sky Dolly v0.9 has just been released, focusing mainly on new import and export plugins (KML, CSV, IGC, GPX, including variants for flightradar24.com, flightware.com and Flight Recorder).

Also refer to the announcement here in the forum for the detailed new feature set. Here I’d like to take the opportunity for a quick “behind the scenes” overwiew (aka “How time flies!”):

History

December 22 2020

Shortly before Christmas: “Hmmm, still no decent replay in MSFS? What exactly is this SimConnect everyone is talking about anyway, what can it do and how does it work?”
→ The “initial commit” is done!

February 24 2021

The first “0.1.0” tag was set and the basic feature set concluded: “Basic recording functionality”, including “latitude, longitude, altitude, pitch, bank, heading”.

February 27 2021

Talk about “release early, release often”: already v0.2 was tagged, with additional simulation variables (flaps, ailerons, gear, …) and this version was then released…

February 28 2021

… on flightsim.to (which I randomly decided to be Sky Dolly’s birthdate)

Fun fact: from the very beginning Sky Dolly got the “modulo 180/360” interpolation right: no glitches when the aircraft just crossed the “magic marker” of e.g. 180° pitch up - yeah, “it’s math, babe!” :wink:

March 1st 2021

Oh no, the first bug! While I was editing my first David-Monthan Aircraft Boneyard-video I noticed that the flaps were either fully extended or not at all. So the first “fix release” - v0.2.1 - was published.

March 4 2021

And the next preview version, v0.3.0 went out! This time with some very crude, but direly needed, possibility to actually save and load the recorded flight data: the first CSV (“comma-separated values” - although Sky Dolly uses the TAB character as delimiter) import/export was born.

March

“The glory of open-source”: of course I was looking at other people’s source code (and referred to other open-source projects in the README.md) and quickly learned from projects like the famous Flight Recorder by @NguyenQHy that the SimConnect API offers the possibility to “freeze” the aircraft, and that recording the velocity and acceleration is equally important (besides recording the “raw position” lat/lon/alt) to make “smooth aircraft movements”. Otherwise the simulator would constantly “fight against the imposed position”.

But give and take: I informed Nguyen about the “interpolation glitch” in his code which he then quickly fixed, and the possibility that light states could now be set via “simulation variables” (the light state can be set “in one go”) instead of “events” (one event per light switch required).

March 18 2021

The next “major preview version” - v0.4.0 - introduced "event-based sampling, both for recording but especially also for replay. Gone the awkward setttings to define the replay frequency (in Hz), when in fact it is the flight simulator that dictates the (maximum) refresh rate (“event-based”).

The recording frequency can still be set to the current day, but this is more meant for lowering the sample rate, in order to reduce the amount of recorded data. E.g. sampling an airliner which “flies straight lines most of its time” with just 1 Hz or even less is more than sufficient, due to the interpolation (which for position data is Hermite cubic spline interpolation, for smooth curves).

The Acrobatic Flying in FS 2020 video illustrated the various recording sample rates in two different scenarios (“acrobatic flying” vs “airliner”).

A second take of the Davis-Monthan Aircraft Boneyard video was edited with Sky Dolly v0.4, too.

April 19 2021

Another “under the hood”-feature - but clearly visible in the “simulation variables dialog” :slight_smile: - improves the data efficiency of Sky Dolly even further: the simulation variables are organised into “groups” (position, primary controls, secondary controls, …).

As data is only recorded “once its value changes” this means that most simulation variables do not need to be recorded most of their time. First experiments confirm this: depending on the “flight style” (“airliner” vs “acrobatic flying with disco lights and constantly lowered/raised gears”) savings up to 35% of disk space are measured.

An initial implementation supporting “cold starts” is also released.

May 11 2021

This is the first major release, supporting a fully-fledged database - SQLite - as underlying “logbook” technology! This allows to browse, update and migrate (!) data with the powerful structured query language (SQL). But most importantly: recorded “flights” are now automatically persisted and are loaded with the ease of a double-click.

Talking about usability: not everything is perfect yet (not to say in a very “crude state”, especially “error handling”), but usability and ease of use has always been a primary goal: you want to “fast-forward” during replay? Just do so my sliding the time-slider: no need to “press pause first”. During recording my own videos - like the first Cinematic Teaser Trailer - I very quickly noticed a missing keyboard shortcut or an unnecessary mouse-interaction.

Juny 17 2021

The release cycles are getting longer, but at the same time the new features are getting bigger, too: this time “formation flying” is introduced with the v0.7: it not only allows to replay several aircraft at once, but also to replay already recorded aircraft during the recording of a new flight! So you see exactly where you fly in relation to the other aircraft - and all this with a single user interface, with a single click on the Record respective Play button.

To the current day and the best of my knowledge this is still a unique feature that no other flight recorder offers in that form.

This new formatin flight feature was intensively tested with the New York 1933 video, where 30+ aircraft circle around the iconing Empire State Building (I was desperately looking for a King Kong model for MSFS, but didn’t find any at the time).

However this new feature also revealed an inherent weakness in the “replay AI aircraft” feature: especially when coming close to such AI aircraft they randomly seem to “jitter”, and sometimes also quickly disappear and reappear. I still hope to be able to improve on this, but since other replay software seems to be equally affected this might be an issue within the SimConnect “server-side” (in MSFS itself). To be continued…

July 28 2021

The v0.8 introduced a new plugin-architecture which I had in mind since the very beginning. Not only the import and export functions are now “pluggable”, but also the connection to the given flight simulator as well.

The SQL technology now starts to show its advantages as well: the logbook can now easily be filtered by aircraft, arrival/destination, formation flights, …

Fun fact: Sky Dolly is for a large part developed on macOS (40%) and also on Linux (10%). The other half (rough estimate) on Windows 10. For very obvious reasons I have to implement against a second “SkyConnect” (Sky Dolly terminology) interface, other that SimConnect for MSFS: a “fake interface” which (currently) only produces “random data” during recording. On Windows both those plugins can be exchanged (even at runtime: Sky Dolly reconnects “on demand” with the flight simulator), and - theoretically :wink: - opens the doors for future extensions…

August 18 2021

Further “bug fix releases” follow, until on this day the “happy birthday, MSFS”-release v0.8.5 is made available, which also introduces initial KML import support (for flightaware.com files).

Winter break

Somehow I am now tired :slight_smile:

December 24 2021

It’s Christmas again. A year since actual development start has passed. And the first actual feature request by a user shows up on github.com (not wanting to ignore other minor feature requests on flightsim.to - but this was the first “official one”). The request asked for IGC support. “IGC what?” Ah… some obscure file of the late 80ies, from some organisation called the International Gliding Association.

“Are many pilots using this recorder format?” But this kept me thinking, and since I had thought about continuing with development anyway, why not start with this IGC format then…

February 6 2022

Another “bug fix” release - v0.8.6 aka “Drop Bear Edition” :koala: - introduced the first IGC file import plugin. And now since I knew quite a bit about this simple - but effective - file format, why not write an export plugin for it as well?

February 28 2022 (today)

The current “major” new release v0.9.0 is made available, which besides the mentioned IGC export plugin (and improving on the IGC import plugin as well) provides a range of other import/export plugins and improvements.

And I discovered my joy in gliders in MSFS :slight_smile:

1 Like

I just wanted to say how impressed I am with Sky Dolly. I was looking for a simple, easy to use, basic, robust recorder to allow me to record portions of flights and make videos afterwards using different camera angles etc. In this, Sky Dolly is perfect! I had used a different recording app before but I struggled with the UI, ease of use and stability. When I started using Sky Dolly it was like a breath of fresh air: it really was exactly what I wanted.

I find the UI VERY easy to use and the stability is rock solid. Granted that I am only using the absolute basic, core functionality but in that Sky Dolly certainly excels.

Thanks for a great product: it adds greatly to my enjoyment of MSFS

2 Likes

Thanks a lot for such a useful and easy to use add on !! I experienced it several times already, however, for formation flights, is there any dev news about the “jitter” effect? I remember seeing the same thing with X Plane with similar add on for flight formation … sadly it makes impossible to fly close formation and acrobatic flights :confused:
I used to fly on a very old (but still available) flight sim called Ys Flight where you could fly yourself such formation flight, flying every position alone and with replay, as an in game feature. It is working very smoothly! And btw, it allowed me to recreate complete formation flights (all alone ^^) with different acrobatic teams, I still have some videos of such flights on YouTube (search ysfoxtwo)
If it could reach the same smoothness in mfs2020, that would be so great!!!
Thanks a lot for your hard work

1 Like