Development Update Log

Welcome to the Freeflight Experience

Disclaimer 

The Freeflight Experience simulator may be a powerful tool to improve and refine your hang gliding skills, but it is no substitute for expert instruction from a qualified hang gliding school.  If you are learning to fly, or just thinking about it, please contact a hang gliding flight school in your area for instruction.  Go to https://www.ushpa.org/page/how-to-choose-an-instructor for more information. 

Text

Description automatically generated

While the Freeflight Experience is technically unrated, it clearly falls into the “intense” experience category, is not suitable for everyone.  Hang gliding is also a somewhat intense experience and is similarly not for everyone.  If you experience discomfort and symptoms of motion sickness when playing this game, discontinue its use.  Some people develop a tolerance and symptoms will improve with repeated exposure in short sessions.  It may help to use the “Chase Camera” view when flying, as it provides something to focus on visually.  Also, turning off the “Body Yaw” option will help with motion sickness, since small differential movements of your hands otherwise results in a rapid shift in view direction.  I sincerely hope you all will find a way to enjoy this simulation, and that you find it both useful and entertaining.  I welcome your suggestions on how this can be improved, as I’d like to see this used by pilots and instructors across the world to safely advance and promote this wonderful sport. 

Keyboard and Controller Commands Version 1.03 and newer

Pilot 1st person View Left Controller Y, F1 on keyboard
Glider Chase View Left Controller X, F2 on keyboard
Show Thermals and Aids Right Controller A, 1 on keyboard
Hide Thermals and Aids Right Controller B , 2 on keyboard
Pause-unpause flight:  Hide-show menu Press Right Controller Joystick , Enter on keyboard
Increase VG Right Joystick Left 
Release VG Right Joystick Right 
Reset View-Force pilot prone Left Controller trigger , HOME on keyboard
Launch an AI pilot Press Left Controller Joystick 
Decrease exposure– on keyboard  
Increase exposure  = on keyboard
Adjust Hang HeightPage Up & Page Down
Adjust Longitudinal Position (Trim)Up and Down Arrow
Release from towRight Grip Trigger or Spacebar
Enable-Disable Thermal Sphere VisualizationS=Enable     s=disable
Enable or Disable Thermal Particle VisualizationP= Enable    p=disable
Grip / Release the control barLeft Grip Trigger:  Depress to Grip, release to let go
Relaunch from same siteInsert on Keyboard
Allow AI to take control of your gliderDepress right controller trigger while in flight.

When paused. the following keyboard shortcuts can be used:

Go To Main MenuM
Go To Environment MenuE
Exit GameX, the Y or N

Development Log

February 12, 2024 Release Beta 1.45

  • Corrected a bug that created cloud-suck lift, even when far from clouds or near the ground.
  • Added narrated introductory lesson #1 and 50’ hill flight lesson #2. First flight from 50’ launch is presently in a Falcon and roll assisted. Subsequent relaunches are for now in the default wing, and non-assisted.
  • Corrected issue at Wharton and Lookout, introduced when implementing hose handles on the launch cart.
  • Added top rigging to the Falcon and U2 models
  • Adjusted Falcon performance. Max speed should be about 40 mph, with 4:1 glide. Best glide around 25 mph at 7.5:1.

February 1, 2024 Release Beta 1.43 & 1.44A,B,C

  • Implemented hand holds (hose) to prevent early lift off from the cart. Squeeze both side grips after you begin your roll, until you are ready to lift off.
  • Modified site tour pawn to allow rotation using the right joystick right-left deflection. Relocating the glider to the site tour pawn will cause the glider to be facing the same direction as the pawn, with zero bank and pitch.
  • Found and corrected bug that was causing a significant slowdown when using clouds from sounding.
  • Added elevator wag of towplane before going to full power.
  • Corrected wind turbines pointing direction when using wind from sounding
  • Corrected Makapuu launch to prevent hitting ramp
  • Redistributed thermals around SOGA to support XC flying
  • Added Hanger, storage container, fence and trees at SOGA site.
  • Updated tow line dynamics
  • Made towing circuit tighter to stay within start circle, and to allow practice turning with the tug
  • Reduced vibration of tow bridal.
  • Reduced power of tug to better reflect real climb rates.
  • Fixed ridge lift bug in Rio

January 23, 2024 Release Beta 1.42

Added a 3d turbulence model, greatly adding to the realism, both when in a thermal climbing, and when gliding between thermals.  The model has two parameters:  the size of the turbulence features (10M TO 100M) and the strength of the turbulence, (0-5) specified in m/s of each component of air velocity.  Turbulence is not just a random number perturbing the airflow, but a spatially coherent 3-D pattern of airflow, drifting with the airmass.  The parameters for each site are specified in the Environment Setting screen with two new sliders.  Values of 30m for scale, and 2.0 m/s for strength feels about right for a typical thermally day.  My plans include allowing each parameter specified in the Environment Setting to be controlled over time with user specified curves.  I will also be adding 3-D regions in the maps which will alter certain parameters when entered.  In this way, turbulence behind a ridge or obstacle can be simulated, as well as a specific turbulence value when within a thermal.

January 21, 2023 Release Beta 1.40A and 1.41

This release brings a reworking of the UI screen in the main menu.  The use of a Cell Phone sensor is no longer supported and has been removed from the menu.   

The ability to scale (sensitivity) and offset (trim) both pitch and roll control inputs has been separated from the control selection method.  Going forward, you may select “Joystick” input method to use a Joystick HID (Human Interface Device) as the primary means of detecting weight shift, or may select “VR Desk” to use the VR Display (HMD) and /or hand controllers as the input.  Supported control options are:

  1. Highest Fidelity: Fixed control frame, with joystick device at hang point to measure CG shift, along with using HMD position to determine body yaw angle and pilot upright or prone position.  Since the pilot perspective will change with real pilot movement, the change in visual perspective with control movements is most natural.  This is the best set up for supervised new pilot training. Select “Joystick” as input method, and “view tracks headset 1:1” from the Options menu.
  2. Next most realistic: Fixed control frame, with pilot hanging in harness, but with no direct measurement of CG.  Select VR+Desk as the input method.  Pilots control movements are solely based on the movements of their head.  This method is very simple to set up, as a real glider on a stand to hang from is all that is needed.  This method is ideal for sharing the experience of Freeflight at events intended to attract new participants.  It should never be used to train new pilots, as it teaches improper control technique.   For pilots who have already developed good weight-shift practices, it yields a good flight experience, and allows for learning other flight skills, like flying in traffic, site familiarization, and XC strategy.  Select “Use HMD for pitch and roll” and “view tracks headset 1:1” options.
  3. Most convenient:   Sitting in a chair, holding the VR controllers like a control bar.  The game uses the position of these controllers, compared to the position of the headset to determine pitch and roll inputs.  If you select the option “Allow Pilot Body Yawing”, twisting of the pilot is also supported, otherwise, the pilots body remains roughly aligned with the direction of flight, that is perpendicular to the base-bar.  Be aware that allowing the pilot’s body to yaw will introduce more visual movement to the scene, and is more likely to induce nausea. Because it is difficult to place your hands behind your head when sitting upright, it will be necessary to lean forward, bending at your waist, to pull in for speed, so your head is forward of your hands.   For landing (or launching), you should stand up from your seat.  This will increase drag, improves your flare authority, and allows you to land “on your feet”, rather than on your belly.  Standing up will change your view perspective. Be careful when standing, as loss of balance is more likely.  To fly in this mode, select “VR Desk”, and deselect (uncheck) options “Use HMD for Pitch and Roll”, and “View tracks headset 1:1”.
  4. Most laid back:  Some will find holding the VR controllers for hours somewhat tiring.  A simple and relaxing method of enjoying the Freeflight Experience is to simply use the headset to provide control inputs while you sit in a chair.  The hand controller position is ignored, and you can fly by moving (not by turning) your head.  It will be hard to flare for landing in this mode, but otherwise, this is a really cool way to enjoy the experience.  It might help if you place your hands on the edge of a desk or the back of a chair when using this mode, as though you are holding a basetube.  To enable this mode, select “VR Desk” as input, and check options “Use HMD for Pitch and Roll” and “View tracks headset 1:1”.

A new button “input adjust” has been added to allow you to scale the sensitivity, including reversing the direction of your control input devices.  It also allows you to enter a pitch control offset, to cause the glider to fly faster or slower for a given control input.

Five new buttons have been added that will soon trigger introductory lessons on the use of the simulator.  These are not yet functional. 

The flying site selection area has been unified, with all 47 available sites now selectable from one, alphabetically ordered scrollable list.

Newly added capability in the sim includes a launching run (for the foot launch sites), rather than the previous method, where you were instantly shot into the air when you pressed the right joystick button.  This will require some more refinement, but it was needed to allow the introductory flight lessons to be created.  Downwind or light wind shallow slope launches are now challenging, as are high density altitude launches in light winds.

When the sim is paused, your control inputs now continue to be processed and will cause the virtual pilot to respond once the launch countdown has hit (nearly) zero and the game paused.  This allows you to easily adjust your position (using the arrows or arrow keys) so your controllers line up with your hands in the game.

The Falcon flight model has been refined, allowing flight speeds up to 40 mph and more pitch damping, based on pilot’s feedback.

Many efficiency improvements, yielding more fluid frame rates and higher graphical detail have been implemented.  The most important of these was the elimination of thermals once they climbed higher than you or your AI buddies could reach.  Since the clouds were previously formed by the high rising thermals, their elimination also eliminated clouds when “use sounding for cloudbase” was selected.   Now, if you use that option with the high thermal culling option, clouds will begin forming at around 11 AM, will build throughout the afternoon, and begin to clear before sunset, as the ground starts to cool off.   If you disable culling of thermals out of reach, the old algorithm is still used.

Adjusted the virtual camera exposure levels, removing much of the darkness accommodation that was supposed to mimic the ways our eyes become more sensitive after some time in the dark. 

I’ve added a streamlined instrument pod option, including an advanced glide computer based on XCSoar. 

Added ski lifts at Slide, Telluride, and in the Dolomites, reworked the Slide Mountain Lodge, and refined the models of the cabins at Lookout Mt.  There are Trams at several of the European mountain sites.

January 5, 2024 Release Beta 1.40

  • Added 20 new sites to the game.  Some of these are “works in progress”, and do not have many details.  The sites that are generally ridge soaring sites are fully functional.
  • Thermals are removed from the game when they are unreachable by any glider from improved efficiency.
  • Thermals will be created as you fly cross country around your position in all directions, and will generally release from expended trigger features.
  • Falcon speed range was increased to allow 40 mph to be reached.  Slight increase in adverse yaw, especially at slow speeds.

December 3, 2023 release Beta 1.39

  • Corrected issue with using cheap 8 bit joysticks in sim rig, with updated plugin
  • Added Altair Racing Pod vario option

November 26, 2023 release Beta 1.38

  • The downtube vario is now placed correctly, and the DLSS and true airspeed readouts on the vario now work. 
  • The check boxes on the Options menu now are easy to set and unset.  I will work on the Environment next.
  • There is now ridge lift enabled on the main Crestline ridge.  Set some wind to blow in, like 5-8 mph.  This should make it easier to get into the first thermal.
  • Thermals out of reach from any glider should be culled, if you check that option.
  • The pilot’s arms visibility can be toggled using CTL-P.   You can set the default startup state in the options menu.  The pilot’s shadows will always be visible, even when the plot is not rendered in 1st person view.  The pilot will NOT be invisible in the external views.

November 17, 2023 Release Beta 1.37

  • Reenabled weak link on towing sites
  • Fixed issue that caused environment sounding to be loaded from incorrect world regions.
  • T3 is way more realistic in roll yaw coupling.  Much lighter in pitch…. Can hit 90+ mph and can to beat-ups easily loops.  Can be tumbled and too rapid a pullup will trigger “crash detection” f enabled in options.
  • Added ability to relocate glider using site tour pawn.  Move the Pawn to where you want to be, then move glider to that location. Clicking fly the glider will put you back in the glider, where you can up-pause flight
  • Enabled cell phone on the flight deck displaying XCSoar.  XCTrack will follow in subsequent release.  Requires your Android phone to be connected to your PC (Wi-Fi) using Microsoft Phone-Link integration application.  Start XC-Soar from the phone app menu on your PC.  Navigate to Config->Devices, select “OpenVario on TCP client”, enter the local IP of the computer running Freeflight experience, and port 4353.  Create an XC Task on the phone if you wish.   You might need to disable the firewall on you LAN.  Enable “Cellphone vario on basetube” in options menu, and go to any site where you have loaded terrain and airspace data into XCSoar.   If the telemetry is not immediately received by the phone, try clicking reconnect in XC-Soar, or pressing “G” on the keyboard when in Freeflight Experience to attempt to reconnect.

