Over on his blog, tdragger (a PM on the team) posts a great response to a thread on the AvSim forum regarding backward compatibility in Flight Simulator. So of course, I need to add my rather overpriced 2c.

Although never a box feature, it has always been important to us on the team to maintain backwards compatibility going two versions back for scenery, aircraft, AI, terrain - basically any content that the end-user can add onto the product. Sometimes a few things will break, but that break results from well thought out trade-offs.

Most of those add-ons are graphics related (scenery models, placements, aircraft models, etc...) but some are other forms of data like flight models. I'm going to talk about the graphics stuff here.

A lot of the conversation on AvSim seems to imply that we are trading-off increasing the visual fidelity of the product for supporting some old models. Nothing could be further from the truth. The engine is architected such that the core rendering engine is abstracted and the 3D model and database system access it by well defined internal APIs. When we revise the graphics engine we do so without breaking the fundamental way that the object system (and any other client such as weather) accesses it. What we may do however, is provide new features in the graphics engine that can only be fully taken advantage of by newer models that specify new parameters such as bump maps, skinning information, specular maps, etc... There's a whole bunch more visual juice than that - you'll just have to wait to find out what...

Of course, newer models can take advantage of that, but what about old content? Content that might not map well to the newer system? Well, it goes through a translation. Sometimes that translation is static, sometimes it happens on the fly.

Other issues that are interesting to deal with are those old forms of content that effectively say "Here's a triangle, ohh, here's another one. Here's a new texture. Errr, go look at the airspeed. Here's another triangle." Modern graphics systems really like "Here's 5000 triangles and a full definition of the material, go and be excellent". Of course, this is the current architecture.

Other issues to do with backward compatibility include visual consistency. If everything in the world is now bump mapped, specular mapped, squishing and swirly and making cups of tea at the drop of a hat, the old content is going to stick out like a sore thumb if rendered naively. So we do things to alleviate those issues.

So, in conclusion, it's not a matter of old content giving us a backward compatibility boat anchor around our ankles. It's a matter of us thinking though carefully how to push old content though a new pipe.

Now, for the other issue.

I've lost count of the amount of times that I've read on forums "Why can't Flight Sim look like my <insert FPS de jour here>?" I wish we could, and we're striving to make the visual fidelity of the product on a par (or better) with the best graphics engines out there.

But you have to recognize our constraints. Flight Simulator allows you to be anywhere on the planet, at any time of day, in any day of the year, at any altitude (or attitude for that matter). Most other games have your eyes approximately six feet off the ground at a fixed time of day in a well constrained location. Everything is prelit and stage-crafted for that visceral experience.

I'm not trying to make excuses here, but you can't compare apples to pot roast.

And if you'd like to help out, I'm hiring.