Sunday, December 21, 2008

I said I wouldn't...

...but I lied.

Please keep in mind this is *very* work in progress, but the labour of the last two months (mostly mind bending code) has finally produced a little stuff worth looking at I think. Only a couple thousand hours of work left here haha.

Only the centre panel is remotely complete, minus some shading and weathering, and the rest is basically untextured still. Everything you see though works, and this is the kind of detail you can expect throughout the pit in the finished product. :)

Wednesday, December 17, 2008

The virtual Hobbs meter... from hell in my case.

I got a good laugh out of this, so I figured I'd share. You probably already know this, but if not, you can see how many hours you've put on each plane in your hangar in FSX by going into the following folder, and checking the state.cfg file for each aircraft:

C:\Documents and Settings\(your user name)\Application Data\Microsoft\FSX\SimObjects\

Every now and then I like to check these stats out, so, just for fun, here are my current top 5...

5th place: Iris F-14A, 30.15 hours

4th place: Alphasim F-5, 30.78 hours

3rd place: Alphasim SR-71, 37.43 hours (at least I know where 17 of them came from)

2nd place: Iris PC-9A, 41.20 hours


1st place (gee what a shocker): My L-39, at 307.66 hours!

Yes, that's about thirteen days sitting in my damned jet.

I really need to fly something else one of these days. The really scary part about that last number is that 99% of my flights in it last less than two minutes. Load, takeoff, test, quit.



Saturday, December 13, 2008

I want my... never mind...

Black Shark is out... and it's about frickin time. I've been waiting... no, itching actually, for this sim to be released for well over a year now. I told myself I wouldn't get it if it was released before my L-39 was done. Yeah... that idea lasted about 45 seconds when put to the test. ;)

Was it worth the wait? Definitely!

Only installed it just this morning and have been flying around for an hour or so, but I'm already very impressed. The performance is pretty good provided you don't go too bonkers with the settings. It's definitely better across the board fps wise than FSX, though it's a bit less consistent when the detail really piles on.

The flight model though... that is just a work of art. I've never flown a helo sim that feels so much like the real thing. People always say that flying a helo is like balancing on the head of a pin, or a million other such comparisons, that it's as unstable as a flying machine can get and you always have to fight to keep it upright. That's rubbish of course, helos are quite stable due to the gyroscopic effects imparted by large amounts of balanced metal whirling above your head and their very low centre of gravity. If you can compare them to anything simple at all then a quickly spinning top on a table is the closest match. They do get unstable when you abuse their controls though, and the Black Shark, having relatively low yaw stability, definitely makes you pay for it.

Retreating blade stall, ground effect, and the vortex ring from rapid descents are all modeled and the normal manoeuvres for getting out of them in the real world work perfectly in the sim. The vortex ring in particular causes a nice little vibration through the helo.

The trickiest bit I've found so far in getting a handle on flying it is managing the trim. It has an electromechanical cyclic trim that is very much like what you'll find in any modern helicopter: Put the cyclic where you want it, hit the trim button, and that's where it stays until you change it. It basically makes whatever cyclic deflection you had when it was trimmed, into its new centrepoint. It does take quite a bit of getting used to though after FSX's total lack of helo trim, and the patched in pitch trim of FSUIPC.

I have yet to blow anything up (besides myself) but I'll make a post when I do.

One other very impressive feature, besides the (500+ page!) manual, is that they've taken a different approach with licensing/copy protection. I am firmly of the mindset that when you pay money for something then you bloody well OWN IT, end of freaking story. I don't buy into this 'leasing' crap that most software companies seem to think is perfectly fine these days. Fifty (plus) dollars for a game is not a rental agreement, it's a purchase. It's always been this way, and I couldn't care less what the fine print in the EULA says for I will *always* view it this way. You rent movies, you lease cars, and you buy software. I understand the need to protect an enormous investment, particularly now of course, but this licensing garbage has always been way across the line for me.

Anyway, as you're all probably used to, when you install your game, and enter your license crap, everything's great until your machine crashes, or you upgrade, or need to reinstall windows or whatever, at which point you're basically screwed and have to go begging to the publisher for the right to use something that you already OWN.

So in a brilliant bit of foresight (what? people upgrade their computers!?) they've actually allowed you to get your activations back when you uninstall Black Shark. About bloody time! It's still wrong, but this makes it slightly less wrong at least, a small step back towards the realm of 'sane' copy protection.

I also highly recommend having a Track-ir for this, and if you do have one make sure you update your drivers for it (latest version Oct 8th) or you're going nowhere fast. The control setup is a little wonky to figure out at first, but it's customizable in the *extreme*, which I love.

Bottom line: Its Lomac roots are visible, but it's been given an absolute ton of polish and the user interface is brilliant as well. If you've been lamenting the lack of any decent helo sims on the market as much as I have, you really should buy this. Just be prepared to be thrown in at the deep end. There's an 'arcade' mode in the sim, but no self-respecting pilot would ever touch it of course... right? ;)

It's $50 US, a 2 GB download, and took about 6 hours to get.


Monday, December 8, 2008


