Friday, 1 November 2013

Another sprint

We're on another development sprint.

Today was trying to work around Leadwerks 2.5 / Newton bugs. Mostly commands that you think should do one thing but don't. It's the little things that really annoy as you can't fix them. This is the danger of using off the shelf engines.

Case in point; the problem of LE:SetJointStiffness, failure of the ability to set this results in the undercarriage being dragged like elastic at high speed behind the aircraft. Using joints also totally breaks interactions of the computed flight dynamics on the aircraft body. To be fair the docs do say this command is NOT supported. If you need it you're left having to re-factor your ground dynamics implementation along with how to build the art assets. Fortunately when we looked at this last time Dave did some work on separating parts of the Apache gear and I think I have a solution this time.

Using a raycast suspension will solve the problem. If it doesn't I'll be sure to let you know.

This development cycle is likely to last through the end of the year, getting "Gunnery" released will be a big milestone for us (if only to prove that this project is real). It has much more potential which we've talked about at some length in this blog. I had to scale-down the planned features as it isn't possible to realistically implement the campaign and some avionic components. Gunnery will be a firing-range sandbox showcasing the AH-64D Block II(ish) but we will patch in some method where users can hack in missions. I will continue to add more features to the cockpit, multi-player will come as a patch after release (or we can delay release while we test and refine MP). No firm decision yet.

The Future

The questions comes; what do we do after Gunnery? Given that LE2.5 is limiting what we wanted to deliver, the next iteration of the engine Leadwerks 3+ was something of a step backwards in terms of capability (except on a superficial level). It looked promising but there's nothing in it for projects like ours at a time where we need to up our game. As a professional software engineer and tester I find myself looking at quality and bang per buck more objectively and find a lot of engines wanting. There's some good stuff coming out of Unity development if Unity was actually usable for non-trivial games. It needs more efficient large world handling that doesn't suffer from large heap fragmentation.

Unity has some really great plugins for terrain these days. Check out this plug-in called Mega Terrain from MegaFiers (who also make a really nice Max Terrain plug-in):

If only it was so easy to pull in this data into applications like GROME or World Machine. I do like the virtual table-top presentation in this video.

Parting shots

I had no idea we had such a following on Facebook, I'm not a big Facebook fan so I've never paid it much attention. It's hard to check around all the time, generally I'll post the odd snippet on Google+.

One of the things the team talked about this week was how to switch to a more modular design and how to collaborate more efficiently over the internet. I'm a fan of Google+ Hangouts so we'll arrange something in the near future.

Finally a couple of random screen-shots without which this post would look really bland.


  1. Nice to see this project moving on albeit slowly.

    Regarding Unity engine, it should handle large maps quite well (and Newton physics as well), just look at Kerbal Space Program for example. Or at this one, which is a sort of a "indie-made ArmA":

    And speaking of 3D engines, why don't you consider the Outerra engine, it definitely seems like it has everything you need for Combat Helo, with features such as:
    - Planetary map (models the entire planet - no more problems with limited map size)
    - Land and Aircraft physics (includes JSBSim flight dynamics library)
    - etc...

    1. Outerra is still in development. We're still waiting to see how it handles a detailed civ layer, to date we've not seen it demonstrate how it handles large numbers of entities. Terrain variation was only recently added and I haven't seen any content tools. Without any documentation it's hard to assess if it has everything we need for Combat-Helo. But it's make for a specific job. Much like the other engine you mentioned.

      Unity is something we've looked at time and time again. When you create larger projects it becomes awkward, it has a lot of baggage. Great for getting something running quickly but you end up running into problems. It's a possibility but currently he quality simply isn't there for where we want to go next. It's not written for our kind of game. Also the lighting in Unity is pretty crap IMO. There's little point in making a huge effort for little gain. If you're going to a big switch you want to get something good out of it.

      Leadwerks was alright at the time. Nobody was doing deferred rendering in low cost engines at the time, but support dried up and we got borked on some of the physics commands. The new version is a step backwards that isn't going to be stable for years and promised features may be on the roadmap but someone else offers them here and now.

      We have something already in mind but it would be unwise to discuss it.

    2. Sorry for taking so long to reply. Actually I forgot that I posted something here recently.
      Anyway, thanks for the reply!

  2. Hello Richard. Good to read some news and I really like the new shot of Apache. I dont understand most of things You talk about, but Im sure, making a simulator is pain in the ass. :-) Keeping my fingers crossed...

    1. I'm just waiting for the roasting I'll inevitably get when the Gunnery prologue is released and people pick it apart. But it's a stepping stone to a bigger game, I have to focus on the end, finishing really IS the hardest part. But we can do so much more and that's also an exciting place to be. It drives you on.

  3. Have you had the time to assess UNIGINE a little bit more? How would that fit youre needs?

    1. Yes. As for how, that would take a lengthy post which I will make at a later date but now is not the time since it's speculative. But if I had to sum it up in a short phrase it would be "content friendly". Meaning you can throw lots of content at it, easily.

      I got got some nice folks helping me out with code, a big shout out to Macklebee for doing the Apache code review and fixing some bugs. I'll talk about this in the next blog update.

  4. Hi!
    This all looks so amazing! Will it be released? Eventually?

  5. What about DCS World's engine? remember they're developing new image generator (EDGE). They had multi-position cockpit and planned multi-player for same aircraft... and they have a big community who can support you.

    It will be great!

    1. @Zazo Mike:
      Answer is in this blog:

    2. I feel I just had this conversation on Facebook somehow :)

      It's true we get a lot of love and traffic from the DCS forums which I'm grateful for. The co-op feature will be a great addition. I have problems syncing that much avionic state data, you get logic problems when something goes missing. I had to design the messaging all over I'd do it differently.

      The new engine they have looks good and does what it needs to.

  6. Undertstood & read the other link (i missed this part..), thanks for answer me. I'll continue wacthing progress ;)