The Riftbreaker - voidreaver
Welcome back!

In our previous article, we described the process of implementing raytraced shadows into our game engine - The Schmetterling 2.0, and our latest game - The Riftbreaker. We spoke about our approach, the problems we faced, and the solutions we found. We highly recommend reading it before diving into this one. Raytraced shadows is not the only DirectX 12 Ultimate technique that we adopted, however. Today we are going to talk about ambient occlusion, and how we switched from the horizon-based ambient occlusion (HBAO) technique to raytraced ambient occlusion (RTAO).



Ambient occlusion technique overview
Ambient occlusion is a common graphics feature of modern video games. It is a technique that calculates how much the pixels on the scene are exposed to light and applies additional shading based on the surroundings of the shaded surface. It is an approximation of a much more complex technique - global illumination (GI). Global illumination can apply additional ambient lighting to indirectly lit surfaces using various methods, one of which can be tracing the rays of diffused light. As the rays bounce around the scene, they create a detailed lighting model that adds a lot of realism and visual fidelity. Raytraced ambient occlusion tries to replicate this effect, but instead of following individual light rays and determining which surfaces they are going to hit, it estimates how many rays could potentially reach a surface based on the geometry of its immediate surroundings.


Each GIF in this article compares the results of using Horizon-Based Ambient Occlusion and Ray-Traced Ambient Occlusion in The Riftbreaker. The scenes are presented in both the regular version, as well as the debug one, showing exactly what the AO shader adds to the scene. Click the GIF for a hi-res YouTube video.

Classic ambient occlusion/global illumination algorithms have been in use for decades now. However, the high computational cost limited their usage only to offline rendering solutions - for example in movie studios. In order to emulate the effects of ambient occlusion, game engines started using techniques that utilized only the information available within screen space, mainly the values of depth buffer and normal buffer for individual pixels. Based on that information it is possible to approximate the level of occlusion for most pixels. This solution is far from perfect because the screen space data is incomplete - for example, it is impossible to apply this technique properly to the edges of the screen, because we do not have the knowledge of the ambience beyond the screen. AO algorithms that do not utilize raytracing calculate their results based on the screen space depth differences on the scene, instead of its actual geometry. With real-time raytracing capable hardware, we can finally implement a much more accurate representation of ambient occlusion in the game world.


RTAO is quite a subtle effect, but it still makes the image much more life-like. Click the GIF for a hi-res YouTube video.

Raytraced ambient occlusion varies significantly from the raytraced shadows that we described in our previous article. In that case, the main point of the algorithm was to trace a ray from an object to the light source in order to determine whether it is lit or not. For ambient occlusion, however, lighting does not matter at all. In raytraced ambient occlusion each surface checks for objects in the vicinity that could occlude it. Raytracing is a perfect solution to do so since all information about the scene is available at all times. By shooting rays from the surface in many directions we can determine which surfaces are occluded or not with much more precision.


RTAO can create an accurate occlusion map regardless of the scene geometry. Notice the difference in between dense building clusters or in the open hangar bay door. Click the GIF for a hi-res YouTube video.

Raytraced Ambient Occlusion implementation overview
In a perfect scenario, we could shoot an incredibly large number of rays in all directions from each surface. This would result in a pixel-perfect representation of the ambience. The hardware available to us at present does not offer as much power as would be necessary for that, so we shoot only a limited number of rays per pixel per frame in random directions. In order to achieve good results with such an approach, we need to make use of temporal denoising techniques. Just like in the case of our implementation of raytraced shadows we need to make do with only one ray per surface per frame. That gives us incomplete data, but by utilizing a denoiser we can reconstruct the image with a high dose of accuracy.



A comparison of the occlusion map pre- (above) and post-denoising (below). Combining the data from many frames allows us to present a good approximation of a much more computationally taxing global illumination.