Figure 1 XC-Soar Device Configuration Page

  • Corrected accidental release from tow if you didn’t un-pause before the timer ran out.
  • Reduced the body yaw angle when using “Joystick” input and “View tracks HMD 1:1” Options
  • Turn GPS telemetry on automatically if base-bar vario is present.  G will attempt to reconnect

September 21, 2023 Release beta 1.36

Smoothed autopilot trigger. When the autopilot trigger was rapidly depressed or released, it could cause the sim to enter paused mode.  The trigger value is now filtered to avoid this issue.

Fixed chase view legend on controller button. The legend on the hand controller buttons had a typo that has been corrected

Removed write .igc file from menu. Now that we can write .igc files using XCTrack, it is no longer needed in game

Fixed LZ cone jumping up and hitting glider.  When flying the sites selected using the “more” pulldown menu, if you flew directly over the spot, the traffic cone would jump up and hit you.  This has been fixed.

Added flat LZ field and shade structure to AJX site.  The streamed data for crestline did not represent the LZ correctly.  A flat landing pad was added, and the new shade structure included

Changed thermal behavior of terrain attached thermals.  The circulation strength inside thermals was determined by the rate of climb of the thermal bubble.  The algorithm that repositions thermals from the birth location to appropriate trigger locations causes higher than natural climb rates, and unrealistically strong lift and sink near terrain.  Now, thermals that have not broken free from the ground have a fixed, moderate level of circulation.  Lift and sink in the vicinity of these terrain-attached thermals is more realistic and allows you to hang out over a trigger point while waiting for a thermal to release. 

Added Blackgang Run, UK site.  This site offers a 35-kilometer trip in ridge lift over beautiful Isle of Wight countryside.

Fixed ridge lift at Telluride and Sugar Ridge Lift was missing from these sites due to an error on my part.  This has been corrected.  You fill find lift on the windward side of ridges, and sink on the lee.

Added launch ramp at Dunlap, CA site Just a small detail.  Readjusted the location of the ramp launch slightly.

Corrected reversed offset in joystick settings menu When setting scale and offset in the joystick menu, the sense of the offset was reversed, so moving the slider to move the pilot rearward in this screen actually would speed up trim.  Now, the movement of the pilot rearward will cause the glider to trim slower.

Enabled Pitch Offset and Roll Offsets when using VR controllers or head position inputs.  The pitch offset (set in the Joystick or Cell Phone Options Menu) had no effect on trim speed when using theVR controllers as input.  You can now adjust the trim speed for all input options.  If using the VR controllers or head position as input, if you enter the Joystick menu to change gains or offsets, be certain to reselect the VR+Desk options before you fly.

Enabling soaring aids, like showing thermal spheres and particles now correctly reflects the options setting, and can be tolled using the A and B buttons on the left controller.  Individual element visibility (sphere or particle) can be toggled at runtime with p,P and s,S.

August 29, 2023 Release Beta 1.35

The Freeflight Experience continues to be advanced and refined, largely based on your excellent feedback.  After releasing 1.34 with ten new flying sites, I went on to add dynamic dust devil models that can be enabled for sites where these are a common and noteworthy characteristic.   Now thermals can be found as you go XC, releasing from terrain features as you might expect.  Get near cloud base, and you will find areas of generalized “cloud suck” lift, so you can jump from cloud to cloud for long XC adventures.

In release 1.33, I enabled the import of competition race tasks, and display of cylinders, labels and turn points in the game, along with basic race timing functions to the base tube vario.  This simply starts a clock when you exit the start cylinder, and stops the clock when you enter the goal cylinder.  

The latest release (1.35) sets up a TCP server that streams your virtual flight data to your real wifi enabled flight instruments or smartphone app like XCTrack or XCSoar.    You can use Freeflight Experience to learn and practice using your flight instruments.  Now you can make the mistakes (we all have made while in flight) when learning to use our advanced varios in the comfort of your home!  I hope to soon allow the display of your smartphone app to be represented on the face of your virtual vario, or as a 2D floating window in VR. 

1.34 introduced a new weather file naming convention.  This means that the default and custom weather presets you have made no longer work.  The new version will use reasonable default weather for each of the sites.  As a bonus, I’m including some XC Race tasks to get you started as well.

The race task files can be found in “C:\Users\YourUserName\AppData\Local\Programs\The Freeflight Experience Open Beta\TFFE2\Tasks”, but tasks can be placed anywhere on your PC.  If you wish to fly competition tasks, you can read these files into TFFE from the Environment menu, and the cylinders will appear when aids are turned on. A file chooser will appear on your desktop display (not in VR) to allow you to navigate to and pick the desired task file.

Installation of this new version files should correct the issue with the “Practice Control” level, where it was being initialized without the necessary 20+ knot wind needed to hover in place.

Once again, your support and feedback is really important to me. 

August 9, 2023 Release Beta 1.34

While it has been an unusually long time since our last release, this one is worth the wait.  The big changes are eleven new flying sites, and at those sites, thermals that now allow for long XC flights in whichever direction you choose. 

The new sites are selected using the “More” pull-down list at the bottom of the column of site selection buttons.  Ten of the sites are foot launch, and one is an aero tow site.   Newly developed sites include Wharton Airport, base of operations for Cowboy Up, as well as world famous sites like Crestline, Telluride and Walt’s point.   St. Hilaire, the home of Coupe Icare is also featured, as is both sides of Point of the Mountain in Utah.  This may be the only chance to fly these places without any paragliders in the air.  I’ll be adding more details to Crestline in later releases, like the new shade structure and better representation of the LZ.  Sugar launch near Lakeview Oregon, Dunlap, Mount Tam and Pacific Vally-Big Sur on the central California coast round out the list of new sites.

The last several items on the pull-down list have not been implemented yet.  These include Hull Mountain, Ager, Famara Cliffs in Lanzarote and Dog Mountain in Washington State.

There is a new option on the menu that appears when you are in your glider and paused, to write an .icg file of your flight.  This function will be implemented in the next (1.35) release, along with the last five sites that appear on the pull-down menu.

Each site supports custom weather that is remembered between sessions, and when you download a sounding, it will come from a weather station near to that site.

There is a new fog density of visibility slider that has replaced the cloud thickness slider from earlier releases.   Cloud vertical development is now determined based on the degree of sky coverage and is no longer user settable.

The binoculars that were featured in the site tour mode have been removed from the game.  Let me know if you found these useful.  It turns out they were very computationally expensive, and their removal has drastically improved the playability of the game.

A new tree modeling approach has been implemented that provides better performance, and looks good from a distance and can be seen from directly above.  These trees don’t hold up at close range, but you shouldn’t be flying that close to trees anyway.  They will improve in subsequent game releases.

When you first load a new site, you will need to use the environment menu to adjust the visibility.   You will need to reload soundings for each site, as the naming convention has been changed for the sounding files.  Setting thermals to 20 degrees warmer than the surrounding air will make for boomers.  For a greater challenge, use the advanced heating model.  If you notice the air temperature on the vario reads 32F (or 0C), it is probably because you haven’t loaded an atmosphere sounding.

You will find lift under clouds when you are within 1500’ of cloud base.  The lift will become stronger as you near base.  Your glory is now rendered by default and is no longer user selectable.

I encourage you to try using your head position alone as the control input.  It’s quite comfortable, but it’s tough to flare.  When using this option, you should have the view track your HMD 1:1.     

June 26, 2023 Release Beta 1.33

This release features the ability to read externally generated XC Race task files (.xctsk) created with XCTrack or similar programs. These files contain the location, dimension and label for turn cylinders, along with if they are to start a clock on exit or stop a clock on entry. A new button has been added to the Environment menu that will open a file chooser (not in VR, but on your desktop) where you can pick a task file. The game will be frozen until a file is selected. Once you select the file, it will become the default task file that will be retained and loaded each flight at that site. The name of the task file is displayed on the environment menu.

Visualization of thermals will also enable visualization of the turn point cylinders and labels. I have removed turn points from maps that had hard coded tasks, like Monroe and Murchison. The base tube vario now has a new time field, labeled “Time on Task ” that will start counting when you exit the start cylinder (tagged with SSS or Start Speed Segment). The timer will automatically stop when you enter the cylinder tagged with ESS or end speed section. Relaunching will reset your time. One tester reported issues with the Falcon falling off the launch cart at lookout mountain. This has been corrected. The chase camera no longer changes pitch, but stays level despite changes in glider attitude, in a n effort to provide a less sickness inducing view.

Jun 7, 2023 release Beta 1.32

Corrected view reset code, and improved head movement compensation.  

June 2, 2023 Release Beta 1.31

In preparation for a local public hang-gliding event featuring the simulator, I have been working on optimizing for such shows.  This includes supporting the games menus being controlled from the keyboard, allowing an operator to pause, recenter, relaunch, and recover someone who has lost control using the AI co-pilot.  To simplify use of a harness and glider for such promotional events, a new mode that provides pitch and roll control using only the HMD (head display) position as input has been added. This mode is great for casual flying and demos, but should not be used for training inexperienced pilots, as it incorrectly responds to head position, rather than pilot CG position.  Nevertheless, it is the easiest mode to fly, and is very comfortable to use when sitting at a desk or hanging in a harness.

When rocking upright in a real harness to land using this mode, the head moves backwards and upward.  I have implemented compensation that watches for upward movement, and applies approximate nose down control to correct for the effect of rearward head movement when going upright.

For the most natural interaction, I find using this “Use HMD for pitch and roll control” option, along with “View track Headset 1:1” works quite well.

When using this mode, your view will be based on the zero (origin) defined in your VR interface.  Before launching the game, you should reset the origin using Steam, Oculus, or WMR applications.  In the game, the left trigger (or HOME key) will define what zero control input is.  Your position forward-aft and up-down can be adjusted by clicking on arrows (or using the arrow keys and page up and page down keys).  I recommend using the arrows to place the virtual base tube beneath your chin, and using the left trigger to define this as zero control input.

The Glory option has been removed, as there is now little to no penalty for its use with Volumetric 3D clouds. 

A new Option “Allow Menu Selection with HMD” has been added, along with a small circle indicating where the chosen menu navigation device is pointing.  When this option is checked, the spot will appear in the center of your view, and you can use the “Enter Key” on the keyboard to select the targeted option.  The intent is to allow users that have VR displays, but lack controllers, to navigate the application.  Clicking this option will deactivate your hand controllers from being used for menu selection.  Only one thing can pick a menu at a time. Together with the new keyboard shortcuts, most functions can now be accessed.

The exception is the VG on the high-performance gliders, which presently requires a controller to adjust, and the spin boxed (sliders) in the environment menu.  The site tour mode also requires the controller, so it is unavailable through keyboard shortcut.

If you do have hand controllers with your VR rig, I hope you will be pleased to see the menu that was once on the left downtube has been relocated to your left-hand controller, so that you should always be able to access it, even after a crash.

The bug that made towing the T3 at Lookout Mountain nearly impossible has been identified and corrected.  Set VG at 30% before launch.

There has also been a lot of tweaking of shadow parameters, to achieve sharp shadow detail on the wing bottom surface and, a nice shadow on the ground, 3D volumetric shadows around your glory on clouds, and the shadows of clouds on the ground. 

May 21, 2023 Release Beta 1.30

This release introduces the Wills Wing T3 Competition Class hang glider as an option.  Featuring a carbon fiber speed bar, stinger, crossbar outboard leading edges and sprogs, the T3 represents the highest performing glider in the Wills Wing lineup.  The model features a transparent mylar sail and wingtip extensions.  Towing the T3 at Lookout Mountain Flight Park needs more testing.  It is easy to climb too rapidly on tow, and while it IS possible to tow successfully, it shouldn’t be this hard.  I will be looking into this further,

A new option has been added, to ignore the hand controllers while in flight, and fly using only the pilot head position for pitch and roll control.   This appears to be a very easy mode to fly, placing your hands on the edge of a desk and moving your head forward and back, and side to side to control the glider.  The problem of not feeling when you are neutral is solved, as you can easily return your torso to the base position by feel.   Base position and forward direction is set when the reset trigger or home key on the keyboard is pressed.   When using this option, you are locked into prone position, since without controllers in your hands, it would be impossible to place your hands on the uprights.  This option is ideal for public displays where participants lie in a harness connected to a fixed glider or control frame.  It requires no external sensors, joysticks or other complications.  You can use a real glider lifted onto a stand to allow the participant to hang.