So I tried the L-39 out in some of the Reno air race missions for the first time yesterday, and well, let's just say I got spanked, and quite badly. The plane's top level speed of around 360 kts in standard form just isn't enough to deal with those racing P-51s.

However I am certainly not about to take *that* crap from some stupid sixty year old propeller planes.

This means that a new L-39 is going to be added to the roster of variants sometime in the next month or two:

That's "Pipsqueak" above, a pure racing L-39C that has been stripped down and heavily modified: No back seat, 15% less weight, about 25% more thrust, no tip tanks, and a ton less drag. It posted lap speeds at Reno of around 500mph.

Granted, with that kind of power and those modifications you've got enough range to maybe make it to the grocery store and back, but those arrogant old crates in their fancy "look at me" paint jobs will be in for a rude surprise.

And yes I'm aware the L-39s run in a class of their own and this sort of match doesn't take place, but as you can see I don't like to lose.

Until that version of the plane is done, those ridiculous Mustangs are going to be experiencing an unusual number of engine problems and a mysterious loss of power across the board. Strangest thing really. They should have bought jets I guess, much more reliable. ;)

Saturday, December 6, 2008

Happiness is...

As Jeremy Clarkson would say... "Result."

I say: Good start! Well done. Only a few thousand to go.

Saturday, November 22, 2008

More bigger stuff...

Well after 6 weeks of nonstop XML gauge and system programming, totaling thousands upon thousands of lines of code, my brain is utterly fried... and I'm only halfway done with the functionality in the cockpit haha.

And when my brain gets fried I need to make some art, so here's the latest repaint, an aircraft from the sadly defunct but still very cool looking Slovak air force formation team, the Biele Albatrosy ("White Albatroses").

Thursday, November 13, 2008

A request for more feedback...

Firstly, thanks to everyone who answered my poll before on the handling etc. That was a huge help to me and I think you're going to like the results. I have one more feedback request though for any of you that have a moment to spare.

I'm working on the sounds for the plane at the moment, among a million other parts, and unfortunately FSX isn't all that flexible when it comes to this stuff. To circumvent its sound limitations I'm planning to license Doug Dawson's excellent XML sound gauge, and I've already confirmed that it works great in Shared Cockpit mode as well as normal multi and singleplayer. The only problem with it though is that it runs outside the FSX sound slider system, and so matching up the volume level of all the extraneous sounds I plan to add, like the Saphir starter and G-suit pump etc, is really going to be a tricky exercise.

What I need to know from you is where you normally keep your sound sliders in the sim, specifically your numerical values for each one would help me a lot. Such as: Engines: 60, Cockpit: 40, Voice: 70 etc etc. Also if you use different settings for multi and single, or change them around for other reasons, I'd like to know the reason and your numbers there as well.

If you have a minute to check your settings and let me know I'd really appreciate the help. I'm looking for an average to work with, just for the sole reason that I don't want to blow anyone's eardrums haha. The hitch of course is multiplayer. FSX's voice chat is unfortunately so quiet compared to the average in-game sounds that myself I end up putting all the other sliders down to around 3 or 4 out of 100, and leave voice way up high.

Here's hoping FS11 improves this aspect greatly!

Thanks all!


Tuesday, November 11, 2008

Two seconds of fame...

Well... more like 1.2 seconds, hehe.

Here's another great TED Talk, this one by Dave Perry of Shiny Entertainment, discussing the progress of video game graphics and the medium as a whole. There's a pretty slick progress video about six minutes into the clip showing the graphical evolution of various game genres, and the basketball players I made in 1999 for NBA Live 2000 appear for... you guessed it, exactly two seconds hehe.

I've never been proud of or happy about any single minute I spent working at EA, or of anything I created while I was there. I never was a basketball fan either, ending up on the NBA Live team somewhat by accident when I'd applied to work on Need for Speed, and I basically consider it a wasted few years of my working life, but, I was pretty stoked to see my stuff included in a TED vid. You can see my basketball dudes at 7 mins 10 seconds.

The World of Warcraft stats he discusses are pretty humbling too, and although this video was released on just last month, it was recorded over two years ago. Those stats are a *lot* higher today. Scary! :)

Anyway, enjoy.

Friday, October 31, 2008

Samhain Night at Lotus'...

Man, I wish every night was Halloween. Even though I'm not up to anything exciting this year, just manning the door for sugared up munchkins in their flimsy camouflage of witch and superhero costumes, and working on the plane between interruptions of 'trick or treat' (what ever happened to the 'for a' in that phrase anyway?), I still love it.

Just think... What if every night you were expected to be someone else, anyone you wanted to be, to wear completely outlandish and exciting clothing, and were given nothing but smiles and free candy for your efforts?

Now that's a world I definitely want to live in.

Always been my favourite night of the year and always will be. :)


Wednesday, October 22, 2008

Quiet progress...