Raytraced ambient occlusion requires us to prepare acceleration structures, just like in the case of raytraced shadows (more information about acceleration structures in our previous article). There were two methods to choose from: we could either try and reuse our top-level acceleration structure that we prepared for shadows, or make another one specialized only for tracing the ambience. Luckily, the acceleration structure that we prepare for raytraced shadows contains all the information we need. For the raytraced ambient occlusion technique, we require data about all objects in the camera frustum and an additional 4 meters margin beyond that. All of this is contained within the top-level acceleration structure for raytraced shadows, therefore we were able to reuse it. This fact saves us a lot of computation time every frame.


[/url]Since the HBAO algorithm does not have the necessary radius of interest it is impossible for the algorithm to calculate the occlusion in areas demanding high precision, such as dense forest areas. Click the GIF for a hi-res YouTube video.

The process of generating an ambient occlusion mask is very similar to raytraced shadows. The only difference is that the raygen shader doesn’t shoot its rays directly from the surface towards the light source. Instead, the rays from each surface cast rays towards a randomized point on the surrounding hemisphere.


The ‘P’ point to the left is reached by 100% of light rays. The ‘P’ point to the right is being occluded by the geometry of the environment that blocks a part of the light rays that could otherwise reach the hemisphere around that point.

Every frame the direction of the ray changes, aiming at a different point on the hemisphere. The direction is randomized using the denoiser’s algorithm. If the ray hits an object, it means that the surface is occluded. Naturally, if we cast only one ray and relied solely on that data the resulting image would be grainy and not accurate. With the use of temporal denoising techniques, we reconstruct a full quality image by changing the direction of the rays in every frame.

Optimization
The top-down character and the outdoor setting of The Riftbreaker makes the game a good fit for this kind of ambient occlusion technique. A large portion of rays cast from surfaces shoot directly upwards, hitting nothing as a result. In such cases we immediately apply the MissShader that ends the raytracing sequence, skipping unnecessary calculations and freeing the GPU resources up. We set the length of each ray to exactly 4 meters, taking into account the characteristics of our game. Thanks to this we achieve clearly visible shading in severely occluded areas. The rays that are cast towards the horizon have a chance to hit an obstacle and those are the ones that we follow from start to finish. The fewer intersections we have to check, the better for the render time.



A comparison between the AO map at 100% resolution (above) and 50% resolution (below). The difference is barely noticeable when looking at a still image and becomes negligible in motion, allowing us to save a lot of performance. Click the images for full resolution.

Usually, the biggest problem for raytraced ambient occlusion is ray divergence. Each Ambient Occlusion ray is cast in a different direction and the GPU cannot effectively group its tasks, because all of them are different from each other. However, since the occlusion map is very stable, we could get away with reducing its resolution by up to 50% and as a result, limiting the number of rays necessary to create the AO map by four times. The difference in quality is barely visible, as the denoiser can reconstruct the image well, even with the limited amount of data available.

During the implementation of raytraced ambient occlusion into The Riftbreaker, AMD sent us a brand-new version of the denoiser, optimized for our game. It makes use of two specific features of our game: we do not cast more than one ray per frame for any given technique and the result of a raytrace is a simple hit/miss. That gave us improved visual fidelity, as well as boosted performance. It is undeniable that enabling RTAO has an impact on the rendering time, but we did as much as we could in order to minimize the FPS decrease and deliver an improvement in visual quality that is worth it.

Performance Results
In order to measure how much raytraced ambient occlusion affects the real-life performance of the game, we sampled several example scenes in the game. They vary in the number of small objects on the scene, as well as the time of day (due to the angle of the directional lighting mornings and evenings are more demanding for raytracing - longer shadows). We measured the performance of the game while using our standard rasterization techniques (Horizon Based Ambient Occlusion (HBAO) and Percentage-Closer Soft Shadows (PCSS)), the raytraced ones (RT shadows, RTAO), as well as combinations between these two groups. The results are as follows:


Sample scene 1


Sample scene 2


Sample scene 3


Sample scene 4

SAMPLE SCENE 1
SAMPLE SCENE 2
SAMPLE SCENE 3
SAMPLE SCENE 4
HBAO + PCSS
349 FPS
209 FPS
194 FPS
157 FPS
RTAO + PCSS
299 FPS
195 FPS
207 FPS
163 FPS
HBAO + RT SHADOW
343 FPS
201 FPS
190 FPS
160 FPS
RTAO + RT SHADOW
290 FPS
170 FPS
146 FPS
125 FPS

