LATEST: Glad you could fit me into your busy schedule.

The newly imported Caernaven

There has been near radio silence from me, and for good reason. I don’t want to call it crunch as that conjures up ideas of enforced hours – but it has unrelenting pressure in the day job and immovable deadlines that have seen me working through many a weekend.

You bore meMonsieur

Ok that’s enough excuses, the schedule is calming down and I’m starting to plan the way forward. Before discussing what that means, a quick update on the progress that has been made.


Firstly the previously discussed precision issues have been solved, in the end it was a pretty anti-climatic change. The ECS (Entity Component System) the engine is based on meant the full change list was about 30 lines of code. You can now fly forever in the demo without losing precision. In upgrading PhsyX, which is now available openly on GitHub, another pain point for getting people set up with the project was removed.

Escape menu now working in gameflow scenes

Next I updated the pause menu so that it was useable in gameflow scenes (just as it was in Wing Commander Prophecy), this is especially useful as some options such as film grain now apply to these scenes as well as gameplay.

As ODVS mentioned in his previous post I also updated the FMV playback to support toggling between 30/60fps and added dynamic film grain. Whilst doing this I also moved the decoding out to its own thread as h.265 is considerably more demanding

The benefits won’t be immediately obvious but I also re-wrote the post process system so custom effects can be added by the game, rather than being dependent on a pre-set list of inbuilt ones. This will be useful when adding cloaking/ atmospheric effects.

I also spent some time bullet proofing multi-threaded safety.

Caernaven from cockpit view

And…

So what now? Well the first step is making sure that we have a complete set of models required for the demo. I have started by incorporating Defiance Industries new Caernaven model (he will kill me if I don’t mention that this is all still with programmer lighting/ specular settings).

Until now we had been in what I would describe as pre-production. When we wanted to show off a new ship I would make a new entity definition by hand, completely ignoring the ship stats, missile stats, manually setting what classic model to use.
Now I intend to turn that process on its head and start dynamically generating entity definitions based on the data when you load the game. This is an involved process but if goes to plan it should mean that the manual work involved is significantly reduced.