Well another Albatros update here, and this one will be the last visual preview on the blog most likely, which I'll explain in a minute. I've been jamming fifteen hour days consistently into the plane over the past several weeks and I'm happy to say that all of the gauges are now finished and working perfectly. She's fully IFR capable and great fun to fly in the soup. It actually turned out to be slightly easier than I expected to get a full suite of 3D gauges built, mostly thanks to the rather clever and logical FSX SDK. I still have a fair bit of systems programming work ahead of me but getting the gauges complete and functional (all twenty three of them... per seat) was a major milestone. As with all things on this plane, there's the standard American way to do something, the Russian way, and then there's the Aero Vodochody way, which is almost always clever, elegant, and utterly bizarre at the same time. Just about every instrument on this plane is bespoke to it actually.

Just a note, I hope you're all comfortable with the metric system. The only English/Imperial system gauge is the altimeter. ;)

So why is this the last preview? Well it's because I've gotten just about all of the funky features into the cockpit that I hoped FSX was capable of and I don't feel like tipping my hand to the competition from this point on. I also rather enjoy dropping surprises on people. :)

At the moment I'm working on building the full VC model, which is about 20% complete. Then I just have to texture it (gonna need a few thousand lattes for that part), finish off the systems, get the sound hooked up once it arrives, kill all the inevitable bugs, and write one massive manual for it haha. And yeah it's going to need a massive manual. On the surface there's a great deal left to do but total effort wise I'm well past the halfway mark on this grand adventure, and that's a good feeling.

Anyway here's a shot from the rear seat (minus the gauges) of the very early and nowhere close to finished VC model haha, and one of the seat itself. It'll give you a little hint as to the kind of detail that will be present throughout the cockpit anyway. As I stated at the beginning, performance is my number one goal with this project and happily the VC is where I really get to use everything in my bag of tricks in keeping the framerate up. It's really good fun to build.

I'm still shooting for a wrap up at the end of December, but I don't have high hopes of making that self imposed deadline. It'll more likely be the end of January or early February, but regardless I'll only release it when I'm 100% happy with it. If that takes until June then so be it. Such is a labour of love. :)


Tuesday, October 14, 2008

The Israeli Rollercoaster...

Well I'm back again. It was a whirlwind trip in more ways than one and I'm mentally exhausted from it. Normally I have an easy time articulating my experiences in travel, but this one's tough. My last trip to Israel was just a cursory looksee really, I enjoyed it but didn't get a lot out of it. That definitely changed this time around. We had an excellent local private guide for the trip which really made a world of difference. It's one thing to see a place but quite another to get the backstory of every single thing you're looking at. The history of the place is just amazing. So much hope, and life, and death and destruction all packed into such a tiny space. In fact I can't even describe how tiny it really is. From the edge of the West Bank, at Israel's narrowest point, you can actually see the beach in Tel Aviv, it's just 25 km. You realize when you're there that history is a very real and present thing, being made moment to moment, which is a feeling you just can't get in good old safe and boring Canada.

The bottom line is that I came away with a great deal of respect for the Israeli people, much more than I ever had before. How they manage to live in a state of constant conflict and yet still build an advanced and extremely liberal nation and maintain some sense of normalcy to every day life just amazes me beyond belief. I really hope one day that true and lasting peace can be achieved there. If the beautiful city of Haifa, a place where Jews and Arabs co-exist peacefully, is any indication then it's certainly possible. It definitely gave me some hope. Fingers crossed.

The side effect of the constant threat they face though is that at a very subliminal level they really strive to make the most of each day. Few work harder than the Israelis but nobody parties harder. We always say to ourselves to live each day like it's our last, but the reality here in North America is that it doesn't work, we will likely live to see tomorrow just fine. In Israel though it's different, there's a real and constant danger involved in living there, one that only fluctuates in intensity but never goes away, and it breeds a zest for life in the people that is just utterly infectious. I wish I could explain it better. It's one emotional and inspiring ride that's for sure haha.

Some of the highlights of the trip were seeing Jerusalem of course (it still has that special magical air about it), seeing Masada, where the Jews made their last stand against the Romans and committed mass suicide instead of accepting their inevitable defeat and slavery, and visiting the Israeli Air Force museum, an enormous well of contemporary history. It's one thing to see a Mirage III in a French museum, and quite another to see an Israeli one with thirteen Syrian and Egyptian Mig kills painted on its nose from the Six Day war. Impressive as hell. I also saw one of the IAI Lavi prototypes from the mid 80's and suddenly realized that the Eurofighter is just a shameless copy haha. Put pictures of the two side by side, you'll see what I mean.

On the flipside of the trip, we went through New York city on the way to and from Israel, and in both cases I was given an unjustified and protracted grilling by the gestapo that the US Customs system has become, including bag searches and being detained for upwards of an hour with no explanation. And that's me, an upstanding Canadian citizen who has never committed a crime of any sort. I feel truly sad for anyone else trying to visit the country. The unfortunate result though is that this trip must represent my final flight into a US city. I'm not putting up with that anymore. In the future I will drive to the US when I need to go there, though I'm not really sure how long that will last either. It's sad really. I lived in the US for many years and used to really look forward to going south. No more. Thankfully one can fly to just about anywhere in the world from Toronto, though Pearson International airport may be that city's only really useful feature haha.

