Some time ago I started to experiment with Godot and JSBsim to make a flight simulator.
After a longer pause I picked it up again. I think the results are pritty good for the little time I spent on doing this. To get it right out of the way, I’m using VSC and Github Copilot to do the coding part.
Currently I’m mainly focused on scenery, since it’s probably the biggest challenge to get a large scenery map with details that performs well. I’m mainly using a Mac Studio M4 Max with 40 GPU cores, 64 GB ram and 2 TB ssd. But I’ve also compiled and tied it on my gamer system on Windows 11 Pro with 128 GB (DDR3) and a 3090TI. The Mac currently performs better. But I’m sure that I can improve the Windows version as well.
The scenery data comes from swisstopo – wissen wohin
I started with Switzerland because I live here and it’s a relative small country. Better then trying to get all of the USA for example . Currently I have a 1m mesh for the near scenery and a 128m for the far scenery. From Swisstopo I could get all buildings, roads, railroads, rivers and lakes. Still missing are forests and specific trees and some special buildings.
The simulator has a slew mode and I can teleport to any airport in Switzerland.
The next steps will be to make some bespoke scenery to replace default buildings on airports/airfields.
Yesterday, I added functionality to the virtual cockpit. I can now set the flaps, mixture, throttle and the magnetos switch from inside the airplane. I can also start and stop the engine.
Today I added the first bespoke building. It’s the hangar at my local airfield.
I had to cheat a bit with this one since the agent didn’t manage to make a propper BGL → glTF converter. I used this tool for convertion https://www.scenerydesign.org/modelconverterx/
Of course I have to ask the original creator in order to redistribute. But for my own use I guess it’s no problem. Actually, I think I should be able to import all my MSFS scenery like that
But the propper way would be to make an API like the MS and Laminar Research do and hope that some scenery and aircraft designer become interessted.
Recent developments for my flight simulator (working title ProVPilot).
I’ve removed the dependency on Terrain3D and had Claude AI programm something that I call Scenery3D. In essence it does the same as Terrain3D but it’s optimized for large landscape data such as used by flight simulators. Scenery3D uses double precision to handle such big areas so Godot has to be recompiled from source with the double precision flags set in order to use Scenery3D as plugin.
I’ve also added Baden-Württemberg to the scenery library. Currently that area has a hight resolution of 1m and has detailed aerial photos. On the Swiss side I’ve started to add vegetation / trees to the scenery which is quite a challenge. But I’m getting there. On the border area between Switzerland and Germany there are some orthophoto (aerial photo) overlaps that needs handling. Mostly it works well but there are some small white stipes at times and some missing aerial photos that I’m currently looking into.
It took quite some time to get the BW scenery done. For one it’s a huge area. The raw data takes multiple terrabytes of storage. AI was at times over confident and deleted raw data it had converted. But the coverted data had issues, so I had to download all data mutliple times before it got processed correctly.
But the endresult is stunning. I’m really happy how development goes forward at the moment. The only thing slowing me down now is the fact that Microsoft silently increased the premium request useage ratio from 3x to 7.5x and now 15x per token. But I rather use a more expensive LLM and slow down development then trying to use poor LLMs which only messup things.
You know Flightgear right ? They have the whole Earth mapped out in open source data. Using their code might be problematic as it’s GPLed, but might inspire you (jsbsim was pretty much created for it). Nearly 20 years ago, I used to work on the NASA rocket assisted F-104 in FlightGear (not RL, sorry didn’t realize this was a confusing sentence), doing fantastic Mach 2+ zooms with it, using JSBSim for Flight dynamics as it models near space very nicely.
Anyhow, watching your progress with much curiosity,
That’s quite impressive. Of course I know Flightgear. I did use it quite extensively about 10 years ago. Their basic scenery was not too impressive though. Maybe that’s improved by now. Most simulators come with a basis of 10m terrain resolution and even up to 50m. For flight simulation it’s usually sufficient except on the airport areas. For me this project is mostly just for fun and to see how far I can get with todays tools. Ideally open source but obiously I do use commercial LLMs. So it’s not completely open source. Normally I use X-Plane on my Mac Studio which also works really well.
Any one with a Mac M1 or better can download the dmg.
Place it in any directory like /User/myself/provpilot
One probably has to create the subdirectory “scenery” manually at the moment. Download the Schaffhausen scenery zip package and unzip below scenery. At first start up confirm the scenery path and provpilot.cfg will be created. There is a settings page for game pad config etc.
More to come some time….
cheers
Windows build is downloadable now too. Let me know how it goes.
I don’t have much experience with Windows deployments.
Installation is much like the Mac version unzip the file to the target directory.
Download and install the Schaffhausen scenery package. Start the sim exe.
The exe is not signed so you’ll get a onetime warning by Windows on that.
Thank you for the feedback.
For how long did you try to wait ? Some times it took quite a while for tings to load when testing.
I’m currently working intesivly on scenery loading etc. I hope to be able to push a new version today or tomorrow to my website.
you could check the godot logfile it should be created in Windows : %APPDATA%\Godot\app_userdata\ProVPilot\logs\godot.log
I gave it a minute or two the first time. I just tried again, and it loaded in about a second, so I’m not sure what went wrong… the former log is lost.
I really like the floaty feel, it feels a lot like what I’d expect it to be like to fly a small aircraft, with numerous simplifications of course