Welcome to the Freeflight Experience
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.
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 or P on keyboard|
|Glider Chase View||Left Controller X or C on Keyboard|
|Show Thermals and Aids||Right Controller A or 1 on Keyboard|
|Hide Thermals and Aids||Right Controller B or 2 on Keyboard|
|Pause or unpause flight: Hide-show menu||Press Right Controller Joystick, Spacebar|
|Increase VG||Right Joystick Left|
|Release VG||Right Joystick Right|
|Reset View-Force pilot prone||Left Controller Trigger|
|Launch an AI pilot||Press Left Controller Joystick|
|Take a Screenshot||Depress Right Controller Joystick in Site Tour or Environment|
|Decrease exposure||Numpad –|
|Increase exposure||Numpad +|
|Adjust Hang Height||Page Up & Page Down|
|Adjust Longitudinal Position (Trim)||Numpad 8 & Numpad 2|
Keyboard and Controller Commands Version 1.02 and older
|Pilot 1st person View||Left Controller Y|
|Glider Chase View||Left Controller X|
|Show Thermals and Aids||Right Controller A|
|Hide Thermals and Aids||Right Controller B|
|Pause-unpause flight: Hide-show menu||Press Right Controller Joystick|
|Increase VG||Right Joystick Left|
|Release VG||Right Joystick Right|
|Reset View-Force pilot prone||Right Controller side trigger|
|Launch an AI pilot||Press Left Controller Joystick|
|Numpad –||Decrease exposure|
|Numpad +||Increase exposure|
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.
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
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.
- A logbook to keep track of your flight time, altitude gains, and distance flown.
- Selectable pilot characters
- Customizable glider colors
- Default atmosphere on startup
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.
- 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
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
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
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
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
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
- 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:
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:
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
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
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
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
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
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
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
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
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
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
Fixed issue with loading IP address of android from text file.
October 9, 2021
Added ambient audio to Yosemite map, and the falls!
October 9, 2021
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
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
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
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)
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 View||Side trigger on right VR Controller|
|Show Thermals||A on right VR controller|
|Hide Thermals||B on right VR controller|
|Adjust VG||Right VR Controller joystick X axis L=tighter, R=looser|
|Move forward in tour mode||Right VR Controller joystick forward|
|Move backward in tour mode||Right VR Controller joystick rearward|
|Show thermal technical info||T 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
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:
- Harness and A frame with a HID compliant dangle angle measurement interface.
- VR sitting at your desk, using your hand positions relative to your head for control inputs.
- 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
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.
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
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
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
- 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
- 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
The game now includes the following sites:
- El Levin 60 and 1700
- Mission Ridge
- Fort Funston
- 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.
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.