Here are several 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
Sopwith Pup over procedurally-generated farmland
Sopwith Camel over procedurally-generated farmland [new]
Huey helicopter over procedurally-generated farmland
MD500 helicopter over procedurally-generated farmland [new]
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.
UPDATE (29 May 2025)
Added crew to ship. These are not rigged, but can be animated.
Added smoke to destroyer.
Moved view keys to Number Pad
Moved most subroutines into modules and most variables into data file.
UPDATE (12 Sep 2025)
Updated to r180. Added new Ocean module which runs faster and allows for 2x more detail. See details in message dated 12 Sep 2025.
UPDATE (11 Oct 2025)
Major change to islands/mountains and error fixes in both FM2 and Pup Flight Sims. Here is what Giaros Island and the Homebase Island now look like. See details in message dated 11 Oct 2025.
UPDATE (29 Dec 2025)
Happy Holidays!
All versions have been updated to r182.
I have been working on improving the appearance of trees in the Sopwith Pup and Huey helicopter demos.
I have also improved the cockpit shadows in the FM2 demo by adding a second directional light to the cockpit view. The difference in appearance is pretty amazing.
UPDATE (24 Jan 2026)
Happy New Year!
I have made small improvements to the land textures Sopwith Pup and Huey helicopter demos.
I added shading to plowed fields which gives them a 3D appearance and emphasizes the lines.
I added “diffuse text multipliers” which give the textures more “character” as you climb. (See Jan 24 discussion of changes)
UPDATE (17 Feb 2026)
I have been watching YouTube videos of Arma pilots doing crazy stunts in helicopters and thought that would be fun to try to simulate. So I have added a new helicopter demo (the MD500 demo, link above) that allows the pilot to perform stunts like loops and rolls (with enough altitude). See my latest email below for more information.
UPDATE (21 Mar 2026)
Happy Spring!
The interior of the MD500 is basically complete. The flight model allows for loops and rolls. But I still need to work on the “weather-vaning” routine as the helicopter tends to wander around the sky. Weather-vaning is what helps keep the helicopter pointed in the direction of flight.
I have just started adding an interior to the Pup. You can watch my progress by running the Pup Flight Demo and pressing “V” to enter cockpit view.
I have added a Panels directory to my GitHub repo to assist with the creation of instrument panels.
UPDATE (through 7 May 2026)
As described at the bottom of this thread, I have now added a Sopwith Camel (link above). The cockpit view is well detailed and shadows are working great! I have added dumb enemy aircraft and smart friendly AA to the scene.

