Greeting, Citizens ~
The power update has been finally released.
If you kept track with our last few dev blogs, you will already know how the majority of it works. We did change some features along the way to resolve the issues that were brought up and it might not be a bad idea to go through it once again.
There is an all new power system in this build. Old ships are still loadable and fully usable but the old power and its related blocks are disabled in shops, creative mode and factories. They can be re-enabled in the block editor if needed (set inShop to true) or you can still access them through the admin command /give “player_name” “block_name” if you’re an admin or in single player.
There is an option in the ServerConfig to completely disable the old power system should a server admin want that. It’s advised to not switch from allowed to disallowed and back again constantly though.
If old power is allowed, the system will detect which version to use based on the structure’s root entity (mothership, station or planet) and check if that has any old power blocks. All structures will be counted as “new” power until you place down an old power block at which point they will convert to the old system.
Anything that still uses the old power blocks, will stay like that till the very last old power block is removed. Make sure to clean out your old power before adding the new power components to your ship.
The main motivation to update the power system comes from a few basic issues that the old power system has.
Scaling of power versus the surface area of ships
Filling ships with power and systems is almost impossible to change afterwards without tearing it down completely
Additions of bigger features was hard on existing system
Consumption model was not consistent and didn’t scale well in terms of balance.
Implementation based on partly outdated code
Exploits to abuse power system mechanics
There is a lot more in this update than just the power system itself. Additionally, a change of this system allowed for a massive code overhaul of some very fundamental systems. Not only will that reduce bugs, it will also speed up the process of finding any remaining issues, as well as adding new features a lot faster, easier and streamlined.
Consider this update as a way to prepare the game to enter a phase of rapid development. A lot of foundation had to be made so that adding new stuff wouldn’t cause a problem in the end. While we could have skipped this step, it would have probably cost more time after just adding new features, so we went for the option to fix the foundations first, and then add new stuff, as well as finish other incomplete features.
The new power system is relatively simple but has a lot of depth if you are going for optimal building. However, it can be difficult if you build ships with the old power system in mind and expect similar results. Ships will perform similar as before, yet power regeneration and consumption values were changed drastically and simply can’t be compared easily with the old power system.
Our main goal was to make the power reactor components smaller, making sure that anything that uses power is also kept at a relatively small size.
The only way that this is possible, is if there isn’t a reason to fill up a ship with it. We went through a lot of iterations like restrictions compared to dimensions as well as mass, but all of these had major problems that would enable players to just circumvent the restrictions and fill a ship with systems regardless. Our system should be working with as few special cases as possible.
Reactor <-> Stabilizer
The system we went for is a combination of two blocks:
The Main reactor block
The Stabilizer block
The idea is that a reactor needs to be stabilized beyond a certain value to function properly and that the stabilizer blocks have to be a sufficient enough distance away of the main reactor to be effective. That distance is measured from the stabilizer block to the approximate shape of the main reactor.
The bigger the reactor, the more stabilizers you need and the further away from the reactor they need to be. This puts a minimum span on each reactor size, ensuring that a ship cannot be filled up with reactors entirely.
You get 10 blocks worth of free stabilization for any reactor, so that really small reactors don’t need any stabilization blocks to function. Small ships can be a little bit more compact, as you also need to protect 1 less vital component on your ship.
A reactor is fully operational with a stabilization of 25%, however there is a risk to that. A stabilization below 100% will cause the reactor to suffer from damage penalties. From very little at around 99% up to three times damage taken from all weapons at 0%. The concept of building with low stability is very risky but can of course have high rewards.
Additionally, there is a non-physical connection between your stabilizers and your reactor. A stream can be hit by any weapon projectile, and apply a temporary power regeneration nerf to the reactor. The duration of this nerf depends on the amount of damage that passes through the stream. Protecting these streams is just as important as protecting your reactor and stabilizer components, not only from enemy ship fire, but also from boarding parties.
A stream’s path can be bent and redirected with one or more Stream Node blocks. These blocks can be connected to each other to build a custom path by linking with C + V. Any stabilizer group will connect to the closest Stream Node and follow its path back to the active reactor.
Another important goal was to update and make power consumption more consistent. All power consumers now consume power over time and not instantly on use. This means that there is no instant power drop, and significantly reduces the need to have large amounts of power in storage.
All weapons now consume power when reloading. They also require a lower amount of power per second to keep themselves loaded, as they lose charge over time. If you can’t provide enough power to reload, the weapon will just reload a bit slower. It will only appear discharging if you cannot provide the lower “resting charge”. This means that you can now build weapons far bigger than your reactor technically supports, which will make for some interesting gameplay decisions.
Usable modules like thrusters will, like the old system, only consume power when in use. Some modules that are only active for a certain duration, only require power to charge it up and none when it’s active.
Power Consumption Priority
Additionally to this new consumption system, you can now also customize the priority in which power is consumed. You prefer being able to fly and having shields over your weapons recharging? You can set that now by just dragging your preferred priorities in the new power reactor panel.
One major problem of the old system was the way it handled rails and system inheritance. This is now streamlined and pretty straight forward: Only the mother ship’s reactor can be active. Its docks and turrets are also part of the priority list so you can make sure that your turrets always get power if you want, or you can prevent them to consume so much power that you cannot maneuver anymore. A docked ship’s reactor will go back online once it undocks.
Chambers are an all new feature that will help specialize your ship for certain tasks. All stand-alone effects, all “one-block” functionality and some “one-group” systems have been incorporated into this system. Effect blocks can still be used as-is in combination with weapons, however it would be advisable to not use them too much as they will change within the weapons update. (more information will follow shortly)
The chamber system can be understood as a physical skill tree that is on your ship or station. As an example, while a weak version of the jump drive is now available by default, you can use the chamber system to make it possibly stronger and suit your needs. You can reduce its power consumption, increase its recharge speed, change functionality such as allowing it to hold multiple charges at the same time, etc. Each change, represents a node in the tree and which parts you want is up to you.
Other chambers now include cloaking and jamming. There is also now a way to set artificial gravity, as well as set warp gates to an arbitrary position in reach, that doesn’t even have to have a warp gate on the other end.
To build chambers, you have to place down the basic chamber type and connect it to your main reactor through a chain of touching Reactor Conduit blocks. After that you can select a specification in the Reactor panel or simply press ‘R’ on any reactor component to bring you to that menu. In there you can see how your chambers are currently connected with each other. You can specify what each chamber does.
Adding additional blocks to an already specified chamber will automatically increase that chamber’s size. The minimum size requirement for chambers to function, depends on the size of the reactor.
All of this system is based on a new feature we call the “Effect Config System”. The ECS was implemented to allow for any effect on an entity from any source. At the moment, the only source used is a ship’s own chamber tree, but in the future this system will be used for several other things, including changing sector/system/region conditions depending on where you are in the galaxy (for example nebulae disabling all sensors, etc).
We also implemented an easy to use GUI to mod it, as well as insured that it is very scalable as it syncs between client and server with only a few parameters.
Multiple reactors are possible and encouraged as not only do they provide a fail safe system, they also enable ships to carry multiple sets of chamber trees and of different sizes. Stabilizers can be reused for multiple reactors, but keep in mind that the stabilization distance is calculated based on the biggest reactor.
Switching reactors can be done in the reactor panel. A switch is instantaneous but there is a cooldown to switch again afterwards.
One major advantage of multiple reactors is also, that only an active reactor can be scanned.
A ship’s HP is now determined by the active reactor and its chambers. Reactor HP is tracked for each reactor separately, but only the active one applies for your ship’s health. The reactor tree is consistent and keeps tracks of which blocks have been damaged. If your Reactor HP ends up too low (<20%). Reactor HP will affect more of your ship in the near future with the weapons update.
You can chose the reset the HP to their new maximum to stop overheating, but you only do that out of battle as any damage will reset the timer. This consistency will also eventually lead to a repair mechanism that can replace destroyed reactor blocks.
Shields were always a big pain to balance out especially when rails came out, as they always covered the whole ship, no matter where the shields were placed or where the ship parts were located. This, paired with no extra power cost with capacity increases, not only encouraged players to excessively use shield capacity blocks, but it also enabled far away “islands” to be fully shielded, something that has much more of an impact with the new power system. Shield sharing within rails also was the cause of major exploits and confusion when building ships.
Shields no longer apply on your entire ship through inheriting. Now each shield recharger group has its own radius that it will shield blocks from damage. Any shield capacity group within this shield bubble, will auto link to that recharger group and provide it shield HP.
The radius of a shield recharger group, depends on its size.
You’re able to have more than one of these shield groups on your ship as each one has its own recharge and shield HP, allowing you distribute its strength to different parts of your ship and in different proportions. These spheres can overlap partially, but as soon as the recharge group (the center of a sphere) is placed within the influence of another sphere, it will disable itself. If a block that is within the radius of multiple shields is taking damage, each shield will receive the damage.
Stealth vs Recon System
This new system is incorporated in the chamber system. You can setup your chambers to gain stealth/recon strength. When your scanner or stealth drive is active, this strength is applied to your ship or structure.
The system compares your current scan strength with all nearby entities (and vice versa for stealth strength -> scan strength). Depending on the difference between you and a target, you’ll get different results. If your scan strength vastly outweighs the target’s stealth strength, you see every bit of information possible and also counter all of the target’s active stealth drive effects. Cloaker and jammer are now addons for the stealth drive, so these can be countered by scanners still provided your scan strength is high enough.
To counter Jamming, your ship needs an equal amount of recon strength than the other ship’s stealth strength
To counter Cloak, your ship needs 1 recon strength less than the other ship’s stealth strength.
For scanning weapons, your ship needs 1 recon strength more than the other ship’s stealth strength
For scanning chambers, your ship needs 1 recon strength more than the other ship’s stealth strength
For scanning reactors, your ship needs 2 recon strength more than the other ship’s stealth strength
Unrelated to power, to combat general exploitation of shapes of systems, a new mechanic has been introduced: integrity.
Essentially, if a group of modules is below a certain density, it will receive additional damage when being hit. Generally this will not affect most builds, as long as there are no overly long lines or giant plates of systems being built.
For each group of systems, there’s a starting value of 200 integrity which will go up or down depending on how many blocks each block touches within that group. The penalty only applies if your integrity goes below 0, so small ships generally don’t have to worry about it at all.
Touches 0 blocks: - 10 integrity
Touches 1 blocks: - 8.5 integrity
Touches 2 blocks: - 7 integrity
Touches 3 blocks: - 4 integrity
Touches 4 blocks: - 2 integrity
Touches 5 blocks: + 0.5 integrity
Touches 6 blocks: + 2 integrity
The integrity mechanic applies to all usable systems, but not hull.
There are a few special groups worth mentioning:
Thrusters will be considered as the same group, they all share the same integrity value.
Stabilizers group if close enough, get combined into a single group. This can easily be seen when looking at their outline in build mode with a stabilizer block selected in the hotbar.
Shield integrity will take the lowest integrity of both rechargers and capacitors within a shield radius. A shield with low integrity will also receive damage on a shield hit, which means that this is the only module where integrity is an absolute necessity.
User Interface Changes
There was a large amount of GUI items to add for the new power system, along the way we’ve changed other ones too:
All new build information panel
New power reactor panel
Font sizes have been adapted to be more readable at higher resolutions
GUI drawing optimizations
Effect Config System GUI
Several help and information bits based on context
Updates to chat (more to come in weapons update)
Several message popup fixes
Right click on brush size scrollbar resets it
A faction member’s position can now be set as waypoint in the faction member list
C+V on remote logic (was already in but we missed mentioning it)
The infographics you see in this post are available in the game as a quick reference in the top left corner when building a ship.
Ship Information Panel
The information panel you see in build mode has been updated to be more dynamic, and to be less in your way. Each section gives you information of a specific system and can be minimized, allowing you to customize the amount of info you see on screen. The entire panel can be minimized too if needed.
Any large value that doesn’t fit will display as a tooltip if you hover over it.
This panel also has more functionality tied to it, such as faction module options and AI options.
Even if set to “none”, you will still a few power related ones in build mode as they are need to know information and doesn’t get in the way either as it depends on the block you’re looking at, and the one you have selected on your hotbar.
Manual Turret Aiming
Turrets have now the option to be manually controlled. To do that, just set the checkbox in the bobby AI panel. Then you can assign the control for all manually controlled turrets on the hotbar of your mothership. As long as the icon isn’t selected on the hotbar, the turret will be using normal AI targeting. If it is selected it will switch to manual aiming. Additionally, using right shift to look around when manual turret aiming is selected will enable you to aim in all directions (right shift will be the old normal behavior if manual turret aiming isn’t selected).
A new block has been added that enables you to build hovercrafts and other contraptions. This block essentially works like a directional magnet that always pushes yourself away. This block is based on the physics system, so you will have to find the right balance for your ship. There are some options in the Thruster configuration for it, too.
Storage/factory pull/push limits
You can now put individual limits on how much a storage can pull of each item and how much a factory can produce. This should make managing factories and inventories a lot easier. Keep in mind that factories will also pull enough resources for one extra production step.
Graphics Config Presets
Since StarMade’s graphics config in its development state is a bit hard to manage, we added simple config presets for all kind of systems. All old options have been moved into an advanced config tab and can be accessed and set as they could before.
A large amount of config values were added to the blockBehaviorConfg and effectConfig, giving you the ability to modify and change system values completely. This is not only to enable basic modding, but also for us to explore and experiment with different setups in the game.
Several optimization have been made to different parts of the game.
Sped up general chunk loading by streamlining client requests
Sped up module group calculations by avoiding unnecessary runs
Reduced general RAM usage of ships, stations and asteroids by using dynamic chunk compression.
Fixed several memory leaks
Optimized RAM usage in several other places
General drawing optimizations
Several bottlenecks removed
Reduced VRAM being used considerably by overhauling frame buffers.
Fixed and reduced VRAM usage for antialiasing.
Fixes for 4k resolutions
Beam drawing optimizations
Several block editing optimizations
Use of advanced graphics card functions for cards that support it
Faster debris handling
Planets have been made smaller by default to not have them impact performance until they are replaced completely.
Fixed building while flying at high speed
Fixed normal mapping tangent space
Fixed many small fixes for textures
Fixed several crashes (without issue attached)
: Weapon output added to HUD context
: Added safety checks for removal of an in-use inventory, warpgate with set destination, faction module and shop module
: Fixed sounds not playing after 5 plays.
Tutorial videos are not up to date yet. Update video will follow shortly.
NPC Assets are not using power 2.0 yet, will be converted along the way.
Lighting bug on some sprites and girder
Long range scanner not functional yet (placeholder for universe update, will be temporarily serving as the scanning module of the old version)
Sensor block currently doesn’t function with the reactor. To fix it will probably be sensing the current consumption versus recharge percentage.
. Exploits or any other method of abusing mechanics can also be reported here, as bug tasks are private on creation.
Now that everyone is able to use Power 2.0 in a state that it’s supposed to be, we’ll continue to tweak it when balance or mechanical issues arise.
While the QA team keeps a watchful eye, the rest of us will work on the next update to revamp Weapons and possibly some support tools.
Here’s an overview of what we plan for our next update. Changes can still be made as we haven’t decided on everything just yet. If you have any ideas, concerns or suggestions related to these changes, make sure to share that with us on the forum.
Although weapons will change quite drastically, the base combination system (master + slave + effect) will remain the same as there’s fundamentally nothing wrong with it. The combination themselves will be tweaked though to make each one of them stand out more.
Cannon and Beam Damage model
Just like with missiles, we set out to change the damage model of Cannons and Beams to fulfill several requirements:
Performance, it has to have as little impact as possible on both the client and the server.
Scales better, the ultimate goal of a 1:1 damage to block damage ratio with no penetration loss. (over penetration is OK though)
Adjustable damage model to create unique variants
The biggest problem we have with performance, is that it all has to happen within a single update. If a weapon is capable of destroying 20 000 blocks, it has to find, calculate and destroy 20 000 blocks within a single update, something that is simply not possible without major hiccups.
The damage to block damage ratio, is also terrible, as each projectile can only deal damage in a single line. This requires you to make a lot more outputs to up your block destruction, but this extreme number of projectiles also drags performance down.
As a solution to both, we decided to handle destruction over a period of time, something we currently call the “acid” damage model.
A projectile that hits, registers a line of blocks to apply its damage too, just like it is in the current release version. Each one of those blocks gets a portion of the projectile’s damage (this can be weighted, the front section can have more than the back) and the damage will creep outwards from each one of those registered blocks over several updates.
This process happens fast and does not cause any performance problems as it can handle a small enough amount of calculations every update.
Further hits on the same area that is still applying acid damage will get handled at the same time too. This will result in minor damage loss as some areas can overlap, but since that area is already taking damage, it doesn’t make a noticable difference.
The radius it creeps out can be till it runs out of blocks, yet also depends on how much damage it starts with or it won’t reach far or deep enough. We can also set an actual radius to it.
That’s why we give the player the option to adjust their weapon’s output width which will decide how far it will creep outwards.
If your output width is too big for the projectile’s damage, you’ll get a wide but a very shallow hole.
If your output width is too small, you’ll most likely overpenetrate and end up with a lot of wasted damage.
Of course, what you want can vary from situation to situation. We can also apply modifiers to the weapon based on the projectile’s width to further encourage using a variation of projectile sizes for different weapons and uses.
Scaling your projectile will be done through building, it changes with how many blocks are touching the output block, perpendicular to the firing direction. There’ll be mechanics in place to prevent you from extremely underpowered but large projectiles though.
This damage model also allows us to distribute damage along the line however we fit and create different damage patterns to make beams and cannons that much more different from each other.
Point Defense Prioritization
We already have a system to assign Health Points to every fired missile, but point defense itself does not prioritize properly for this to work well. Missiles will be assigned to several damage categories (low, medium, high) and each Point Defense AI can be set to prioritize one category of missiles over the other.
The HP of each missile will ensure that you need to apply a certain amount of damage to it before it dies, instead of the current system where any hit kills the missile.
It may not surprise you, but we’re removing damage pulse from the game.
As a standalone weapon, it’s extremely situational to the point where it’s just useless.
As a support, it can be useful but it has the same effect as the Beam support so there’s no real reason to keep them.
We’re still figuring them all out and it’s too early to share the details already but if you have any ideas yourself, make sure to share them on the forums.
The new weapon update will also introduce an all standalone weapon system: the minelayer.
The system will consist of a mine layer core block and a set of unique blocks that can be put next to it. A mine layer can have up to 6 touching blocks and these will determine the type and damage composition of that specific mine.
There can be a wide range of types, from mines that shoot on proximity to the ones that turn into a heat seeking missile when triggered, maybe even mines that temporarily create a disruption field around them. Mines when placed down, are static and also save with the sector. They’re persistent but when triggered, they can do pretty much anything we want as they are a one time use.
Putting down a mine basically involves constructing it on the spot, like a mobile shipyard that uses a template/design. You need to have it connected to an inventory since constructing mines requires actual blocks. The minelayer core and the 6 touching blocks act as template, and when constructed simply put down a copy of themselves. The raw strength/damage of a mine depends on how many times more blocks you want to use for each.
The mines themselves will for performance and gameplay reasons not be displayed as blocks but rather as a 3D model that will have several stages of level of detail to allow for bigger amounts of them to be shown on screen. Even though it will be a fairly high amount, there will still be a limit on the amount of mines per sector.
This minelayer system won’t be part of the weapon combination system though, as it’s simply too different to any of the other 3 weapons.
Armor is currently underwhelming, and most weapons simply melt through it. With the new power system, everything’s more localized so in theory you already need less armor blocks to provide the same amount protection and perhaps this might make it already much more powerful than it used to be. It’s hard to say what we’ll need to do exactly with armor as the weapon damage model change will affect it as well.
A major issue is that it does not scale well, as we cannot make armor blocks individually stronger for larger ships, without also making it overpowered for smaller ships.
We do have several ideas to work with, to buff and nerf armor where needed. Some of these ideas may not end up in the actual release, or be scrapped entirely so keep that in mind.
Armor rating will be changed to be a linear factor. Currently the armor rating of a block is between 0.0 and 1.0, not allowing us to increases its effective HP dynamically without running into scaling issues. 0.5 armor rating doubles your HP, yet 0.99 armor rating increases it a hundredfold and that is a huge issue as you can not have a simple rule to adjust armor rating and expect a similar increase of effective HP.
It will just be a simple multiplier now, so that we can do this during damage calculations:
Effective HP = HP * (1 + armor rating).
This allows us to dynamically scale your armor block’s strength based on your AHP. Each one of the 3 armor types, basic, standard, and advanced, most likely will end up having an independent minimum armor rating and maximum armor rating, starting and ending at fixed values of your current AHP. This makes the same armor type individually less tanky on smaller ships, while bringing it up for larger ships.
Armor HP Absorption
Damage Absorption through AHP will be removed, and instead you lose AHP from receiving armor block damage.
A large amount of small ships will not be able to punch through capital armor, but they will trickle away the AHP of that ship and start dealing more and more damage as the armor rating starts declining.
Depending on how acid damage applies to your AHP, it may need to change a bit but the idea stays the same.
While Armor HP gives you a good indication of how many armor blocks are on your ship, it does not give any information of a particular spot.
The real benefit here is that we can end up with different bonuses depending on the composition. Advanced armor touching 6 basic hull blocks may end up behaving completely different than if it was just a solid plate of advanced armor.
This reinforces the armor at the point of contact, but also applies to every other block where damage propagates towards. Thicker and wide armor plates will be exceptional stronger.
We will also be looking at making a simple weapon damage type system. It will be fairly simple and will also apply to natural damage, like taking damage from being too close to a sun.
A weapon’s output would be one of those types or a combination.
(names are WiP)
Cannons would do mostly kinetic and a bit of proton, while beams are mostly proton with a bit of heat. Missiles would do mostly heat and a bit of kinetic.
This system will be represented as weapon effect blocks to change your weapon’s basic damage type to what you prefer. The majority of the current in-game effect blocks will also be replaced by them.
Armor blocks and shields will also have specific damage resistance values. The Shield damage resistance type could be adjusted through chamber effects while the 3 basic armor types would just have a fixed resistance.
For the universe update this means something very interesting. Since the plan is to make regions different from each other, with extremes in some stellar phenomenons, certain weapon and armor types will be a lot better in some regions than others. So it will not only matter what ship you fight with, but where you fight with it.
To help with long range combat, a zoom function will be provided while in ship mode. Similar how the sniper rifle works right now.
Most likely this will end up being part of a chamber, with a hotkey to quickly access it while flying.
Docks and Physics
Docks have always been a performance problem, especially with internal docked structures coming loose if its rail was destroyed.
Entities will not undock anymore if their rail docker, or the rail it is docked to, is destroyed.
Instead, that entity simply does not get power inherited anymore or at least get penalties to it, preferably something that scales more dynamic.
You can still undock those entities manually ,as the hotbar undocking is global and still usable. The entities who lost their rail, will also have it displayed in their name and have a different signature colour, so it should be easy to find them after a battle.
Storage Damage System
We will also change how damage on storage and cargo works to make fighting more strategic. Projectile will pass through cargo and directly destroy its content. This means that the storage will empty out when being shot. This of course makes the decision to fire on a cargo ship a lot tougher, if you had plans to acquire its content.
All decorative blocks will be flagged as such in the blockConfig, to make them stand out from any of the real armor or system blocks. They’ll propagate damage differently as it simply gets destroyed when hit but does not register as a real hit.
After the weapons update
After the weapons update, we will begin on the universe update which will be the hot phase in the game. This will not only consist of new features, but also contain the completion and fixing of existing ones like AI, Fleets, and others. Also, of course, it will contain tons of optimizations and bugfixes.
The development cycle for the universe update will be rather long, but that will enable us to work more efficiently, especially since I (schema) can now work again like I did in the very beginning of development, which I look forward to very much. Updates will be made in the form of dev builds, which of course will be very unstable, but they should provide a good snapshot of progress.
Thanks for playing StarMade,
~ The Schine Team
Greetings citizens, ~
In our latest pre-release version, we’ve made two changes to the reactor <-> stabilization mechanic to make it more dynamic, and tie a new gameplay aspect to it.
The first change is how stabilization affects your reactor power generation to make it a lot more dynamic by introducing more risk-reward for building in a certain way, and to make the stabilizer distance curve less of an obstruction.
Players are now able to get full power regeneration at a low level of stabilization, currently set at only 25%. This allows you to get much more raw power which directly translates into more firepower, more mobility and functionality.
Essentially this means, you can build the same amount of stabilizers either 75% closer, or 75% smaller at optimal distance without any power penalty.
However, there will be negative effects in place to make you consider getting more stabilization than the bare minimum, besides not running into a power reduction as soon as you drop below 25% in combat.
We’re still working on these negative effects, but each effect would be limited to a phase between a minimum and maximum % stabilization for each.
Possible effects include extra damage to systems, explosions, or up to direct reactor damage upon any hit.
All of this will be available in the blockBehaviorConfig. If you have any ideas for possible effects, feel free to share!
Any stabilizer group and its active reactor now gets a non physical beam that connects the two groups together. This beam is automatically created and can be redirected through energy stream nodes. A node is a simple block that will be used as a waypoint for the beam to find its stabilization group. They can be made into a path by connecting them into a chain. The start and end point of this stream will always be the active reactor and a group of stabilizers.
Here are two energy streams, each connected to their stabilizer group. The width of the stream depends on the reactor size, but is distributed over the stabilizer group sizes.
Redirected stream through 2 nodes:
This stream, while non physical, can still be hit by weaponry. Any damage dealt to the stream will instead be redirected to your reactor power generation in some way.
In the current build, it simply disables your power regeneration for a few seconds for testing purposes, but this mechanic will be changed to a more dynamic mechanic. A reasonable one would to have the damage to the stream, apply damage to its stabilization group instead. It is very easy to hit if exposed, as you can "cut" through it with a beam.
The main purpose of this stream is to emphasize on the stabilizer-reactor relationship. Block conduits between reactors have been ruled out before not only for performance and scalability reasons, but also for the possibly difficulty in maintaining them. We were looking for a system that would incerease the role of the stabilizer-reactor relationship, while not being too bothersome to maintain, too complicated, abusable, or imperformant. Since the energy beam is generated and its effects visible it should be a natural progress for the player to undertstand its mechanics. It is also versatile enough to allow for a lot of ways to balance, as that would also be very hard with block conduits.
Group integrity creates the decision to either make denser stabilization groups or suffer from extra block damage if hit. It also results in a long and wide stream, making it easier to damage this particular group by hitting the stream.
This mechanic should encourage to make more than just one stabilization group, and in different locations to prevent the same hit from damaging multiple streams. It also makes any “island” ship pretty much impossible to fully protect as now there is also a visually exposed stream to target. You would need to visually hide this stream and try to protect it as best you can.
We also hope that these changes will make other shapes more interesting for ship building. An example would be a ring of stabilizers around your reactor to minimize the energy stream. However that doesn't have any inherit advantage, since the ship is still as vulnerable as other ships, maybe even more so. A line ship might be an efficient shape, but a dangerous choice as any breach in that line exposing the single energy stream might lead to its downfall.
Stay tuned for more information on the release, as well as more news for the upcoming weapon update.
Thank you for playing StarMade,
- the Schine team
Greetings citizens, ~
Finally we’ve reached the point where we enter a pre-release state. This means that all the needed features are in, and preliminary bug fixing is done. There will still be issues, and while it should run fine, we strongly advise to backup your universe or try it out on a separate installation. It can be downloaded and installed from the Pre branch.
With more exposure, it will be easier to find those less critical issues and ensure stability before we can release it to everyone to use.
If you come across anything new that doesn’t work or you believe you’ve located a new bug, report that here to help us out: Report a Bug (Release Candidate)
If you’re not too sure about it, feel free to contact @Lancake in a private conversation, or leave a comment on this thread.
While we wait on people to try it out and report issues, we’ll continue building on features for the update after this.
What follows, is a quick overview of what’s new compared to release. We’ll make a more in-depth version for the actual release.
A quick overview of major features and changes:
* adapted font size to be readable
* new structure build info panel
* more context based information
* HUD context filters: all, most, some, crucial only, none. Crucial only is advised for experienced players.
* right click reset brush size
* removal prompt for storage/faction/shops/shipyards/warp gates in use
* setting waypoint to faction members from within members list
* shift click hotbar remove for creative mode + keybinding creative mode (if allowed)
* catalog blocks menu has a toggle to show resource cost
* chat GUI update (more coming in next update)
* reactor GUI, graphics and block textures
* new module use system (faster and a lot less error prone)
* new power consumption model (faster and less error prone)
* fixed major memory leak for servers
* fixed framebuffer VRAM usage
* reduced general VRAM usage (by more than half depending on Anti-Aliasing)
* network optimizations
* gui drawing optimization
* beam optimizations (more than double performance)
* several memory allocation optimizations
* normal mapping tangent space fix
* general chunk loading and validation optimizations (vastly reduced amount of calls)
* several block editing optimizations
* several group speed calculation optimizations
* optimization for chunk request queuing
* grouping calculation canceling to increase performance and responsiveness during battle
* combined-module power consumption processing optimization
* usage of some more advanced shader functions for graphics cards that support it
* faster debris handling
* new power system
* new power balance
* chamber system
* effect system
* effect functionality (~130 effects for entities)
* structural integrity
* new shield system
* recon vs stealth system
* factory production cap
* storage pull limits
* manual turret aiming
* graphic presets for simpler option management
* new HP system
* reworked overheating conditions
* several menu fixes
* server message fixes
* fixed placing blocks when the ship is moving
* several other bugfixes
As you can see, a lot of optimization was done so make sure keep your eye out for graphical glitches, block grouping bugs and block destruction issues. In case you’re interested to see which issues occured in the past, this task https://phab.starma.de/T2720 holds a link to many of them. It can give you clues about any other issues that were missed.
Also keep in mind that we’re working on the weapon update too, the current offensive effects are not fully supported as some will be changed or removed only a few weeks after. The combination system will stay, but the combinations themselves can change drastically.
We’ll make sure to post a dev blog about weapons specifically after the next public release.
Please keep in mind that all config values are not 100% final yet. In case you encounter any oddities where specific mechanics are too strong or weak, please mention those and make sure to include a blueprint of the ship or structure were that is clearly the case.
There is an all new power system in this build. Old ships are still loadable and fully usable but the old power and its related blocks are disabled in shops, creative mode and factories. They can be re-enabled in the block editor if needed (set inShop to true) or you can still access them through the admin command /give “player_name” “block_name” if you’re an admin, or in single player.
There is an option in the ServerConfig to completely disable the old power system should a server admin want that. However, once a universe is started with the old power disabled, this option cannot be reverted, as that would lead to incompatibilities with the Structure and Reactor HP system and can lead to overheating of many structures.
If old power is allowed, the system will detect which version to use based on the structure’s root entity (mothership, station or planet) and check if that has any old power blocks. All structures will be counted as “new” power until you place down an old power block at which point they will convert to the old system.
This is mainly for game worlds to be fully functional and for players to get accustomed to the new system without rendering all their creations suddenly completely non-functional.
How to use the new system
This systems makes ships work a lot differently. All ships made in the old power system, will not translate well into the new system. Simply swapping out the old power blocks with new ones does not make that ship functional again. Instead, we advise you to remove all power blocks, shields, thrusters and usables to start from a clean slate.
The best way to keep track of your power is to frequently check the detailed power consumption in your reactor panel (‘insert key’ by default, or use the radial menu with tab, or press ‘activate’ key when looking at a reactor block)
On the surface, the new system is really simple. You have your main reactor blocks which add power recharge to your ship, only a single reactor group is active at any given time. Power capacity itself is fixed and low, as all weapons and systems use power over time.
Weapons need a minimal amount of power to function, and require a lot more while they’re reloading. If you don’t have enough recharge, it will simply charge it slower.
Other systems such as thrusters and jump drives, only use power when they’re in use.
If your reactor group is small enough ( < 10 blocks), they work just fine on their own. You don’t need any additional blocks to make them function.
However, larger reactors have deteriorating stability. They will not gain power recharge unless you fix their stability. For that, you need to place down stabilizer blocks. These blocks will work at most ranges, but to be efficient, they need to be placed a certain distance or further from your reactor. This distance increases with your reactor size, so make sure to keep an eye out on your stabilization when adjusting its size. The hud context in build mode will tell you exactly what that distance is and indicate the efficiency of your stabilizers, it also shows additional information based on what you’re using.
While reactors have to be built grouped, stabilizers can be built distributed anywhere on your ship. If you have other inactive reactor groups, then all stabilizers look to the biggest reactor, and their resulting stabilization will be used.
You can also build multiple reactors and switch between them. A reactor switch is instantaneous, but there is a cooldown to switch again and it also takes time for chambers to become active.
As said, all modules now consume power over time. Additionally. you now have full control on what is going to be consumed first. Open the reactor panel (‘insert key’ default, or use the radial menu with tab), and you can prioritize certain systems. This means that they will get power first in case your total power consumption is above 100%. So if you prefer your shields and thrusters to work over your giant cannon, you can do that now. It also regulates power that goes into your docks or turrets, giving you more control over their power consumption.
Most systems have a linear power consumption increase that depends on the group size. The few systems that have no group size, instead scale with the mass of your ship.
Docked reactors will switch off on docking and all power needed is drawn from the mothership. This means, that turrets cannot have any power reactors on their own when docked. We will change the behavior a bit more in the weapon update to increase performance in battle and to add more versatility to docks and turrets.
Structure HP -> Reactor HP
Ships now use reactor HP, which is based on the active reactor and the chambers connected to it. If you use multiple reactors, you can switch to a backup before your current reactor ends up overheating. As for the overheat mechanics, they’re similar to what you’ve known with structure HP but each reactor tracks its own HP.
Reactors can only be scanned when they are active, so having a backup in another part of the ship can greatly increase survivability.
Chambers are an all new feature to customize your ship with. We added over 100 different effects that you can activate with chambers. For this an all new effect system was implemented to enable fast and save management over network.
Chambers can be imagined as a skill tree. Each reactor only has a limited chamber capacity which chambers consume based on their type and level.
The difference to other skill trees is that here, you are physically building the tree yourself. You need to connect groups of chamber blocks with reactor conduits to the main reactor or to each other. Then you can open the reactor panel (‘insert key’ default, or use the radial menu with tab) and specify what exactly you want in your tree. The possible options will adapt based on what you build.
There are 8 general chambers currently:
Some functionality is now available by default, like the jump drive and the scanner. Chambers can be used to make these a lot more powerful.
Stealth and Recon
Each ship now has a recon strength and stealth strength only if the respective scan/stealth drives are active. The more recon you have over an enemy ship’s stealth strength, the more information you get about that ship. This ranges from simply seeing a cloaked ship to being able to see a ship’s reactor and weapons fully outlined. For the weapon update we plan to add more to it and tweak it were needed.
Respectively, to cloak or radar jam you need a higher stealth strength than the other ship’s recon strength.
Shields have been reworked into local shields. They now have a radius and only cover the blocks within. This includes docks. Only shields on the mothership will work to prevent abuse and maximize performance. The radius and recharge is based on the main recharger group, and so is its power consumption. The origin of the radius is the center of mass of that group and its capacity is determined from all shield capacity groups that are within the radius (up to 20 groups max). If a local shield radius falls into another recharger group, only the bigger recharger group will stay active. Shield damage that falls into blocks covered by multiple local shields will do damage to all of them.
While adding an interesting mechanic, this system is mainly to avoid building ships in ‘islands’ that are very far apart as you would need multiple groups to cover them, making it more expensive and power intensive to maintain the same shield HP for each of them than you would get if it was a single more concentrated shield group.
This is a measure to prevent exploiting certain system shapes without constricting free building too much. This as well as local shields are to solve general problems that already existed in the old power system in one form or another, and would translate and persist on the new system without these measures.
This mechanic will likely not be relevant for most builders. It is to prevent building ships that are too spaced out, mainly abusing line patterns. Most systems will now have an integrity value. This values starts fairly high and is modified based on how the group is built. If any block does not touch enough other blocks of that group, it will lose integrity. If it touches enough (up to 6 max), it will gain integrity. It can be set to scale differently in the config, allowing us to make sure normal builds do not get affected. This means while single lines are now impossible to build while maintaining a positive integrity rating, anything “dense” enough is still ok.
Thrusters count their integrity all in one, meaning that a checkerboard pattern will be the fastest way to lose it.
Shield integrity is based on the lowest integrity of the rechargers and capacity groups within that local shield.
For weapons and other computer + modules, it’s a separate integrity value for each group although this will be tweaked in the weapons update.
If integrity of a system is below zero, hitting that system will cause additional explosions across all groups of that same system. If a shielded ship with negative shield integrity is hit within its shield radius, the same will apply to the shield recharge groups and its capacity banks.
This new block enables you to hover a certain distance away from anything physical. They act as an output for your onboard thrust, and require you to distribute an amount of thrust to them in the thrust configuration menu. They work well in any gravity field and when balanced right, allows you to hover any entity.
Manual Turret aiming
Turrets can now be set to manual aiming. They will then automatically try to align themselves with where the pilot of the mothership is looking at. This includes looking around while using right shift (or double tapping right shift to make it sticky). You can of course also fire your turrets in this mode assignable from your weapon panel.
Factories can now be set to limit production. The factory will also stop pulling resources when that happens, only keeping enough in storage for one extra production step.
Additionally, storage blocks can now be set to limit the amount of blocks to store per type, to stop pulling once that is reached.
We will continue work on refining the GUI and fix issues/exploits that come up that need fixing for an actual release. Some content such as the tutorial videos and block descriptions are still being worked on, but will be available on the actual release.
The weapon update is next and is going to bring more balance and exciting additions to the system. We’ll be making a dev blog about most of its content
Thanks to all the testers and people helping,
Thank you for playing StarMade,
- the Schine team
Last week, we learned of several exploits and how to reproduce them. To prevent further harm to servers, we've made a hotfix to address them. As a general security measure, we are also not going to list them here.
If you have any more information about other exploits, or that were only partially addressed, please report it here. Note that reported bugs are always private from the start and only a few Schine members are able to see them.
As mentioned in the last dev post, the power update is coming along swiftly, and will result in a dev build in about 2-3 weeks.
Thanks for playing StarMade,
~ the Schine Team
Just a quick update on the current progress: Due to all the work in the previous months, the power update implementation is going fairly swiftly. The basic mechanics are in. There are still a few things missing, especially in terms of effects, GUI and usability, but it’s coming along pretty nicely. Then, we will do some preliminary testing as well as writing some test configurations, since the whole system is based on a new config and effect environment. All values of the new system will of course also be user-customizable.
Expect a first protoype dev build in ~2-3 weeks.
As promised, the first versions of this system will be able to run alongside the old system. For testing purposes, only ships that have a new main reactor block will switch to the new system.
Thanks for playing StarMade,
~ The Schine Team