The drawbacks include a prone-only flight experience (like towing for launch and landing on wheels), and more critically, it should not be used for training of new pilots, since it works on head movement rather than CG (Hip) movement, and could encourage ineffective techniques.  Because a fixed frame doesn’t rotate nose down when pulling in as a real glider in flight does, the participant will experience unrealistically high pitch pressure.  This is especially true for high performance wings at high VG settings, when the real glider become very light.  Increasing pitch sensitivity (using joystick menu) can help alleviate this difficulty of pulling in and flying fast.  After adjusting, be certain you return the control mode to VR+Desk.

This code is now calculating the pitch angle a simulator frame should be placed at each moment to provide the correct pitch force to the pilot.  I am beginning to work on a servo driven simulator control bar which will provide correct feel in response to speed, g loading, VG, gusts and thermals.  When complete, this solution should provide the best achievable virtual hang gliding experience.

Based on customer feedback, I have added controls to allow you to adjust your position in game without using the keyboard.  When in paused mode, 4 arrows will appear.  Selecting the arrow with the laser and trigger will move you in that direction relative to the bar.

Clouds now mark lift in all sites that support thermal flying.  Excluded are Yosemite, Fort Funston and Morningside.  Within 1500 feet of cloud-base, you will experience general areas of lift, growing stronger as you near cloud-base.   You may experience a minor stutter every three seconds or so, as calculations are performed related to this new feature.  I will be working towards eliminating this issue but for now, it was more important to get this feature out.

April 26, 2023 Release Beta 1.29

Found and corrected a bug affecting low cost 8-bit joysticks used in some control frame simulator set-ups.  One user has reported this breaks his joystick setup, so if this is the case for you, let me know.  I might roll back to the older version and provide the modified library on a special basis.

April 20, 2023 Release Beta 1.28

The bug relating to selection of cloud quality has been corrected, but to do so requires a setting to be set outside of the game, by editing a text configuration file.  This file is called GameUserSettings.ini, and can be found in C:\Users\YOUR_USERNAME\AppData\Local\TFFE2\Saved\Config\WindowsNoEditor\GameUserSettings.ini

You can open this file using Notepad or any other text editor.  Her eyou will find a series of scalabiity settings, each with a number between 0 and 3.  A setting of zero will select the lowest quality but highest framerate option, while a setting of 3 provides the richest visual image, sometimes at the cost of frames per second.

This is where you can select the cloud rendering techique. 

Sg.EffectsQuality = X

0 = No clouds

1 = Static 2D clouds

2 = Dynamic 2D clouds

3 = Volumetric 3D clouds

Option 3 is strongly encouraged, as this allows clouds to be used as markers for lift and cloud suck.  The other options provide cosmetic clouds that have no impact of lift.  The new faster Volumetric Cloud is the only available rendering mode for volumentric clouds.

Improvements in rendering efficieny of the glory have resulted in eliminating this as an option.  The glory is always available when using 3D Volumetric clouds.  The headset type option was previously used only for rendering the Glory.  The new technique appearsd to work correctly with all headsets, so I have removed the Headset Type option.

Release 1.28 enables cloud related lift at Slide Mountain and at Monroe sites.

We have also introduced airplane traffic at Slide Mountain and at Fort Funston, and fixed a bug in the “practice control” experience.

April 13, 2023 Release 1.27

This release corrects some issues with cloud generation, removes some potentially problematic joystick reading code, and introduces a critical new capability…  the ability to use clouds as markers for lift, and once near cloud base, fly from cloud to cloud for extended cross country flights.   At this point, this is only active at the Slide Mountain site.   To try this new feature, thermal up to within 1500’ of cloud base (or set cloud base low).  

Load a sounding from a good day. November 3, 2021 will give a low cloud base of 9700’, with a good lapse up to that altitude.  If you want to make the climb to the clouds easy, set the thermal temperature to 19 C, which is really strong, and uncheck the advanced heating model.  In November, the sun is low, so using the advanced heating model will make for weak thermals.   Using the November 3 sounding, you could alternatively select a summer date, which will change the sun position, without changing the sounding being used, and then “realistic heating model” would provide stronger thermals.

You can start with clouds visible, by unchecking “use clouds from sounding”, or can take off under blue skies by checking this box, and watch the clouds begin to form as thermals reach 9700’

Wait to launch.  Watch the two wind dummies.  As soon as you see them turn back towards the hill to find their first thermal, launch and head for them.  Climb with them to 9k or more, and then head for the nearest cloud.   You should find lift under the clouds, getting stronger as you near cloud base.

From here, you can start racing from cloud to cloud.

This will only work if you have 3D Volumetric Clouds selected.  I recommend turning ON the glory for this test.  

Please let me know how this works for you.  You might experience a graphic stutter every three seconds or so, when the game tests to see if you are underneath a cloud.  Locking your framerate at 30Hz is recommended to minimize stuttering.  I am also experimenting with prerendered frames in the Nvidia Settings.  This issue is the reason why I am releasing this feature on only one site for now.  You can find a sounding that doesn’t have an inversion at such a low altitude, set cloud base higher, and go on some really long XC flights, provided you don’t get lower than about 1500’ below cloud base.

Known issues:  2D clouds appear to be broken.    The Cloud Depth slider is no longer functional.  Cloud depth is now predetermined by the cloud cover.

March 27, 2023 Release 1.26B

Yesterday, I sat down to add what might be the most important feature yet for improving accessibility of “The Freeflight Experience”.  As you know, it has been my hope that a realistic portrayal of hang gliding in a simulator would attract new pilots to the sport.   As I have exposed more and more people to the game, I have observed consistent patterns of difficulty, both with pilots and non-pilots.  The lack of feedback from the glider in the form of control force, and the somewhat less than full visual field of view make it difficult to adapt to flying the sim, and have been a barrier to its broader introduction.  

You all have probably seen there are “AI” piloted gliders in the game, and these use an algorithm to control speed and heading, while seeking out thermals, following you around, and coring up when they find lift.  I have now added this same algorithm to your piloted glider.  Mapping the side trigger of the left controller, you can allow this algorithm to have 100% control, you can have 100% control, and by partially depressing the trigger, can choose any intermediate blend of algorithm-assisted piloting.  Mostly this is useful for recovering from pitch oscillations, or roll PIO.  It is great for people new to the sim to see where the bar should be positioned for proper speed, and then to allow them to position the controllers so that when they take over, it matches.

I am aware that after losing control in the game, it can ruin your stomach for a while, so this should allow those who have yet to master the flying of the glider to avoid this unfortunate circumstance.

The left controller trigger was already optionally mapped to the “grasp the base tube” function.  I will be adding another option to select between this AI Assistance mode and the let go of the base tube to find trim mode, but for now, if you wish to try out this new feature, please uncheck the “Grip the base tube” option.  I have no idea what happens if you don’t do this.

This is an experiment now, and far from perfect, but I think it is key to allowing everyone interested to have a positive virtual hang-gliding experience.

I welcome your feedback, and ideas for an intuitive mapping of controller buttons to enable this or any other function.

1.26 features continued refinement of clouds.  I noticed clouds and cloud shadows were not properly correlated, meaning the cloud and shadow shapes did not properly correspond.  The somewhat painful debugging process uncovered some other issues that have now been corrected, yielding significant rendering performance improvements when clouds are enabled.  I have further reimplemented the glory spectrum rendering shader, further improving the efficiency and speed.  The depth of the glory effect should now e correct with any headset.

I have enhanced the turn point visualization to include depiction of turn cylinder radius and vertical limits. I will soon be adding external file specification of a race course, allowing users to define start, turn point and finish cylinders.  Later, automatic timer start and stop will be added.

A bug was discovered and corrected that prevents returning to your glider in site tour mode if you go far enough away.  This was fixed at the Monroe site, but still must be corrected at all other sites.

March 3, 2023 Release 1.25 Open Beta

The most obvious addition in 1.25 is the addition of the amazing site in Monroe Utah, the site of the Red Rocks Fly-in, planned for this summer. 

The addition of persistent weather settings in 1.24 uncovered a few issues that have been corrected in 1.25.  The biggest problem was how I went about predicting cloud base from the dewpoint spread when thermals were formed.  The cloud base code has been completely rewritten and now agrees with published techniques.  Selecting “Use Clouds from Sounding” and “Use Advanced Heating Model” together should provide a realistic daily thermal cycle.   When “Use Clouds from sounding” is selected, the cloud base slider will be immediately set automatically.  Over time, the cloud depth and percent sky coverage will increase, as thermals climb to the cloud base altitude.  Unchecking “Use Advanced Heating Model” will allow you to set the thermal birth temperature directly using the slider.  If 24-hours thermal cycle is checked in the Options menu, the value you set using the slider in the environment setting widget will represent the peak temperature, and depending on the time of day, the actual temperature will be somewhat less.

“Use Winds from Sounding” does just that.  Unchecked, the slider value for direction and strength is used, and the setting is constant for all altitudes. 

Once I got the clouds working well, I realized that the rendering cost of a sky filled with clouds would bring most computers to its knees, so I set out to improve the rendering performance of clouds.  There is now a new setting in the options page to choose high quality but slow clouds (the old way) or the new faster clouds.  The new clouds come with some visual artifacts when they first appear in the sky, but the rendering performance improvement is significant.  The fast clouds are the new default.

One of the beta testers admitted to me that he is very susceptible to VR simulator sickness, and while OK flying around, if he crashes, the ensuing visual chaos ruins him for the day.  At his suggestion, I have introduced a crash detection option (in the options menu) that will pause the sim if you hit the ground hard enough.  This is enabled 5 seconds after launch, otherwise the launch impulse was detected as a crash, and caused the sim to freeze immediately. 

Also new in 1.25A, display on the vario of both indicated and true airspeed, adjustment of atmospheric density calculations to support high altitude sites, automatic calculation of seal level air pressure based on soundings, scaling down of turn point markers at close range, improvements in usability for pull down selections in the “Options” menu, and background shading in the “Environment Settings” widget to make clearer the grouping of labels with their sliders.

What’s coming next?  I’m thinking about allowing you to enable or disable (separately) each visual helper, like LZ markers, turn point markers, thermal particles and spheres.  Might also add start and turn point cylinders.  Now, you can choose the type of thermal rendering you like in the options, and can toggle it on and off, along with all other “cheats” using “A & B” buttons on the controller or keyboard shortcuts.  You can also override your selected preference temporarily, using “s” and “S” to hide and show spheres, and “p” and “P” to hide and show particles, regardless of how you have set your options.

I’m also considering adding a slider to allow you to adjust the amount of cloud coverage when using the automatic cloud mode.  Right now, coverage increases as cloud thickness increases, but there are times when you have lots of coverage, even with a cloud layer that is not that deep.  I could probably adjust the factor automatically based on the level of atmospheric stability, but first, I’ll probably let you tweak it with a slider.

February 23, 2023 Release 1.24 Open Beta

This release introduces enhancements to the use of a cell phone attached to the hang strap above the carabiner to determine the angle of the hang strap, and thus, the position of the pilot’s CG.  The improvement relates toe eliminating the need to align the phone with the keel before flight.  It uses the magnetic field sensor in the phone, along with the gravity sensor to determine the three-axis attitude of the phone when you recenter (with the home key or left trigger), making this the zero-control input.  Subsequent reads of the phone’s sensors are used to determine the new orientation relative to this reference one. 

To use this feature, the SensorStreamer app (available on the Google Store) must be modified to support magnetic field measurements.  Use “Manage Packets”, Hit the “plus sign” to define a new packet type.  Name it anything you like, JSON must be the type, and select Gravity and Magnetic field from the list of options.  Save the packet type.

Before starting the simulator, you will need to edit the file “AndroidIP.txt”, found in “C:\Users\YourAccountName\AppData\Local\Programs\The Freeflight Experience Open Beta\TFFE2”.  YourAccountName will depend on your system.

Find the IP address of your cell phone when it is connected to your home WiFi by looking at “Settings, About Phone/Status information” on your android phone.  Write down the IP address.  It will be a string of the form “192.168.1.XXX”.  This should be entered into the file AndroidIP.txt, and saved.  DO NOT ADD ANY SPACES or extra “returns” in the file, or it will not be correctly read. 

Next, open a command prompt on your PC (Type COM in the search window), and type ping XXX.XXX.X.XX, when the address is what you entered into the file in the previous step. 

You should see

