1. The Riftbreaker
  2. News

The Riftbreaker News

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

Overview of the new weapons from World Expansion II

Hello Riftbreakers!


Now that the dust has settled after the release of the second World Expansion for The Riftbreaker and Into the Dark Story Expansion, we can finally come back to our classic developer blogs. Some of them will be more technical, while others will talk more about gameplay and design. Today’s article belongs to that second category. We will have a detailed look at all the new weapons that made their way into the game with the latest updates. If you have not tried them out yet, this one is for you!



[h3]Pickaxe[/h3]

Designed with the Crystal Caverns biome in mind, the Pickaxe is a melee weapon that deals area damage in a cone shape in front of the Mech. That allows you to dig through walls quickly but has a sweet side effect - you can use this melee weapon just like a short-range gun. Depending on your playstyle, you may find the Pickaxe to be the optimal choice for a melee weapon for other biomes as well.



[h3]Bouncing Blades[/h3]

This fun weapon will allow you to take advantage of the narrow corridors of Crystal Caverns biome. Bouncing Blades shoot out spinning disks at a very high velocity. The spin of the disk allows it to bounce and ricochet off walls several times, slicing through the enemies several times. The alternative fire mode also allows you to charge the launcher up with several disks at a time. Then, they are unleashed all at once, resulting in a delightful salvo of spinning death blades. Oh, and did we mention that they are covered with acid, corroding anything they come in contact with? Well, now you know!



[h3]Shard Gun[/h3]

This weapon is the reward for completing the Into the Dark storyline. It is essentially a machine gun that weaponizes some of the crystalline structures found in the Crystal Caverns biome. The weapon synthesizes the crystal structure of very brittle minerals that Ashley and Mr. Riggs discovered during their visit to the cavern system below the surface of Galatea 37. Combining the crystals with traditional, low-caliber bullets results in a deadly combination. Projectiles fired from the Shard Gun split into razor-sharp pieces and pierce through the enemies. The shards split from the original bullet can deal damage to more enemies, giving you the power to mow down hordes quickly. Additionally, the crystals give bullets cryo properties, meaning that enemies hit with them will be slowed down significantly.



[h3]Sonic Fists[/h3]

Sonic Fists are an ‘underground’ alternative to the standard Power Fists known from the original Riftbreaker. However, there are a few key differences between the two. Instead of relying on energy damage and very fast attack speed, the Sonic Fists deal physical damage at a slightly lower rate. They make up for these small disadvantages with a much higher power level and the shockwave they create with each attack. The shockwave allows you to keep a little bit of distance from your targets, making them easier to use and even viable as a multi-target weapon.



[h3]Immolator[/h3]

This is the favorite weapon of every home-grown pyromaniac. Not only does it shoot explosive projectiles made of molten lava, but it also sets everything on fire afterward. Immolator also has an alternative firing mode, which shoots a much bigger projectile that explodes into a sizeable ring of fire after hitting an enemy. This weapon is especially useful in situations where you are fighting a group of smaller creatures accompanied by a couple of ‘tankier’ friends, like Gnerots or Krocoons. Since Immolator deals fire damage, it will get around resistances of most creatures outside of the Volcanic Area biome.



[h3]Spewers category[/h3]

Fire, Cryo, and Acid Spewers are brand-new takes on weapons utilizing liquid ammunition. They shoot out balls of a gel-like substance that do not deal impact damage. Instead, the gel splashes all over the area of impact and stays on the ground. Enemies that come into contact with the gel take damage and get affected by additional elemental damage effects - they are slowed down in the case of Cryo Spewers and get set on fire in the case of the Fire Spewer. This type of weapon is very effective when fighting against large groups of smaller creatures, as the substance stays on the ground for a considerable time. It allows you to essentially form a barrier against such creatures wherever you need it. Spewer weapons reward quick decision-making and predicting where the creatures are most likely to swarm you.



[h3]Floating Mines category[/h3]

