1. The Riftbreaker
  2. News

The Riftbreaker News

Summer Update Experimental Build

Hello Riftbreakers!


We have just updated the experimental branch with the latest build that contains our Summer Update. It adds a multitude of new cosmetic item sets that will allow you to personalize your bases and give them a slightly different feel. The patch also addresses some bugs and things that we glossed over previously. The full changelog is available below.

This update is (most likely) incompatible with any current mods. Please remove all mods before playing. MAKE SURE TO MAKE A BACKUP COPY OF YOUR SAVE FILES! Make a copy of 'The Riftbreaker' folder from your documents and keep it safe.

[h3]With all these warnings out of the way, here’s how to access the experimental branch:[/h3]

  1. create a backup copy of your save folder (Documents/The Riftbreaker)
  2. disable Steam Cloud save backup for The Riftbreaker
  3. go to your Steam Library
  4. right-click on The Riftbreaker
  5. select 'Properties,’ then 'Betas,’ and use the following password: IknowWhatImDoing


After that, you will be able to choose 'experimental' from the drop-down menu. Download the update, play the game, and let us know if you encounter any issues. We also have a channel on our Discord: #rb-experimental-feedback - we highly encourage you to join in and share your feedback.

[h2]The Riftbreaker World Expansion II Experimental Summer Update Changelog:[/h2]
  • Added a new set of decorations: Sci-Fi Structures. They come in three sets with different colors. You can unlock each color set individually by completing Desert, Acid, and Magma branches of the Story Campaign.
  • Added a new set of decorations: Crystal Structures. They come in five sets of different colors. You are awarded one color set after completing Survival Runs - one after each biome, except Crystal Caverns.
  • Added a new set of decorations: Crystal Floors. They are available in 5 different colors. Each color is unlocked individually through Bioanomaly drops.
  • Added a set of new decorations: Crystal Lamps. They are available in various colors. The entire set is unlocked after completing Crystal Caverns Survival.
  • Added a set of new decorations: Future City. This set includes street lamps, vending machines, arcades, fences, billboards, and advertising boards. The entire set is unlocked after completing the main branch of the Story Campaign.
  • Added Crystal and Laser Gates of all levels to match their corresponding wall sets.
  • Changed the sound effects for discovering new species and completing research to differentiate those events from objectives appearing on the HUD.
  • Updated Intel XeSS to version 1.2 - improved image quality, reduced upscaling artifacts
  • Fixed an issue that caused some Floating Mine launchers to place mines of the wrong type.
  • Fixed an issue that caused Wall ruins to appear too tall and could be mistaken for being intact.
  • Fixed teleport exploits on the Anoryx Worm boss arenas
  • Fixed the lighting on some Boss level tiles
  • Tweaked the Dust Storm and Fog weather events to work better with volumetric fog.
  • Tweaked the lighting effects on some props to work better with the volumetric fog.
  • Minor fixes and optimizations.

Energy Pylon Technology

Hello Riftbreakers!

With each of the World Expansions we release, we try to address some of the problems and quality-of-life concerns you tell us in the comments and on our Discord. One such issue was the lack of technology that would allow you to supply your smaller outposts with power from your main base. We decided to give you the tools to fix that problem in World Expansion II. Let’s talk about Energy Pylons today and why we decided to intervene in this case.



Before the introduction of the Energy Pylons technology, the only way of powering outposts using your main grid was by building long power lines using energy connectors. It was not the most convenient solution. Sometimes, a random pack of Kermons (or any other aggressive creatures) would get absolutely enraged by the mere presence of your connectors in their territory and go on a power line-killing rampage. Then, you would have to go and look for the exact spot where the line got broken and repair it manually. Because such things happened quite often, you could feel like your power lines need constant babysitting. That’s a play pattern that we would rather avoid.



Some players chose to make their outposts independent. They built localized power grids to support both factories and their defenses. This solution requires a lot more work and resources since you need to protect everything you’ve built from any creatures that might come knocking at your door. Even then, having many disconnected outposts might be a liability. If you are unlucky enough and an attack wave finds your small outpost on its way to your headquarters, a basic defensive setup might not be sufficient, and installing advanced towers is often not an option due to energy requirements.