Anyway, here's a few piccies from the journey. Enjoy.


Wednesday, October 1, 2008

Poof.... again.

Well I'm off to Tel Aviv in a few hours. Been a long time since I visited Israel and there's a lot I missed the first time around.

Jerusalem in particular is a place I am definitely psyched to see again. Of all the exotic cities I've ever been to around the world, and there are a lot, Jerusalem is truly the most surreal. I swear that if you took all the people out of that city that you would hear the walls whispering to each other. That's the sense I had last time I was there, that the city, the very architecture itself, was 'alive'. Even cooler is that I'm not alone in that feeling. Ask anyone who's ever been there and they'll likely tell you the same thing. I'm curious to see if that feeling remains. :)

Back in ten days, a quick trip this time.


Thursday, September 18, 2008

Albatros Progress Update...

Well despite all the video work (and a last minute road trip to Banff) it's been a busy month for the L-39. I've been jamming some insane hours (mostly those evil dark ones where birds chirp outside) into the flight dynamics and they are now 99.9% complete. It flies just as an L-39C should, on the numbers at all altitudes and speeds I'm quite proud to say, and feels just like my ride in Tyson's jet. Pitch and roll rates, acceleration, G-loading and limits, drag, takeoff and landing rolls, stability and such are all about as accurate as I can make them. It can even sideslip nicely on crosswind approaches now, no small trick to set up let me tell you.

I also discovered a solution for what seems to be one of the great flight modeling mysteries concerning jet engines in FSX, especially lower power ones like the L-39's AI-25TL, and that's properly modeled thrust at both low and high altitudes. Generally, getting a jet to perform properly speed wise at low altitude means screwing up its high altitude performance, and tweaking for the upper flight levels normally results in a very overpowered ride down low, something you're all familiar with I'm sure. That is not the case with this jet! From sea level up to her service ceiling of 37000 feet, and at any altitude in between, she pulls off the speeds and climb rates the real thing is capable of, no more, no less. A realistic increase in thrust from intake compression is also modeled. The L-39 is fairly underpowered when stationary or at low speed and relying solely on its engine's compressor stages. Fly faster and you have more net thrust available, up to a point. :)

So, the remaining 0.1 percent?: Spins. Can't quite get her to do them yet, and I think that's something I'll be fighting with until the very end. ;) There is definitely some dark voodoo involved in that, but with time she'll get there. Both my love and my hatred of the FSX .air file format have grown in equal portions over the past few weeks, haha, but the effort was worth it.

The external model has been given a lot of subtle fixes and tweaks as well, mostly in the cockpit and inlets, both areas were just grossly oversized and misshapen. A lot of the really fine curves on this plane I simply couldn't determine from photos, and so I must thank Tyson hugely again for the chance to crawl into and all over the real deal. It helped immensely. The pilots have also been increased in size to more realistic non-hobbit proportions. 'Gary', as you'll see in the pictures below, has also rejoined 'Ace' in the office at last. ;) A great number of shading and smoothing issues have also been fixed, and very few remain. Tyson's L-39's paint job has been done as well, and while it's by far the easiest paint I've ever made (rearrange a few parts and spam blue haha) it's also one of the coolest I think. She oozes menace. ;)

Also, much to my delight, Christoffer Petersen of Turbine Sound Studios has agreed to take on the formidable job of creating a full sound set for the plane, something I am simply not equipped or trained to do. My expertise ends at the pixel level. ;) By all accounts there are none better at this kind of work than Chris, and 'the best' is what I'm interested in here. :) The sound set should arrive sometime around December. AI sounds were also specifically on my shopping list, so, unlike most other addon jets, this thing will *not* sound like the default Lear 45 in multiplayer.

So with the external complete, except for a few minor non-critical tweaks, I will be doing the grand 'slice' tomorrow, a moment filled with joy and dread for me. The external and VC will become completely separate projects at that point and I'll be working full time now in XML 3D gauge land. This is the point in the project where vigilance for inconsistencies becomes truly important. Wish me luck, ugh!

Oh, and my sincere thanks to the sixty two people who responded to my flight dynamics/user preferences poll awhile back. That's a lot more feedback than I expected! I really appreciate your input and I have made my choices accordingly:

The L-39's handling properties are now designed for and will reward the hardcore fliers among us first. The slow engine spool up and unique 'coffin corners' in her flight model are all present. For example, if you forget to watch your airspeed and end up too slow on a shallow approach with low engine RPM, then all you have left to make up your mind about is which patch of ground you're going to put a virtual crater in. Any hope for recovery in that situation below about 500 feet AGL is marginal at best. The ground handling is fairly tricky now as well without nosewheel steering, relying solely on differential brakes. There might be an optional 'easy' mode config, we'll see. ;) If you don't have rudder pedals with differential braking ability, and desire to drive her around 'Top Gear' style, then I'd recommend getting a set at some point haha. I recommend CH Pro Pedals, they're virtually indestructible. My first set survived nearly twelve years of hard abuse.

Some piccies!


Wednesday, September 17, 2008

Hired Gunnery...