The IP address shown is only an example from my phone.  If you don’t see this, your router firewall settings need to be adjusted.  The port for the TCP server is 27015.

If this works, start up Sensor Streamer app, select the JSON packet you created, the period as medium (60 ms) and click start.  The start the simulator, and from the Café menu, select CellPhone Input

You will be take to a level where you can confirm correct control response with phone movement.  If the phone is attached to the hang strap with the display facing mostly upwards, roll and pitch gains should be set to -1.0 and offsets to 0.0 to begin.  Both your head position and GC position are used to accurately represent your orientation in relation to the glider.

If you leave the gain as the default value of +1.0, the inputs will be reversed.

Next, return to the site selector, pick where you want to fly, and give it a try.  Be certain to select VR desk, if you wish to go back to VR controllers as your inputs.  You will again need to restore gains to +1.0 in the Cellphone Input menu or controls will be reversed.

The other new feature in 1.24 provides persistent (remembered) weather settings for each individual flying site.  Changes you make to the flying conditions will be remembered for the next time you fly that site, so you no longer need to reset custom conditions each time you relaunch.  If you want to restore the default settings, there is a new button for that.

I have made a few more efficiency optimizations that should address performance issues that I traced to running out of video ram. 

February 8, 2023 Release 1.23 Open Beta

Release 1.22 introduced support for a simulator rig with a force sensing base bar.  This required a new option where the viewpoint of the pilot is used to drive the position of the rendered pilot’s head, rather than having your perspective in game determined by your control inputs, as it has been since the beginning of the game.  When this option is selected, the weight shift used for control is determined by a joystick mechanism (either handheld or between the keel and hang strap of a physical rig), force sensors that measure loads applied to the basetube by the hanging pilot, or through the cellphone attached to your hang strap near the carabiner.   This is further used to correctly render your body yaw, caused by a combination of cg and head lateral shift.  You may find this option provides a more comfortable experience, as visual cues will match the actual movement of the pilot in a simulator.  1.22 was not publicly released. 

To further support use of our software in public venues, we have enabled a restart of the flight through a keyboard command, and furthermore, this restart no longer requires a terrain database reload.  AI’s that are in flight will remain, and time is not reset, so the thermal field will be fully established upon relaunch.  Press “Insert” in the keyboard to return the pilot to the launch.  “Spacebar” can be used to pause and un-pause the sim, and “Home”, to reset the fully prone and centered pilot position. 

This release introduces the control input visualization aid:  two spheres, one red and one blue are rendered before you.  The blue is fixed to the airframe (above the basetube vario) and the red reflects the lateral (roll) and longitudinal (Pitch) offsets of the pilots CG.  When body yaw is disabled in options, the red sphere will appear fixed to you harness.  When the two spheres are lined up (vertically) you are inputting no pitch or roll inputs. 

AI Pilots used to turn immediately towards the LZ after launch, unless a thermal was nearby.   This caused them so sometimes crash into the hill if the LZ wasn’t in front of launch.  To remedy this, now the AI’s will fly away from the launch (towards an invisible waypoint) for a set amount of time.  If you have yet to launch, they will then turn towards the LZ, or a nearby thermal.  If you are in the air, the AI’s will chase you.

For the next release, I am working on expanding the capabilities of the cell phone weight-shift sensor.  After a calibration step where the facing direction of an A-frame and harness simulator is captured, the phones yaw orientation need not be carefully aligned with the keel.  When the view and pilot position is reset, the current 3D attitude of the phone will be used as the zero reference, and pitch and roll inputs measured compared to this “zero” pose.

January 13, 2023 Release 1.21 Open Beta

The elimination of 3d grass models in the LZ’s of some sites made it harder to correctly judge altitude on landing, so I have added a detail grass texture to help provide a better sense of groundspeed and altitude. 

I have also added a hands-off (optional) feature, so that you may let go of the bar in flight to see if you are flying at trim.  This can be activated in the options menu, by checking the “Require Pilot to Grip Control Bar” option.   If you want to try this option, it may require an adjustment of your fore-aft viewpoint (using up and down arrows on keyboard) to get proper real and virtual hand alignment when grasping.  The glider will trim to just above min sink speed (21 mph) hands off.

The left controller side (grip) trigger is used for this function, and this mapping has been added to the table showing key bindings.  When feature is enabled in the options, you must keep the left grip trigger  squeezed in flight.

December 27, 2022 Release 1.20 Open Beta

This release brings a few enhancements to make cross country and contest flying more realistic.  In earlier releases, when the AI pilots were not circling in lift, they would head towards the LZ.   When you left the mountain on an XC flight, you would leave your AI buddies behind.  Now, when they are not climbing, they will chase you, often catching up to you when you stop for your next climb.  Remember, at many sites, you can launch more AI pilots by clicking the left joystick.  Unless there is a thermal nearby, thy will fly towards you.  If they crash, they will disappear in 30 seconds.

To make closed task racing more fun, I have added a turn point marker aide, which will be visible when other aids, like thermals and LZ markers are enabled.  The turn point aid will display the distance between you and the marker.

In site tour mode, there is a third, faster slew speed available when the joystick is deflected nearly all the way.

In the environment widget, there are now three options for selecting how sounding data is used:

  1. Use Clouds from Sounding:  If checked, the sounding is used to determine cloud base and cloud cover, provided 24-hour thermal cycle is selected in the options.  Unchecked, the sliders are used. 
  2. Use Winds from Sounding:  If checked, the wind profile data is used as the environmental wind.  Unchecked, the slider value is used for all altitudes.
  3. Use Advanced Heating Model:  If checked, the thermal birth temperature is determined realistically using a physics based model.  Unchecked, it is set to the value from the sliders.  If 24-hour thermal cycle is selected in the options menu, the sliders set the value at solar noon, and they will be scaled down based on sun elevation for other times.

For users using a cell phone to measure hang loop angle, I have added a new method of adjusting scale and offsets through keyboard entry.  These values will be saved and loaded each subsequent us

December 7, 2022 Release 1.19 Open Beta

This release brings a new site to the game, Morningside in New Hampshire.  It also adds an option to support those with fixed control bar set-ups, that will force the visual first-person perspective to move with the movement of the VR headset.  When this option is selected, the visual perspective is no longer forced to match the position of the virtual pilot’s head. Lateral movement of the HMD will still cause virtual pilot yaw, and going upright will cause the virtual pilot to stand, but the view will now match the movement of the HMD, rather than the movement of the virtual pilot head. It can be selected in the Options menu from the Café.

November 28, 2022 Release 1.18 open Beta

Removed test site from the “custom button” on the laptop, and modified the Ed Levin 300’ launch to launch you from that level, rather than already airborne.

The animated pilot hands now move up and down the down tubes when you are upright for landing, based on where your real hands are. We also moved the pilot perspective forward somewhat when standing, and lower when prone to better match the real-world perspective.

I removed the sliders used for positioning the pilot relative to the base tube in the Cell-phone input screen, as these were redundant with the arrow and page-up/page down keys and caused a serious bug.

A new thermal visualization has been added that fills your thermal with “cotton balls”, showing you where the lift is strongest, and to help new pilots visualize bubble type thermals. This is rendered only when you are near or in the thermal.  Use the red wireframe spheres to locate thermals at a further distance.  The preferred visualization technique can be set in the options menu in a persistent way.  At any time during flight, you can hide or show either the spheres or particles with “S” to show spheres, “s” to hide them, “P” to show particles, and “p” to hide them.  The A and B controller buttons still show and hide all enabled visual aids during flight.

There is now an option to select DLSS mode, if you have an Nvidia 2000, 3000, or 4000 series card.  This will be ignored if you do not have a card capable of the mode.  Do not select Ultra Quality at this time, as it is not yet supported.

In an effort to improve framerate performance in the Lookout Mountain towing experience, I have removed the grass models from the LZ.  I have noticed that framerates are initially low (16 fps on my 2080 ti) but if I briefly go into site tour mode, the framerates improve dramatically, and remain acceptable even after returning to the glider.  I have found that 30 fps provides a good experience provided there are no stutters.  I achieve this on my HP Reverb G2 using the OpenXR Toolkit, and activating forward projection at 30 Hz.  Lowering the rendered resolution to 50% using OpenXR Tools for Windows Mixed Reality has a dramatic impact on fps, at the cost of image sharpness.

If you are using a Quest2, I suggest using Oculus Tray Tool to set the default AWS mode to 30 Hz or Adaptive.  Here you can also increase the super sampling to get a crisper image if you have sufficient excess performance.

October 30,2022 Release 1.17 Open Beta

The only changes in this release are added logic to the tow plane (Lookout Mountain site) to have it return to the LZ after you release, or the weak link breaks.  Added two pavilion structures and the Condo’s to the Lookount LZ, and a fence to the LZ at Slide Mountain.

October 16, 2022 Release 1.16 Open Beta

This release brings greatly refined aerotow experience at Lookout Mountain.  I have corrected the towline dynamics issues of 1.15, so it is now realistic coming off the cart.  If flying the U2, set VG to 30 percent.  You should expect to need to pull in on either glider to stay in the correct initial tow position.

Try to stay level with the tug, by keeping its wings on the horizon.

A weak link model has been implemented, and you will be disconnected if tow force exceeds 1.5 times the weight of the pilot and glider.   You can still cause the tug to crash if you go too high on tow, but the line will break before your glider will.

The visual appearance of the tow bridal has been corrected.

Release from tow by pressing the right controller side trigger (grip)

If you own an Nvidia 2000 card (or newer) press CTL-D to enable DLSS.  This will cause thermals to appear for some unknown reason, but just press right controller B to hide them. I’ll fix that in the next release.

Remember, the up and down arrow keys, and page-up page down can be used to adjust your fore aft and height above the bar while in game.  The setting will be saved but will need to be readjusted when you switch from one glider to another.

September 15, 2022 Release 1.15 Open Beta

It has been a while since a new release, and this one brings a new flying site, (Lookout Mountain) and a new launching method:  Cart launch aero tow behind a Bailey Dragonfly tug.   Needless to say, these new features required significant development, from modeling the tug and cart, to a new aero model, autopilot, and the development of tow dynamics. 

Based on my towing experience, the sim is somewhat more difficult than real-life in the first seconds after leaving the cart, and I will continue to adjust parameters such as towline elasticity, tow force distribution between the pilot and keel tow points, and a myriad of other modeled parameters so see if I can achieve more realistic behavior coming off the cart.

In other news, I have put significant effort into a simplified Quest2 standalone version of the simulator.  This is an experimental effort to see what can be done on the limited processor in the Quest2.  If you have a Quest2 and want to participate as a beta tester of the standalone software, please let me know.  It requires Sidequest software to load unknown content onto your quest, and a few other technical hoops, but if you would find a standalone (limited version) of the software useful, please let me know.  It still requires the internet to stream the terrain, but it no longer requires a game PC.

July 12, 2022  Release 1.14 Open Beta

This release brings substantial improvements to the simulator. 

The Falcon 4 170 flight and graphical models are complete.  An item has been added to the “Options Menu”, accessible from the café laptop, allowing you to select your preferred glider.  Only the Falcon and the U2 have been implemented so far, although there is a non-functional option for the T3 topless wing menu item available for future expansion.

A new level was added specifically for me to test the Falcon model.  In V1.13, flying from the 300’ launch at Ed Levin Park was the only way to access the Falcon.  In 1.14, you should select your preferred wing from the options menu, and then go to whichever site you want to fly.   The 300’ launch will eventually become part of a training scenario.  In this release, the only flyable glider in this level is the Falcon.  It places you 300’ above the 300’ launch, with a hawk-marked thermal ahead at your 10 o’clock position.

The software bug that caused a “Fatal Error” when starting the sim with USB rudder pedals plugged in has finally been corrected by the developer of the Joystick plug-in.  The corrected library is now linked so you no longer need to remember to unplug your controls after flying an airplane simulator.

DLSS is a new upscaling technology which uses AI to add detail from a low-resolution image.  It is available in hardware on Nvidia RTX 2000 and 3000 series cards.    It promises to greatly improve frame rates by allowing the simulation to be rendered at 30% of the final resolution, and then upscaled to the VR required resolution.  This experimental feature is turned off by default.  It can be activated (toggled on and off) by pressing Ctrl-D on the Keyboard while in the glider.   The software checks if this feature is available on your GPU.  For some reason, this will also turn on thermal visibility and some debug data, so you will need to subsequently press the “B” button on your controller to hide these items.  I have not noticed a significant visual change nor a significant performance impact.   The effect is so visually subtle, that I added a small “DLSS” field on the base tube variometer screen to let me know when it was active.