Taking the HBAO + PCSS performance as a baseline, we can see that enabling either raytraced shadows or raytraced ambient occlusion on its own reduces the number of frames per second by anywhere from 30 to 40 percent. However, enabling both RT shadows and RTAO at the same time does not increase the rendering cost as much as one would expect. Instead, we observe a 10-25% further decrease compared to our baseline. The reduced cost of enabling the second raytracing technique is due to the fact that both raytracing techniques utilize the same acceleration structures and parts of the denoiser. Additionally, instead of carrying out all the steps for these two techniques individually, we carry out all the operations simultaneously, leading to much better performance.


Capture from the PIX profiler shows the exact timing of all the rendering stages for a frame. We aim to parallelize as many operations as possible in order to minimize the output time. Click the image for full resolution.

As mentioned before, the acceleration structure for raytracing is prepared with a 4-meter margin to account for objects that may cast shadows, but are located out of the camera frustum. This is relevant to raytraced ambient occlusion, as it sets the maximum sphere radius for AO raycasting to 4 meters. While working on this technique we tested it with various values of this parameter. The visual and performance results were as follows:



0.5m - 183 FPS
1.0m - 183 FPS
2.0m - 181 FPS
3.0m - 178 FPS
4.0m - 175 FPS

In the end, the performance gain from using values lower than 4 meters was negligible. On the other hand, the visual fidelity gained from the extra raycasting range proved to be big enough for us to choose the maximum value as our default.

Conclusion and future work
This is not the end of our work on expanding the raytraced rendering capabilities of the Schmetterling engine. We see great potential in researching tile-based adaptive light shadow calculation to support a much larger number of dynamic shadow casting lights on screen. Another area of our active research is also in adding support for a hybrid combination of raytraced and screen space reflections. We will be sure to share the results of our work in these fields in the future.

We feel that the raytraced shading techniques will continue to develop. As more hardware manufacturers and software developers start adopting these techniques, new optimizations will follow, reducing the performance cost. We think that we are still at the beginning of this new era of real-time computer graphics rendering. Raytracing has the potential to replace the traditional rasterization approach and become an industry standard in a couple of years. If it does, then gamers around the world are in for a treat, as more and more titles release with the level of graphics we could have only dreamt about just a couple of years before. Until then, there is still much work to do and we are glad to have made our contribution to this process.

Acknowledgement
The raytraced ambient occlusion implementation in The Schmetterling engine has been developed by Andrzej Czajkowski at EXOR Studios. We would also like to thank the great team of engineers at AMD, with special acknowledgement to Marco Weber, Steffen Wiewel and Dominik Baumeister who helped us to optimize our implementation.
Feb 11, 2021
The Riftbreaker - voidreaver


Happy Spring Festival!



The Riftbreaker has managed to catch the attention of many players around the world, many of them from China. Even though there are language barriers between us, we do our best to stay in touch - with a lot of help from Surefire Games.

To celebrate this event, we are running a sale on all our previous titles - you can now grab X-Morph: Defense, Zombie Driver HD and their corresponding DLC packages - all at 80% off.

With the Chinese New Year Festival approaching we would like to thank you all for the constant support and wish you all the best in the coming year. May it be better than the last one!

Stay tuned for more exciting announcements this year!
EXOR Studios
The Riftbreaker - voidreaver
Hi!

The Steam Games Festival is here! Over the course of this week-long event, you get the chance to meet new players, chat with developers during live streams and find your next favorite game.
Give The Riftbreaker a shot - perhaps it is the one!



The Riftbreaker is a base-building, survival game with Action-RPG elements. You are an elite scientist/commando inside an advanced Mecha-Suit capable of dimensional rift travel. Hack & slash countless enemies. Build up your base, collect samples and research new inventions to survive.