The Energy Pylon technology allows you to have the best of both worlds. This structure allows you to connect to the main power grid of your base regardless of the distance on the map. You simply set up one Pylon in your main base and additional ones wherever you want to receive the power. All buildings that you connect to that secondary Pylon will automatically draw power from your main power grid, allowing you to set up an outpost with all the necessary facilities and all the defenses on top of that without worrying about the power. This makes outposts much smaller in size and easier to defend since even the most expensive towers, like Laser Gatling Towers, drawing 500 energy per second or more, will become a viable option.



This technology is also very convenient when the building space is limited. Energy Pylons do not care about any obstacles between them, allowing you to use them even in areas with tall cliffs, trees, or even underground. They are a great way of powering up distant resource factories in the Crystal Caverns biome. Best of all - there is absolutely no limit to how many Pylons you can place. You can build up new ones wherever you want. Just make sure to have enough power generation going in your main base, as the upkeep cost can ramp up pretty quickly if you are not careful. Energy pylons use up quite a lot of power themselves, and placing them is an investment. You don’t want your investment to go down in flames, don’t you?

What do you think about Energy Pylons? Do you think they are priced well? Should we consider any improvements? Or perhaps they’re too powerful? Let us know in the comments. We’re also waiting for your feedback and ideas on our Discord server at www.discord.gg/exorstudios. See you there!

The Riftbreaker Maintenance Update, 24th of July 2023

Hello Riftbreakers!


We have just published a small patch containing fixes for issues reported by the players. This version of the game contains a large portion of the game's code refactored with multiplayer in mind. While the co-op update is still away, we want to get that code out to players ahead of time.

[h3]The Riftbreaker Maintenance Update, 24th July 2023. EXE: 839 DATA: 446. Changelog:[/h3]
  • Fixed an issue that caused some units to ignore the player or disappear completely in the NavMeshMovementSystem flow fields generation. Flowfields don't cull cells if the distance is too large. Before the fix it took the lowest possible collision, which generated problems if we had terrain underground.
  • Fixed creature spawn in liquid volume spawners that overlapped terrain e.g. in the Morphium Lakes mission.
  • Improved the GraphicsCmd memory allocator, resulting in lower GPU memory usage.
  • Added LifeTimeComponent to fallen tree trunks, making them disappear after some time.
  • Fixed an error that caused dialog texts not to scroll in some languages.
  • Fixed a problem in TransformSystem that caused the player's weapons to sometimes spawn in the 0,0 location.
  • Fixed a crash in GUI when displaying a certain font style.
  • Fixed a crash in GuiScrollList::CreateButtons method.
  • Fixed an issue that prevented players from accessing the Mods menu due to a text popup about Mod.io integration.
  • Fixed problems with in-game videos threading.
  • Fixed an issue that caused the TimeOfDay system to get desynchronized when jumping between maps, causing all lights to be off at night.
  • Modding - moved all DLC2 boss content from the DLC2 package to the main package to make it available for modding.
  • Optimizations and fixes for many small elements of the game and its engine.
  • Reduced the install size of the game by about 500 megabytes.


EXOR Studios

Co-Op Status Report, July 2023

Hello Riftbreakers!


Once again, it’s time to share some news about the development of The Riftbreaker co-op mode. When we released the last article, we told you about the major breakthrough that allowed us to test this game mode with more than two players simultaneously. We told you our next optimization targets and how we aimed to reduce the data transferred between the game’s server and its client PCs. This time we will tell you what we have been doing over the past few months, what improvements we made, and what comes next.

Our previous articles are available here:
https://store.steampowered.com/news/app/780310/view/3381659291157676103?l=english
https://store.steampowered.com/news/app/780310/view/3701435238673426124?l=english



[h3]EntityComponentSystem Optimizations[/h3]

Much of our work has gone into optimizing the EntityComponentSystem, or ECS, for short. It is responsible for storing data about all in-game objects. The properties of almost everything you see in The Riftbreaker are stored within the ECS structures - the amount of HP enemies have, the light emitted by particles, the destruction system of buildings, and many more. It is a genuinely massive part of the game, so it is no surprise that we can find many places to improve within its code. Our current form of ECS in the game has been created with single-player gameplay in mind. The data for all entities are stored at all times. When an entity is visible or otherwise relevant to the gameplay, it is held in memory for immediate access. If an object is temporarily not used for any calculations, its data is packed and kept for later reference. The Riftbreaker is a huge game, so the amount of data the ECS has to handle is quite substantial. As we told you last time, large data structures are not desirable for multiplayer, where every byte of transfer and every millisecond count.