The pilot position adjustment keyboard mapping has been changed to the up and down arrow keys for fore-aft adjustment.  Use Page-Up and Page-Down to adjust height off the bar.  It was pointed out by one of our testers than many users do not have keyboards with a number pad.

What’s next?  I am starting to plan an aero-tow level, modeled on Lookout Mountain.  I have been trying to get data on the Bailey Dragonfly Tug.  One of our testers has suggested it would be nice to be able to let go of the bar, to find trim.  I’ve been thinking about how that might be done.   What about a more realistic launch depiction, where you are running and building speed?  I am planning more training tasks to help the less experienced folks get past the initial learning curve…. Tandem and coached low altitude flights, scooter and winch towing.  I’d also like to see more measured (scored) performance-based tasks.  Someone suggested a speed gliding event.  How would you like to race down the Neiderhorn head-to-head with Wolfi Seiss? I would love your feedback and ideas.  Please help me prioritize these ideas, or add some of you own!

July 3, 2022 Release 1.13 Open Beta

Introducing the Falcon 4 170.  To give this new wing a try, go to Ed Levin Park and fly the 300’ launch.

June 7, 2022 Release 1.12 Open Beta

Reworked the “practice Controls” level, allowing the glider am altitude degree of freedom, like it was in an elevator.  It can bank and yaw, but with not move forward or laterally.  View from behind to get the feel.  You are flying with a 21 mph headwind.

June 5, 2022 Release 1.11 Open Beta

Modified Environment and Tour Widgets to hide and show hand controllers when appropriate.

Thermal Bubble and Sources now spawn only when gliders are around.

 May 29, 2022  Release 1.10 Open beta

It is unimaginably difficult to get this stuff correct without Beta Customer feedback.  Thank you all for your help and understanding. 

The recentering code was reworked yet again, but this time, I think I’ve got it correct… of course, I thought that last time too.  Anyway, I have tested pretty thoroughly myself, so it’s time to see what you all think.

If you are upgrading from B1.08, you might find the pilot is positioned too far back when counting down for launch.  If you experience this, use the NUM-8 and NUM-2 keys to move yourself forward or rearward to align you real hands/controllers with the basetube.

Also corrected was a bug that caused the license to fail on a new install the first time it was checked.  When in external views (Chase, Site Tour and Environment Setting) the pilot representation in your glider will have a head and helmet, and the VR controllers will be hidden.

There are only two pilots to fly with at Diablo at this time.  The ability to launch other pilots will be included in the next release.

If you run the activation program, be certain NOT to enter the TFFE part of the activation code in the boxes, just the part that comes after.

May 21, 2022 release 1.09 Open Beta

Feedback on V1.08 was universally negative.  The 1.08 release introduced unacceptable jitter in the scene.  I have rolled back the recentering code, and started over, with a special attention paid to maintaining smoothness.  My sincere apologies for the issues in the last release, and thank you for your patience while I engineered an acceptable solution, and still managed to get a day’s flying in over the weekend.

 I have remapped the thermal visualization keyboard commands to number 1 and 2 on the top row of the keyboard, since F1 and F2 is special for Windows 10. 

I have also added the capability to offset the pilot’s height and longitudinal position relative to the base tube, so if you are flying a simulator in a harness and control frame, you can adjust this alignment while flying.  The sliders provided in the Cellphone Input menu that used to set height and lateral position no longer function and will be removed.  Page-Up will raise your height, and Page-Down will lower you.  Num-8 will move you forward, and Num-2 will move you backward.  These values will be recorded into persistent memory and loaded on startup.  When you load the game for the first time, you might need to adjust the position of the pilot to one that is comfortable for you.

May 18, 2022 Release 1.08 open Beta

Beta users have frequently reported issues with misalignment of the VR view with the virtual pilot’s head, causing the players view to be blocked by the harness, or a view from over the shoulder of the pilot 3d model.  This problem was made worse when flying using a control bar and harness, if the movement scales were set to greater than 1.0.  The view would move with your actual movement, but the model would move according to the set scale, causing your view to be blocked when pulling in.

I have rewritten the alignment code from scratch.  Now, when you pull the left controller trigger, your view camera will be moved and rotated to the proper spot on the harness model and will remain there throughout the flight.  The control input is still derived by the relative position of the hand controllers to your head worn display, but the graphic view is ALWAYS locked to the harness model.  You can now move around in your play area without needing to recenter your view.

I have also added keyboard mappings to allow various functions to be controlled if you are using an unsupported VR controller, like the old HTC Vive.  See the section “keyboard and controller commands” form more info.

A bug that could cause the system to hang if the default sounding file was overwritten by a failed sounding server request has been fixed.  If you request a new sounding, and a valid sounding is not retrieved, the existing default file is not overwritten, and an error message will appear on the environment widget.

I am planning to add some aids to the flight model to help new pilots with the challenging handling characteristics of the more advanced wings.   I will implement a kind of autopilot that controls airspeed based on pitch input, and controls turning based on roll input, but essentially applies the AI autopilot to one or both flight control axis is a user-selectable way.  I’m planning on introducing a slow, easy to fly glider like the Condor or Alpha soon, for a more accessible new-pilot experience.   Also on the roadmap are scooter and aero tow options, a tandem flight, and an instructor mode that will allow an instructor on a second VR PC to observe and interact with student using the simulator on a networked PC, including simulated radio communications.

I’m excited to hear from the Beta Team what improvements you would like to see, and how you would prioritize these new features.

May 13, 2022 release 1.07

Thermals are now only spawned in there is a glider within 1 km horizontally of the creation point. This was done to allow for many more thermal sources needed for effective XC, without slowing down the computer.

A number of small changes under the hood, to move computationally expensive calculations out of the main loop, and to do these less frequently.

May 10, 2022 Release 1.06

Added Mount Diablo to the sites included.

May 8, 2022 Release 1.05

Added graphic representations of VR controllers, and corrected the direction of the selection laser.

May 2, 2022 Release 1.04 Open Beta

Remapped “reset position” to left trigger from
right grasp and removed the screenshot from left grasp. You can still take a screenshot when in “Site
Tour” on “Adjust Environment” menus by depressing the right joystick.
There is no option to take a screenshot when flying. The pause caused by the screenshot has caused
issues with Airlink users, so it has been removed. If you wish to capture a screenshot, please use any of
the available external programs for capturing in game images.

April 29, 2022 Release 1.03 Open Beta

Remapping of controls to support Valve Index controllers. System should now work with all major brands of VR headsets and hand controllers.

April 22, 2022 Release 1.02 Open Beta

The challenging license code menu has been removed, and replaced with program where you can enter your email and code before playing for the first time. This should save a lot of frustration.

I have also address the difficulty toggling various check boxes in options and environment menus

A small dead band has been added to the controller joystick, so you will not move unless you are moving the joystick in site tour and environment setting mode.

Some improvements to the cut scenes fade in and out’s

April 9, 2022 Release 1.01 Open Beta

Some players have noticed the VR handheld control inputs sometimes get “stuck” for a moment, causing a temporary loss of control.  The game has now been adapter to use OpenXR interfaces, rather than the myriad of drivers for each type of HMD (WMR, Steam, Oculus).  Extension to support each headset are still linked, so there is no loss of function.   This seems to have significantly improved the control input predictability.

I implemented a desynchronized calculation of ground heating, so these calculations are distributed across all video frames, rather than all being done on the same interval, causing a regular stutter.

The reset position function has been rewritten to support OpenXR.  Please look straight ahead before pressing the side trigger.  You may need to adjust your physical position slightly after resetting your position. Turn slightly left or right holding your hands in the flying position wile repeatedly pressing the right side trigger (grip) until the base tube is perpendicular to the axis of your body, or the base tube variometer is pointing straight away from you.

You should reestablish the “Zero” position of your VR play area before starting the game, to best interact with menus prior to launching. The methods to accomplish this differ between WMR, Steam and Oculus (Meta) products.

Several parameters were adjusted to better support Varjo HMD’s.  In this release, instanced stereo is enabled, contrary to Varjo’s recommendations.

DO NOT enable OpenXR Toolkit. If you have installed OpenXRToolkit Companion App, check the box to disable. Failure to do this results in a “Fatal error” and the simulator will not run.

Furthermore, certain rudder pedals, if plugged into your PC’s USB port, cause a similar “fatal Error” I am working with the developer of the joystick plugin to resolve this bug.

If you are planning to use this software while hanging in a harness, please check out the FAQ for detailed instructions. FAQ

March 29, 2022  Release Open Beta 1.0 

Enabled alternative pilot meshes.   Select “Pilot A” for a male pilot, or “Pilot B” for a female pilot.  In the future, I plan to add several other model options, as some testers were creeped out by the arms not looking like theirs. 

I added a default atmospheric sounding to Funston map. 

Also added option to turn on or off polygon culling to the view frustum.  I noticed with culling on, that some terrain triangles were not rendered at the edges of the VR image, resulting in distracting artifacts.   Some improvement in rendering performance should be realized by enabling this culling function, but it could come at the cost of such rendering issues. 

The only remaining unimplemented option is to record a .icg file of your flight.  Perhaps in the next release, along with some new sites. 

March 22,2022 

Among the final steps in the introduction of the Freeflight Experience, I have added a simple startup license check to confirm you have legitimately acquired a license to the software.  I have spent countless hours over this last year, programming, testing, researching, and modeling to bring this product to you.  This has been a solo effort, aided only by my beta testers.  I hope this product brings you enjoyment, teaches you something, and attracts some new pilots to the (real) sport.  I encourage you to share the experience with your friends and family, but please do not share your authorization codes.  My ability to continue to develop and support this work depends on people buying the product.   

I have made variometer placement an option, and the default is now in the center of the base tube.  

I have also turned pilot body yaw off by default.  There are now default atmospheric models loaded for each site.  These files are editable and are in the install directory (usually C:/Program Files (x86)/Freeflight Experience/TFFE2/).  These files are overwritten when you pull down a new sounding.  I suggest you make a backup of any files you modify by hand. 

I have tried to make this game compatible with a broad range of popular VR systems; however, I have not yet been successful in getting important features to work in all headsets and controllers.  The software has been extensively tested in the Meta (Oculus) headsets, both Rift and Quest lines (Oculus App + Oculus Tray Tool), and the HP Reverb G2 (WMR+SteamVR). 

The HTC Vive and Varjo headsets using Vive controllers are not working in this first release.  I will continue to work with Varjo to understand the issues and will issue an update when they have been solved. 

There is now a standard windows installer for the software.  Decompress the .zip file you downloaded from my website and place the 4 files in a folder.  Then run the executable to install. 

I suggest the first time you run the program, you not have your headset plugged in, as it is easier to enter your email and activation code using a real keyboard with the application on your monitor.  You can do it in VR too, but it is somewhat painful to refer to your email while inside VR. 

February 23, 2022 

Added exposure control to brighten or darken the scene to your liking:  When in Site tour mode, use the Num Pad – or + keys to change the exposure compensation for all scenes.  This is intended to pe persistent, meaning your adjustment will be recalled when the game restarts. 

Moved the vario to the base tube center in an effort to provide visual reference while flying to help pilots judge their control inputs without needing to look at the base tube.  Many pilot have difficulty sensing how much control input they are giving without force feedback.  This is an experiment to see if this helps.  We will likely make vario placement an option. 

Pilot models have been renamed A B and C, rather than by gender. 

More effort to provide compatibility with headsets compliant with OpenXR standards, but also with specific bindings for HTC Vive, HP Reverb, Steam, Oculus and Valve Index.  

February 15, 2022  RC1.1 

Found some issues with RC1.0 relating to how atmospheric soundings were being parsed, and not correctly handling missing values downloaded from the weather server.  This has now been corrected.  Pressing the left controller joystick will spawn random colored gliders from the launch at various sites.  If they crash, their physics is disabled, to save processing.    

February 7th, 2022 

I added a new initial screen, with a disclaimer that must be agreed to before using the game.  The environment is modeled after Dillon’s beach, where I taught myself to hang glide in the mid-70’s.  The hill has been closed to flying for 30 years, but some are working to re-open for training. 

Several significant bug fixes are implemented and ready for testing.  Issues with Android phone failure to connect have been resolved.  Be certain when entering the IP address of your android phone that you do not add spaces to the IP string in the text file.  We recommend experimenting with control scale using the VR+Harness menu to get the best response.  I found a scale factor of 1, while find for VR Desk, too low for flying in a frame rig. 