Over the past couple months I've been working on a clutch of videos for Sim Giants' new series of Canary Islands airports for FSX, and just wrapped up the last of them this week. While I would never agree to do a true 'wingviewer' video (yes I've been asked, ugh) I figured doing some airport promos would be an interesting little challenge. Actually, despite the fact that I don't need to chase an airport around at 500 knots in multiplayer to capture it, it's quite a bit more difficult than I first thought to showcase one properly.

Anyway, if you're curious to see the high res versions, head on over to, or check out their Youtube page: SimGiants on Youtube.

As for the airports themselves, they're really very good, and, most importantly, framerate friendly. While I'm admittedly not much of an airport guy myself, since I spend as little time as possible on the ground, haha, having watched these sceneries evolve over the past few months I really respect the amount of love they've put into them. Good stuff.

Here's my favourite of the four vids I made for them, and definitely my favourite airport among their creations.

I'll get to meet the makers in a couple of weeks when I visit Israel as well. :)

Oh, I probably forgot to mention... I'm going to Israel on Oct 6. Part of my "Dotting the 'i's" year I guess, aka visiting countries that I didn't really see properly last time I was in them. :)

"What was the question?... I was looking at the big sky." - Kate Bush


Monday, September 15, 2008

Just so wrong...

X-Plane = ehhhh...

iPhone = rubbish. (just like every other apple product ever made)

X-Plane on the iPhone?




Sunday, September 14, 2008

The future of aviation?

While browsing on TED Talks, something I do often, I ran across this talk given by Burt Rutan, the designer of Space Ship One and Voyager (among dozens of other high performance planes) where he discusses his views on the future of aviation and spaceflight. It's a truly interesting 20 minutes. I also can't disagree with his opinion on the greatest aircraft ever made. You get one guess as to what that is. ;)

He also talks about something that's bothered me for many years now, the fact that the past decade was the first time in modern humanity's history (discounting the dark ages) where we've allowed some incredible technologies to lapse with no superior replacements on the horizon.

By the way, if you haven't been to before I highly recommend setting aside a few hours to spend there one day. It's a video record of a conference that is held every year in Monterey, where some of the best and brightest gather to exchange ideas on how to shape humanity's future into something amazing. Some heady and hope inspiring stuff. Given the state of the world I always find the talks on this site immensely uplifting, and occasionally feel as if I'm witnessing the formation of a real world Galt's Gulch. ;)


Tuesday, August 26, 2008

The Rush of a Lifetime

Wow, how do I sum this up?

Saturday was my first flight in an L-39. It was, quite simply, the pinnacle experience of my life so far. When I jumped out of a plane a few years back over Australia I thought that nothing could ever top that experience, the pure euphoria that skydiving provided.

I was wrong, so very very wrong.

Thanks to a wonderful guy by the name of Tyson, I had an experience this past weekend so utterly profound and life altering that it puts that jump into a very very distant second place.

The flight started at Burbank airport in southern California and finished at Brown Field in San Diego. The stuff in the middle I just don't know how to put into words properly. I was given the chance to do what I have done in flight sim for 20 odd years, for real. I still can't wrap my head around it all. We did formation flight with another L-39, aerobatics, insane rolls, canyon runs, some extreme low level flight, and Tyson was kind and trusting enough to hand me the controls for about half of the flight.

So what's it like to fly an L-39? Well... its just like driving a Lotus Elise... in the vertical. The aircraft is just incredibly responsive to control input. There is no lag, no play in the stick, the slightest input elicits an instant response from the airplane. It's not the fastest accelerating or highest flying jet ever made but *wow* can that thing ever corner. In canyon runs and inverted passes over ridgelines we regularly hit 4-5G, and even with a G-suit it is just an utterly intense experience.

While I didn't experience even a blip of motion sickness or nausea at all, I found the first few aerobatic manoeuvres extremely disorienting. All of my previous real flying experience was absolutely worthless in this regime, and so oddly enough I found myself doing the same thing I did during my only in-flight emergency some years ago as PIC of a Cessna 172: I convinced myself I was back in Flight Simulator. Is that bizarre or what? Once I did that though I started keeping my head steady, using the canopy frames as references, ignoring the massive sensory assault from my body, and I was then able to stay perfectly oriented in any flight attitude. And then, insanity of insanities, I was handed the stick of this awesome little fighter.

I did several rolls, both barrel and aileron, as well as inverted pulls up the sides of mountains, over ridges, and back towards the ground, and a couple of truly wild canyon runs. To describe that experience as exhilarating just doesn't cover it. He also trusted me with landing the thing, giving me the opportunity to do a couple of touch and go approaches and despite a little apprehension on my part at first I found it incredibly easy to handle on approach and flare. In fact, believe it or not, I'd say it's actually easier to land than a 172. I'm not sure whether it's the airplane's 8000lb of inertia or its brilliant flight controls, but it's just gorgeously stable on approach.

I'm still digesting and analyzing the experience, but what I do know is that my new friend Tyson is one hell of a good pilot. He's one who knows his aircraft's limits and his own extremely well and doesn't step beyond them. He and his wife Anjuli are also incredibly gracious hosts and I feel very lucky to have met and gotten to know them a little.