Thus we began the great work of rewriting the EntityComponentSystem, one component at a time, to optimize it for co-op scenarios. We have been working tirelessly, deciding which components have to stay on the server and be synchronized with the client PCs and which elements can remain solely at the client PC’s discretion. As we told you last time, we aim to keep things that are irrelevant to the gameplay state on clients only. However, with as many as 291 components to check, verify, and potentially rewrite, it still is a massive undertaking. However, we have made a lot of progress already, and we are sure that we will be able to enjoy the benefits of it very soon.



[h3]Minimap Rework[/h3]

One of the main problems we encountered while playtesting the Riftbreaker in co-op mode was something that you could see during our dev streams (yeah, we stream co-op gameplay fairly regularly! Tuesday and Thursdays, 3 PM CEST at twitch.tv/exorstudios. Co-op streams don’t happen every time, but we try to show off our progress as often as possible.) was the broken minimap. The map would only show the player what they discovered themselves. Whatever your co-op partners found or built would not show up until you went there by yourself. Moreover, some objects outright refused to show up entirely - for example, resource deposits. This seems like not a big deal, but in reality, it made terrain orientation really tricky. It was also almost impossible to tell where attacks would come from, as their markers did not show up either. The only means of communication and marking places of interest was placing Rift Portals. While placing Portals next to valuable spots is generally okay, more was needed for players to enjoy the game.

With that in mind, we decided to rework the minimap from the ground up. The new minimap will collect data individually gathered from all players, combine all information into one on the server and then distribute a copy for each player. This way, we can ensure that every party member has access to the same knowledge at all times, making coordination and planning much more manageable. Reworking the minimap system also allows us to introduce performance optimizations. The minimap might not be the most breathtaking feature, but it’s resource-intensive. Every object marked on the map is a separate draw call for the GPU. With thousands of units, hundreds of bullets, and dozens of buildings appearing simultaneously, the cost of rendering the minimap grows quite drastically. Luckily, now is when we can make significant changes and reduce the strain on your PC’s resources.



[h3]The Sound of Silence[/h3]

When it came to sounds in our early tests of The Riftbreaker’s multiplayer, the experience was hit-and-miss. During one session, you would hear all sounds playing back fine, and during others, nothing. Sometimes, you would hear sounds only if another player was hanging around in the vicinity of your screen. The problems resulted from the way we handled spatial sounds. The implementation was fine - but again, it was made with single-player gameplay in mind. Here’s a short breakdown of how the sound system in The Riftbreaker works and what we did in order to fix the problems we encountered.

We used so-called ' ears ' to simulate the effect of various sound effects coming from different parts of the screen (or entirely off-screen). Think of those ‘ears’ as a set of microphones attached to the game’s camera, each recording the sounds from the direction it is facing. When a sound is being played, we check whether it can reach one of the ears. Then, the sound’s distance from the ear would determine its volume and placement in the dimensional mix of the entire soundscape of the game. It is also worth noting that the mixing algorithm depends on a user’s sound system - it’s different for stereo headphones and for a 7.1 surround sound setup. In a multiplayer setting, the information coming from the ears of all the client machines mixed and resulted in various errors. The solution that we used in single-player was clearly insufficient.

To combat this issue and reduce unnecessary data transfers, we decided to handle sound information on the server side and send complete sound mix information to the client. Based on the position of each client’s ears, the server prepares information about all the sounds that should be audible for that player and sends it as a complete set of instructions. The only thing that’s left for the client to do is to play back the sounds from the disk. This means we won’t have to play with no sounds during our Twitch streams soon!



[h3]TurretSystem[/h3]

While looking for potential candidates for further optimizations, the TurretSystem caught our attention. This system handles all the operations of defensive towers you place in your base during your gameplay. It takes care of aiming, shooting, and checking if enough ammo or energy is available for the tower to take a shot. We discovered that the calculation costs related to this system rose unexpectedly high when the player had many towers in their base. We expected the system to take up more resources for huge bases with hundreds of towers, but the numbers we saw did not match up with our calculations. We dug deeper.