The terrain model has been improved, with better rendering efficiency. 

I added a binocular to the site tour pawn, allowing you to see gliders in the distance as you might when standing on launch or in the LZ.  If you are far from the game origin, numerical precision issues cause everything to shake a bit.  I am working on a fix. 

The simulator now supports Steam and Open-XR compatible devices.  If you have a Reverb or other non-oculus headset, please let me know if you are able to fly the sim. 

I added the Slide Mountain site in Nevada, and a custom site menu option, where you will be able to enter the latitude, longitude, altitude and launch direction for your favorite site.  This hasn’t been implemented yet, and thus is not yet functional.    

Each site now defaults to a preset date.  You still must use the Environment menu to download the sounding for that day.  Check the box to use wind and cloud base, unless you want to specify a (uniform) wind field and set 3D cloud parameters manually.  If the atmospheric profile is conducive to clouds forming, they should begin appearing in 5-15 minutes, once the first simulated thermals reach the calculated condensation height.   

I just implemented an experimental AI glider spawn feature, allowing you to create pilots to fly with by clicking the left controller joystick in.  Obviously, these AI pilots add to the load on your computer.  This was added because the AI pilots sometimes crash into the hill while attempting to chase a thermal over the back.  This lets you launch more if you need to, and can make for an entertaining gaggle flying lesson.  You will often find redtails marking nearby thermals, and they can help you recenter in the best lift. 

January 18, 2022 

Release RC1.0 

This holiday weekend, I put the finishing touches on the sim, and this version is Release candidate 1.0.   

New features include pedestrians that walk across the landing approach, requiring you to time your landing so as to not come with 25 feet of anyone.   

Big improvements in weather modeling:   

In the simplest mode, you can control everything… wind direction and speed, cloud base, thickness and cover.  You can set the temperature that thermals start out.  You can download a sounding, and only the temperature and humidity values will be used.  To use this mode, turn 24 hour thermal cycle off in the options menu, and do not check the “use sounding for wind and cloud”. 

In the Intermediate mode, by checking 24 hour thermal cycle, the birth temperature of thermals will be determined by the temperature value provided, and the angle of the sun above the horizon (only).  This is not particularly realistic, but it will cause weak lift in the AM, peaking at solar noon, and diminishing in the evening.  A value of 4-9 C in the “maximum forecast temperature” slider will make for some good climb rates if the atmosphere is unstable. 

In the Realistic mode, achieved by selecting “use sounding for wind and clouds”, and downloading a sounding. Each thermal source has a slope aspect and is aware of the sun angle relative to the slope.  Sun shadowing by terrain is considered.  The heating of the ground is modeled, considering radiation, conduction into the ground and convection (effected by ambient wind).  Soil-rock thermal mass is included, resulting in peak heating at 1400, and release of thermals long after the source is shaded.   Cloud base is determined algorithmically by the thermal birth temperature and dew-point at that elevation.  Cloud thickness and cover are estimated by the height of thermal tops.   Changing the time of day will clear all thermals.  It will take a minute of large integration steps before the ground temperature reaches equilibrium, after which smaller steps are taken so the temperature behaves realistically.  The effect of the initial calculation of equilibrium temperature can be seen in the value of cloud base. 

Added some nighttime sound effects, an altitude readout on the site tour pawn, and adjusted the scene brightness again.   

Coming soon: 

  • A logbook to keep track of your flight time, altitude gains, and distance flown. 
  • Selectable pilot characters 
  • Customizable glider colors 
  • Default atmosphere on startup 

Release 0.914

This release focuses on the joystick (harness hang angle sensing) and cell phone (harness hang angle sensing) methods, and specifically how pilot yaw is determined through a combination of the absolute measurement from the joystick or phone, and the sensed position of the pilots head in VR,  the CG is assumed to be 80 cm below the pilots eyes, and the lateral displacement between the CG and eyes is used to determine a body yaw angle.  This seems to be working well, and doesn’t rely on your head moving forward when pulling in while hanging in a harness.  This makes debugging easier, and it is possible to fly using a joystick at the desktop.  Joystick inputs are the same now when in the setup and in the game.

When flying with VR controller inputs, it is possible to set these on your desk, and fly by moving your torso left and right or fore and aft.  Some of you will find this easier.  After some period of inactivity, the controllers will shut off to save battery, so keep this in mind.  If you like this mode, it could be possible just use head position as an input, but there would be no body yaw simulated.

The ground heating model is done.  Thermal birth temperature is now influenced by the angle between the sun and ground normal, wind strength, surrounding air temperature, and elapsed time.  The soil heating model includes conduction into the earth, radiation into space, and convection into the surrounding air.  At startup, the simulator will take large timesteps (each second is roughly 10 minutes) to find an energy balance.  Then it will run in real time, so once the ground is warm, even when later shaded, the thermals will continue to form for several hours, as the heat is released from the warmed earth. 

Terrain shadowing is now considered, so soil heating does not begin until there is a clear path between the sun and thermal source.  Cloud shadowing is not yet considered.

Thermal lifetime has been shortened to 10 minutes, to relieve the computational burden of thermals that are not workable.  There is also an algorithm for destroying thermals that are both near the same temperature as the surrounding air and also not climbing. 

The left touch trigger now take a high resolution screen shot.  There will be a brief pause in the sim.  These are stored in C:\Users\YourAccount\AppData\Local\TFFE2\Saved\Screenshots\WindowsNoEditor.

where  “YourAccount” will depend on your specific system.

Coming next: 

  • Graphical depiction of inversions, with pollutants captured in the lower atmosphere
  • Cloud-cover influence on thermal creation
  • Default values in first start after installation, that today require you to select one of the three input methods to initialize.
  • More sensible default atmospheric profile.

January 11, 2022

Release 0.913

Important!!  By default, there is no longer an atmospheric sounding loaded on start-up.  This will be corrected eventually, but the atmosphere now is isothermal, with the temperature at all altitudes set to 0 C.  There is no wind or humidity in the atmosphere tables, but the default wind specified in the environmental settings remains active provided the “use sounding winds and cloud base” is not checked.  Essentially, the tables are initialized.   At the default thermal temperature difference of 9 degrees, thermals will ascend 1700’Began working on thermal-source heating model. 

Corrected issues with cloud base not being reset based on sounding

Multiple issues relating to timing and order of various internal processes being started.

Thermals and clouds and gliders now respect the wind directions at altitudes set through sounding

Flags and streamers reworked to behave more realistically to passing thermals

When 24-hour cycle is selected, thermal birth temperature is dependent on Sun angle above horizon, and peaks at the user specified temperature above the surrounding air temp.  A more realistic 24-hour ground heating model is in the works.

Adjusted image exposure settings

Added spectators at Funston, and some pilots in the LZ at Ed Levin.

Reworked methods for specifying altitude, breaking all ties to the “global origin actor” that was  previously used to set a zero-altitude absolute reference.  All sites have been modified to use this new method, which impacted the specification of cloud base, altitude indication on the vario, and altitude related behavior of thermals.

January 5, 2022

Release 0.912

Continued work on using the downloaded sounding.  Now, if you check the option to “use winds and cloud base”, the sounding will be searched for relative humidity if > 99% and will set cloud base at that altitude.  I also am not using wind direction and strength from the sounding to influence the thermal drift.  Cloud drift will soon be tied to the sounding as well, but as of this release, it remains set by the sliders.

January 3, 2022

Release 0.911

The past weeks have focused on making some changes in the software to allow it to work with a wider variety of VR devices.  I have enabled OpenXR and Steam VR plugins, as well as a specific plugin for the Varjo headsets.  If you are using a headset other than the Rift or Quest, please let me know, and what your experience has been so far.   One user with an HP Reverb G2 was having difficulty earlier, so I’m hoping these changes will do the trick.  I was able to adapt the software and got it running well on a loaned Varjo XR-3, which provides a claimed human retina resolution.  It’s an impressive bit of gear, but it should be as it is presently the most expensive VR gear available.

Until now, a feature which periodically re-locates the world origin to maintain high precision as one travels some distance from the starting point had been disabled, as each time this jump occurred, the glider would experience a glitch.  On some long test XC flights, the game occasionally would crash, and I suspected this was due to some maximum distance value being exceeded.  To address this crash, I have been planning on re-enabling the feature, and that has now been done.

I have some reports of strange behavior when flying in a simulator rig, that I still need to track down.

Finally, I have acquired the web domain www.freeflightexperience, and have an informational website up and running, with e-commerce features.  I’m planning to soon move from the closed beta test, to an open beta, where the game will be discounted for early adopters.  There is still much to do, such as writing a user’s guide, and finding a way to help non-pilots learn to control an advanced glider from the get-go.  I suspect I will be modeling an Alpha or a Falcon so that non-pilots don’t get too discouraged. 

An important note:  The default atmosphere is presently uninitialized, as is isothermal at 0 C (no lapse rate).  Thermals that leave the surface with a default temperature difference of 5 degrees warmer than the surrounding air, will rise only around 1700’ (The DALR is 3C/1000 ft), before they run out of energy.  If you wish to experience a more realistic thermal profile, before you launch, you should jump to the “Adjust Environment” menu, click “Load Atmospheric Sounding”  The default February 4, 2021 was a good 5k day.  You can adjust your launch time as well, but be warned, too early or late, and you are likely to have a sled run.

Best of luck with this latest version of the game, and happy new year to you all.  For my testing friends in New Zealand and Australia, good luck at the New Zealand Open at Murchison.  As the rest of us get settled in for winter, I hope the Freeflight Experience helps you keep current and helps scratch the itch we all feel this time of year

December 23, 2021

Release 0.910

I got the sounding download working and reworked the thermal model to use the temperature and humidity profiles.  I implemented a 24-hour heating model, where the earth surface temperature starts the morning in the temperature from the sounding, and then over the course of the day, heats by the temperature increment specified in the Environment Menu.  If in the early morning, the surface is 10C for example, and you specify 5C of heating over the course of the day, the thermals will begin at dawn with no temperature difference, but over the course of the morning, they will be created with greater internal temperatures, until at 1400, they will be 5C warmer than the surrounding atmosphere(so 15C) at birth. 

As the afternoon progresses, they will become progressively weaker.   The sun now moves across the sky as the day goes on.  The date entry in the Environment Menu adjusts the sun’s position in the sky throughout the year.  The date is used to pull down sounding data from the internet.  The station used is determined by the location of the site.

Remaining to do:  Adjust the length of the thermal day with the season.  Use wind direction and strength data in the soundings, as well as the relative humidity information to optionally override the manual wind direction, strength, and cloudbase and thickness entries.  The is a checkbox in the menu to enable this feature, but it is not yet functional.  Perhaps find the forecast high surface temperature for that date to use in determining max heating.

December 20, 2021

Release .909

Over the last week, I reworked the vario and added a clock, in preparation for introducing a 24 hour cycle of flying conditions, where ground temperatures warm and cool as the day progresses.  This, along with the ability to download atmospheric profiles for any historical day and location from the net will add to the challenges of XC flying.

I have reversed the sign of the inputs used while flying using the VR controllers.  You might need to go into the “joystick input” option and change the pitch and roll scales to the opposite sign.  Be sure to reselect VR+Desk when you are done, or you won’t have any control.  

The 2D clouds are now functioning, and can be selected in the Options on the Laptop screen if your system is not up to rendering the 3d clouds.

I fixed bugs include a decimal point issue on the vario in metric mode, some unwanted control input from head movement when flying using the joystick or phone devices.  I’ve improved the shadows a bit, added a real suspension and carabiner to the harness, and found the issue (I hope) that occasionally caused a tumble or loss of control. 

If you are using a Quest or Rift-S, be sure to select it from the menu.  Right now, it only impacts the glory rendering.  Other headsets are included, but the selection have no function.  

V9.08 was released, but I lost the writeup…  There was a chaecksum error in the .zip as well.

December 12, 2021

Release 0.907

  • Implemented metric units on the variometer.  ROC is m/s, airspeed in km/hr, temperature in C, altitude in meters.
  • Check the metric box in the options menu, from the café screen. 
  • 2D clouds option still not functioning correctly.
  • Fixed bug that interferred with selecting items from the laptop.

If you need to adjust down the settings to help a less-than-state-of-the-art computer run smoothly, please edit the file:

C:\Users\YOUR_USERNAME\AppData\Local\TFFE2\Saved\Config\WindowsNoEditor\GameUserSettings.ini

Note that AppData may be a hidden folder, and you will need to change your settings to ba able to see it.

In that file, you will see ScalabiityGroups:

[ScalabilityGroups]

sg.ResolutionQuality=100.000000

sg.ViewDistanceQuality=3

sg.AntiAliasingQuality=3

sg.ShadowQuality=3

sg.PostProcessQuality=3

sg.TextureQuality=3

sg.EffectsQuality=3

sg.FoliageQuality=3

sg.ShadingQuality=3

The numbers can be set from 0 (low) to 3 (Epic).   Feel free to try our lower settings if you system is not running well.

December 10, 2021

Release 0.906

Added structures to the Fort Funston site. 

Added more options to the options menu, including the ability to reduce the resolution of the terrain mesh, and to disable the “Glory” effect.  Presently the option to turn off 3d Volumetric clouds is not working.  I will be working on adding the option to select metric units for displaying on your flight instrument, as well as an option for adjusting the audio volume on the vario. 

I have completely reworked the control input system, allowing you to go from prone to standing while preserving realistic visual perspectives.  I have also added an option to ignore yawing of the pilot body, forcing the pilot to remain perpendicular to the base tube.  This may be helpful for those having difficulty with effective control, but also eliminates the ability to move your shoulders into the corner of the control frame, and push your feet even further, for maximum control input. 

I have been playing with Oculus Tray Tool, which can be downloaded for free from

https://apollyonvr.wixsite.com/vrtools

I have found the following setting work well on my development system:

December 1, 2021

Found and corrected a bug that was preventing the thermal strength which is updated only once per second from being smoothed.

November 29, 2021

Release 0.904

Added Home keyboard shortcut to recenter pilot.

Added big signs over the LZ’s, to help pilots unfamiliar to know where they should land.  Only visible when thermals and rotors are visible.

Removed the fly-around option in the opening menu, as HP Reverb G2 user’s system wouldn’t stay stationary, making it impossible to pick a site

November 28, 2021

Release 0.903

Added a new options menu to the laptop screen.  Presently, this functions only to select between the Rift-S and Quest 2 displays, which It turn out have different distortion models, which broke the Glory effect on the clouds. Many other options will be added here, including metric units, and the ability to turn off some eye candy and reduce the complexity of the terrain mesh, if your computer is unable to keep up.  These settings will be persistent, so there will be no need to revisit this menu once you are happy with your choices.

I increased the roll inertia of the glider, as I was seeing some numerical instability at high speeds and low framerates. It is now fixed on my computer and should allow slightly slower systems to run the sim.

I fixed the white sailcloth material that wasn’t properly lit in deep shadows.  Unfortunately, you can’t see the shadow of the crossbar anymore. 

November 22, 2021

Release 0.901

One of my Beta testers pointed out that the chase view was broken, and that whenever he entered a thermal, his view would automatically jump back to the pilot’s view.  This has been corrected.  I have also fixed the logic for the pilot standing or being prone, even when you are in the chase view.  Be certain to stand up from your chair before you come in to land!  Before launch, press the “grip” to define the heigh of your head when sitting as “prone”.  Standing should het you fully upright.

The is an aggressive redtail hawk at Ed Levin Park 1750 launch.  He will help you find lift but he’s almost impossible to see in VR.  Clicking the left joystick in will create him out in front of you.  He will be hard to see, but he can lead you towards your next thermal.  This is one feature I wish I had in real life!

November 18, 2021

Release 0.900

This is a big one!  The biggest and most obvious addition is the introduction of 3D volumetric clouds, and the interface to control them.  Also improved is the behavior of the windsocks as thermals pass, improved lighting models, lens flare on the site tour camera so images captured using this appear photographic.  The new sunlight model works with the clouds to cast shadows  on the ground, which is helpful when near cloud base, to judge the extent of the cloud you are under.  The clouds drift with the wind, affected by both the direction and strength.

To achieve all of this, I have moved up to Unreal Engine 1.27.1m which is the latest stable release.

The final piece of eye candy I imagined after getting my glider to cast 3d shadows through the clouds.  Something was missing!  I had to write a custom shader and research the physics to recreate the “Glory”.  If you haven’t yet flown above clouds, you might not have seen this before, but in VR, it is represented very accurately.  

I think that’s it for now.  Hope you all enjoy.

November 11, 2021

Release 0.899

I have fixed the bug that prevented putting your feet down for landing… Now your animated body will transition from the basetube to the downtubes when you stand up, so you will no longer be looking down on the pilot’s back when standing up on approach.  If you do it right, you should be able to land without touching the basetube to the ground.

I have improved the ridge lift algorithm, and the lift now varies with height more realistically.  There are now AI flyers at Funston, and they know how to ridge soar.

Added some loading screens as you are being taken to launch.  

November 1, 2021

Release 0.897 & 0.898

Focus has been on improving AI pilot’s realism.  Corrected bug that caused AI’s to not be controlled if the player selects an input method other than using the Touch controllers like a base tube.   I have now implemented an AI approach pattern, so when the AI’s get in the vicinity of the LZ, they will fly a defined pattern based on waypoints, will get upright for landing, and will flare when near the ground.   They also will be upright on launch and get into the harness as they fly away from the hill.  I have defined approaches for Ed Levin (600 and 1700), for Yosemite, and for Mt. Murchison.  At other sites, the AI’s will continue to spiral down over the LZ until I have a chance to build out this functionality at remaining sites.   

The temperature setting in the environmental setting window now sets the initial temperature of the thermals to the value provided, above the temperature of the surrounding air at the spawn point.  In other words, if you set the slider to 5C, and the atmosphere at the thermal source is 10C, the thermal will be 15C initially, but will cool as it rises and expands. 

I think I might look into automatic graphics quality scaling to address reported problems running on older hardware. 

The harness collision mesh is gone for now, so the trailing view might be underground after landing.  A known bug is that most landings will likely belly in, as the work to get the AI’s to land on their feet seems to have broken the “putting your feet down” logic in the piloted model.  Always something to work on!

Has anyone been using the cell-phone dangle angle sender with success?   Also interested in what “must have” additions you would like to see before we build out the site list and do the first “commercial” release. 

What new sites would you like to see?  What accessories should be available?  GoPro, 2M radio, Drogue Chute and emergency chute?

As always, your feedback is crucial!

October 15, 2021

Release 0.896

Minor tweaking on the appearance of the arms and hands, including better IK.  There is now a Collision mesh on the harness, so it doesn’t go subterranean when belly landing.  Raised the menu so it is less likely to be under terrain after a crash.  Fixed a bug where some gliders were launching with too little energy.  Restored the Joystick control function that was omitted from several of the last builds due to an oversight. 

October 13, 2021

Release 0.895

Given the number of testers that have had significant difficulty figuring out how to control the glider, I have followed one such testers advice, and added a 3rd person (chase) view.  This is accessed with the Y button on the left oculus controller, or the “C” key on the keyboard.  To go pack to the pilot’s perspective, press the “X” button on the left oculus controller, or the “P” key on the keyboard. 

The other complaint is the “floating hands”.  You will now see animated arms holding the basetube, and the VR hands are now hidden.  This is all very preliminary:  The headless body remains prone when you stand for landing.  The hands and arm animations can be improved, but I’m anxious to get all of you flying the sim successfully.  Actually, I’m most interested in how to effectively communicate to users how to weight-shift, and hopefully this new view, along with the suspended glider you can hang in (in the sand dune scene) will be helpful.  It has already help two of the testers that had been very discouraged. 

October 10, 2021

Release 0.894

Fixed issue with loading IP address of android from text file. 

October 9, 2021

Release 0.893

Added ambient audio to Yosemite map, and the falls!  

October 9, 2021

Release 0.892

This is hopefully the last update for a while.  Based on some good feedback from Beta test team, I’ve added a new button to the laptop screen that will take you to a hang glider simulator so that you can practice control inputs.  There is also a quit game button on the laptop now.  Please let me know if this helps.

October 8, 2021

Release 0.891

Increased the directional stability and yaw damping, and further now when you reset the view, the system captures the pitch and roll inputs, and subtracts them (as offsets).  When you “Hang Check” and zero your location using the “grip” or the right controller, you should be at trim, looking directly forward.  This change was introduced to try to get the wing to fly hands-off better.  If the phone sensor is mounted slightly off, then you will have an annoying turn in the glider.  I found during test flight in the harness, that a substantially higher sensitivity (-2.0, rather than -1.0) in both pitch and roll made the response more pleasant.

October 8, 2021

Release 0.89

Added Yosemite site (WIP) and waypoint following for the AI pilots.  This lays the groundwork for AI XC, contests, and landing approaches.

October 4, 2021

Release 0.881

Hello Beta testers

As I let you all know, shortly after the release of .87, a problem with using one of the rift controllers to stream the hang strap angle was discovered.  The Touch controllers have an aggressive battery saving feature, causing them to timeout after only a few minutes of not being used.  Holding one of the buttons down seemed to help, but I still discovered some annoying unintended control inputs using this method.

Release .881 removes the Touch in the hang strap option, and addresses these issues, and more.  I have implemented a data channel into the sim that allows the gravity sensor in an Android phone, attached to the hang loop near the carabiner, to determine and stream pitch and roll inputs.  I have just tested for a relatively long flight, and it all seems stable. 

If you are interested in trying out the sim using your harness and a rigidly mounted A-frame, all you need is an Android phone… they all have gravity (accelerometer) sensors.  Download the following app from Google Play Store (free) 

https://play.google.com/store/apps/details?id=cz.honzamrazek.sensorstreamer&hl=en_US&gl=US

This will serve as a control input server, 

you will need to set it as a TCP Server on Port 27015, and set it to stream JSON gravity packets every 10-60 ms.  The phone should be connected to a Wi-Fi router that is wired to your game computer.

To configure the game client to connect to this server, you will need to enter into the game the IP address of the phone, found in Settings->About Phone menu.  At this moment, you will need to edit the file “AndroidIP.txt”, found in the directory where the game is started.  It’s not elegant, but for now it will have to do.  Otherwise, I need to create a VR keyboard!

On the Cafe startup screen, select “VR+Harness” as your control mode.   You can still use the setup screen that is presented to adjust your height and fore-aft position to match your real basetube.  Here you can also adjust scale and offsets for control inputs, but that should not be necessary 

It is required that the server in the phone be running when the game is started or no input will be realized.  The connection is made only when the game is first started.  I’ll need to create some message before takeoff if this occurs.  It is a bit traumatic to have no control and watch your life flash before your eyes as you come turning back into the hill.  

In this control input mode, the hang strap angle and thus the cg is determined by the slight pitching or rolling of the phone when you weight shift.  It is important it be on your main suspension, and not on your harness (or in your pocket) as the change in your body pitch when going upright would be incorrectly interpreted as a dive control input.  Your head position side to side reported from the VR head rig is used along with the CG position to determine twisting of the pilot (yawing).  It’s cool to see your shadow reflect even subtle body movements.   I am testing using the Oculus Quest 2 and Airlink WiFi (5Ghz) to stream the PC video to the headset.  This allows my sim to be in the backyard, with no wired connection to my computer.  I will devise something to hold your phone perpendicular the hang strap… perhaps a 3d printed bracket or something.  You can see the hack that works well in the image above.

Other important improvements are a reduction in the yaw damping in the sim, resulting in more realistic adverse yaw and the ability to turn flatter.  

Windsocks now indicate the approach and passage of thermals with expected shifts in direction and strength.

Perhaps the biggest achievement in this release cycle are the wind dummies…  Autonomous pilots to fly with.  They are not yet perfect, but they do a great job marking the thermals.

There are too many improvements to list here.  Many around visual clarity, better shadows from the cross bar and LE on the undersurface of the sail, better representation of transparent sails.  I’m hoping at some point to enable your hands to be visualized in VR using this capability in the quest, so aside from pulling VG and selecting thermal visibility, the hand controllers are no longer needed when flying.

Looking forward to your feedback.  I’m also interested in your feature requests, and your feedback on how smoothly it runs on your systems.

September 17, 2021

With this release comes many significant improvements.  The addition of a control input device that uses the left Oculus controller tied to the hang loop near the keel to track the angle of the hang strap and accurately find the pilot CG location required a reconsideration of the controller button mapping, as now we have only the right controller available to the pilot in flight to execute all application navigation functions.  There are now three option of the startup screen (Café menu) to choose from:  1) Joystick-interface for main strap angle determination. 2)  Using both controllers in your hands (for no harness-control frame use), and 3) the new mode, using the VR controller in the hang loop. (see figure to right)