And so with that, I'll just let some pictures, and more importantly a video, do the talking. The video link is at the bottom of the post. It's a little large, around 190 mb, but it covers some of the best 20 minutes of our 80 minute or so flight. I wish I could have recorded more of the aerobatics, I didn't have enough hands, or free brain cells, but it will definitely give you a good idea of what I experienced. I apologize for the shakiness of some of my footage. It's not the L-39 handling turbulence badly, quite the opposite, that plane just laughs at rough air, but rather my inability to keep my damned arm steady with such G loading, not to mention a diet of pure adrenaline. ;)

Secondarily I now have enough photo reference and personal experience in the L-39's cockpit to make one killer VC haha and a much much more accurate flight model. Back to work!

Tyson I truly can't thank you enough for your generosity. Thank you for one utterly amazing weekend mate. What a rush. I wish I could bottle this feeling.


Lotus' L-39 Flight Video Download

190mb, approx 20 mins

Tuesday, August 19, 2008

Just for kicks...

I do actually play stuff other than FSX... shocking eh! Every now and then it's great to just load up Medieval Total War 2 and break some stuff in massive fashion.

In this case the Germans learn what kind of damage a group of totally outnumbered English longbowmen can do... given the advantages of a narrow river crossing and some nasty stakes in the ground. ;) My first MTW movie, hehe. Enjoy.

Thursday, August 7, 2008

The nuts and bolts of multiplayer performance in FSX...

Okay so I've been on something of a crusade when it comes to multiplayer framerates for quite awhile. Anyone who's flown online with me for more than, oh, five minutes, has no doubt heard me bitch about it, and well I haven't exactly made too many friends on this topic over at Avsim's FSX forum in recent debates, but eh, what can ya do? It matters to me because I haven't flown singleplayer for pleasure since October of 2006, not once. There is simply no going back. Not that I ever did much single player flying in FS9 either. It doubly matters to me because if I get less than 30 fps locked I get a little grumpy. ;)

Anyway in my quest to make the L-39 as lean as I possibly can I've been drawing on all my previous game art experience, but I've also been doing a lot of searching and reading on the peculiarities of FSX when it comes to the subject of performance. Torgo3000's blog, and the incredible well of knowledge provided by the very kind people who post at in particular have been very enlightening to me. One of the things I've noticed though is that the issue of draw calls seems to be everyone's favourite whipping boy lately when trying to explain why one model performs better than another. I've seen quite a few developers on various forums pretty much state flat out that polygon counts just don't matter anymore, that it's all about the draw calls now. That kind of statement quite frankly worries me a bit because all of my previous game development experience tells me that just the opposite is true, and that's what I intend to talk about here.

By the way, if you're not interested in a somewhat technical little article about why your FPS always seems to head straight for the single digits in multiplayer then stop reading now! If you are though, or feel that the statement made by one Avsim forum member, that "FSX multiplayer flyers are little more than second class citizens in the eyes of most developers" is true, well, then please read on.

Personally I don't think they consider us second class citizens, rather I don't think most of them have really considered us much at all. There are happily some shining exceptions to that statement though, and not the least of which would be ACES themselves, in their valiant efforts to keep every kind of user happy at the same time.

So why should addon developers consider us you might ask? Well, because multiplayer, in my opinion, and no matter the genre, is *absolutely* the future of PC entertainment. If you're a diehard singleplayer flyer then you'll no doubt disagree with me, but multiplayer is the great feather in PC gaming's cap, and is something that the consoles have yet to even remotely compete with. Multiplayer experiences are growing in popularity at an insane pace, and singleplayer ones are starting to sit on the shelves in a big way. That trend has been going on for years now and is only getting stronger. If you don't believe me I'd recommend you look at the unbelievable popularity of a little game called World of Warcraft. ;) Yes, love it or hate it, the world's most popular and financially successful game contains no singleplayer mode whatsoever. Humans are social animals, give us a chance to play with others rather than play alone and we're drawn to it I guess.

However, on today's hardware, making something work efficiently in a multiplayer environment, massive or not, means dredging up some old school 8-bit era thinking and ingenuity when it comes to graphics, and doubly so when considering FSX content. I've been trying to do just that with my Albatros and in the process I've been doing a lot of comparing and testing, trying to find out just what is it that really kills framerate in FSX. I was pretty surprised at some of the results, so I hope you find what follows interesting.

Ok, so, the new whipping boy: draw calls. The easiest way to sum them up is that FSX needs to break airplanes into chunks when processing them and sending them off to the video card for rendering on your screen. Most game render engines try to make assumptions about parts of a model in order to avoid checking every single property for every single vertex, which is very time consuming and slows performance. If a number of polygons (triangles) share identical properties then it can batch process a whole pile of them together into one big draw call, rather than a bunch of small ones, thus using the available bus bandwidth more efficiently and resulting in higher framerates. That's the general idea anyway. Something about that idea has been bugging me though lately so I decided to do some investigating using a wonderful tool called DrawCallMonitor made by FS guru Arno Gerretsen.