The demo version of The Riftbreaker is a guided, single-player experience, meant to show and explain all the main features of the game. Step into the role of Ashley Nowak during her last mission before venturing into the unknown world of Galatea 37. Using your Mecha-Suit you will have to establish your base, secure your position and brave the wilderness of this alien world.



You can also take the scenic route and take a tour around Galatea 37. The handcrafted map built especially for the purposes of this demo hides many secrets and allows you to get a little taste of what you can expect in the full game. We left plenty of tech options unlocked for you to try out, too!



We also encourage you to join our Discord community to share your thoughts, feedback and bug reports (hopefully there won't be many!). The most active members of the community get access to The Riftbreaker Alpha version which includes the random generated Survival mode in which you fend off hordes of enemy creatures.



During the festival, we are going to stream live from our office twice (or maybe more, who knows?). We are scheduled to go live Thursday, Feb 4th at 6 PM CET and Saturday, Feb 6th, also at 6 PM CET. Join in and see one of the devs fail miserably, assisted by natural disasters brought in by the chat by the means of our interactive streaming features.

See you there!
The Riftbreaker - voidreaver
Hi everyone!

We are super excited to be a part of the Steam Games Festival. It’s a great opportunity for all of us to discover awesome games and get a little closer to each other as a community.

To celebrate this event, we prepared a demo version of The Riftbreaker for you to try. It will show you a lot of the features that you can expect from the final version of the game - giant robots, lots of weapons, swarms of angry aliens, building massive bases and, of course, thousands of explosions!



We would like to invite you all to a live stream from The Riftbreaker development build. We are going to play the Survival Mode, a long, randomized mission that will show you a lot of the features that are not available to the public just yet. You will also be able to influence what happens during the stream by voting on interactive options in the chat.

The stream will be featured both on The Riftbreaker Steam Store Page and our Twitch channel - www.twitch.tv/exorstudios. To take part in the interactive events, you must use the Twitch chat.

Join our Discord - most active users get access to the Closed Alpha build!



Useful links:
www.facebook.com/exorstudios
www.twitter.com/exorstudios
www.twitch.tv/exorstudios
www.youtube.com/exorstudios
The Riftbreaker - voidreaver
Hi everyone!

We are super excited to be a part of the Steam Games Festival. It’s a great opportunity for all of us to discover awesome games and get a little closer to each other as a community.

To celebrate this event, we prepared a demo version of The Riftbreaker for you to try. It will show you a lot of the features that you can expect from the final version of the game - giant robots, lots of weapons, swarms of angry aliens, building massive bases and, of course, thousands of explosions!



We would like to invite you all to a live stream from The Riftbreaker development build. We are going to play the Survival Mode, a long, randomized mission that will show you a lot of the features that are not available to the public just yet. You will also be able to influence what happens during the stream by voting on interactive options in the chat.

The stream will be featured both on The Riftbreaker Steam Store Page and our Twitch channel - www.twitch.tv/exorstudios. To take part in the interactive events, you must use the Twitch chat.

Join our Discord - most active users get access to the Closed Alpha build!



Useful links:
www.facebook.com/exorstudios
www.twitter.com/exorstudios
www.twitch.tv/exorstudios
www.youtube.com/exorstudios
The Riftbreaker - voidreaver


> TRANSFER COMPLETE.
> SYSTEM REBOOT REQUIRED. DOCK THE UNIT IN THE HEADQUARTERS.
> UPDATING… DO NOT UNPLUG YOUR DEVICE.


Mr. Riggs, Ashley’s mechanical companion has just received a software update! The new firmware version unlocks the full mobility potential of the unit, giving the user full control over thrusters and servos.

Ever since we gave you access to the Alpha version of The Riftbreaker you have only been able to use one movement skill - the dash. Don’t get me wrong - it’s a very useful skill. It allows you to get around the map quickly, close the gap between you and your target, or it can save your shiny metal hull from getting cornered and destroyed. You wanted more, so we got you more. Here’s what we came up with so far!


INFERNOOOOO!

First of all, the dash itself has received an upgrade. Apart from the regular one, available from the beginning of your adventure, you will now be able to research and craft elemental variants of the dash skill. These variants will leave a trail of fire, acid, or ice in Mr. Riggs’ wake, damaging all enemies that come into contact with it. It’s useful in combat and it looks cool as well. Who wouldn’t love to leave a trail of fire behind them?!



If you are tired of being stuck on the ground you can research and install this next skill - the Power Jump. In its most basic form, the skill will allow Mr. Riggs to jump several meters into the air and land in the target area, causing a shockwave that will do nasty things to all wildlife in the vicinity. Such a skill can be extremely useful, especially if some small animals, like Canoptrix, block your path to the more important and more threatening targets. With the jump, you will be able to ignore those little buggers and go for the big guys instead. Whether that’s a good idea or not is a different story. The Power Jump can be upgraded to utilize elemental damage as well!



If you are not a fan of such a direct approach to combat and prefer to play mind games with your opponents instead, let us present you with the short-range teleport. Much like the dash, the teleport allows Mr. Riggs to quickly move from one place to another. By utilizing the rift technology the process is almost instant and ignores physical barriers, meaning you can escape over a wall, for example. The drawback is that unlike in the case of the dash, you cannot damage your enemies while using this skill. On the other hand, you are invincible during the rift jump, giving you a brief moment of safety. You decide which one you prefer.


That awkward moment when your Power Jump turns into a jetpack... Ah well, fewer bugs to fix later on!

There are some other movement skills that we have been working on, like the classic dodge-roll. We think that by giving you access to a variety of moves you will be able to adapt Mr. Riggs to suit your playstyle a little more. With elemental damage as an added bonus, we could see the skill selection process to become an interesting metagame in its own right! Do you have any other ideas for Mr. Riggs’ movement skills? Let us know in the comments and in the feedback section of our Discord - www.discord.gg/exorstudios.

EXOR CORP. is not responsible for any damage that happens as a result of the pilot utilizing unauthorized software in their Mecha-Suit. Modifying the unit with unofficial skill expansion modules may void your warranty. EXOR CORP. denies claims that the Mecha-Suit AI may become sentient. Please contact your Mecha-dealer if your unit starts presenting any signs of individual thoughts.

P.S. Thank you for all the bug reports that you sent our way! We might not have been able to respond individually to each and every one of you, but we checked all the crash reports you sent our way. We managed to find a pattern in those crashes, and we believe we fixed at least one of them. We are pushing out the update right now. If you experienced crashes at startup while using DirectX 12, please check if the issues have been resolved. We will contact those of you with whom we spoke earlier and who helped us fix the problem.

We would also like the following people to contact us. Send me an email to piotr.bomak at exorstudios.com or contact me @voidreaver on www.discord.gg/exorstudios - your crash dumps are very helpful and informative and we'd like to have a way to speak to you :)

Squizle
Dak
Dave-Ayreon
Relykt
mand1as

EXOR Studios
Jan 22, 2021
The Riftbreaker - voidreaver
Riftbreakers! We need your help!

The December update for the Riftbreaker: Prologue was one of the major milestones for the project, as we added support for the DirectX 12 renderer. It allowed us to make use of cutting-edge effects and improved the way the game handles its operations on modern PCs.

Just like any other piece of software, this new solution had some bugs, but thanks to your bug reports we managed to hunt down and fix most of them. Most...

A couple of bugs still elude us (they happen about 1 time per 1000 game launches) and we can't seem to find the exact steps to reproduce them. We need your help to find them. That's why we are launching a worldwide bug hunt!



Here's what you need to do in order to take part:

  1. Make sure that your system is capable of running DirectX 12.
  2. Download The Riftbreaker: Prologue.
  3. Go to your Steam Library, find The Riftbreaker: Prologue and click 'play'. This is important - if you launch the game through a desktop shortcut you won't be able to complete the next step!
  4. Choose 'Launch Configuration Tool' from the box that appeared.
  5. Make sure that you've chosen the DirectX 12 renderer and launch the game. IMPORTANT: Do NOT turn on the DirectX 12 diagnostic mode!
If the game launches normally, you can't help us with this issue.

If the game crashes, you might be the person we are looking for. It might crash during loading or during regular gameplay. Try playing the game for some time.

When The Riftbreaker crashes we launch our Crash Reporter tool. It looks like this:



We need you to click the 'Stacktrace' button and make sure you got one of the following results:





If you got one of these two crashes you are on the right track. If they happen regularly, to the point where the game becomes hard to play normally, please contact us! You can send us an email to piotr.bomak[at]exorstudios.com, write a message to bug-reports channel on our Discord (www.discord.gg/exorstudios) or contact us through Facebook or Twitter. One of our programmers will work closely with you to find out what causes the issue and how we can fix it.



We will reward the people who help us find these bugs with Alpha access keys!

Naturally, if you encounter any other bugs, please send us reports and descriptions through the crash reporter.

We count on you!
EXOR Studios
The Riftbreaker - voidreaver
Hello everyone!

The Riftbreaker has always meant to be a great game for live streaming. Randomized content and the open-ended nature of gameplay mean that no two sessions are ever really the same and the game has the potential to remain fresh and replayable for a long time. Interactive streaming events make the experience even more interesting, giving the viewers an opportunity to make events happen in the game world through the chat-operated voting system.



Ever since we announced The Riftbreaker we have been streaming the latest development build twice a week, giving you the chance to check in on our progress and meet other members of the community. Streaming is also the most direct contact form with you. By going live we can chat about our plans, gather ideas, brainstorm, and get immediate feedback. However, not all of you have been able to join us live just yet because of the time zone differences. We would like to do something about that.



Starting next week, we are going to move the Thursday stream. The exact starting time will be determined by the results of this poll:

https://www.strawpoll.me/42466881

Please share this information with your friends and ask them to vote as well. The Tuesday streaming time will remain unchanged at 3 PM CET.



We realize that it is impossible to please everyone and set up a convenient stream time slot for all time zones, but perhaps shifting the show a couple of hours forwards or backwards will help you catch it more easily.



This is an experiment, of course. If it turns out to be successful, we can negotiate to shift the Tuesday stream as well. If we realize that things were better earlier we can always come back to the old schedule. It’s up to you, so click the link, cast your vote, and make your voice heard. If you have any additional comments or ideas, feel free to post them in the comments.

See you in the chat!
EXOR Studios
The Riftbreaker - voidreaver
Hello!

It is time to roll out the first patch for The Riftbreaker Alpha and The Riftbreaker: Prologue in 2021. This update is a rather small one, not bringing any new game content, but it has a couple of important fixes and changes.



Here’s what’s new in this update:

  • The Arachnoid Boss behavior has been rewritten entirely. It should no longer get stuck in certain poses and it should be able to fight the player more effectively.
  • The UI scaling for extreme aspect ratios (such as 32:9) has been fixed.
  • Users will now get notified when they are trying to connect to Twitch, but the service is unavailable.
  • New memory management system for DirectX 12. The game will default to the DX11 renderer on GPUs with less than 2GB VRAM to improve performance and stability. Systems with more or equal to 2GB VRAM will default to DX12.
  • The EXOR Crash Reporter will now feature additional information about modified or corrupted content.
  • A lot of crash and bug fixes.

And for those looking for even more info on the update, here are the unedited, uncensored, and sometimes illegible change commit messages:
  • Fix building radius staying forever on the map
  • fix crash in building system
  • fix crash in EquipmentSlotScreen
  • fix crash in CustomizeControlsMenuScreen
  • moved section 'RemoveBlockedUnits' after the BroadPhase is finished
  • Twitch : fixed crash on getaddrinfo failed
  • added GameStreamingError::GSE_PLATFORM_CONNECTION_ERROR
  • fixed render system resource cleanup
  • deleted microsoft d3dx12residency manager
  • new simple residency manager
  • batched execution of command lists
  • D3D11: implement multi _executeContext
  • AudioLoader: fixed crash on corrupted audio file
  • Added ConsoleService:Write(txt)
  • added popup "gui/menu/streaming/connecting_error" on ExorGameStreamingGSE_PLATFORM_CONNECTION_ERROR error
  • fixed SpawnEarthquake and SpawnAcidFissures methods
  • Extended ZipArchive and AudioFileOgg logs
  • Increased VfsZipArchive DecoderPool count
  • AudioFiles: fixed code format
  • VfsZipArchive: added debug log messages
  • VfsZipArchive: fixed small buffer 'SEEKING_DECODING'
  • RenderSystemCapabilities: log available display outputs
  • Config: do not log commented out lines
  • LogService: fix mismatched quotes
  • DebugSystem: fix crash in `r_show_collisions` when passing invalid physics group
  • MapGenerator: harden PrepareTiles
  • CrashHandler: forward content modified flag to CrashReporter
  • CrashReporter: add content corruption warning
  • CrashReporter: update wording
  • WaveSystem: temp add IsAlive check
  • D3D12: add support for stretched-scaling modes in GetSupportedVideoDisplayList
  • added NSight Aftermath crashdump library support
  • Fixed crash in SynchronizeBindings/AugmentButton (90ab94d3-4a35-4732-af00-87c4b2e6a6ae)
  • VfsZipArchive: testing support of local header extra fields
  • arachnoid boss state machine upodated to the new animation graph
  • TimeOfDaySystem: fix SetTimeOfDay/IncreaseTime/DecreaseTime
  • Gui: added GuiScaleMode::STRETCH_OPTIMAL
  • Gui: fixed horizontal viewport aspect scaling with GuiScaleMode::STRETCH_OPTIMAL
  • GuiUtils: added ScaleToSqueezedAxis helper function
  • Gui: fixed GuiSystem scalling
  • Gui: scalling HudDialogs with GuiScaleMode::STRETCH_OPTIMAL
  • HUD: fixed scale/size on ultra wide displays (action menu, augments menu)

Good luck deciphering what the programmers meant!
EXOR Studios

Jan 13, 2021
The Riftbreaker - voidreaver
Hi everyone!

Well-rested and pumped up for what’s to come, we are back from our holiday break! We hope you also had a chance to get some much-needed rest amidst all the chaos of the past year. Even though we spoke about our plans for 2021 already, we would like to bring you up to speed with what’s happening in the studio at the moment and what our short-term goals are.



First of all, the work on the campaign mode for The Riftbreaker is going really well. We keep improving on our initial design and introduce new ways to interact with the game world. It is an iterative process. It means that we prepare a prototype of a mission or a mechanic, play the game with that prototype enabled, take note of what is working and what isn’t, and then make changes. We even came up with some cool ideas on how to improve the campaign experience over the holiday break, but they have to remain a secret for now.



We are also expanding some of the game mechanics. Those of you who follow our Discord and the daily changelogs (www.discord.gg/exorstudios) already know about the new types of defensive towers that we added. The Riftbreaker arsenal now allows Ashley to make use of Minigun Towers, Laser Towers, Heavy Artillery… These new toys will most likely get their own spotlight article in a couple of weeks, but if you can’t wait to find out about them you should join our streams at www.twitch.tv/exorstudios.



That is actually the next thing we want to talk about - streams. Starting this week, we will stream twice a week - that doesn’t change. However, we received some signals that our usual time schedule - Tuesdays and Thursdays at 3 PM CET - could be improved. We are aware that we won’t be able to suit everyone, given how many people in various timezones follow us, but we could try to change the date of at least one stream per week. We’re waiting for your suggestions in the comments and on the Discord!



Our regular development updates are also coming back this week, so you can expect articles about the latest improvements we made to The Riftbreaker at least twice a week. One of the articles coming in the next couple of days is a deep dive into the raytraced ambient occlusion technique that we introduced with our DirectX 12 patch. There are a lot of interesting details in that one, so stay tuned! If you have some ideas or suggestions on article topics, please let us know.



There we go - we’re all up to speed with what’s going on. If you have any additional questions, suggestions, or requests, post them in the comments or on our Discord. We will make sure you get your answers as soon as possible.

Happy New Year folks, it’s the final stretch!
EXOR Studios
...