Selection option 1 or 3 will take you to a menu where you can set up your hardware or adjust you hang height in the sim to obtain a match between your physical and virtual control bars.  If using option 1, please be certain only one joystick is plugged into your PC.  If you have the typical flight simmers three input devices plugged in, there’s a good chance the wrong device will get mapped to pitch and roll.

In all modes, your head position is tracked so body yawing is properly represented.

Once you pick a site, you will be placed in the glider at launch with a 20 second countdown to launch.  A menu will be presented with options for changing the flying conditions, setting the time, touring the flying site on a magic carpet, and of course, relaunching, exiting, or returning to the site selection menu.  Pressing the right controller joystick in will toggle this menu, and will pause the simulator, however, if in flight, the thermals will continue to move on without you, so if you just hooked a low save, it’s best not to pause, as it will climb away from you.  Press the joystick in once to enter pause mode when the countdown reaches zero, leaving the menu visible.  Press a second time to hide the menu and un-pause, launching when the countdown reaches zero.  At any time, pressing the side trigger on the right VR controller will recenter you in the control frame. 

Ed Levin launches will have an experimental buddy pilot to fly with.  Still a work in progress, but I hope to add several wind dummies and folks to thermal with at some point.  This computer piloted glider is a full fidelity flight model, and the pilots weight shifting is managed by an autopilot of sorts.  Right now, he is just programmed to fly a fixed heading.

The option to load a new atmospheric sounding (either saved or from the internet) is coming soon.  You can now specify the surface temperature difference from the surrounding air temperature. The default of +9C means thermals will start 9C warmer than the surround air, as indicated on your flight deck.  I will soon add a feature so the surface temperature will build during the day, peaking and then cooling in the late afternoon.  Right now, setting time-of-day, simply is a visual effect as surface temperature is set using the slider.   The illustrated sounding on the adjust wind menu is the present default.  Currently, while in flight you can pause, adjust windspeed and direction, and it will impact ridge lift and thermal drift.   I have not modeled thermal suppression in high winds, however.

Other improvements include more glider handling realism, with slightly more pronounced adverse yaw, and more realistic directional stability.  Wingovers now carve around more realistically, and loops can be more reliably be performed.  It will still tumble of you hang one, however.  Spins are possible but seem not to be influenced by VG as much as in real life. 

Recenter ViewSide trigger on right VR Controller
Show ThermalsA on right VR controller
Hide ThermalsB on right VR controller
Adjust VGRight VR Controller joystick X axis L=tighter, R=looser
Move forward in tour modeRight VR Controller joystick forward
Move backward in tour modeRight VR Controller joystick rearward
Show thermal technical infoT in keyboard, Shift T to hide.
  

As always, I really need you feedback and reports.  I know it can be frustrating when things don’t work, but this is what beta testing is all about.  Without you, this will never see the light of day.

August 30, 2021

Release 0.86

With the generous help of Christian Boge from Germany, this release adds HID input, allowing those with conforming joystick or load-cell systems on a control frame, to use this data to measure and input the simulated CG of the pilot.  The pilot’s head position is read form VR, and taken together can reconstruct the yaw orientation of the body, the direction the pilot is looking, and the pilot CG (actual useful control input) all independently.   Only one “joystick” device is supported.

I have also added an experimental input mode, for those who wish to hang in a harness and A-Frame, but do not have a harness-dangle-angle measuring system (described above).  It uses the left oculus controller, attached to a rigid extension from your harness (an old batten does well) 1 meter forward of your harness-pilot CG.  This is used to measure the pitch and roll inputs, and the yaw angle of the harness.  I calculate the CG location from the known location of this controller and its yaw angle.

When flying, the left controller joystick can be used to set your position relative to the bar, to ideally get the virtual and real bars to line up.  The right joystick (Y) axis can be used to rotate you in pitch so the down tubes are raked at the correct angle to match you control rig.  At some point, I will add a setup screen where these parameters can be adjusted, and saved, so you don’t need to do this each time.  For now, I’ve extended the prelaunch countdown to 20 seconds to give you time to make the necessary adjustments before launch.

It is necessary to reset your position before launch, when at trim and centered on the bar, using the left controller trigger. I know this in inconvenient as it is mounted on a stick over your shoulder, but, like I said, it is experimental.  This will be assumed to be the “zero control input”.

So far, I have found “flying” with a rigidly fixed control frame somewhat unsatisfactory, as control forces are way, way too high.  I will continue to mess with different set-ups until I find something that works and is easy.

There is a new button on the laptop screen.  The three input options are now:

  1. Harness and A frame with a HID compliant dangle angle measurement interface.
  2. VR sitting at your desk, using your hand positions relative to your head for control inputs.
  3. VR in a harness, using one (left) controller to determine harness position and angle.

Graphics Settings and Units are not functional yet.

August 25, 2021

Release 0.85

The right touch trigger now hides or shows (toggle) the helmet.  This helmet is there to help you know where you the virtual pilot’s head is supposed to be (from a weight shift standpoint).  It is a learning aid, and not intended to be used all the time.  The helmet will rotate as you look around, so you should always be able to see out the clear visor. If the helmet is blocking your vision, it is because you have moved in your chair.  

The left oculus trigger will now reset your position.  Look straight ahead and at the horizon when you pull the left touch trigger.  Your head will then be in the helmet, and your hands will be close to the base tube.  If you lift or lower your hands so they line up, the base tube will move left-right and fore-aft with your hands.  These features are being added to help you get better control, as many of the beta testers are having trouble.  If anyone has suggestions on how to make the control more intuitive and realistic, I’m listening.

August 24,2021

Release 0.84

Added an AI autopilot to another U2.  Now you have a friend to fly with!  Only controls speed and heading now, but autonomous pilots will soon populate the ridges and thermals.  We often rely on how other pilots are doing to help us find lift.  This is a big step. 

I’ve continued working on fixing some glitchy behavior around thermals.  Bugs still not squashed.  I have now desynchronized the thermal calculations, and this has removed the 1 Hz stutter when every thermal needed to be updated at once.  I also now crank up the update on the thermal you are in to 4Hz. When thermals are visible, a large sphere will surround thermals you are close to.

Some of you are having difficulty with controlling the glider with the VR devices, and I think this is mostly due to accidental (unintended) head movement.  I have added some aids to help you keep your head in the correct position.  There is now a helmet attached to the pilot body.  Ideally, your head should stay in this helmet.  Turning your head will turn the helmet, so you can see out the visor, but the position of the helmet will not move as you reposition yourself in front of your computer.  If you can see the helmet, you head is no longer in the correct (ideal) location.  Resetting the Oculus viewpoint (Oculus button on right controller while in game, then follow the on-screen instructions) should put you near the ideal position.  You can toggle the visibility of the helmet/pilot using the trigger on the right joystick.  When you stand up for landing, the helmet should auto-hide.      

August 19, 2021

Release 0.8

Believe I have found the cause of free-falling thermals.  Air resistance forces that limit thermal climb speeds must always be directed opposite the direction of thermal travel.  If drag is always directed downward (my error), even when the thermal is descending, you get thermal free-fall.  Perhaps I will use this someday to simulate a microburst.

August 17. 2021

Release 0.7

Added support for Windows Joysticks on Axis 1 and 2.  Added button to laptop screen where you can select either joystick or VR hand controllers as input devices.  When you select the Joystick, you will be taken to a level where you can set scale and offsets for pitch and roll.  If you wish to reverse direction of mapping, select a negative scale factor.  These scales are saved on exit, and will be read back from a disk file, so no need to reset these values of you always will fly with a harness-joystick.

Refined the code that allows you to yaw your body by pushing with one hand and pulling the other.

August 14, 2021

Release 0.6

  • Corrected glitchy behavior near thermals. 
  • Improved shadow rendering
  • Tried to get splash screen transitions working.  No luck
  • Added Telluride, and images for Ellenville and Murchison.
  • Turned up initial thermal temperature to 9 degrees C above air temperature at spawn point.  Makes for a really great day!

August 13, 2021

Release 0.5

  • Implemented reduction in roll when VG is applied.
  • Brand new U2 graphics model with crossbar shadow on sail
  • Added pre-launch countdown
  • Ground-effect smoothing less likely to glitch when near the ground.

August 11, 2021

Release 0.4

The game now includes the following sites:

  • El Levin 60 and 1700
  • Mission Ridge
  • Fort Funston
  • Ellenville
  • Mt. Murchison

Yosemite, Diablo, Slide and Marina are coming soon.

Pressing the right joystick at any time (other than in the site selector) will pause the flight (although the thermals will continue to climb and drift) will put you into the “inflight menu”  There you can move around freely in the world, and with the keyboard, set the default visibility for various aids, like thermals (s) and thermal data (t).  useful for my debugging.  In flight, the A and B buttons on the Oculus controller can be used to toggle the selected aids on and off.  The right joystick will control your speed, and the orientation of the right controller specifies your direction of travel. 

Most of the work leading to this release relates to thermal spawning, and their development as they travel along the ground, building heat.  When thermals collide in the air, they will merge into a larger thermal with equivalent energy as the two original thermals combined.

When thermals ascend to the point where they are the same temperature as the surrounding air, they will be destroyed.

The default atmospheric profile is a pretty good day. 

The structure is now in place to initialize the thermals at whatever temperature we wish.  I have a model that is not implemented yet that will set the initial temperature based on ground altitude, slope, and aspect to the sun.  The temperate will later depend on the time of day selected, and this will further move the sun in the sky.  On a long flight, I will model the heating and cooling of the ground as the sun gets low.  The wind in the imported atmosphere is not being used yet.  The wind will be stead and is set by the user in the in-flight menu, using the right joystick.  The present speed and direction is shown overlaid on the controller.

I have tried to eliminate a bug that causes vibration of the pilot and camera it low frame rates.  I think I have fixed it, bit let me know how it works for you.  The Rotor zone at Funston can be visualized. And this is toggled using the A and B rift buttons.

July 17,2021

Release 0.3

The latest update of The Freeflight Experience (working title) is available to download.  There have been some major fixes and changes.  Unzip the linked file to a SSD drive.  That’s all there is to the installation.  Navigate to HGSim.exe and run.  Internet connection is required (for now)

The UI has been reworked, and the game now begins with a site selector.  Two Ed Levin launches, 600 and 1700, Mission and Funston are available now.  The other buttons lead nowhere.

Clicking on a site will take you immediately to launch where you will be hooked in ready to go.

In the future, rather than going straight to launch, you will be presented with option menus to allow you to adjust weather and gear. For now, you have around 10 seconds for the terrain to load, and you will launch.

As far as controls go, flying is the same.  VG modeling has begun but doesn’t impact billow shift yet.  You adjust VG with the right joystick (X).  The numerical readout by the cleat is the percent.

the left joystick can (for now) adjust wind velocity (Y), and wind direction (only at Funston for now, X)

On the right stick, the A and B buttons hide or show thermal visualization on the 600 at Ed Levin

Clicking the right stick pauses the game and takes you to a screen where you can re-launch or go back to the main menu.  Clicking again will resume the flight.

Thermals have been placed around the sites where they often are found.  These are a hack for now, and don’t drift correctly, nor are they realistic in their influence on the wing.  The “real” thermal model is in there and can be checked out from the 600′ launch at Ed Levin.  The thermal breaks off from the LZ just past the spot when you launch.  Use A and B to change visibility.  It’s a bubble, so if you get too far below it, it is gone.  Such thermals will be spawned from appropriate spots in future versions, and the hack thermals will be removed.

Ridge lift is modeled at Funston and Mission.  There are rotors and lee side sink in the LZ at both sites.  Rotor and lift is affected by wind direction and strength.

Have fun with this, don’t let yourself get too sick.   It takes time to develop a tolerance for simulator induced motion (or lack of motion) sickness.  Take it slow, and start with ridge flying where you aren’t circling all the time.

I have some feedback that AMD graphics (Radeon) have trouble with the physics particles, which is expected, since they use PhysX which is an Nvidia product.  If your Radeon system chokes, I suggest hiding the thermal visualization.

Release 0.4  July 18, 2021

Fixed issues with rotor at Funston nailing you at unexpected  times.  Also addressed pulsing of lift and numerous bugs.  Changed the rotor visualization.

Added Mt. Murchison in NZ,  the site of the NZ Nationals.  There is a big fat Hi-res thermal in the bowl in front of launch, and various easy thermals scattered around.  We will add more thermals on the national’s course later.

Moved the pilot CG rearward, causing the base tube to trim about chin position rather than much farther out.  VG helps if you wish to fly faster.

Added legends to the buttons on the rift controllers to remind you of what they do.  Press the right joystick in to pause the sim.