Now, a couple of disclaimers. First, neither this tool nor the numbers I'm going to show from it can tell the whole story about a particular model's performance. There are many other factors that play into it such as the number of textures applied to a model, their sizes and bit depths, and about a million other little issues. However the three biggest players in FSX performance are draw calls, triangle counts, and texture vertices, and that's what the tool does deal with. I'll explain a bit about each later on. I'm also not counting the performance hit from virtual cockpits and gauges or anything else here. Everything that follows is strictly concerning external aircraft models in their highest LOD form (such as you encounter in multi-ship close formation flight), and only the most basic properties of them. However, having said that, everything I'm going to talk about also applies to virtual cockpit models.

Second, I have picked eight small aircraft from my hangar to compare, and in the interest of fairness and peace I've designated them with letters A through H. They range from single engine props to small fighters and warbirds, and one helicopter. The military aircraft involved in the comparison are in their clean configurations, ie: no weapons or fuel tanks, in order to keep things as fair as possible. In each case they are aircraft that I love to fly and have logged dozens or even hundreds of hours in. All are true FSX compiled aircraft and all are of extremely high visual quality both in shape and textures.

Okay, on with the data!

First up, draw call counts. Like I mentioned above, the aircraft is broken into chunks based on parts of the aircraft that have identical properties. By that I mean materials really. Each time you change the material from one type to another, say from matte to chrome on the same object, you're forcing a new draw call. As far as I know FSX has a total budget of somewhere around 5000 draw calls (very system dependent), which includes your aircraft's VC, AI/multi traffic, clouds and scenery. The seemingly generally accepted theory is that the more draw calls a model makes the more demands on the hardware it has, and the slower the model performs... or does it?

Ok, so at first glance aircraft D should be the highest performer, and indeed it is, but, as you'll see in the stats to follow, D has a lot more going for it than just a low number of draw calls. Based on draw calls alone Aircraft G might seem to be the worst performer of the bunch. Ah, but just wait, the plot thickens, or thins, or whatever it is that plots do...

Next, polygon counts. This is pretty straightforward. An airplane is made up of triangles. The more triangles it has the more rounded and refined it looks from all angles. Although the concept of 'size' in computer graphics really has no meaning at all, it does matter in a simulation, since you're going to end up with really large aircraft next to really small ones fairly often. The bigger physically an aircraft is the more polygons it's ultimately going to need to make it look comparably smooth. That's why I've chosen only small size aircraft to compare. Okay, so how many triangles does each contain?

Okay, so now things look quite a bit different. Aircraft H which had a low draw call count turns out to have the greatest number of triangles and Aircraft G which has a high draw call count has only a slightly above average number of polygons. Now the numbers are going to be a little unreliable as all of these models employ visibility tags to show or hide parts of the aircraft at various times. So not all of the polys in each are displayed all the time, but most are.

So let's look at the final count, Texture Vertices. Now basically texture vertices are a combination of the number of vertices that make up the polygons of the aircraft and the number of independent uv coordinates attached to them, which can be shared or not depending on how the airplane is texture mapped. Without getting too technical, the number of texture vertices (when compared to the number of polygons) is a very very loose indication of how efficiently texture mapped a model is, how many vertices share their uv coordinates. The real things we're looking at here are the number of texture vertices a model has in total, but also the ratio of the texture vertices to its polygon count. Anyway I say it's a very loose indication because it doesn't tell the whole story, not by a long shot. Every aircraft has its own unique texture mapping problems, and every artist tends to tackle them differently. Some of those problems simply can't be avoided due to an object's shape. But here you go...

Now, for better or worse, this is where these aircraft all start to show their true colours I think. Based on my own experience in multiplayer with each aircraft it's the texture vertices graph which most accurately portrays their respective performance hits when flying in close formation.

In order to prove to you that I'm not loony (or maybe that I am) I've done a series of tests on each aircraft, using an identical flight situation in which the cpu/videocard load caused by all other elements of the sim are negated to the maximum extent possible. The tests are done using nothing but a camera platform in slew mode, no user aircraft is loaded. The test is over the middle of the Pacific Ocean under clear skies and all scenery settings are at minimum. Multiple copies of each aircraft are placed in a closely spaced array via FSRecorder tracks. The test literally is this: How many copies of each aircraft can I have on screen at once and still maintain 30 frames per second?

Below is a screenshot of what the test looks like. For the keen, only one of the tested aircraft contains LODs and textures with mip maps. In that case I compressed the view to force each copy on screen into its highest LOD and mip state.

And the results? An almost exact mirror reflection of the texture vertex and polygon counts. The fewer polygons and texture vertices an aircraft has the higher its real world performance. In the graph below Aircraft H is the one to look at especially since it had a below average number of draw calls but a very high poly count. If polygons don't matter anymore then I should have been able to get quite a few more H's on screen before suffering in performance. In real world use I usually can't even have ONE type H aircraft on screen without dropping to single digit FPS. Conversely aircraft G with its very high draw call count should cause a lot of performance damage but in real world play with high settings I can usually have at least 3 flying with me.