Floating Mines have been a part of The Riftbreaker arsenal for a long time. The weapon allows you to place mines in rapid succession in a large area at a low ammo cost. However, the mines have a limited lifetime, meaning that you can’t simply cover the entire area of the planet with mines and call it a day. This requires the players to adopt a playstyle that focuses on predicting where the enemies will attack from and luring them into traps. Given that our latest expansion takes place in the Crystal Caverns biome, you spend the majority of the time navigating narrow tunnels and passages, giving you plenty of opportunities to set such traps. In World Expansion II we expanded the Floating Mines ‘family of weapons’ with more models, each utilizing a different element and allowing you to take advantage of the weaknesses of various species of Galatena Fauna. Now we have a full set of Floating Mines that can deal Acid, Fire, Gravity, as well as the classic Area damage. Each type of mine has its own set of effects, allowing you to easily distinguish between them on the battlefield. Plus, they actually float in the air now! Give Floating Mines a try if you haven’t done so before.

What are your thoughts about the types of weapons introduced in World Expansion II? Are any of them too strong or too weak, in your opinion? What kind of weapons would you like to see in the future? Let us know here in the comments, on our Discord at www.discord.gg/exorstudios, or our suggestion board at riftbreaker.featureupvote.com! We’re curious to hear what you think!

EXOR Studios

Get The Riftbreaker at 40% off!

[h3]Hello![/h3]

To celebrate the Steam Summer Sale, The Riftbreaker is now available at 40% off. Step into the role of an intrepid scientist/commando in an advanced Mecha-Suit and prepare the planet Galatea 37 for colonization. Fight endless hordes of aggressive creatures, create intricate bases and invent new technologies to survive in this strange new world.



https://store.steampowered.com/app/780310/The_Riftbreaker/

You can also pick up the Complete Edition of the game, which contains both of the Story Expansions currently available for the game: Metal Terror and Into the Dark. Both of them will take you to undiscovered regions of the planet, where your combat and base management skills will be tested in completely new environments.



https://store.steampowered.com/bundle/26959/The_Riftbreaker_Complete_Pack/

And if you're still unconvinced if The Riftbreaker is the right game for you, check out the free Prologue here:



https://store.steampowered.com/app/1293860/The_Riftbreaker_Prologue/

Have fun scouting Galatea 37!
EXOR Studios

Modding Contest Results!

Hello Riftbreakers!


Today we are taking a moment to celebrate the skills and creativity of our modding community. Three months ago, we announced The Riftbreaker modding competition in cooperation with mod.io. Contestants could submit their creations in two categories - Custom Maps and Game Modifications. Our goal was to improve the popularity of modding in The Riftbreaker as well as to reward the most dedicated members of our modding community.

We chose a shortlist of candidates based on our assessment of the mods they submitted. If you haven’t seen it yet, the shortlist is available in this news article. Two weeks ago, we started a public vote so that you, the community, could decide who the winners should be. 375 people cast their votes.

[h3]Without further ado, here are the results:[/h3]



  1. [h2]Expanded Arsenal by WirawanMYT with 72,8% of the votes[/h2]
  2. [h2]Distributed Force by Piisfun with 16,3% of the votes[/h2]
  3. [h2]Galatea Challenger by LikewiseHH with 10,9% of the votes[/h2]




  1. [h2]MegaPack by frognik with 51,2% of the votes[/h2]
  2. [h2]Corrosive by akee3 with 30,1% of the votes[/h2]
  3. [h2]Arctic Map by molch1 with 18,7% of the votes[/h2]


Voting results from the Google Form:





[h2]Congratulations to all the winners! [/h2]

[h3]1st place in both categories takes home a custom-built PC with The Riftbreaker artwork printed on the case. [/h3]


[h3]2nd prize winners get a Radeon RX 6800 XT graphics card. [/h3]


[h3]3rd place winners will receive a care pack with EXOR Studios goodies and gadgets. [/h3]


We will contact all the winners by e-mail and ship the prizes within 14 days of confirmation of all the shipping details.

Thank you everyone for participation and creating all these great mods for The Riftbreaker. If you’d like to try out these mods, please visit the Mods tab in the game’s main menu and give them a shot! Thank you to mod.io for the support and the platform as well!

This is not the last contest we will be organizing, so stay tuned for more! Join our Discord to stay on top of all the news about the game and our studios - www.discord.gg/exorstudios.

See you next time!
EXOR Studios