Week 28 Update

by ⚡ Shockk on 2020-01-28

Welcome back to another Corporeality weekly update! This week has been…a bit of a struggle, unfortunately. Let’s get right into it.

Weapon Collisions

There’s actually quite a lot to explain here—far too much to put in this section—but I’ll try and give a TL;DR.

The way our engine works is rather strange in that we go to great lengths to prevent even the possibility of a memory leak. Because of this design, figuring out an efficient but safe way to manage the lifetimes of bullets has been rather tricky.

The recent scheduler and time-of-flight changes paved the way for many more lifetime possibilities than previously, but there’s still further research to be done in this area before we can properly manage the lifetime of a bullet to the point where we can say “keep it alive for 2 seconds max OR until it hits something”.

As I said, I’ll be going into far greater detail once this work is finally complete, but for now it’s something that will unfortunately take a bit of time to resolve.

Vulkan

We’re taking this opportunity, while we clear our heads on the issue of weapon lifetimes, to work on an unfinished, unvarnished area of the engine—the renderer.

Currently the renderer is one of the oldest parts of the codebase and it’s pretty untidy in places. We’re hoping to resolve some of these issues as well as vastly improve performance by finishing the Vulkan renderer I started writing a year or so ago.

Now, a Vulkan renderer should improve performance for anyone supporting Vulkan but, by itself, it won’t improve raw OpenGL performance. However, in reworking the engine’s renderer interface for Vulkan, we should be able to streamline loads of stuff, allowing us to make optimizations we previously wouldn’t have been able to make.

Next Steps

All in all, these are some exciting changes on our horizon, but everything unfortunately takes time. However, we’re still in this for the long haul, and we hope you stick around with us to see it through to the finish line.

Thanks again for sticking with us, and, until next week, وداع!

⚡ Shockk, Lead Programmer