The bottom line? Texture vertices and polygon counts still seem to be quite a bit more important to performance than they're being given credit for lately.

Once you put virtual cockpits (which are often far more damaging, and to be fair, necessarily so, than external models), gauges, flight models, scenery and all that back into the equation you can pretty much knock two to eight planes off any of those formations if you're trying to keep 30 fps. In the cases of aircraft C and H you're looking at major reductions in scenery settings to get even one on screen along with your own aircraft and still keep a decent framerate.

So when comparing the stats against real world demonstrated performance it seems that draw calls aren't quite the big deal they've been made out to be, at least for aircraft. Do they matter? Definitely. But having even an incredibly low number of draw calls doesn't let you get away with murder in the polygon and texture vertex count departments. For scenery, which concerns thousands of objects at once rather than just the few which make up an aircraft, I can see this kind of test panning out very differently, but the poly count there still matters a lot too. For airplanes though it seems that texture vertices are killer #1, followed very quickly by total polygon count, and lastly by draw calls. Texture vertices are entirely dependent on poly count though. There are a lot of mapping tricks that can be used to get the texture vertex count way down, even with a high poly count, but the bottom line is that the more efficient the model is polygon wise to start with, the easier everything is on the CPU. Highly clever mapping techniques aside, when the poly count comes down so do the texture vertices for the most part, and the knock-on effect in performance improvement, as demonstrated by aircrafts A, D, and E, is simply enormous.

There is also another area where a high poly count alone can kill your performance and that's real time shadows. The ground shadows cast by aircraft in FSX are calculated straight off the polys themselves and the more of them you have the more performance you lose. In case you don't believe me just load up your favourite high end addon aircraft, turn off the aircraft ground shadows in your display settings and watch what happens to your framerate. ;) This alone, or any two pass render effect (water, bloom) makes a strong case for efficient modeling, or at the very least for the return of low-polygon proxy shadow models.

Where a low draw call count on a plane does seem to make a noticeable difference though is in a scene completely over-saturated with autogen. In that kind of situation it starts to show some advantage, but at that point an average user's FPS is so low that the sim is all but unplayable anyway.

Here's a final graph (I promise!) that shows all the stats together normalized. Poly count and Texture vertices are best viewed as a unit in how they relate to each other. When you compare those though to the draw call counts and each aircraft's actual resource demands in the sim, you see the story I've been trying to tell. :)

My system's specifications are important to this last graph:

Intel QX9650 Penryn (@4.0 ghz)
4 GB DDR2-1066
Nvidia 8800 Ultra 768mb (not overclocked)

(please click to enlarge, it's hard to read)

The other large performance killer that I haven't touched on above is the size and bit depth of the textures applied to each model, and these can have a dramatic effect. In the cases of the aircraft I tested, with the exception of aircrafts D and E, all have similar texture sizes and bit depths, ie: between five and eight 1024x1024 DXT5 base textures applied, as well as matching bump and specular maps, and a number of smaller subsidiary textures. Aircraft D has a much lower number of textures than the others and aircraft E has a much higher number. The interesting part there is that both D and E are high performers, with dramatically different texture loads, E using nearly 5x the texture space of D. This is mostly due to their mapping and low polygon counts I think, with the remaining difference coming down to D's exceptionally low number of draw calls.

By the way there's a plane in my hangar, a freeware one actually, that is 350+ draw calls, 141,000 polygons, and 230,000 texture verts. Oy! How many of those can I have on screen in multiplayer and keep 30 fps? Umm... none! :)

So why 30 FPS specifically? It's because I consider it the 'magic' number when it comes to flight model fidelity, especially concerning aerobatic and helicopter flight. Any less than that and fine, accurate control becomes difficult. 30 FPS is also magic because it's one of the few framerates that properly synchronizes with the standard (and rather lame I might add) refresh rate limit of LCD monitors, 60hz/FPS, and as such is relatively stutter free. The next highest available synchronized framerate is 60 FPS, and it's going to be a little while before we see that kind of performance as standard in FS I think. :)

In closing, it turns out that polygon counts and their associated texture vertices do actually matter, a heck of a lot!

If you're a developer and reading this you're probably thinking by now that I couldn't care less about what singleplayer flyers want, and you'd be right, I couldn't! Kidding of course, I do actually care, a little anyway. :) However, consider this: Both player types want performance, badly. You need only to browse any FSX forum for two minutes to see that, and if you build a plane for multiplayer flyers first, you suddenly make singleplayer flyers very happy too. In doing so you give them the ability to crank up their scenery settings by several notches, and singleplayer flyers, at least the low and slow crowd, aren't looking at a plane three feet off their wing like we do, they're mostly looking at the ground.

Is building stuff this way harder? Yes, and even after doing exactly that for EA and Namco for eight years I still find it challenging. Do you have to sacrifice quality to do so though? No. There are tons of low poly modeling and mapping tricks you can employ. Is it worth the extra effort? I certainly think so.

Anyway if you made it this far, cheers for reading. Sorry for the abstraction of the graphs, I did the best I could with them. :)

Less is more. (except frames per second of course)

Multi for life.