As some of you may know, either because of the lack of a progress update last month, or from reading our updates on social media, we chose to forgo a progress update for August. We did this because it simply would not have been all that interesting, as the team was still stuck on many of the same issues. This update should be a fair bit more interesting however.


Focal Engine and Continuum RT

Finishing 2.1’s Focal Engine build continues to be the absolute highest priority for the team, so we don’t have much to share about Focal Engine in this progress update. Once Continuum 2.1 Build 13 is finished and in your hands, work on Focal 2.0 (what we have taken to calling the Vulkan update), will pick back up.

That being said, we do still have a bit of news about Focal. Despite work on Focal 2.0 having been started, we have begun updating Focal 1.0 for Minecraft 1.17. With any luck, that update will arrive alongside Continuum 2.1 Build 13.

Support Focal Engine with a Continuum RT Early Access Subscription

Continuum 2.1

As mentioned above, Continuum 2.1 is our highest priority right now. But before we dive into what we’ve been working on in regards to 2.1, we would like to talk about it’s current update cycle a bit.

To be blunt, like many of you, we are not at all happy with the amount of time that has passed since it’s last update.

In all fairness, we were working on creating Focal Engine during much of that time, which obviously was a large time sink. Covid also caused us some problems, like it has for many, as well as the lead 2.1 developer having much of their time taken up by University. Another significant part of why this build is taking so much time is how much the scope has increased. Build 13 went from a port to Focal with minor enhancements to a complete rewrite so we could better make use of Focal. Not only that, we got a bit too focused on polishing and optimizing things, when we should have been pushing more frequent, smaller updates, more in line with the original idea of our Alpha builds.

Regardless of the reasons though, we could have done better, and we are going to strive to do so going forward in regards to Continuum 2.1 and Continuum Early Access releases in general.

What is Build 13?

With that out of the way, we would like to dive into what exactly the deceptively simple looking jump from Build 12 to Build 13 has actually entailed. As we have mentioned before, Build 13 went from a port to Focal with slight improvements, to a full on rewrite. Naturally, this means the amount of work required went up exponentially. Lets dig into what specifically has/is taking the most time, with a few reasons why:

Specular

Specular was by far the biggest performance drain in Build 12, as well as one of the biggest problem spots visually. This has been a huge focus for Build 13. Both speeding up specular and improving the quality at the same time proved to be quite time consuming, even with Focal’s improvements over Optifine. Other than improving noise, both in general and in low light environments, as well as performance, we have added an additional optimization for very rough surfaces (which are some of the hardest to deal with noise and performance wise). This optimization foregoes SSR (Screen Space Reflections) for a basic sky reflection, we then use the Specular Occlusion from our AO to approximate some of the things screen space reflections would provide. Specular Occlusion is currently getting some finishing touches.

Ambient Occlusion

AO (ambient occlusion) is next up. Our previous AO implementation was a modified version of GTAO (Ground Truth Ambient Occlusion) that was tailored specifically to Build 12. However, with Build 13 we had to rewrite our AO to be more like the original GTAO implementation, so that we could properly support Specular Occlusion for the rough surface optimization mentioned in the previous section. We also went through and fixed some mistakes along the way. This is still in the final stages of production.

Global Illumination

At its core, our GI (Global Illumination) has been completely rewritten for Build 13. This enabled us to ensure our energy was correct, for both visual noise, and performance reasons. Filtering has also seen a few rewrites during this time as well. This means that in Build 13, GI should be noticeably more ‘correct’, with less visual noise and a bit less ‘flicker’ in some situations vs Build 12. It is however still being worked on and tuned.

One important thing to note though, It is still RSM GI (Reflective Shadow Maps), so all previous inherent limitations of that approach will still apply.

Volumetric Clouds

 For Build 13, we have dug into our Volumetric Clouds and tried to optimize them as much as possible at every level. We have looked at many new methods to more efficiently render them, finally settling on one new method that speeds up their rendering by about 2x, while keeping the same quality.

That said, we still feel we could do better on this front in the future, so additional research will likely be undertaken into other methods/optimizations at some point.

The Sky Model

We’ve talked about the changes to the sky model before, but we will touch on them again here. In simple terms, we’ve switched to a new sky model that’s similar to the old model, but has a couple major changes that overall result in better performance, much better precision, much more configurability (with the new model being completely dynamic in nature), and the ability to finally add Aerial Perspective back in.

These advantages over the old model cleans up the ‘dirty’ look our clouds could sometimes had, and should allow more sky options to be exposed to the user than before.

Weather

Robo has found some free time away from University to return and work on the Weather for Build 13. Puddles, raindrop ripples, fog, increased cloud cover, etc. are all implemented, and Weather is in the final stages of polish.

Miscellaneous

We’ve gone through every aspect of the shader, attempting to speed it up as much as possible during this time. We obviously can’t go over every little thing in this blog post, but some other smaller, but still noteworthy items include:

Remaining Optifine elements: We spent a fair bit of time looking into ways to optimize some of the remaining bits of Optifine Focal still currently uses; including the portions of Optifine responsible for rendering the shadowmap and world in general. We didn’t manage to squeeze any speedups out of the shadowmap, but we did manage to get small performance improvement out of it’s world rendering. It’s not much in most cases, but it’s better than nothing. Still…we look forward to the gains we can expect from fully replacing both of these elements in future versions of Focal.

Fog: We also took some time to optimize our Volumetric Fog a bit, so you shouldn’t see as big of a performance impact from those beautiful foggy sunrises!

Settings changes and Conclusion

The Volumetric Fog optimizations we just mentioned lead nicely into a very important change to the shader in general that we would like to make note of now: The performance improvements mentioned in all the above sections have allowed us to enable more settings by default, including Volumetric Clouds and Fog! This will of course make the apparent performance uplift between Build 12 and Build 13 (when compared with default settings at least), less obvious, but it will more closely match our preferred presentation of the shader for new users. And of course, users can always disable/tweak these settings to their liking or preferred performance profile.

We hope this overview of the main features we have spent time on helps explain why what was originally just a simple port has ballooned into what it is now, and we hope to have this update in your hands soon.


Stratum

Stratum had a great couple months however, with a bunch of great textures being added, and a long anticipated texture finally making it’s way into the pack: the Crafting Table!

The full changelog and some screenshots for these updates can be found below.

Build 18 & 19 Changelog

Added

  • Crafting Table
  • Lever
  • Purpur block, Pillar, Stairs and Slab
  • Basalt
  • Polished Basalt
  • Polished Blackstone, Chiseled, Slab, Wall, Button and Pressure Plate
  • Polished Blackstone Bricks, Cracked Bricks, Stairs, Wall, and Slab
  • Iron Door (still using placeholder model)
  • Iron Trapdoor (still using placeholder model)

Tweaked or Fixed

  • Crafting table model, so duplicate sides are no longer next to each other
  • Torch color adjustments
  • Lever now uses Stone for base vs Cobblestone
  • Updated Performance Leaves addon pack version to 7 (to fix compatibility warning in Minecraft 1.17)

Some screenshots have been attached below, per usual.

Click an image to enlarge and enable gallery view


Thank you for your continued support, and we hope you join us again for next months progress update!