Upon further investigation, we found out that the TurretSystem was optimized well, and we did not spot any immediate errors or places where we could make improvements. Clearly, it was not where the problem lay. Then, we decide to check all the systems that interact with turrets. This is finally when we got to the root of the problem. It turns out that the ResourceManager, the system that was responsible for checking if the towers had enough ammunition to operate, would take up as much as 10 milliseconds of calculation time per frame due to a bug. This problem was introduced when we refactored the resource system to handle resources appropriately for multiple players (e.g. each player’s ammunition is handled separately). When we fixed that bug, the time dropped from the dreadful 10ms to a much more reasonable 0.4ms. This is a great example of how expanding the game engine to support multiple players can drastically decrease performance and what we have to do to combat this type of problem. While working on adding multiplayer support, one of the most difficult, most time-consuming, and always ongoing tasks is to optimize the code in such a way that it runs at least as fast as single-player code.



[h3]Saves Work Too![/h3]

One more thing that we have been working on is the save system. After a couple of hard weeks of work, we implemented our first version of this system into the co-op version of The Riftbreaker. In its current form, it is quite simple and far from what it will be in the final version - please bear that in mind. Currently, the server saves only the state of the world and the ongoing missions. It does not store any information about the players, meaning that when we load a saved game on the server and connect to it with one of the clients, we are treated as a completely new player. Saving player progression and establishing an interface for reconnecting players is something that is still left to be done..

One of the main problems with testing unfinished products is the lack of stability. The server can crash anytime for any reason, ending our playtest on the spot. While some crashes happen 100% of the time, and there is nothing we can do about them apart from fixing them, others occur randomly. When you test software, you want to avoid being held up waiting for a fix to an issue that does not occur 100% of the time. While we can’t load player progression at the moment, even the current state of save/load implementation is of great help to us during development. If a crash occurs, we can simply come back to the latest saved game state and try again. If we crash again, we have a great way to reproduce a bug and make it easier for a programmer to track it down. If the game doesn’t crash, we can continue looking for more potential issues and speeding up our work.

There’s still a lot of work remaining to get the save/load system to where it needs to be, but we can already claim a major milestone as the core of the mechanism is already functional.



[h3]Conclusion[/h3]

Over the course of the past few months, we managed to complete quite a few tasks and reach milestones we set for ourselves on our road to a functionally complete multiplayer build. Our programmers have laid the groundwork for the introduction of new technologies and optimizations that we have been planning for The Riftbreaker.

We have already mentioned the first of them in this article - the general-purpose optimized octree finder algorithm. An octree is a data structure where each node of the tree has exactly eight subnodes. Those subnodes can be divided further and further into more nodes. Octrees are an extremely useful tool when dealing with large, rather unorganized data sets. Dividing the data into smaller subsets significantly speeds up queries. We are currently making improvements to our current general octree search implementation that will allow us to see significant gains in various areas - both data transfers and performance. The new optimized octree organizes entity data into linear structures based on their spatial positioning. Most spatial entity queries look for entities that are close to each other, so having them close to each other within memory improves read speed and reduces CPU cache misses. Furthermore, the new algorithm is capable of returning entity component data along with the entities that are the result of the original query. Our current implementation has to divide that into separate operations, which is quite expensive. The new algorithm is very promising. However, we have to propagate its usage along all of our in-game systems to reap the benefits. It is one of the major tasks that are ongoing at the moment, and we hope to be able to report the results to you soon.



Another ‘big thing’ our programmers are working on is an entirely new dependency system within the EntityComponentSystem. Right now, when two entities make use of the same data, each of them has to create a copy of that data for ‘personal’ use, essentially wasting memory. While we are talking about sub-kilobyte numbers here, this number quickly adds up in a game like The Riftbreaker, where we often deal with hundreds of thousands of entities on one map. With this new system in place, entities will be able to share data with each other without the need to make a copy beforehand. This will reduce the amount of RAM needed by the game, make data reading quicker, and will positively impact the network transfer volumes.

We know that most of you would only like to hear the answer to a single question - when is coop going to be ready? The honest answer is that we don’t know yet. Looking back at the amount of work that we’ve poured into the online co-op, we can easily say that it already equals making a small game, and there’s already quite a bit of work to be done and a lot of unknown factors at play.



Our “immediate” goal is to achieve a stable multiplayer build with most of the game’s single-player functionality working in multiplayer through a local network. The biggest tasks that are required to achieve this milestone is - improving multiplayer CPU performance, reducing data transfer, and achieving full stability and feature parity.

As you can see, we have a clear vision and plans on how to make the co-op mode in The Riftbreaker a reality. The only thing we are asking in return is patience - we are doing our best to let you play the game with your friends as soon as possible. If you want to monitor our progress closer, visit our Discord at www.discord.gg/exorstudios and talk to us! We’re here to answer all your questions. You can also check out our streams every Tuesday and Thursday at 3 PM CEST over at www.twitch.tv/exorstudios - we try to stream our co-op tests as often as possible.

