Here are a couple of programs that demonstrate a simplified vector-based flight model that takes into account the basic forces affecting flight - lift, drag, thrust and gravity.
FM2 Wildcat over animated ocean [upgraded]
Sopwith Pup over procedurally-generated farmland
Huey helicopter over procedurally-generated farmland
This is a work-in-process, so feedback is appreciated.
UPDATE (4 Nov 2024)
I have updated the WebGPU versions of the above airplane simulations to r170.
I have also added my WebGPU helicopter simulation - also upgraded to r170. I am still fine-tuning the aerodynamics (which are completely different than those of an airplane), but it is still fun to fly - especially at low altitude. Use the mousewheel to set your altitude and the mouse to change direction and speed. Key commands are also available.
UPDATE (17 Nov 2024)
Thanks to comments by manthrax, I have added some vertical motion to the aircraft in external view. Not only does this make the airplane seem more “alive”, but it gives you a better view of where you are going. (In a car, you want to look ahead in the direction you are turning. In an airplane, you change direction primarily up and down.). I have also tried to create a smooth transition from earth to sky and vice versa. When you land, you will always be level with the ground - no pitching over (not yet!).
You can see these changes by trying the Sopwith Pup demo, which now starts out on the ground. So you can now easily perform a quick series of take-offs and landings.
UPDATE (23 Jan 2025)
The flight simulations have been updated to r172.
As explained in the message for this date, I am converting the FM2 flight simulation into a combat simulation.
UPDATE (22 Feb 2025)
The flight simulations have been updated to r173.
This month, we have added a lot of “eye candy” to the FM2 flight simulation. This is described in more detail below.
UPDATE (15 Mar 2025)
The flight simulations have been updated to r174. I have also added radio coms and the ability to to shoot down the enemy airplane (along with appropriate animation and explosions). With that, I have completed a “rough draft” of Part 1 of my air combat demo.
Part 2 will involve air combat with a series of enemy airplanes. Here is a working paper that illustrates some of the challenges involved in even the simplest scenario - where the enemy is on your tail.
Another challenge is that the main program has gotten very large. I added a more detailed index to the variables and routines, but I still need to spin off large chunks of both into separate modules.