Well folks, I’m still employed at MS (or rather re-employed at MS after having been canned with the rest of the group). And I’m working on an as-yet-unannounced project. So as long as the muzzle is still on, I’ll try to cover some FSX stuff and some general technical art stuff. I don’t know how often I’ll be posting (it’s not like it can be any less frequent than it has been in the past ; P ) but I will try to get some useful information out there about making art for FSX or making art for games in general. I’ve been doing a lot of shader writing recently, which I am really excited about (expecially now that the years of legacy code and requirements for supporting backwards-compatibility restrictions have been lifted). It’s been very freeing to be able to write a shader that does something incredibly ridiculous like use 5 separate world space cube-map lookups (diffuse w/ alpha, normal, specular, reflection and refraction). Whether a shader like that would actually ever be used in production is totally beside the point. It’s just nice to see something really cool in the viewport, because there’s always a way to optimize and make something almost as cool for half the performance cost.
I will say one thing. Performance is about priority number one from day one on the new project. I definitely learned my lessons from FSX. Creating a flexible content-driven shader system when there is already mountains of legacy content not necessarily authored specifically for that system, and no time to go back and touch every single asset is a BAD idea. If you’re in games and you are carrying forward legacy content and you decide to change your shader or draw system, make absolutely sure you can either touch manually or at least do some kind of scripting pass on every piece of content. Better yet, design a schema-based extensible shader system right from the start that can handle creating new values with defaults.
Maybe my next post will be a performance post-mortem on the Flight Simulator engine and content system. If you’ve got topics you’d like to get info on, feel free to post in the comments, I’ll try to cover them. And when I can talk about what I’m working on now, I’ll let you know.