StarMade News
StarMade v0.201.337 LOD Blocks, Rule System, Balance, Fixes
Hotfix#5 (0.201.349):
- Fixed factory setting on button/activator recipes
Hotfix#4 (0.201.348):
- Fixed physics bug that would lock the player character in place upon touching blocks with certain properties
FOLLLLOW-UP#1 (0.201.347):
new conditions/rules in dev build:
Conditions:- DateTime
- Duration Active
- Under Attack
- Same Sector Contains
- Adj. Sector Contains
- Same System Contains
- Is In Fleet
- Is In Specific Faction
- Is AI Active
Actions:
- Set Faction
- Activate AI
- Run Admin Command
Other Fixes/Updates
- draw-block-connection is now a flag in the block config (and no longer active for small buttons)
- Several minor crash fixes
- Added recipes for small button/activator
- Fixed faction rank permission resetting (didn't happen in small tests anymore, but due to the nature of the bug happening more on servers with 5+ people on, I can't confirm the fix 100% yet)
Hotfix#4 (0.201.341):
- Fix for servers with custom config coming up (not being able to move astronaut, crashes and other various issues this bug caused)
- Fix for torch beam (didn't do enough damage to compensate for the fullhp encoding (has to do at least one byte of damage)
Hotfix#3 (0.201.340):
- Fixed possible crash when applying rules when entities apply changes at the same time
- Fixed rail logic so only adjacent activation and basic button activate (still any logic block can be connected with c+v) (fix of hotfix#1 didn't apply yet)
- Fixed crash in rule dialog (checkbox cleanup when the field wasn't initialized yet)
Hotfix#2 (0.201.339):
- Fixed error when spawning ships from blueprint items.
Hotfix#1 (0.201.338):
- Fixed missing icons for new blocks
- Fixed rail logic so only adjacent activation and basic button activate (still any logic block can be connected with c+v)
- Fixed manual turret aim to be off by default to fix AI mobs not firing their turrets
Hello players,
A new update is out. This will be the last major update before going into the heavy codebase changes of the Universe update. This will include updating lwjgl, java, and a lot of other things to their latest stable major releases, so a lot of refactoring has to be done. During this period until the universe update there will still be updates for the current versions along the way, but they will be mostly minor features, fixes and balance changes, as we will fully focus on the universe update from here.
Rule System
As said in the latest dev build, chasing a balance that would satisfy all types of players is nearly impossible, so the vanilla game is going to focus on the game as I envision it, while at the same time creating features so players can play the game like they want it to. Not only does this save a lot of time in development in the long run it also removes a lot of issues with balance since in the end it is subjective to the type of player.
The rule system is essentially the beginning of an in-game modding system. It is built very general from the ground up and will be able to support any type of condition/action imaginable in the game. It comes with a full GUI in the main menu and in-game, which is capable of uploading and applying changes automatically while in-game.
You can also import and export any amount of rules. This enables server admins to quickly setup a certain type of server without having to do all the configuration themselves. They can download and import anything they need.
This update focused on getting the rule system to run. It also focused on making rules as performant as possible, which means that a rule is only checked if any parameter of a condition for the targeted object changes. It has a fair number of conditions and actions already present but there will be a LOT more to add along the way.
Eventually the rules system will possibly also be used to create quests and other gameplay elements, so it can already be considered a very small part of the universe update in a way.
Tracking & Marking
With rules there is now also a way for admins to track ships. Conditions can be used to place a tracker on ships. Admins can also now mark ships. This is mainly for admins to manually check ships that trigger their conditions.
New Admin commands:
- player_get_block_amount (fixed target inventory)
- entity_set_check_flag
- entity_is_check_flag
- entity_track
(all commands also work with *_UID)
New 3D Assets
Saber and Kupu finished some beautiful new 3D assets. There have been slight tweaks to existing model unwraps and their textures, and many new additions. New models include (from left to right):
- Grate Wedge (previous Grate Wedge has been renamed to Grate Slope)
- Metal Corner and Metal Bar
- Beacon and Colored Light Corners and Light Bars
- Light Rods
- Paint Cans and Resource Capsules
- Small Button and Small Activator
- Red, Orange, Green Consoles and Console Inner and Outer Corners
We also improved the block editor to make it a lot easier to import and create new 3D assets.
Additionally, some 3D assets now have different states when they are activated. We will expand that eventually to full animations on blocks for actions or just them being in idle state. This means you will be able to place animated modules on your ship.
*Paint Cans and Resource Capsules have had their default orientation rotated 90 degrees so they place vertically like the Pipe model. These will need to be replaced in old builds.*
3D Collision Meshes
3D assets now have full detail collision detection for astronauts as well as small enough projectiles/beams. This means you can now even shoot between the bars of grates.
Balance
Two major changes to balance are:
- Stabilization beam between reactor and stabilizers is removed
- Integrity is removed
However, with the rules system both of these functions can be restored.
We’re currently working with community members on the Quickfire discord (a community driven initiative to help balance StarMade) to bring the games balance into a good state. The first step of doing that was to fix some essential bugs as well as provide more config capabilities and mechanics.
Here are a few major and some minor changes to the balance already:
- Removed integrity (can be re-added by rules)
- Remove reactor stabilization beam (can be re-added by rules)
- increased cannon speed from 25x to 40x server max speed
- Increased armor bonus from 0.1 to 0.5 (bonus added on armor thickness)
- Halved vertical cursor recoil
- Beam damage reduction based on armor value of the block hit. 20% of armor value of block reduced per tick. (config option)
- 2.5% flat cannon damage reduced if armor if penetrated (config option)
- Config Option to add additional damage reduction based on armor thickness (currently unused)
There will likely be a lot more once the balance proposal is worked through. I have to disclaim though that I can’t promise that everything proposed will make it in.
Full Changelog
- Rule System
- Full rule system with condition and actions to affect entities
- Cascading Condition groups
- Global rule assignment
- Individual rule assignment
- Full config export/import
- Export/import of individual rulesets
- Full GUI in ‘tools’ main menu
- Full GUI ingame with live synch feature
- New ingame file browser
- Added basic conditions (more to come)
- Added basic actions (more to come)
- Tracking feature
- fixed advanced build mode raytrace bug where an imprecise physics test would sometimes select the wrong blocks
- fixed physics bug where cannon shots would sometimes skip a chunk and do damage inside a structure
- 3D assets can now use any existing shape to be represented
- 3D assets can now use any arbitrary meshes as physics mesh to be represented
- 3D assets can now have activated state meshes
- Improved pipeline for mesh import with the block editor
- turrets will no longer be able to shoot through other docked entities (they won’t do damage to their docks)
- improved fleet formation by refreshing ship sizes more frequently and taking ship size more into account for spacing between ships
- Fixed Fleet not slowing down after move order (edited)
- Added delay between weapon switches of AI. delay only applies to within type (from a cannon computer to another cannon computer etc.)
- Added ai_weapon_switch_delay server config and admin command.
- added effect SHIELD_HOTSPOT_RECHARGE_MODE to set to rely on recharge instead of capacity
- added and exposed formula switching for power reactor
- player_get_block_amount fixed target inventory
- entity_set_check_flag
- entity_is_check_flag
- entity_track
- all commands with *_UID
- docked pull/push permission now saved in blueprint (edited)
- server.cfg option to allow factories on ships (ALLOW_FACTORY_ON_SHIPS)
- beacon light now is a flag in the block config
- logic block is now a flag in the block config
- updated loading screen tips to reflect game changes
- Refactoring work
- Increase missile tickrate to be more precise
- Added and adapted server config missile target prediction value to prevent missiles from going after a target’s previous position. Added admin command /missile_target_prediction <ticks>. Make sure no missiles are spawned when using or those missiles might get confused.
- Fixed race gates power usage
- Fixed ‘draw beams’ game option
- Self cleaning “waiting for for entities to dock” message for the case that the object isn’t in the db anymore. Reduced frequency of message for all other cases
- Can now load blueprints directly onto docks
- Server.cfg option to remove need to build shipyard structure (SHIPYARD_IGNORE_STRUCTURE)
- Reduced roll speed to balance between rotational axis (more turn speed balance will come)
- Orange and Blue Light Block color adjusted to differentiate from Yellow and Teal
- AI ships now auto charge stealth drive (should fix fleet cloak/uncloak/jam)
Balance (all points are non final and might still change)
- Removed integrity (can be re-added by rules)
- Remove reactor stabilization beam (can be re-added by rules)
- Balance: increased cannon speed from 25x to 40x server max speed
- Balance: Increased armor bonus from 0.1 to 0.5 (bonus added on armor thickness)
- Balance: Halved vertical cursor recoil
- Balance: Beam damage reduction based on armor value of the block hit. 20% of armor value of block reduced per tick. (config option)
- Balance: 2.5% flat cannon damage reduced if armor if penetrated (config option)
- Balance: Config Option to add additional damage reduction based on armor thickness (currently unused)
If you find any issue please let us know in our discord and we will get get right into hotfixing.
We wish you an awesome holidays and a very happy new year,
Thank you for playing StarMade,
- The Schine Team
StarMade v0.201.200 Cleanup, Fixes & Enhancements
Hello players,
Since the weapon update there have been a lot of smaller updates along the way which fixed several issues and added smaller features. For this one, we wanted to make a seperate release announcement for some bigger features as well as more bug fixes.
Entity Sidebar
You now have have another tab on the left side of your advanced build mode. This can be used for quickly building up and managing a ship. It has all the previously missing information for weapons and other modules. There is a quick overview of what blocks you need and how many you have for each ship system. The build button will automatically put the block in your hotbar and select it to build. You can also choose to add blocks for an existing weapon, which selects the computer and puts the module into your hotbar.
In the future, this mode is going to be enhanced to be a non-intrusive tutorial for new players. When placing a ship core the buttons will light up to lead the players on what modules to build and how to build them. This eliminates the need to watch lengthy non-interactive videos or having to check on the wiki.
Build Mode Camera Drones
A long requested feature. Players can now be seen when in build mode. They will each fly in a small camera drone (made by Saber). These drones can also be seen if watching outside of build mode.
The drones come equipped with a flashlight (toggles on ‘P’ by default or in the display setting in adv. Build mode), as well as the option to display the name of the player below the drone.
Adjustable Cockpit view
Another long requested feature. It is now possible to adjust the view of your cockpit blocks individually. Just press ‘P’ while in a cockpit in flight mode to unlock the camera and freely move it. Press ‘P’ again to lock the new view in place. This mode is fully persistent, meaning it will not only save between sessions and apply for other players that fly your ship, it will also save within the blueprint.
Keep in mind that this mode is currently still a bit experimental, as there are some minor issues and more features coming for this. One of those features will be delayed camera movement to make flying a lot more fun all around, as well as HUD updates. There will be fixes to handle differently orientated cockpit blocks better as well as other fixes for the “aim at” check.
Block Editor Model Tab
The block editor has been cleaned up to make block editing a lot faster and easier.
An all new tab has been added for the Block Editor. This tab contains all information and management for the models in the game. This will speed up development and integration of models considerably in the future, especially for the universe update.
Textures
Kupu completed specular mapping, made a unique texture for the Area Trigger and the Cargo Space, Green Forcefield, as well as the Green Cascade deco block.
Logic Changes
Logic will now only transmit the end state of the blocks. Fast logic clocks caused over 500 state changes per update, which was not only a performance drain but also bandwidth.
To compensate for the necessity of having fast clocks, modules now stay active when a logic block is connected that was switched to active. Currently the activity will reset if the entity unloads, in which case the logic block would have to be turned off and on again. Persistence for that will be added in the next update.
Pin AI Targets
Pilots can now specify (pin) targets for AI targeting. When having a target selected, press ‘x’ in flight mode to specify this target for AI fire, while the pilot can select a different entity.
Bugfixes
The more important bugfixes will be listed first.
-
Possible Fix for missing/reverted chunks
This bug seems to be finally fixed (can’t call it 100% fixed yet without long term experience on production, since we had no way of reproducing it). The bug was possibly caused by save events marking chunks as not validated on the server, but at the same time not queuing them for validation cause of another event at the same time. This caused those chunks to not be saved in that session. -
Fixed all crashes due to malformed translation Strings
If there was an error in a translation string format (e.g. using malformed arguments), the game would previously crash. These bugs would be fairly hard to track down since they would only happen in that specific language. The system has now been updated to compensate for those bugs and automatically replace the string with an error. -
Fixed pirate/tg spawning when attacking a station
-
Fix for missing Area Trigger icon, + icons for new blocks.
-
Custom texture for cargo block in build mode
-
Fix for cargo draw issues (on transparent blocks)
-
Torch beam damage upped from 1 to 4
-
Fixed nullpointer on UI when active reactor changes
-
Fixed bug that would prevent newly spawned planets and asteroids from being saved when edited (existing ones had no problem).
-
Removed popup when opening storage
-
Added more info in the build mode entity info
-
Temporary shield disable now affects whole structure incl. all docks, instead of just the entity it was triggered on.
-
Fixed crash after setting the "Pull up to" value of Cargo to 0.
-
Turn rate config values exposed and explained in blockBehaviorConfig
-
Fixed custom block texture handling
-
Fixes map drawing
-
Fixes crash when changing certain graphics settings ingame.
-
Fixes shield message spam
-
Fixed client crash when shipyard anchor was removed when a design was loaded
We will release further fix and cleanup updates while we are working on the universe update. If you have an issue a request, please join the discord. We’re always ready to add smaller features as well as handle bugs when I get the necessary information.
Thank you for playing StarMade,
-
The Schine Team
-
StarMade v0.201.126 - Weapon Update
Greetings citizens, ~
------------------------
Fixes #7: version [0.201.142]
- Added [shieldPercent] to display module
- Player is now being notified when shield recharge is negative due to shield upkeep
- Full chamber tree can now be opened with a double click on the chamber icon/tab
- Fixed that beams would in rare situations still do one tick of damage through shields
- New and fixed admin commands:
- Fixed /player_get_inventory
- Fixed /blueprint_set_owner
- Fixed /player_get_block_amount
- Renamed /list_ships to /list_blueprints
- Added /list_blueprints_by_owner [owner],
- Added /list_blueprints_verbose with extra info and /list_blueprints_by_owner_verbose [owner]
- Added owner, total(incl childs) block count and total(incl childs) dimension to /blueprint_info
- Added /destroy_uid_only_docked
- Added /player_suspend_faction and /player_unsuspend_faction to temporarily remove a player from a faction and put them back with the same settings afterwards
- Added additional info to /list_factions
- Added /player_set_spawn_to [name] [secX] [secY] [secZ] [localX] [localY] [localZ] to set a respawn point for a player to any position in the universe
- Added /player_get_spawn [name] returns the absolute or relative spawn point(when spawning on a ship)
- Added /put_player_into_entity_uid [name] [UID] and fixed other issues surrounding automatic entity attachment and detachment
- fixed language bug in german language causing the default server.cfg to not parse correctly
Fixes #6: version [0.201.138]
- FIXED: Sniper Rifle did damage through shield
- FIXED: No missile damage
- Shader fixes
- Beam damage changes and fixes (more to come)
- Repair beam fixes
(more fixes are on the way)
Fixes #5: version [0.201.133]
- FIXED: Frambuffer init failure results in crash
- FIXED: torch did not ignore shields
- FIXED: Shield bubble drawing on docked entities is confusing
- IMPLEMENT: mine ammo for all mines (delayed removal after depletion)
- FIXED: arming mines with right click not functional
- FIXED: logic controlled modules on client
- IMPLEMENT: variable amounts of logfiles capability (settings.cfg)
- FIXED: mine strength not calculated correctly
- FIXED: rail docker not usable after combat
- FIXED: repair beam should not be working on asteroids
- FIXED: shops being damaged
New AdminCommands:
clear_overheating_sector x y z (clear overheating entities in a loaded sector)
structure_set_vulnerable_uid
structure_set_minable_uid
faction_set_entity_rank rank: set faction rank (numeral -2=unset, -1=personal, 0, 1, 2, 3, 4=founder) to an entity
faction_set_entity_rank_uid
player_get_inventory player: lists a player's inventory
player_get_block_amount player type: lists amount of blocks a player has of a block typeHotfix-Followup #4: version [0.201.130]: Fixed two server crashes related to mines. Fixed some client crashes. Currently working to fix further crashes and fix ship rotation desynch issues. (Note: Cleanup update will contain a GUI update which will make it a lot easier to see all the statistics of the weapons you build)
Hotfix-Followup #3: version [0.201.129]: Fixed remaining issues with block desynch. Fixed power comsumption of groups with different sizes belonging to the same block computer. Fixed beam issues.
Hotfix-Followup #2: version [0.201.127]: Fixed block desynch issue from mini freeze fix. Fixed beams doing damage through shields for one tick when firing while transitioning sectors.
Config changes (Chamber Capacity):- stealth jammer chamber -> 15% to 12.5%
- stealth cloak chamber -> 35% -> 20%
Hotfix-Followup #1: build [20180710_220426]: Fixed shaders crash Intel users. Fixed another big source of mini freezes (when blocks are being updated through logic/battle/building)
------------------------
After over 100 dev builds, the weapons update is finally here. It might be even bigger in scope than the power update. It not only introduces a lot of new features, it also has complete redesigns and code reworks of parts of the codebase. It also comes with fixes for a lot of the more serious bugs as well as stability updates and lot of minor fixes and upgrades.
As always, make sure to do a full backup on your world and blueprints. We tested both fresh installation and upgrade multiple times, and couldn’t find any problem, but there is always a rest risk in updates this big.
The weapon handling, projectile, and block processing code has been completely rewritten, as well as parts of the missile system, and a lot of other backend systems to improve performance and stability. This also allows for a lot faster development for these systems from here on out.
In context of the main focus of this update we also improved combat stability and performance a lot, as well as hopefully fixed most of the nasty bugs that were affecting ship combat in the last release.
There might still be some issues with some systems losing server synch temporarily under load, but those will be addressed in a follow-up cleanup update.
Features
We set out to do this update mainly to make combat and ship battles more interesting and fun. On the backend, this also gave us a chance to completely redesign the code of weapons and other usable modules in the game. A new code design was already partly set up with the power update, and this updates completes it.
To make a more complete package, new features and improvements have been added all across the board.
Weapon & Tool redesign
The goal is to make weapons and their combination a lot more unique, while still being a viable option. Some weapons might be easier to use than most, but others could have a much higher pay off when used properly. As each weapon combination has clear positives and negatives, it is up to you to decide what weapons to make.
We also wanted to give weapons and combat in general a better feeling. This incorporates a broad spectrum of features including the HUD, recoil, explosions, physical force, damage, armor, and many more.
While we changed and added on existing weapons, we did remove the damage pulse entirely as it had no real purpose. It also reduced the amount of combinations possible which allows us to concentrate more on the remaining ones.
Acid Damage model
Acid Damage is the new damage model used by Cannons and Beams to increase block damage without affecting performance. In our tests, this system allowed us to get 90-95% of the original damage to be applied as block damage, giving us the possibility of one projectile destroying thousands of blocks without running into performance problems.
This is achieved by propagating damage outwards, block by block, starting from an origin block.
The propagation speed can be adjusted to move faster or slower depending on the processing power and bandwidth of the server. Several bandwidth optimizations have been made to make the information on removed blocks as small as possible. As a result, even large amounts of blocks get processed quickly without any hiccups.
We can change its behavior while this is propagating as well, allowing for unique damage patterns to be implemented.Cannons
Cannons are now mainly a high penetration weapon, capable of punching through thin armor and leaving a lot of damage in its wake.
Like before, each projectile has a penetration depth based on its damage. This can range from 1 to 200+ blocks. Each block in this penetration line, acts as the starting point for Acid Damage to start from. The damage of the entire projectile is then distributed accordingly to end up with the appropriate damage shape.
A general change to cannons is that all projectiles are now considerably faster, which will make battles at higher speeds a lot easier.
Over Penetration
Using cannons with too much damage can cause the projectiles to overpenetrate. This happens only when targets have little to no armor, compared to your shot. If this happens, then the penetration depth is stretched before the original damage is distributed on it. This may result in even more system damage...or it may come out of the back of the target and end up wasting most of its damage.
Projectile Width
By putting down blocks next to your weapon’s output, you can increases its projectile width. On impact, this will cause more damage to be redirected towards the front, basically shrinking your damage pattern and increasing its width. This can be used to counter any over penetration, or to destroy more superficial blocks if needed.
Recoil + Impact force
Every Cannon projectile applies a force on both the shooter and the target. The force and amount of movement created, solely depends on the weapon damage.
The physical recoil on your ship is in the opposite way of the firing direction, the impact force on your target is in line with the firing direction as you would expect.
There is also something we call ‘cursor’ recoil, meant to give a better feeling to cannons and reduce its accuracy slightly when fired manually. It’s kept at a manageable level, and scales properly with your fire rate and damage. There’s also a maximum cursor recoil threshold in place to make sure even the biggest of weapons don’t throw your aim around too much.
Cannon Combinations
The core idea of each combination is mostly unchanged, but they behave in different ways. It’s possible we still add or change parts of them depending on feedback, but the overall role of each support should stay the same.
-
Default: An all-around decent cannon, doesn’t excel at anything
-
Cannon + Cannon: Fast firing machine gun with fast projectiles. It uses the Cone: Wide-> Narrow damage shape.
-
Cannon + Missile: Charge cannon with left click to charge, release to fire. The longer it is charged, the better the efficiency and damage of that shot. It also uses the Cone: Wide-> Narrow damage shape.
-
Cannon + Beam: A slow firing artillery cannon with a narrow -> wide cone damage shape. Even when over penetrating, it will be relatively efficient, but it is hard to hit.
We’ve changed the Damage <-> Power consumed ratio to be different for each combination. It allows us to balance the high risk weapons to reliable damage dealing ones. A slow firing cannon is always more efficient, as a miss or a bad hit is a huge waste of time and power.
Each combination also has a default sniper zoom mode, toggled with right click. It ranges from 2x to 4x and greatly enhances accuracy on long range targets.
Some examples of the damage left by only a few projectiles:
~ High damage projectile:
~ Multiple medium damage projectiles:
Damage Beams
Damage Beams are mostly about doing surface damage and being easier to use. Beams only apply Acid damage on the block they’re hitting, damage will most likely not reach deep within the target unless you focus fire on a particular spot. The only exception to this rule is the Beam support version, where it does penetrate all the way.
We’ve improved the functionality of Beams to allow for that. Some versions are capable of traveling along its target without you firing or aiming it again, they’ll deal decent damage as well but may not necessarily stay where you want them to be.
Damage over Distance
Unlike Missiles or Cannons, beams lose damage with the distance from target. At maximum range, it goes down to only 40% of its original damage. This increases the closer you get, till it reaches the original value at about 400 meters or less. This can vary depending on the combination and allows us to better balance a hitscan weapon.
Combinations
-
Default: Latch on beam that breaks off when it has no direct line of sight with the current block.
-
Beam + Cannon: Aimable beam with short burst time and cooldown
-
Beam + Missile: Arc beam with a shorter range but doesn’t break when there is no direct line of sight anymore. Has a long burst time.
-
Beam + Beam: Penetrating beam that can’t be aimed with your cursor. The damage of the beam is distributed equally over the blocks in the penetration line. Requires to be charged before firing and stops your shields from blocking damage while you are charging.
Repair Beam
The repair beam or astrotech beam is now capable of repairing and replacing killed blocks. The reason this has taken longer is several problems to optimize this system for large scale, as well as handling the logic of connections. At the moment, you can only replace the blocks in order (as if you pressed “undo”), but out of order repairing will be added as a follow up.
If you connect any amount of storages to your beam computer, it will be using those for repairs. If there is no storage attached, the blocks will be taken out of the pilot’s personal inventory (if possible).
Keep in mind that for balance reasons you currently cannot repair during battle.
Tractor Beam
The new tractor beam replaces the push and pull beam of the previous release. This weapon is able to hold another entity in place. It can also move with you as you either rotate or move yourself while still firing the beam. It comes with a built-in mode change so you can push the target further out or pull it in. You can change the firing mode by pressing left alt (also now indicated in the context help).
Armor
Armor has been completely redesigned as well. There is no longer an abstract “Armor HP”. Armor now will count where it is and how thick it is, you can see this in build mode as well when looking at any armor block. Here is how it works:
-
When a bullet hits armor it checks how many armor blocks come behind that block in its path.
-
The count of armor will stop at any non armor block or air. That count defined the “armor depth”
-
Each armor block now has an armor rating that will get added up (with possible additional bonuses on thicker armor)
-
The resulting total armor value along the armor depth is then compared with the bullet’s damage
-
Is the armor value lower than the bullet’s damage, the bullet will travel on as normal and destroy the armor blocks along its way
-
Is the armor value higher than the bullet’s damage, the bullet will only do acid damage on the first block and stops completely
-
Is the armor value much higher than the bullet’s damage, acid damage is not even applied and only a single block gets normal damage and stops completely
-
-
This will be repeated for every continuous plate of armor the bullet goes through in a ship, so inner armor a very viable option
This means, that a sufficient armor depth can stop any shot, and it also means that it depends on the angle of the shot, where that armor is, and what type of armor was used. These values mainly affect the penetration of cannon projectiles although beam acid damage gets affected by the armor rating as well.
In addition, the HP of Armor has been increased to make it capable to absorb more damage.
You can check your armor rating in build mode by just looking at your armor while having any armor block selected on your hotbar. It will tell you exactly how deep and how much armor the ship has from the angle you are looking from. Note that the armor rating does not scale linear with thickness but has increased values for every added layer in addition to the flat amount of the block itself..
Missiles
Missile Capacity
To add another layer to using missiles, we added a Missile Capacity system that will also prevent you from spamming them. By placing missile capacity blocks on your entity, you increase the maximum amount of missiles to be stored. The missiles are reloaded in bulk, as soon as you fire a missile, the reload starts. When the timer runs out, all the missing missiles are filled up again.
For AI controlled ships, the reload only starts when they run out of missiles, this helps control the amount of missiles flying around.
In addition, you require additional power for the missile capacity blocks. This should normally not be a concern unless you’re deliberately trying to store too many missiles for your ship’s size.
Missile Shield + Point Defense Prioritization
Each missile has its own its shield, protecting it from Point Defence turrets. The strength of this shield scales with the missile’s damage and should also encourage firing more high damage missiles than trying to flood the field with low damage decoys.
We’ve also implemented proper anti-missile prioritization. You can set any of your AI to fire at a certain category first:
-
High damage missiles
-
Low damage missiles
-
Random (Closest First (old system))
Missile Combinations
-
Default: Fast non tracking missiles
-
Missile + Cannons: Heat-seeking swarming missiles
-
Missile + Beam: Lock-On Missiles
-
Missile + Missile: A bomb with no self-propulsion and uses the ship’s velocity as its own. The bomb will ignore shields and does friendly fire as well. It will arm itself after several seconds, it won’t detonate (dud) if it isn’t armed yet, so you can’t fire it at point-blank range of your target.
Volley Fire
Changing firing mode from focused to unfocused has been changed to a keyboard toggle for all weapons (default: left alt). We added an additional mode for cannons and missiles as well: Volley fire. This mode will take the time to reload the weapon, and divide it by the amount of groups connected to that computer. When firing, the groups will fire one after another.
Volley fire can also be set in the Bobby-AI module for turrets and drones to use.
New HUD graphics
The HUD graphics have been improved to improve usability and distinction between objects and improve the general look.
All indicators now also have been moved to the center of mass of entities. They will still be on the core if you are aligned or in gravity of an entity.
Undocking
Entities will no longer undock when their rail or rail docker is destroyed. However, until those are replaced at the exact position, or manually undocked and docked on a different one, the dock will not receive any power from the mothership.
This will greatly help with lag in larger ship battles, where the undocking of turrets and other docks was one of the biggest parts of lag-causing elements.
Improved graphical effects
The graphical effects for cannons, beams and missiles have been improved. Also more and better explosions have been added.
Also an all new LoD system has been implemented which is currently in use for the mines to be able to have a lot of them in one sector without problems. The system is written in a way that it can be used for a lot of other things in the future.
New Textures
Kupu has done an exceptional job in upgrading the texture to be more crisp than ever before, fixing many previous tiling issues and colour inconsistencies.
Lead indicator
Cannons and missiles now also have a lead indicator based on the selected weapon’s projectile speed. Currently the indicator is based on the target’s center of mass.
Effects
The old effect computers have all been removed as most don’t have a purpose anymore. We’ve replaced it with a 3 damage type system with base values for each weapon type:
-
Kinetic (Cannons)
-
Electromagnetic (Missiles)
-
Heat (Beams)
You can adjust the basic damage distribution of each weapon by linking it to the specific effect computer you want it to have.
There are also defensive reactor chambers to strengthen your ship/structure against these damage types respectively.
Any damage in the game is now a composition out of these three effects. For example, a sun will now do heat damage. We plan to further expand on this system for the universe update.
Sector Size Weapon Range independency
To make it easier to customize the game for bigger sectors, we added a seperate value in the ServerConfig to set the base range for weapons independently from the sector size. This value will be used as reference for all range config values in the block behavior config. This value can also be set on the fly with an admin command (/set_weapon_range_reference).
If the value is set to 1, all config values will be interpreted as fixed block units (meters).
Mines
The ability to place down stationary mines was added. This feature comes with an all new LoD system that will be reused for other model based things in the future. The Minelayer works like a tiny mobile shipyard, with the Minelayer connected to a Mine core and a storage chest to pull the mine blocks from.
Next to the mine core you can place up to 6 mine-specific block modifications. The mine core block plus its modifications are used as a “blueprint” for the mine’s capabilities, while the constructed and deployed mine itself is not a block but a small 3D model.
Constructing and laying a mine requires blocks from either the pilot’s inventory, or its linked storage. All newly deployed mines are inactive. You can activate them by right clicking, or via the radial ship menu for more options.
Mines can be destroyed by being shot, or simply physically running into them (which may not always be the best idea).
Mines can also be laid via logic by connecting a logic block to the mine layer.
The following mine-types are available:
-
Cannon Mine: This mine fires cannon projectiles when in range
-
Missile Mine: This mine fires heat-seeking missiles when in range.
-
Proximity Mine: The classic mine. Once a targets gets within range, it activates the mine and will follow the entity that triggered it, explodes on impact. Once triggered, it is used up.
The following Mine Modifications are available:
-
Cannon Mine Mod: turns mine into cannon mine
-
Missile Mine Mod: turns mine into missile mine
-
Proximity Mine Mod: turns mine into proximity mine
-
Strength Mod: increases mine damage
-
Personal AI Mod: mine will not attack the one that laid it down
-
Friend AI Mod: mine will only attack the enemies of the person who laid it down
-
Stealth Mod: with each additional mod the mine will gain one point in stealth. Depending on recon strength while scanning the mine will be invisible at distance (distance depends on the difference of stealth vs recon)
Cargo Damage
Storage chest blocks (the controllers) don’t get physically destroyed anymore unless they’re empty or have no linked used volume remaining.
This block (or group of blocks) is destroyed on passthrough if the connected storage has no remaining items. If the storage has remaining items, the damage is done to the stored items themselves, meaning that items are being destroying emptying the storage. HP are irrelevant to these blocks as every shot will do passthrough damage. The shot will not lose any strength and continue. The storage will lose items on every storage block the shot passes through.
The storage block has the same mechanics as the cargo blocks.
Integrity changes
Warpgate, racegate, activation-gate, doors, factories, cargo, logic connections, all rail connections, mass enhancer) transporter, sensors and shop will now completely ignore integrity.Integrity will no longer lower while a ship is in battle. When a system block is destroyed, integrity will not update for 5 minutes and only then update itself to the new correct value. This timer resets every time a system block gets taken out.
This means any ship is equally viable in terms of integrity, as long as its integrity is positive when going into battle. It will also help with lag from explosions and the snowball effect once a ship dips into negative integrity.AI
The AI now uses a better system to gauge their weapon range. Also their aiming has been fixed and improved.
Shield changes
Shields now always regenerate over time again and when under fire only lose regeneration when the shield HP goes down. When not under fire, shields will always regenerate at full speed. Any shield starts in its strongest configuration and can be weakened through high damage weapons if it is a recharge focused shield. Or by a steady stream of small weapon fire if it is a capacity focused shield. The config was changed to allow for that and you may end up with a disportionate amount of regeneration vs capacity with your current builds. Make sure to double check if your regeneration is still positive
New Isanth
Lancake has updated the old Isanths’ systems to use new power and the new weapons. Be aware that these ships pack quite a punch now.
The new model will automatically replace the blueprints of the old ones upon start, so if you have modified and overwritten those blueprints (with the exact same name), be sure to make a backup before running the new version.
Block Hitpoints
All block HP are being migrated to a new system that supports any amount of HP. While at the same time not increasing amount of data used for HP for memory reasons, the only difference would be that a block with max HP higher than 127 will needs a minimum damage dealt to it for its HP to decrease.
The minimum amount of damage is x/127. This means that you need at least ~8 damage to hurt a block with 1000 Max Hitpoints.
New Admin Commands
-
/kick_players_out_of_entity_uid [entityUID]
-
/kick_player_from_entity [PlayerName]
-
/bp_info [BluePrintName] (populates information about a specific blueprint)
-
/delete_bp [BluePrintName] (deletes a specific blueprint)
-
/bp_setOwner [BluePrintName] [PlayerName] (sets a blueprint to be owned by a specific person)
-
/clear_mines_here (clears mines in current sector)
-
/clear_mines_sector [X] [Y] [Z] (clears mines in specific sector)
-
/reset_repair_delay (Resets repair delay on selected/entered vessel)
-
/reset_integrity_delay (Resets integrity battle delay on selected/entered vessel)
-
/rail_reset (Resets rail (undock/redock) rail of only the selected or entered entity)
-
/rail_reset_all (Resets rail (undock/redock) rail of all (sub)entities of selected or entered entity)
-
/set_weapon_range_reference (Sets the weapon reference range distance in meters, which the config values are multiplied with (default is sector distance))
-
/faction_set_entity_uid [UID] [FactionID] (sets faction of an entity by UID)
All entity info commands have been updated with more info. Also the sector_chmod command has been updated for all sector mods.
The rail commands can be used in case there is still some sort of misalignment or to fix old blueprints quickly.
The list in https://starmadedock.net/threads/admin-commands.1283/ has been updated accordingly
Optimizations
Several optimizations have been made to the game.
-
The rewrite of the weapon and general usable module system made the amount of steps involved in pretty much everything weapon and module related a lot less. Not only does this result in much cleaner code, but also a general speed up.
-
The update system for modules is now on-demand, which means the system will not bother to even check if the blocks of a group changed as long as there hasn’t been an actual notification for that. This means that the general idle time for all entities has been cut down significantly. This is very noticable in sectors with a lot of entities and docks.
-
Block processing has been optimized to minimize the amount of lookups by grouping all changes by chunk. This also cuts down on synchronization time between threads and cleans up the code considerably in that section. This makes block processing in general a lot quicker, especially during battles.
-
Block change recording has been completely rewritten to minimize memory usage and serialization size.
-
Beams have been optimized to work a lot faster.
-
Removed some bottlenecks that were occurring in big fights.
-
Thread spool up to remove short freezes after starting the game, e.g. in build mode.
-
A ton of smaller optimizations across the board.
-
Memory optimizations for the particle systems.
-
Log cleanup during ship battles
Config Changes
Blocks:
-
Advanced Armor
-
(Effective) HP: 1000 → 2000
-
Armor Rating: 1000
-
-
Standard Armor
-
(Effective) HP: 250 → 800
-
Armor Rating: 750
-
-
Basic Armor (previously Hull)
-
(Effective) HP: 75 → 250
-
Armor Rating: 500
-
Recipe:
-
1 Metal Mesh
-
1 Crystal Composite
-
1 Fertikeen Capsule
-
-
Systems:
-
Shields
-
Shield Capacity / Block: 400 → 250
-
Shield Recharge / Block: 20 → 25
-
Default Capacity: 200 → 0
-
Default Radius: 25 → 10
-
Shield Local Radius Multiplier: 10 → 7.5
-
Shield Upkeep % of HP / sec: 0.5% → 2%
-
Shield Power consumption resting / Block: 1 → 0.4
-
Shield Power consumption charging / Block: 1 → 0.8
-
Shield Under Fire Time: 30 seconds since last shot
-
Shield Minimum Recharge: 20%
-
Shield Minimum Recharged reached at: 50% Capacity
-
-
Overheat Timer
-
Minimum Time: 60 seconds
-
Maximum Time: 600 seconds
-
Time added / Block: 0.001 seconds
-
-
Stabilization Stream
-
Max Cooldown when hit: 60 → 15 seconds
-
Power Regen in Cooldown: 20% → 25%
-
-
Reactor
-
Chamber blocks needed per reactor block: 0.5 → 0.25
-
-
Integrity
-
Start Value: 200 → 400
-
Collection Integrity Update delay under fire: 300 seconds
-
-
MineLayer
-
Layable Mine Distance: 10 meters
-
Cannon Damage per Strength: 1 000
-
Cannon reload: 0.5 seconds
-
Cannon speed: 2 x universe speed
-
Missile Damage per Strength: 10 000
-
Missile Reload: 10 seconds
-
Missile Speed: 1.5 x universe speed
-
Proximity Damage per Strength: 10 000 (bypasses shields)
-
Proximity Speed: 0.5 x universe speed
-
-
Tractor Beam
-
Moveable mass per module: 5 mass
-
Maximum Force : 10 x Target mass
-
Power Consumption resting / Block: 10
-
Power Consumption charging / Block: 50
-
Distance: 400 meters
-
-
Salvage Beam
-
Salvage ‘damage’ / Tick: 10 → 25
-
Power Consumption resting / Block: 3 → 5
-
Power Consumption charging / Block: 15 → 25
-
Ticks / second: 40 → 16
-
-
Repair Beam
-
Blocks / Tick / Module: 1
-
Power Consumption resting / Block: 5
-
Power Consumption charging / Block: 25
-
Ticks / second: 20
-
Repair out of Combat delay: 60 seconds
-
Bug Fixes
-
T1496: Fixed visual glitches for some block icons
-
T2392: Fixed missiles not targeting systems
-
T2796: Fixed tooltip displaying on block preview rotation arrows
-
T2838: Fixed beam texture staying after the shooter overheats
-
T2849: Fixed shields not always providing protection against weapons
-
T2941: Fixed stabilizers dropping to 0.0 - 0.1% during block placement/removal
-
T2942: Fixed crash caused by undoing a large amount of blocks
-
T2973: Fixed issue where thrust does not consume the right amount of power
-
T2997: Fixed crash caused by linking mass linking logic or other similar blocks with Shift + V
-
T3032: Fixed Warp gate distance not displaying correctly
-
T3037: Fixed stealth strength not increasing with chamber strength lvl 3
-
Several fixes related to weapon config values
-
Fixed shipyards (several issues) and added shipyard logs
-
Fixed turret aim and rotation not working correctly/stopping after a while
-
Fixed sudden rail misalignment
-
Fixed horizontal turrets
-
Fixed chunk corruption (couldn’t confirm 100%. If there is still a case of that, please report)
-
Fixed missiles not working on sector borders
-
Fixed slot desync causing players to see wrong weapons being fired at them
-
Fixed lag compensation causing entities to not rotate correctly for clients (hitting a ship with damage appearing elsewhere & desync)
-
Stalling missiles now timeout to not cause performance hit (will be fully fixed in follow up)
What’s next
Next is going to be a bug-fixing and cleanup round. We will be trying to make the game as stable as possible for the period of the universe update development. Other changes might include reactor chamber balance changes and small changes to weapons based on feedback.
We already started with some aspects of the universe update in the background, and we will now focus more and more on that.
We can’t promise a universe related dev build for a while, but there might be a few highly experimental test builds before that.
Thank you for playing StarMade,
-
The Schine Team
StarMade Weapons Update - Prebuild
Greetings citizens, ~
EDIT: added integrity changes
The weapon update just entered the pre-release state. All the features we wanted to add are now implemented.
In terms of content it is probably as big if not bigger than the previous Power update. It completely overhauls all weapon, adds a lot of new features, graphics, optimizations, fixes and other improvements.
Some parts such as updating the block icons, textures and finalizing the config files, are still in the works but everything else should be there for you to test. We already went through a lot of bug fixing and this version should be playable. We strongly advise to backup your universe or use a completely separate installation. You cannot revert your world to the current release version without a backup.
The current pre-release version 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)
In case you’re not too sure about it, feel free to leave a comment on this thread.Features
We set out to do this update mainly to make combat and ship battles more interesting and fun. On the backend, this also gave us a chance to completely redesign the code of weapons and other usable modules in the game. A new code design was already partly set up with the power update, and this updates completes it.
To make a more complete package, new features and improvements have been added all across the board.
Weapon & Tool redesign
The goal is to make weapons and their combination a lot more unique, while still being a viable option. Some weapons might be easier to use than most, but others could have a much higher pay off when used properly. As each weapon combination has clear positives and negatives, it is up to you to decide what weapons to make.
We also wanted to give weapons and combat in general a better feeling. This incorporates a broad spectrum of features including the HUD, recoil, explosions, physical force, damage, armor, and many more.
While we changed and added on existing weapons, we did remove the damage pulse entirely as it had no real purpose. It also reduced the amount of combinations possible which allows us to concentrate more on the remaining ones.
Acid Damage model
Acid Damage is the new damage model used by Cannons and Beams to increase block damage without affecting performance. In our tests, this system allowed us to get 90-95% of the original damage to be applied as block damage, giving us the possibility of one projectile destroying thousands of blocks without running into performance problems.
This is achieved by propagating damage outwards, block by block, starting from an origin block.
The propagation speed can be adjusted to move faster or slower depending on the processing power and bandwidth of the server. Several bandwidth optimizations have been made to make the information on removed blocks as small as possible. As a result, even large amounts of blocks get processed quickly without any hiccups.
We can change its behavior while this is propagating as well, allowing for unique damage patterns to be implemented.Cannons
Cannons are now mainly a high penetration weapon, capable of punching through thin armor and leaving a lot of damage in its wake.
Like before, each projectile has a penetration depth based on its damage. This can range from 1 to 200+ blocks. Each block in this penetration line, acts as the starting point for Acid Damage to start from. The damage of the entire projectile is then distributed accordingly to end up with the appropriate damage shape.
A general change to cannons is that all projectiles are now considerably faster, which will make battles at higher speeds a lot easier.
Over Penetration
Using cannons with too much damage can cause the projectiles to overpenetrate. This happens only when targets have little to no armor, compared to your shot. If this happens, then the penetration depth is stretched before the original damage is distributed on it. This may result in even more system damage...or it may come out of the back of the target and end up wasting most of its damage.
Projectile Width + Bullet Customization
By putting down blocks next to your weapon’s output, you can increases its projectile width. On impact, this will cause more damage to be redirected towards the front, basically shrinking your damage pattern and increasing its width. This can be used to counter any over penetration, or to destroy more superficial blocks if needed.
Recoil + Impact force
Every Cannon projectile applies a force on both the shooter and the target. The force and amount of movement created, solely depends on the weapon damage.
The physical recoil on your ship is in the opposite way of the firing direction, the impact force on your target is in line with the firing direction as you would expect.
There is also something we call 'cursor recoil', meant to give a better feeling to cannons and reduce its accuracy slightly when fired manually. This represents a similar tequnique as shooting a gun in most first person shooters. It’s kept at a manageable level, and scales properly with your fire rate and damage. There’s also a maximum cursor recoil threshold in place to make sure even the biggest of weapons don’t throw your aim around too much.
Cannon Combinations
The core idea of each combination is mostly unchanged, but they behave in different ways. It’s possible we still add or change parts of them depending on feedback, but the overall role of each support should stay the same.
-
Default: An all-around decent cannon, doesn’t excel at anything
-
Cannon + Cannon: Fast firing machine gun with fast projectiles. It uses the Cone: Wide-> Narrow damage shape.
-
Cannon + Missile: Charge cannon with left click to charge, release to fire. The longer it is charged, the better the efficiency and damage of that shot. It also uses the Cone: Wide-> Narrow damage shape.
-
Cannon + Beam: A slow firing artillery cannon with a narrow -> wide cone damage shape. Even when over penetrating, it will be relatively efficient, but it is hard to hit.
We’ve changed the Damage <-> Power consumed ratio to be different for each combination. It allows us to balance the high risk weapons to reliable damage dealing ones. A slow firing cannon is always more efficient, as a miss or a bad hit is a huge waste of time and power.
Each combination also has a default sniper zoom mode, toggled with right click. It ranges from 2x to 4x and greatly enhances accuracy on long range targets.
Some examples of the damage left by only a few projectiles:
~ High damage projectile: https://i.imgur.com/JR213Wr.png
~ Multiple medium damage projectiles: https://i.imgur.com/UUjJZ5X.gifv
Damage Beams
Damage Beams are mostly about doing surface damage and being easier to use. Beams only apply Acid damage on the block they’re hitting, damage will most likely not reach deep within the target unless you focus fire on a particular spot. The only exception to this rule is the Beam support version, where it does penetrate all the way.
We’ve improved the functionality of Beams to allow for that. Some versions are capable of traveling along its target without you firing or aiming it again, they’ll deal decent damage as well but may not necessarily stay where you want them to be.
Damage over Distance
Unlike Missiles or Cannons, beams lose damage with the distance from target. At maximum range, it goes down to only 40% of its original damage. This increases the closer you get, till it reaches the original value at about 400 meters or less. This can vary depending on the combination and allows us to better balance a hitscan weapon.
Combinations
-
Default: Latch on beam that breaks off when it has no direct line of sight with the current block.
-
Beam + Cannon: Aimable beam with short burst time and cooldown
-
Beam + Missile: Arc beam with a shorter range but doesn’t break when there is no direct line of sight anymore. Has a long burst time.
-
Beam + Beam: Penetrating beam that can’t be aimed with your cursor. The damage of the beam is distributed equally over the blocks in the penetration line. Requires to be charged before firing and stops your shields from blocking damage while you are charging.
Repair Beam
The repair beam or astrotech beam is now capable of repairing and replacing killed blocks. The reason this has taken longer is several problems to optimize this system for large scale, as well as handling the logic of connections. At the moment, you can only replace the blocks in order (as if you pressed “undo”), but out of order repairing will be added as a follow up. This method of repairing will use the blocks in your linked storage chest but is using ‘creative’ mode in the dev build for now.
Tractor Beam
The new tractor beam replaces the push and pull beam of the previous release. This weapon is able to hold another entity in place. It can also move with you as you either rotate or move yourself while still firing the beam. It comes with a built-in mode change so you can push the target further out or pull it in. You can change the firing mode by pressing left alt (also now indicated in the context help). The tractor beam mode can also be set via logic by connecting logic blocks to the tractor beam computer:
- No active logic block connected: hold
- One active logic block connected: pull
- Two active logic blocks connected: push
Keep in mind that the mode set by logic is only used when the beam itself is also fired by logic, otherwise it will use what the player set.
Armor
Armor has been completely redesigned as well. There is no longer an abstract “Armor HP”. Armor now will count where it is and how thick it is, you can see this in build mode as well when looking at any armor block. Here is how it works:
-
When a bullet hits armor it checks how many armor blocks come behind that block in its path.
-
The count of armor will stop at any non armor block or air. That count defined the “armor depth”
-
Each armor block now has an armor rating that will get added up (with possible additional bonuses on thicker armor)
-
The resulting total armor value along the armor depth is then compared with the bullet’s damage
-
Is the armor value lower than the bullet’s damage, the bullet will travel on as normal and destroy the armor blocks along its way
-
Is the armor value higher than the bullet’s damage, the bullet will only do acid damage on the first block and stops completely
-
Is the armor value much higher than the bullet’s damage, acid damage is not even applied and only a single block gets normal damage and stops completely
-
-
This will be repeated for every continuous plate of armor the bullet goes through in a ship, so inner armor a very viable option
This means, that a sufficient armor depth can stop any shot, and it also means that it depends on the angle of the shot, where that armor is, and what type of armor was used. These values mainly affect the penetration of cannon projectiles.
In addition, the HP of Armor has been increased to make it capable to absorb more damage.
Missiles
Missile Capacity
To add another layer to using missiles, we added a Missile Capacity system that will also prevent you from spamming them. By placing missile capacity blocks on your entity, you increase the maximum amount of missiles to be stored. The missiles are reloaded in bulk, as soon as you fire a missile, the reload starts. When the timer runs out, all the missing missiles are filled up again.
For AI controlled ships, the reload only starts when they run out of missiles, this helps control the amount of missiles flying around.
In addition, you require additional power for the missile capacity blocks. This should normally not be a concern unless you’re deliberately trying to store too many missiles for your ship’s size.
Missile Shield + Point Defense Prioritization
Each missile has its own its shield, protecting it from Point Defence turrets. The strength of this shield scales with the missile’s damage and should also encourage firing more high damage missiles than trying to flood the field with low damage decoys.
We’ve also implemented proper anti-missile prioritization. You can set any of your AI to fire at a certain category first:
-
High damage missiles
-
Low damage missiles
-
Random
Missile Combinations
-
Default: Fast non tracking missiles
-
Missile + Cannons: Heat-seeking swarming missiles
-
Missile + Beam: Lock-On Missiles
-
Missile + Missile: A bomb with no self-propulsion and uses the ship’s velocity as its own. The bomb will ignore shields and does friendly fire as well. It will arm itself after several seconds, it won’t detonate if you fire it at point-blank range of your target.
Volley Fire
Changing firing mode from focused to unfocused has been changed to a keyboard toggle for all weapons (default: left alt). We added an additional firing mode for cannons and missiles as well (can also be switched to by using left alt): Volley fire. This mode will take the time to reload the weapon, and divide it by the amount of groups connected to that computer. When firing, the groups will fire one after another.
Volley fire can also be set in the Bobby-AI module for turrets and drones to use.
New HUD graphics
The HUD graphics have been improved to improve usability and distinction between objects and improve the general look.
All indicators now also have been moved to the center of mass of entities. They will still be on the core if you are aligned or in gravity of an entity.
Undocking
Entities will no longer undock when their rail or rail docker is destroyed. However, until those are replaced at the exact position, or manually undocked and docked on a different one, the dock will not receive any power from the mothership.
This will greatly help with lag in larger ship battles, where the undocking of turrets and other docks was one of the biggest parts of lag-causing elements.
Improved graphical effects
The graphical effects for cannons, beams and missiles have been improved. Also more and better explosions have been added.
Also an all new LoD system has been implemented which is currently in use for the mines to be able to have a lot of them in one sector without problems. The system is written in a way that it can be used for a lot of other things in the future.
Lead indicator
Cannons and missiles now also have a lead indicator based on the selected weapon’s projectile speed. Currently the indicator is based on the target’s center of mass.
Effects
The old effect computers have all been removed as most don’t have a purpose anymore. We’ve replaced it with a 3 damage type system with base values for each weapon type:
-
Kinetic (Cannons)
-
Electromagnetic (Missiles)
-
Heat (Beams)
Any damage in the game is now a composition of these effects and they are aplified depending if what they hit is stong or weak against that effect. Even environmental damage like sun damage (heat) is now part of this system. This will be further expended upon in the universe update.
You can adjust the basic damage distribution of each weapon by linking it to the specific effect computer you want it to have.
There are also defensive reactor chambers to strengthen your ship/structure against these damage types respectively.
Sector Size Weapon Range independency
To make it easier to customize the game for bigger sectors, we added a seperate value in the ServerConfig to set the base range for weapons independently from the sector size. This value will be used as reference for all range config values in the block behavior config. This value can also be set on the fly with an admin command (/set_weapon_range_reference).
If the value is set to 1, all config values will be interpreted as fixed block units (meters).
Mines
The ability to place down stationary mines was added. This feature comes with an all new LoD system that will be reused for other model based things in the future. The Minelayer works like a tiny mobile shipyard, with the Minelayer connected to a Mine core and a storage chest to pull the mine blocks from.
Next to the mine core you can place up to 6 mine-specific block modifications. The mine core block plus its modifications are used as a “blueprint” for the mine’s capabilities, while the constructed and deployed mine itself is not a block but a small 3D model.
Constructing and laying a mine requires blocks from either the pilot’s inventory, or its linked storage. All newly deployed mines are inactive. You can activate them by right clicking, or via the radial ship menu for more options.
Mines can be destroyed by being shot, or simply physically running into them (which may not always be the best idea).
Mines can also be laid via logic by connecting a logic block to the mine layer.
The following mine-types are available:
-
Cannon Mine: This mine fires cannon projectiles when in range
-
Missile Mine: This mine fires heat-seeking missiles when in range.
-
Proximity Mine: The classic mine. Once a targets gets within range, it activates the mine and will follow the entity that triggered it, explodes on impact. Once triggered, it is used up.
The following Mine Modifications are available:
-
Cannon Mine Mod: turns mine into cannon mine
-
Missile Mine Mod: turns mine into missile mine
-
Proximity Mine Mod: turns mine into proximity mine
-
Strength Mod: increases mine damage
-
Personal AI Mod: mine will not attack the one that laid it down
-
Friend AI Mod: mine will only attack the enemies of the person who laid it down
-
Stealth Mod: with each additional mod the mine will gain one point in stealth. Depending on recon strength while scanning the mine will be invisible at distance (distance depends on the difference of stealth vs recon)
Cargo Damage
Storage chest blocks (the controllers) don’t get physically destroyed anymore unless they’re empty or have no linked used volume remaining.
This block (or group of blocks) is destroyed on passthrough if the connected storage has no remaining items. If the storage has remaining items, the damage is done to the stored items themselves, meaning that items are being destroying emptying the storage. HP are irrelevant to these blocks as every shot will do passthrough damage. The shot will not lose any strength and continue. The storage will lose items on every storage block the shot passes through.
The storage block has the same mechanics as the cargo blocks.
Integrity changes
Warpgate, racegate, activationgate, doors, factories, cargo, logic connections, all rail connections, mass enhancer) transporter, sensors and shop will now completely ignore integrity.
Integrity in Battle
Also, integrity will no longer lower while a ship is in battle. When a system block is destroyed, integrity will not update for 5 minutes and then set the new correct value. This timer resets every time a system block gets taken out.
This means any ship is equally viable in terms of integrity, as long as its integrity is positive when going into battle. It will also help with lag from explosions and the snowball effect once a ship dips into negative integrity.
Shield changes
Shields now always regenerate over time again and when under fire only lose some regeneration when the shield HP goes down. When not under fire, shields will always regenerate at full speed. Any shield starts in its strongest configuration and can be weakened through high damage weapons if it is a recharge focused shield. Or by a steady stream of small weapon fire if it is a capacity focused shield. The config was changed to allow for that and you may end up with a disportionate amount of regeneration vs capacity with your current builds.
AI changes
AI will now have a better orbiting range based on their lowest weapon range. This can be further customized in the server.cfg
AI should be able to use all weapons with the exception of mines and charged shots currently (will be fixed for release).
Optimizations
Several optimizations have been made to the game.
-
The rewrite of the weapon and general usable module system made the amount of steps involved in pretty much everything weapon and module related a lot less. Not only does this result in much cleaner code, but also a general speed up.
-
The update system for modules is now on-demand, which means the system will not bother to even check if the blocks of a group changed as long as there hasn’t been an actual notification for that. This means that the general idle time for all entities has been cut down significantly. This is very noticable in sectors with a lot of entities and docks.
-
Block processing has been optimized to minimize the amount of lookups by grouping all changes by chunk. This also cuts down on synchronization time between threads and cleans up the code considerably in that section.
-
Block change recording has been completely rewritten to minimize memory usage and serialization size.
-
Removed some bottlenecks that were occurring in big fights.
-
Thread spool up to remove short freezes after starting the game, e.g. in build mode.
-
A ton of smaller optimizations across the board.
-
Memory optimizations for the particle systems.
-
Log cleanup during ship battles
-
Gif recording performance has been improved (quality setting in settings.cfg)
Major Fixes
Besides a lot of smaller fixes, some fixes have been made for more major and annoying bugs that were plaguing the last releases:
- Shipyards have been fixed. Additionally, shipyards now have a seperate logs to catch any future problems
- Docked entities (turret or not) being surrenly misaligned has been fixed
- Fixed hp problem for ships becoming 0 and then not taking damage after that, making a ship effetively unkillable.
- Fixed shields (fix came with rewriting the system)
- Fixed bug that would spam the log with exception during battles causing major lag
- Fixed bug on chunks not drawing correctly (wrong lighting)
- Fixed warp gates
- Fixed turret AI not being able to shoot at a target after a while
There are a lot of other bug fixes which we will list in the release news post.
This post contains mostly the features. We will go more into the technical aspects and all the new backend systems that have been created, and the exiting ones that have been completely rewritten for this update in the release news post.
Thank you for playing StarMade,
- the Schine Team
-
StarMade Dev Blog - The weapons update
Hello players,
The first dev build is now available. There is a lot to cover in this update. The primary focus of this update is to make weapons more unique and give them a better feeling, as well as improving the overall combat experience.
This is the first dev build of many, and there are other features to come still like the ability to zoom with weapons, weapon graphical updates and PD missile priority.
Not all combat related aspects will be addressed in this update, ship movement might still receive some minor (but important) changes in the far future and the AI itself will definitely get the attention it needs in other releases.
Also, there will be graphical updates to the weapons still. Most important, however, is to first ensure good functionality.
Weapon Combinations
Weapon combinations use the same mechanic still, but each combination and base weapon has been completely overhauled.
We removed the Damage Pulse weapon (push pulse is still available), so there will be a total of three normal weapons plus nine combinations. All other weapons and support tools are handled separately and will no longer have any combinations. However, the default state of support weapons like the salvage beam will be upgraded to what people usually went for when there were still combinations for it.
Recoil
A new recoil system has been implemented. Not only will cannons and possibly other weapons now cause recoil on your cursor aiming, but there is now also physical recoil on your ship depending on your weapon. This means that you could technically propel your ship by shooting weapons. There is also impact force, which means that you will experience a physical force when weapons hit your ship. The force will scale with the damage of your weapon, but this can vary even more depending on the combination type where we can tweak it even more.
Cannon
The cannons have probably received the biggest update. To make them more viable, we completely changed their damage model to allow for an accurate damage to block destruction representation, while at the same time also interact better with the target’s armor for balancing.
A cannon projectile now does explosive damage that, in theory, can reach the end of any structure. On impact, part of the damage will be expanded to the surrounding blocks and creep outwards till it runs out of damage. To keep the game running smoothly, a scaling algorithm was implemented to limit the number of operations per update. This means that in high load situations, it would not slow down the server. Instead, it would simply take a little longer for the same amount of damage to apply. We call this the “Acid” model since it, in a way, behaves like acid burning through a material but at a much faster pace.
A cannon projectile has extra characteristics too now, such as type and width. The type is determined by the weapon combination and specifies the formula used for the Acid Damage to propagate. For example, one type of cannon could leave a cone-shaped hole in your target, and another type could have this one flipped around. The width of a projectile could then be used to limit how wide its damage can creep outwards.
By putting blocks next to your cannon output, you increase the perpendicular size of it. The width is based on this. The more width a weapon has, the broader the “punch” will be, but the bullet will of course not penetrate as far, since it’s using up a lot more damage for Acid Damage. The weapon itself still needs the damage to do this though and it’s entirely possible that your wide projectile does not even destroy a single layer, or that a too thin projectile over penetrates.
Armor
Armor has also been completely redesigned. The old armor rating values that reduced incoming damage, and armor HP have been taken out completely to be replaced with a system that makes the armor and its thickness matter at the point of impact and does not over generalize the entire ship’s armor.
When a shot hits armor, the system will test how many blocks in the line of fire are also armor. The armor value of those blocks is then summed up and compared with the damage.
This is done every time a shot encounters a new set of touching armor, so you can absolutely have inner armor to protect your reactor.
A projectile can have 3 states in total: Stopped, Normal, or over-penetrating.
If the damage is lower than the combined armor value, the shot is considered ‘stopped’ by that armor. A stopped shot will only do damage to the first block. This means that you will only lose at most one block per shot if you have great armor relative to the weapon that hit you.
If the damage is good but not too good for what it is hitting, you get a normal shot and acid damage will apply like you expect it work.
A shot with overwhelming damage however, will be considered over penetrating against most armor plates. The acid damage model will still apply, but gets adjusted in such a way that less damage will be spent in acid damage, and you’re more likely to shoot right through your target with little damage done.
As an example, if you shoot a relatively small ship with a huge cannon, the shot might just go straight through the complete ship, leaving only a 1-2 wide hole. This means that sometimes, using less powerful weapons against smaller targets might be more destructive.
The next few dev builds will have us applying these acid damage formulas to each of the cannon combinations and you should start seeing a noticable difference between each type.
Combinations
The combinations of cannons are as follows:
-
Default: An all-around decent cannon
-
Cannon + Cannon: Fast firing machine gun with accuracy problems at higher damage values (recoil)
-
Cannon + Missile: Charge cannon with left click to charge, release to fire. Will have different shape for acid damage (most likely a cone. The amount charged on fire will change its damage, acid damage spread and other variables to change its efficiency.
-
Cannon + Beam: A slow firing, sniper/artillery cannon that will have a different shaped acid damage model once again. It will still be relatively efficient when over penetrating its target, but is hard to hit.
Beams
Beams have also been updated considerably. They now possess the ability to latch onto targets. This makes them a lot easier to use. Most beams won’t penetrate, as it simply jumps from one destroyed block to next closest block of the initial hit, preferring blocks that are on the surface over blocks that are deeper. Those beams are perfect for burning off the outer shell of ships and against shields.
An entity can break a latch if it turns away from the firing entity. This will only be possible for the mother ship to prevent exploitations like rotating armor. Alternatively, a non-latch on beam can and will still be used with combinations.
Tools like the salvage beam will not latch on and can be used normally.
Combinations
-
Default: A latch on beam
-
Beam + Cannon: A beam that doesn’t latch on with some acid damage. The latch can break by turning away, but the beam will try to latch onto the next block that has a sight line to the beam output.
-
Beam + Missile: An arc beam with shorter range but doesn’t break from target turning away. This is useful when trying to do focused damage on one spot.
-
Beam + Beam: A doom beam that penetrates the complete length of the beam, and adds acid damage. This would represent an actual death star weapon. Very overpowered right now and can easily be used for performance tests! The acid damage will be adjusted later on, and this beam will get other penalties to account for its high penetration and damage values. This could be the inability to aim with your cursor, having to drop your shield, require additional charging time, having to stop to fire, can not be used on turrets, etc. Stations are especially vulnerable to this type of weapon so we’ll make sure there are mechanics in place to balance it properly..
Once we’ve established a baseline config, we’ll also be using a mechanic to reduce the damage of beams with distance.
Repair Beam
The repair beam has been completely overhauled as well and is now capable of repairing and replacing killed blocks. The reason this has taken longer is several problems to optimize this system for large scale, as well as handling the logic of connections. In the dev build, you can only replace the blocks in order (as if you pressed “undo”), however in release, you will be able to repair blocks that don’t have any connection (like hull) at any time, and only systems would have to be done in order. This method of repairing will use the blocks in your linked storage chest but is using ‘creative’ mode in the dev build for now.
Tractor Beam
The new tractor beam replaces the push and pull beam of the previous release. This weapon is able to hold another entity in place. It can also move with you as you either rotate or move yourself while still firing the beam. It comes with a built-in mode change so you can push the target further out or pull it in. In the dev build, you can change modes by right clicking. This function will be refined further in the GUI. There will also be a way to set the mode by connecting logic blocks to it.
Missiles
While the basic missile has not changed, there are some major changes to how they behave and fire.
Missile Capacity
To prevent missile spam, a ship will now have a shipwide missile capacity. This capacity reloads overtime at a fixed rate, and requires some additional power to do so. You can place extra missile capacity blocks on your entity to increase the base capacity. This means that there is a finite number of missiles you can use in a battle. To counteract that restriction, missiles will be made stronger and less will be more. Firing a missile should be a real decision rather than a no-brainer.
This not only will help with performance during battle, but also will make missiles feel a lot more impactful.
Combinations
-
Default: Very fast non tracking missiles
-
Missile + Cannons: Heat-seeking swarming missiles
-
Missile + Beam: Lock-On Missiles
-
Missile + Missile: A bomb with no self-propulsion and uses the ship’s velocity as its own. The bomb will ignore shields, but it is extremely hard to aim and use (almost impossible to fire effectively from large ships). The bomb does friendly fire and will arm itself after several seconds, which means you should clear away after firing one.
We’re going to add proper missile prioritization for your Point Defense turrets in the next few dev builds, this will also include missile HP that would scale with the missile’s damage. This will allow for high damage missiles to get prioritized, but they will also require big enough PD weapons to take it down before it reaches the target.
Effect types
All damage will now be a combination of 3 damage types:
-
Kinetic
-
Electromagnetic
-
Heat
When a cannon/missile/beam hits, damage is reduced or increased depending on what the target is weak or strong against. This reduction is only applied once for a projectile and missile but is applied every time when a beam does damage.
The existing damage effect blocks have been removed for three new ones. These three are used to change a weapon’s default damage type composition (e.g. cannons are mostly kinetic damage).
On the opposite side, you can use reactor chambers to strengthen your ship/structure against the damage types respectively. You won’t be able to get full protection against weapons, but it is possible against environmental damage. In the universe update, this will be used to add more variation and danger to your universe and with the right setup, allow you to live and build in an otherwise hostile environment.
With armor thickness and these effects, we will be able to provide you in-game information to help with building and analyzing your structure’s armor. By just looking at your armor from any angle, you will see information to show the statistics of that particular spot and what is behind it, showing you potential weak spots, and how much damage your toughest armor can withstand without having to take apart your ship layer by layer.
Mines
With the removal of damage pulse, we decided to add something that is standalone from the weapon combination system to compensate, the minelayer.
With this, you can lay down mines permanently in sectors, with a ton of possible configurations for each to determine what type it is.
The mines could be seen as tiny mobile shipyards, with a Mine computer connecting to a Mine core.
Next to the mine core you can place up to 6 mine-specific block modifications. The mine core block plus its modifications are used as a “blueprint” for the mine’s capabilities, while the constructed and deployed mine itself is not a block but a small 3D model.
Constructing and laying a mine requires blocks from either the pilot’s inventory, or the storage that is connected to the Mine computer. The strength of the mine will be configurable through block consumption in the following dev builds.
Newly laid mines are unarmed and remain so until armed via the Radial Ship Menu.
To destroy any armed mine, simply shoot at it or ram into them.
A mine has a detection radius and will activate based on what it is looking for.
The following mine-types are available (for now):
-
Cannon Mine: This mine fires a cannon projectile towards entities in range
-
Missile Mine: This mine fires heat-seeking missiles as long as an entity is in range
-
Proximity Mine: The classic mine. Once activated the mine will follow the entity that triggered it and do massive explosion damage on impact. Once activated, the mine is used up.
The following Mine Modifications are available:
-
Cannon Mine Mod: turns mine into cannon mine
-
Missile Mine Mod: turns mine into missile mine
-
Proximity Mine Mod: turns mine into proximity mine
-
Strength Mod: increases mine strength 10 fold but also increases cost 10 fold
-
Personal AI Mod: mine will not attack the one that laid it but everyone else
-
Friend AI Mod: mine will attack only enemies of the player
-
Stealth Mod: with each additional mod the mine will gain one point in stealth. Depending on recon strength while scanning the mine will be invisible at distance (distance depends on the difference of stealth vs recon)
Raw Feature List
Here’s a list to indicate all the items that went into this specific build.
-
Completely Rewritten weapon handling and processing
-
Effect damage
-
Effect damage block config capability
-
Effect damage block behavior config capability
-
Effect damage effect config
-
Effect damage attack and defense processing
-
-
Effect armor
-
Global effect defense
-
Per block category effect defense
-
Per block type effect defense
-
Armor chamber effects
-
Environmental Armor effect
-
-
Cannon width architecture system
-
Cannon width pipeline
-
Acid damage
-
Acid damage formula
-
Armor depth
-
-
Cumulative optimized projectile block handling
-
Beam optimized penetrate handling
-
Beam latch-on functionality
-
Beam latch-on synchronization
-
Beam latch-on connection broken handling
-
Beam latch-on progression handling
-
-
Repair beam
-
Tractor beam
-
Tractor beam pull
-
Tractor beam push
-
-
Cargo damage
-
Mines
-
Minelayer blocks
-
Minelayer structure
-
Minelayer connection
-
mine graphics
-
mine network and db infrastructure
-
mine proximity checks
-
Mine hitbox checks
-
Minelayer inventory consumption
-
Minelayer mine composition calculations
-
Mine Stealth
-
Mine placement distance checks
-
Basic mine clearing admin commands
-
-
LoD system
-
LoD abstraction
-
LoD mixed mode
-
LoD activation
-
-
bBock change handle optimization
-
Wep combination rewrite
-
Missile capacity
-
Missile capacity handling/reloading
-
Missile capacity synchronization
-
-
Thread instancing optimization
-
HP data update (always making use of all available bits)
-
Block Config parser rewrite
-
Bomb missile
-
Death beam functionality (penetrating/acid)
-
Meta effect capability
-
Raycast fixes and optimizations
-
Beam optimizations
-
Extended user controller pipeline in weapon usage
-
Optimized repair storage
-
Repair storage serialization
-
Smaller fixes in between
-
Inventory block-search reset when dragging from hotbar
-
Mini freeze when building/starting game fix
-
Major memory optimizations for handling damage and block changes in general
-
Recoil
-
Physical Weapon Recoil
-
Physical Weapon Impact
-
Cursor Recoil
-
Thank you for playing StarMade,
The Schine Team
-