1500 hours over the last year (as a "hobby" project)
Nov 18 2012 10:09 AM
This is a simulator for radio controlled planes - mainly gliders (because that's what I fly and know) but also a couple of powered planes. It is as accurate and realistic as I've been able to make it, so the aerodynamics are pretty good, but also it has quite a realistic representation of the wind/air flow over hills (generating lift), thermals and turbulence.
At the moment it's available on Android, iOS and Windows - details here:
On Windows the controllability is much improved when plugging in a R/C transmitter or gamepad. Either on the mobile devices or on desktop, you can definitely use the sim to learn to fly, or practise aerobatics etc. It also has some timed races using Scoreloop for leaderboards (on the mobile versions).
In terms of technology I'm using:
1. Bullet for the rigid body physics.
2. Marmalade to help get it cross-platform. This has been a very mixed blessing - when it works it is great, and being able to develop for iOS without needing a Mac is brilliant. However, it has a lot of bugs/oddness that the "community" support has not been able to resolve.
3. The aerodynamics are all home-grown, mostly based on my earlier, open source simulator here. It divides up the aerodynamic components into sections, calculates the forces on each, and then sums the results. Everything thus just emerges - the nature of the stalls, spins etc. In addition you can scale the plane size etc in the sim.
4. The rendering is pretty basic. For 3D views the terrain uses continuous LOD with geomorphing (yes, a little old fashioned I know!), and the "panoramic" views use a skybox, with the terrain rendered only into the depth buffer.
5. The audio samples are mostly home-made - going out for the wind sounds, and blowing/whistling into a mic for the gliders! The audio processing converts the sounds to 3D and adds Doppler etc.
It's been an interesting experience getting something that is fully polished and usable, which people can just pick up and fly, or delve into the settings and modify practically everything. It's a lot harder getting the UI design right than the tech!