Sunday 28 June 2015

Almost 20 years of Longbow

After another project hiatus I feel brave enough to come back and tackle some of the problems that defeated me early this year. I'm posting back on this blog as I've been unable to re-gain my editor access at combat-helo.com since last Holiday season.

Combat-Helo relies on a flight model that performs well across all modes of flight. Somehow I'd introduced an error into the vertical stabiliser forces, I know this is to do with my conversion and/or how our forward vector points down the minus z axis (as a result a lot of code relies on this arrangement). The FM doesn't fly well with tail forces enabled. It proved near impossible to debug it adequately and plans to release an early beta were thwarted.  After waiting for these problems to fix themselves (they didn't oddly) I do what I usually do when and went off and did more interesting things and hone my professional testing credentials on things I can fix. Inspiration would surely strike? (It didn't)

My plan B (other than abandoning the entire thing and re-building it in another engine that is developer friendly) is to write a testing framework around the flight model and a UI to step through it while in-flight. And unit test the crap out of it. There's the other glaring problem that the 3D engine is no longer supported, no source is available to fix problems in the physics integration. A very difficult situation.

I have tinkered with migrating to other engines but it all comes down to the same blocking issue. The 3D assets, the kicker is I don't have any of them in the original MAX format. It's a matter of taking the Leadwerks GMF versions, converting to OBJ (which looses a lot of information such as groups, smoothing) then massaging the model in a third party editor to export as an FBX.

It should be possible to automate that process using the Leadwerks GMFSDK and an FBX SDK, a dedicated tool to export them. That's the sensible thing to do.  However I'm still driven to complete the existing code-base and get a demo working well enough to sit on it's own. Vastly reduced in scope but it's time to move on to something better. We started in 2009 (yes check those early blog entries) and next year is the 20th anniversary of Longbow 2. It would be nice to mark it somehow.

Development resumed on the old Leadwerks code in April, all I've got to show for it is a build with a broken flight model and Hellfires that miss most of the time unless you find the sweet spot. Not good enough.

Source code for the project now resides in a secure remote GIT repository. I've been going through the source cleaning as I go, this makes collaboration easier. The caveat with GIT is the problem of large media files. There are set size limits. Trialling the LFS (large file storage) service which seemed fine until it tried to deal with a 384MB raw height-map that wan't used by the project but left from a previous terrain conversion. It caused the whole thing to choke beyond repair and I had to clean out my local repository and start again.