EXOR Studios

An Overview of the New Towers from World Expansion II

Hello Riftbreakers!


Before the release of the last expansion, we didn’t have the chance to tell you about all the new features we have prepared for you. We will try to make up for that in the coming weeks. Last week we told you about all the new weapons we introduced to the world of The Riftbreaker in World Expansion II. New toys for Mr. Riggs are always high on your wishlists, and we are happy to give you plenty of them to choose from. Still, handheld weapons are only one part of the arsenal available to you on Galatea 37. Defensive towers you can set up in your bases and outposts are the second half of this puzzle. With the release of World Expansion II, we also had a chance to expand your possibilities in this area. Here are all the new towers that we added in this expansion and the reasons why we chose them.

[h3]Acid Spewer Tower[/h3]



This structure is a standalone version of the Acid Spitter weapon we showed off last week. Acid Spewer Tower is a mid-range, area-of-effect tower with a crowd control effect on top. It shoots acid projectiles that cover the battlefield with a sticky, acidic substance that slows enemies down and damages them. It is especially effective against large groups of small creatures, thanks to the fact that the acid pool stays behind for a couple of seconds. Even if a creature is not the direct target of the tower, it can still fall victim to the acid left on the ground. The tower serves as a middle ground between a Flamethrower Tower and a regular Sentinel Tower. It also fills in an important gap that we had in our defensive arsenal. Prior to the release of World Expansion II, we did not have any towers that dealt Acid damage to creatures. With this addition, you can take full advantage of Galatean creatures’ vulnerabilities.



Many of you let us know that you wanted to see more towers like the Heavy Artillery - giant, 2x2 cannons with incredible firepower. More than 800 people upvoted that idea on our suggestion board. What can we say - it’s a request we fulfilled with a smile on our face! (By the way, you can suggest more brilliant ideas there, the board is still open!)

[h3]Portal Bomb Tower[/h3]



When we decided that World Expansion II was going to revolve around the underground Crystal Caverns biome, we knew that we needed a new Artillery Tower variant. We couldn’t simply use the classic Artillery. First of all, we want to imply that the cavern ceilings are way too low for the Tower to lob a projectile in a traditional way. The second reason is that Artillery Towers would shoot everything in their range, even if there was a solid wall in the way. These two elements combined would completely break the feeling of traversing a network of caverns and tunnels. We needed to find another way to combat ranged creatures, especially those pesky Necrodons.



Portal Bomb Tower utilizes our signature technology we use to solve all problems and inconsistencies - Rift Portals. Thanks to this versatile tech, the tower can deliver a powerful, armed bomb right to the back ranks of the enemy forces. Thanks to the instant materialization of the bomb in its target spot, there is no risk that the projectile will hit an obstacle along the way. The new tower’s firepower is also significantly higher than regular Artillery but comes at a significant cost. Each bomb dropped from the Portal Bomb Tower takes ten units of explosive ammunition, so you have to build a strong economy to support them. However, in contrast to Heavy Artillery, they do not require a steady flow of plasma to work, so they are a great alternative if you do not fancy laying down pipes around your entire base.

[h3]Laser Gatling Tower[/h3]



This is another heavy hitter that will quickly deal with most of the large threats that might come hunting for you. While these towers require a significant amount of power per second to stay online, they compensate for that with no need for any additional ammunition to work. This tower shoots a rapid barrage of short laser bursts at a single target, allowing it to deal with heavily armed enemies with ease. However, it will lose a bit of effectiveness against entire hordes of creatures, as it takes some time to acquire its target. Still, nothing that can’t be fixed by adding more towers!



Laser Gatling Tower is an effective tool against Krocoons, Gnerots, or Drilgors - all the heavy hitters that can soak up the damage from regular towers with ease. You will also find it useful against medium-sized enemies with physical damage resistances. The energy upkeep cost may be significant, but the tower will keep shooting as long as you can provide the power for it. It makes it a little easier to maintain compared to Heavy Artillery and Portal Bomb Towers, both of which churn through your ammo reserves pretty quickly. This is the perfect middle ground between sheer power and ease of use.

What other kinds of defensive towers should we add? Would you like to see more small towers or just a couple of really massive ones? Let us know in the comments and on the suggestion board right here: https://riftbreaker.featureupvote.com/.

EXOR Studios