StarMade News
Starmade v0.19431 - No More Turret Lag, Jump Inhibitors & Admin Tools
Hello players,
This update is meant to clean up some stuff that has been in the queue for a while. It is also an update for server admins to make their lives a little bit easier.
Turret/Raildock Optimization
Due to optimizations in several parts of the code to reduce the quantity of collision checks and make them faster altogether, as well as some relief in the docking chain updates, approximately 90% of turret lag has been eliminated. Depending on turret sizes and count, ships that before had a hard time to get 5fps with active AI now run smoothly with almost no lag due to turrets.
Also, some advanced algorithms have been implemented to reduce lag on very large turrets, once again making use of special properties in a block game. If anyone is interested in the techniques used, please leave a comment and I’ll write up a dev blog for it.
Jump Inhibitors
In pvp, the advantage of being able to change multiple one-block jump drives to jump into an enemy sector, fire all weapons, and jump out has been rightfully criticized a lot.
To combat this situation, but not to nerf long distance traveling, a new system has been introduced: The jump inhibitor.
This system works exactly like the jump drive with the difference that a player doesn’t have to actively charge it. It can be turned on/off at will. When on, the jump inhibitor will discharge all jump drives in the same or adjacent sectors. The rate of discharge depends on the amount of modules used on the jump inhibitor. This means if you have a strong enough jump drive, you can still overcome the jump inhibitor.
Inventory Management
Better creative mode inventory
The creative mode inventory has been improved to now copy & paste items to the hotbar instead of moving them. Also, the search will no longer blend out filtered items, but display them one after another.
Inventory Pulling add-ons
You can now set an inventory to pull whole categories (same as in a shop). This should make automated inventory management a lot easier.
You can now also pull meta items.
Admin Tools
Server Update Lag Monitoring Tool
A tool to monitor sectors and objects that take very long to update has been added. This will make it easy to identify any sector where a lot of slowdown is happening. You can turn on the monitor in the general options ingame, but you have to be admin to enter the detailed view (F7). Lag will also be recorded so you can check on lag-spikes after they happened. Be aware that the reason, the “server not responding” message can appear is not only due to objects taking long to update on the server. It could be a simple network lag, too.
Restrictions for the Game Config
Admins can now add restrictions to the GameConfig.xml to better control their server and prevent possible abuse/lag.
There are examples for possible restrictions in /data/config/GameConfigDefault.xml (if you already have an existing GameConfig.xml in your install dir, you have to edit that, as the default is only a template that gets copied if no config exists)
-
Restrict ships by mass or block-count
-
Restrict ship computers by count per type
-
Restrict ship systems by connected groups per computer (prevents monster salvagers)
Starmote has been revived
The tool now once again works, but is still a little barebone. A lot more features will be added in the future though.
Temporary Bans/Whitelisting
Admins can now issue temporary bans. Players will be notified about the time remaining on their ban on attempting to connect to that server.
The option has been added to the standard ban commands like for example
"/ban (playername) (kick) [reason] [time]"
Wave management
Admins can now manually manage spawnable waves. This will be applied to all the spawning AI on the server.
Each wave can be assigned a difficulty (should be between 1 and 10 for now), and even a faction.
Upon the game requiring a wave it will use the closest difficulty of a wave with the faction it needs to spawn on.
Wave Management can be accessed in the admin tab of the catalog.
If no wave is set for a faction, and the AI requests one for it, the old system of 'enemy usable' flags will be used.
Texture updates
As some of you may have noticed, we are in the midst of working on new texture features.
In the coming weeks, emissive, specular and shine maps will be added to the game. The project is ongoing and still in infancy, should you spot any anomalies please report your findings to Kupu. He has an open thread for such things in the Texture Pack sub-forum.http://starmadedock.net/threads/kupus-thread.839/
#IMPORTANT#
As we found that the quality suffers too much from compression to the point where the next lower resolution looks almost better than a compressed higher one, Texture compression has been disabled as a default setting from now on. If you are experiencing extreme FPS drop, we recommend you either reduce the resolution of your texture pack, turn off normal maps, or re-enable Texture Compression in the Advanced Options within the Starmade launcher.
Emissive and Specular maps will soon be available in the Pixel pack for those running on slower systems.
Fixes
T580 Nullpointer while saving of Station blueprints from multiplayer to local
T576 Amount sellable appended instead of replace when overselling using sell amount
T551 Turrets are not saved and linked correctly in shipyards
T546 Using "create docking" on station causes nullpointer
T544 reboot key combo (tab+y) in astronaut mode causes nullpointer
T543 Multiple Shipyards on single station cause issues
T531 Add resolution: 3440 x 1440 to selectable game resolution
T529 Unable to split multi stacked items
T525 doors and forcefields can make a ship invulnerable
T517 Multiplayer: Loading designs does not work.
T511 cannot deconstruct to design/without design if shipyard inventory is full but has linked empty chests
T510 undocking ship from shipyard will not allow you to redock it
T501 Cooldown/reload animation not intuitive
T490 Planet part entities does not vanish even without any blocks
T489 ship catalog manager does not sort anymore
T467 Highlighting/selecting sectors on galaxy map
T463 placing block on asteroid not previously built on drops asteroids' original mass to 0
T450 Fix for entity-flag exploit does not affect already created entities.
T436 Factories on asteroids
T428 Stay attached to ship while being logged out
T415 Unable to kick members out of faction
T233 Chat kick and ban options
T225 radar jammer pirate exploit
T99 Structure Tab: UNABLE TO LOAD GUI-UNIT: Jamming System
Thanks for playing StarMade,
- schema and the Schine Team
-
Starmade v0.194 - Shipyards
Hello players,
This is one of the bigger updates as shipyards are finally done. Their main purpose is to create a bridge between normal game play and a new creative mode. But it has a lot more functions than that. You can automatically construct or deconstruct ships, repair ships according to a design, test out ideas, and much more.
Creative Mode for Blocks
Before we talk about shipyards themselves, we shortly want to talk about a long anticipated feature: Creative Mode.
This can be either in the game startup settings (below Tutorial) for single player, or via the admin command ‘/creative_mode <playername> <true/false>’ for multiplayer.
This mode adds an extra tab in your inventory with unlimited amounts of every block type in the game.
In future updates the sorting option as well as the assignment to the hotbar will improve, as at the moment the nicely sorted blocks quickly get unsorted when used.
In this absolute creative mode you can also drop as many items as you want into other inventories like chests.
Shipyards
Now for the main part of this update. Shipyards are now available for stations.
They come in 3 blocks:
-
The shipyard computer, from where the shipyard is controlled and managed.
-
The shipyard module, which defines the shipyard physically
-
The core anchor, which defines where ships in a shipyard will be docked.
How to create a shipyard
In future updates, build mode will be enhanced not only for shipyards but also to give a visual guide on how to construct different systems. At the moment, the shipyard will give feedback in the form of text raising from the shipyard computer or the modules if it was constructed incorrectly.
Shipyards are the most advanced entity in terms of structure next to warp gates. It has to be built as a series of arcs.
So here is a guide on how to construct your first shipyard:
-
Place down the shipyard computer and select it. (All shipyard modules have to be connected to it)
-
Place down an arc, or a U shape. Both end points have to be in one straight line.
-
Place down another arc that looks exactly like the first one to create a corridor. (The maximal distance from arc to arc is currently 50 blocks, but it is configurable in the blockBehaviorConfig.xml)
-
Place down exactly one shipyard core anchor anywhere in the corridor. You can orientate this block in all 24 directions like a rail block.
And you are done already.
The size of ship you may dock is unlimited but the shipyard will not work if the length of the yard is too small (the other dimensions don’t matter as long as the docked ship doesn’t overlap with any block except the anchor).
Keep in mind that docking your ship will put its core directly into the anchor. There are plans for the functionality to be able to add multiple anchors to serve multiple shaped ships.
Designs
Ship designs are a new type of meta items. They are bound to a concept of a ship and can be loaded in shipyards to edit or to construct.
Shipyard functionality
A shipyard has several features. To access them, just hit ‘R’ (Activate/Open) on the shipyard, and press the “Place Order” Button.
Here you can choose from several commands depending on the shipyard’s current state (e.g. if a ship is docked or not)
Create New Design
This will create a new design meta item, and load its content into the shipyard. A core will be placed exactly where the shipyard anchor is. A design is just a projection, so while you are able to edit it in the shipyard, you are not able to undock it. The huge advantage of editing a design is that you can edit a ship in creative mode.
Unload Design
This will unload the currently loaded design so the shipyard can be used for other tasks. This can also be done by right clicking on the currently loaded design meta item.
Load Design
You can either choose a design from a dropdown, or you can right click on any design that is currently placed in the inventory of the shipyard to load it.
Construct Design
This will create a real ship from the currently loaded design. It will calculate the required resources and collect them from the shipyard inventory. You can also activate item pulling for the shipyard to acquire blocks it needs from inventories that are connected to the shipyard computer. Once a ship is done constructing, you can undock it and use it like any other normal ship.
Test out Design
If you want to test out your loaded design before collecting the resources to build it, you can use this order. It will teleport you and the design into a virtual test sector. In future updates the test sector will contain several targets as well as an option to spawn in AI waves.
Create Blueprint from Design
You can also create a normal blueprint catalog entry from a loaded design.
Deconstruct
This can be used if a normal ship is docked to the shipyard. You have the option to either deconstruct a ship completely, or to create a design from it. All blocks the ship consists of (as well as the content of all chests) will be placed into the shipyard inventory and connected chests. All items that have no room to be placed in the inventory, are going to spawn in space beside the shipyard.
Repair
This option restores a ship according to a design and places any leftovers into the inventories/space. In future versions, an option will be added to assign a design directly to a ship’s core to make repairing even more streamlined.
Future Functions
There are many more tools we want to add to shipyards, including being able to move a ship’s core, and connection to the logic and rail system for automatic deployment.
Create Docking Tool
There is also a new feature in the advanced build mode. You can now create a new dock in any shape and orientation. Just click on the button, select a rail surface to spawn it on, place the core and select its orientation with the mouse wheel.
Optimizations
There were some optimizations in physics and rails to decrease the resting load of structures with a lot of them. Also, the collision routines of anything non cube (wedges, players, etc) has been improved.
Furthermore, planet generation has been optimized a bit so it will be faster and put less total load on the cpu.
Graphics
Continued textural improvements include:
Cleaner PlexDoor texture.Cleaner Metal Mesh texture.
Revised computer back face.
Revised Effect module tessellation.
Revised Factory textures to fit the same theme as Shipyard blocks.
New Motherboard textures.
New Circuit textures.
New Charged Circuit textures.
New Decorative Fan texture.
New Shipyard Computer / Shipyard Module / Shipyard Core Anchor textures.
In preparation for coming graphical updates, we have performed a full overhaul of our normal maps and it’s shader for more accurate results. Accurate texture padding has also been added to avoid unsightly seams on block edges.
For more information and samples see this post; http://starmadedock.net/threads/kupus-thread.839/page-38#post-221795
Bugfixes + small config change
There have also been some bugfixes like a softlock in the tutorial, and several crash fixes.
Power penalty has been reduced for missiles (10% -> 2.5%) and disabled for damage pulse.
Server admins can also now choose to not let players spawn directly from blueprints (mostly interesting for Role Playing or servers with harder settings). Also, it’s now possible to combat heavily modified blueprints by enabling a check in the server config that will remove any ship that has disallowed blocks on it (e.g.jump gate on a ship)
Here is a list of other fixes:
Starmade (Private) | T488 Ships that are piloted dissapear and eject the pilot when pilot fires weapons
Starmade | T483 Nullpointer with "T" weapons menu
Starmade | T467 Highlighting/selecting sectors on galaxy map
Starmade (Private) | T450 Fix for entity-flag exploit does not affect already created entities.
Starmade | T444 Turrets shoot at targets out of range in "Selected Target" mode
Starmade | T417 Moving stations as admin by using /change_sector or /change_sector_for breaks territory claims
Starmade | T400 Warpgate faction issue
Starmade | T398 Ships can instantly use the cloaker or jammer after they have been revealed by a scanner
Starmade | T313 JVM Crash detected: incorrect dialog
Starmade (Private) | T225 radarjammer pirate exploit
Starmade | T215 Players on docked rail entities are left behind during sector changes or jumps
Starmade | T14 mouse sensitivity syncThat’s all for now. If something is is broken, please report it and a hotfix will attempt to fix it as soon as possible.
Thanks for playing StarMade,
- schema and the Schine team
-
StarMade v0.19361 Flash Light, Ship Scores, On-Ship Spawning & Bugfixes
Hello players,
We have another bugfixing update while bigger features are in work.
Fixes contain a lot of things that have been a pain for some time, but there is also a new item: the flashlight. You can buy it from the shop clerk.
Spawn on ships
Another feature is also the functionality that you can now spawn on moving ships. Even if the ship is moved after you logged out, and then in a sector that is currently not loaded, you will still spawn on your ship. This will work as long as you are in any way aligned to the ship while logging out: Pilot, in gravity, or simple spacebar alignment.
This currently is limited to spawn after logout, but mechanics will come for respawning on ships after death. There still have to be some gameplay aspects discussed, as you wouldn't want a player to spawn on a ship you just stole.
Ship Scores
Another larger feature which is still in the making is ship score.
This is basically a way to automatically classify ships.
Ship scores are aggregated from multiple simpler scores.
As for example weapons generate scores from:
-
damage per second
-
hit probability (projectile speed, reload, spread)
-
distance
-
power consumption
These scores are then aggregated with the power score, and other scores to generate 4 main scores:
-
Offensive Score
-
Defensive Score
-
Mobility Score
-
Support Score
Since it's fairly obvious that these values have to be balanced, the main scoring process has been externalized to a LUA script to change it on the fly.
After a few iterations of initial balance not only will they make it easier to classify ships in the blueprint/website, we can also then use the scores to determine pirate spawning by difficulty, and adapt it depending on how powerful the combined scores of the players in an area are, which should lead to a lot better scaling difficulty and therefore more fun.
Exploit Fixes and Optimizations
There also have been lots of small optimizations in various parts of the game. For example, framerates on very large structures should go up a bit when higher max-segments are set in the options.
There also have been some fixes to exploitations of game mechanics like the shield drain/supply being overpowered. Also cloaking/jamming now has a reload sequence when switched off.
Balance
The block behavior config received some minor changes:
-
Power consumption per second was changed to power consumption per tick, all related values were changed accordingly.
-
EMP power damage was doubled, the power damage dealt to a ship is 2 times higher than the power consumed to fire that weapon.
-
Shield drain, supply and power drain received some value changes, it should be balanced:
Shield drain has the same shield DPS and power use as any other basic weapon but it gives you 50% of the drained HP.
Shield supply is set to power supply levels, its power consumption is 10 times lower though since a supply transfers 100% of your own shield.
Power drain, drains 50% less power than an equal EMP weapon but you gain 50% of the drained power.
-
Shield drain and supply now allow supports.
Bugfixes
Here is the list of all fixed bugs:
-
T452 planet plate alignment odd when astronaut logout restart on planet surface
-
T444 Turrets shoot at targets out of range in "Selected Target" mode
-
T439 Blocks/items in crafting slots aren't deleted on death when inventory drop on death is enabled.
-
T424 Kicking someone out of the core with torch let Navigation Point disappear
-
T422 Block information not wrapping lines like shops do
-
T421 Missiles do once again damage mother entities (turret base and motherships)
-
T417 Moving stations as admin by using /change_sector or /change_sector_for breaks territory claims
-
T416 Entity flag editing
-
T414 Loot is not generated when the entity is destroyed by an AI/Turret
-
T412 Logic blocks with multiple inputs loose connections when pasted using the copy/paste feature
-
T407 windowPositionAndSizeConfig.tag sporadically corrupts.
-
T406 Attempting to place a block with nothing in slot will crash the game.
-
T405 Check if the player has a ship-core in the inventory is performed after the player is requested to enter the new ship's name.
-
T401 Pressing Left ctrl and left alt will drop the framerate to 10
-
T400 Warpgate faction issue
-
T397 AI ships can not use anti missile turrets
-
T396 Pirate AI does not work
-
T395 Missiles ignore shield sharing
-
T393 damage numbers don't show correctly for cannons, missiles and damage pulse
-
T391 Client logs show confidential information
-
T389 docked warheads don't explode on contact
-
T377 Failing Alignment after exiting docked entity
-
T374 faction inheriting mechanics override faction ID's
-
T366 Option for Personal faction enemy broken
-
T355 ship and armor HP is capped
-
T343 entering occupied build block causes several issues
-
T331 Redo/undo doesn't work correctly with Replace
-
T326 Astronaut mining bonus notice doesn't show correct bonus
-
T313 JVM Crash detected: incorrect dialog
-
T312 ship speed while being pulled into a wormhole can be limited by pressing a movement key
-
T310 Network data too large: priceUpdateBuffer, controllerKeyNameBuffer and controllerKeyBuffer
-
T278 Leaving a C aligned ship causes issues with searching a safe exit position
-
T238 Display Module text; shadow effect makes writing non-legible
-
T233 Chat kick and ban options
-
T225 radarjammer pirate exploit
-
T222 Can reset cool down of long cool down weapon systems
-
T215 Players on docked rail entities are left behind during sector changes or jumps
-
T203 Typo in /sector_chmod help
-
T173 Completely mined asteroids not properly saved / respawn of half mined asteroids
-
T166 Block list not working on Blueprint Catalog
-
T165 Trading Guild Resupply Convoys will resupply player-owned shops.
-
T148 Wrong warning when kicking Player from Faction
-
T136 Turret AI does not always follow its setting
-
T100 shield supply/drain beams are invisible
-
T89 Item Duplication Using Asteroid Respawn
-
T79 map filter shows text for turned off filters
-
T44 Rail enhancers consume power but running out of power does not change anything
-
T39 several menus allow background interaction
-
T37 abandoned stations don't have decaying turrets
-
T34 Phantom weapon and effect computers
-
T32 admin command mistakes: /sector_info /ship_info /last_changed
-
T24 Godmode does not transfer through rail docks
-
T14 mouse sensitivity sync
-
T6 shield damage applied by shield sharing is multiplied per chain
I’m currently a little ill, but I’ll do my best that for the next update, the shipyard mechanics will probably be done, as well as more portions of the fauna.
Thanks for playing StarMade,
-
schema and the Schine Team
-
StarMade v0.19318 New Explosions, Tools, and Bug Fixes
Hello players,
This update contains a brand new system for explosions, as well as new tools, updated textures, and a ton of smaller features and bug fixes.
#hotfix 0.19319: Some player shops caused server crashes
#hotfix 0.19320: Fixed AI not working and causing high server load. ALso fixed explosions ignoring shield sharingNew Explosion System
For the longest time, explosions were a big headache, not only because they were incredibly hard to balance, but also because their damage was unrealistic. Some visible cases of this are ships being hit inside hangars and players being killed inside ships, without the damage penetrating.
Since a system with actual rays doesn’t scale well, a completely new and unprecedented algorithm was developed to make explosions, in a fully three dimensional environment with any number of obstacles, as realistic as possible. With the help of complex data structures, it’s possible to approximate the explosion as if raytracing was used. Not only that, but also the whole system works fully asynchronously so that most of the work can be done multithreaded.
The performance can be finetuned through a server option which determines the maximal count of possible explosion threads. Server owners can increase that value by some, as it is currently set for a mid-level CPU.
Additionally, a new update system for transporting the data to the clients has been developed which means a lot less network bandwidth being used.
New balance for missiles and pulse
The new explosion system gave us a ton of new possibilities to balance explosions, especially for shield damage, effects, and scaling. Since now damage to blocks is exact, the damage will only penetrate as far as the rays can possibly go.
Missile damage has been adapted to compensate for the fact that on average half of a missile’s energy goes into the void of space if, for example, the missile is impacting a flat wall. They have also been adapted for armor on both ship and blocks.
All explosive style systems have been upgraded including the pulse, which will now also emit in front of it’s output block. Pulse will also do some piercing damage. This makes it an excellent weapons to bypass armor when you get close to a target.
AI targeting improvements
AI no longer targets the center of mass of an object. It will now specifically target blocks of ship systems. Of course target-seeking missiles will now also do the same.
Build Inhibitor
Another little tool for boarding is the build inhibitor. This useful tool is turned on in the hotbar and prevents any building within a radius of 32 (which of course can be upgraded in the future).
The tool is available to buy from all shop keeps.
Note that there will be a lot more tools and gadgets coming for astronauts.
Rebooting/Repairing Stations
Rebooting stations either over structure tab or by pressing the reboot hotkey will now also repair all armor HP.
UI Text Box Fixes
The text boxes now have variable sizes. They also now automatically dock to the radar or build mode, so they will no longer block the advanced build mode when building.
Textures
Kupu has updated some textures. We are also updating some Hud elements soon to give pilots better information when flying.
Council Applications for Next Term now open
Applications for the Council of Intergalactic Representatives are now open! (You must sign in with your StarMade Registry account to apply) Everyone is free to apply. Applications have no set date for closing at the moment, but will not be closed before the 19th of July 11:59 PM UTC. You can learn more about the council here and be sure to check out the applications news post for further details.
Music Submissions Update
In the v0.19282 news we announced we’re currently looking for someone to create SFX and soundtrack for StarMade. We’ve received an overwhelming number of emails, thanks must go out to everyone who has showed interest in the open role. We’ll still be accepting submissions till the 17th of July at 11:59 PM UTC. So, if you have the skills and are interested, be sure to send an email to duke@star-made.org!
Other things
Work on Fauna continues and focus on it increases with this update. There will also be some graphical upgrades to the block engine to make it more and more shiny (always in the philosophy: make the game fun first, then make it pretty)
Bug Fixes
As always a big thanks to all the devs and testers!
-
T394 unable to repair armor and ship HP for stations
-
T387 Moving CBS links and vanishing blocks leaving behind links
-
T388 kick option broken for factions
-
T383 EMP effect power drain is multiplied by penetration depth
-
T376 Indestructible Warhead
-
T375 LOCK_FACTION_SHIPS = false on client, overrides server setting
-
T368 hitting an unshielded entity with damage pulse crashes game
-
T367 group power penalty does not work for most weapons
-
T321 EMP effect doesn't drain all power
-
T316 power supply/drain computer expected firing direction reversed from ‘normal’
-
T310 Network data too large: priceUpdateBuffer, controllerKeyNameBuffer and controllerKeyBuffer
-
T308 escape options menu, controls sub menu doesn't scale
-
T307 Ships can't undock from Rail Basics via Logic in certain directions
-
T284 forcefield and scaffold wedges don’t have icons
-
T277 overheating does not disable AI
-
T275 Storage box filter menu bug.
-
T274 Item duplication issue
-
T270 /shop_restock_uid and /shop_restock_full_uid do not work on player shops.
-
T269 Replace block with Active Slot - Factories
-
T265 Undeathinator not functional / Spawn point save broken
-
T247 Strange behavior on turrets attached to rail rotators
-
T222 Can reset cool down of long cool down weapon systems
-
T189 Blueprints incorrectly save wireless logic links
-
T180 Renamed planet. Name doesn't show on the galaxy map
-
T165 Trading Guild Resupply Convoys will resupply player-owned shops.
-
T146 "Destroyed" ship core blocks weapon projectiles
-
T142 Placing a salvage beam computer on an Asteroid causes Nullpointer
-
T108 build mode camera issue when hitting escape
-
T98 missile damage radius on nearby entities significantly higher than direct impact
-
T95 missiles hit behind a wall
-
T74 creating a new universe sets all blueprints to enemy usable/others and owner to none
-
T65 Turrets get stuck in collisions
-
T44 Rail enhancers consume power but running out of power does not change anything
-
T33 moving through walls exploit
-
T26 stack split item loss
-
T20 Logic Rail Detection on docking doesn't trigger
-
T14 mouse sensitivity sync
-
T11 Enable/Disable all AI only works for last chain
-
T6 shield damage applied by shield sharing is multiplied per chain
-
T4 controller block system exploit
Thanks for playing StarMade,
- schema and the Schine Team
-
StarMade v0.19282: Putting more fun into battles. Also, boarding!
Hello Players,
#hotfix 0.19289:
We forgot to announce that Kupu updated the Pixel texture pack, so check that out ;)
- fixed beam aiming for AI turrets
- fixed missing logic signal when docking to a rail block
- fixed defeated ships not being salvageable when overheating
- fixed defeated ships not giving errors
- fixed several issues in Galaxy Map.
this update is all about fixing a lot of things that still felt wrong in the game, and adding some more fundamental design changes, which will once again change a part of the game’s meta completely.
We redesigned how ship battles work, adding a completely new system, called the “HP-System”. There are also a lot of other enhancements and fixes in the update.
Here is a video that explains the new features:
https://www.youtube.com/watch?v=iF0fe6EBMuA
Hitpoints
System-HP
One of the biggest constructive criticisms we get for the game is that ship battles are basically a race on who can take out the core of the other ship. Which makes it a single focus point for everything. We long wanted to fix this problem, but first had to solve a lot of other problems along the way, ensuring that the new system is not more boring or broken than the old one, but intuitive and fun.
A Hit Point System was the goal, but while it sounds easy on paper, it actually required a lot of problems to be solved for integration.
Here are some of the problems that came up along the way:
HP is always represented by two values: Maximal HP which indicates how many Hit Points an entity has, and current HP which indicates how many Hit Points the entity currently has left.
The first problem was with determining how to keep track of HP.
One idea that seems natural was to keep a copy of the ship in the status of full hp. This however would cause a lot of problems, as it would essentially double the size of ships in RAM, on disk, and cause problems managing it, as every change that modifies max HP would also modify that copy. All that for just two values seemed a very bad deal in cost-value.
To combat that problem we are using a block count system, which has existed anyway. This however means that HP is based on the blocks, so if a block is damaged it still provides HP as long as it’s not destroyed.
This means we can have a very small and fast way of keeping track of maxHP vs currentHP.
Now, what is the max HP based on? If you would add a block to a ship, you would want your maximumHP to go up based on what you have placed. The same would have to happen if you removed a block.
This all works fine, but what happens if you lose a block due to damage. Naturally you wouldn’t lose maximumHP, but only current HP of course. However, what happens then if you place a block? Would you get the HP back? Would that mean if you place another you would have more HP than maximumHP, would both HP and maximumHP go up? What is the actual ship’s state that the max HP is based on?
-
If your HP is at 100% adding and removing blocks will instantly update your HP keeping your HP at 100%.
-
If you are below 100% placing a block will NOT give you any HP, but still increase your maxHP.
-
If you are below 100% removing a block will deduct from your current HP, but not decrease your max HP. This means you will lose percentage when removing blocks from a damaged ship.
-
If you reach certain damage below 100% you will get negative effects like power/shield regeneration loss, loss of thrust, control, and at the end the “overheating” state. This means that you don’t have to kill every single block to kill a ship, but only a certain percentage.
So, what can you do to get back to 100% once you have lost blocks? The solution was to add a mechanism called “Reboot”.
A reboot takes your max HP to what the ship’s blocks currently represent, and also brings your current HP to 100%.
You probably already saw the potential problem that brings: Just quickly reboot in battle and you will be at 100% again. However, rebooting actually takes time. The time is based on the damage taken, as well as the overall mass of the ship. You also can neither modify or fly a ship that is currently being rebooted, and power and shields go down to 0. It is also canceled if more damage is done. All these things make it relatively silly to try to reboot in combat.
The most Hit Points are provided by system blocks like power, weapons, support, etc. So ships now have actual weakpoints.
Furthermore on overheating you will no longer die instantly. You will get thrown out of your ship (it is now implemented that you automatically align to a ship when exiting it) and you can get to your escape pod, or stay and fend off a possible boarding party. You can’t enter your ship while it is overheating, and your only way to stop it is to reboot by pressing ‘r’ on the core. When a core is rebooting from overheating, you will not be able to enter it until it is done overheating.
Armor-HP
To further add more depth to ship battles, armor HP has also been introduced. Armor HP is the complement to System HP. The only blocks providing armor HP are actual armor blocks like hulls.
Armor HP provides a damage reduction to all damage taken to an armor block. Upon damage, 50% (config value) of the damage is going to Armor HP and the other half will be the damage on the ship, as long as there are any Armor Hit Points left.
Armor HP does NOT reset with a reboot, and can only be repaired at ships (or future ship yards) for credits. Ships can also reboot instantly at shops for credits.
Losing armor HP will not give you any negative effects, but they are a vital resource to have on a good ship.
Both System-HP and Armor-HP give a whole new feeling to ship battles, making them a lot more fun and exciting. All values of course are not final, because as always we took care that all essential values are available in the blockBehaviorConfig.xml. You can also go back to ship core based combat from the serverConfig if you would like to do so.
Center of Mass
Center of Mass is also no longer the core. It will now calculate the center of mass of a ship precisely on any mass placed anywhere.
This doesn’t yet include docked entities, but it will soon. Also, in the future there will be options to have a more realistic physical model based on the shape of the ship in terms of being able to turn the ship.
Implementation wise, the new Center of Mass system doesn’t cost any performance and is updated immediately (best to try it out on a planet)
AI has also been updated to now aim at the Center of Mass which gives them a much better chance to hit something vital.
You can also switch on an indicator for center of mass in the advanced build mode.
Individual Block Mass
With the new center of mass implementation it was also time to integrate individual block masses. This means, decorative elements will now barely add any mass to the ship, while armor and other blocks will add more than usual. Of course the center of mass will also reflect individual masses.
Cannon and Beam damage rework
Since now every block counts in terms of a ship taking damage, the missile seemed really superior as while it has similar total damage, it just takes out blocks a lot faster.
Cannons now do damage to multiple blocks by default. The more damage a projectile has, the more blocks will be affected. Starting at 100 - 900 damage goes one block deeper per 100, from 1000, every 1000, and so forth.
The damage is then distributed so that the first block hit will take the most and the last one the least damage. Accurate numbers can be looked up in the structure panel.
A beam will do the exact damage no matter if the block got taken out or not (what in the past the piercing effect did), but it is stopped by any block that provides armor HP.
The cannons has to take out a block to get to the next one, so if the damage of 1 block deep is not enough, the damage that would go in the second block will be used on the first until it is taken out. Any damage more that it took to take out a block is however still lost. Overall this still means a lot less damage is lost from cannons and more blocks are taken out per shot.
All values are of course still not in a final state and are available in the config.
New tools and boarding mechanics
Two new tools have been added and are now available from the shop keeps. These keeps can now also be respawned in the middle of the glass area of Shops that had them.
Grapple Beam
This beam aligns you to an object on a very far range. It doesn’t automatically reel you in (yet), but you will have time to get to the object before the grapple expires. This makes it possible to get on objects from a good distance and board them.
Torch
This useful tool does little damage but has a very distinct advantage: It bypasses armor and shields and throws the pilot out of the core if the core was brought down to 0 HP with it.
This means you can use the torch to take over enemy ships. Be warned though: The pilot will receive a warning if a torch is being used on his ship.
New Turret AI option
Since with the new mechanics, you not only have to defend your ship from the outside, but also from the inside. This new AI option makes turrets only target astronauts.
Ship info window now customizable
It is now possible to resize and move the ship info while holding control in build mode. You can now also change the size of the text so it is much easier to read on higher resolutions. A general size option will also come later for all menus.
Multiple weapon hot bars
Another requested feature was the addition of more places to put weapons, especially with inner ship logic now being a thing, so we added 9 more hotbars. There are multiple ways to switch through them.
-
Pure mouse scroll: upon going to the end of a hotbar you will switch to the next one. This can be disabled in the ingame options.
-
Control+Mousewheel switches through hotbars
-
Control+number selects a hotbar directly (with ‘0’ being the 10th)
Additional Chat Controls
More chat options have been added to enhance the experience.
• Client-side ability to ignore other players
• Admin Mute Command
They are usable via the right click context menu.
New bug tracker
We switched to a new bug tracker, which will make tracking a lot easier and streamlined with the development process.
Colored Missile Trails
The trailed of colored missiles are now also colored.
Bug Fixes
A lot has been done since the last update. Thanks to all the testers!
One thing to note is that missile turrets have been upgraded to now being able to hit missiles a lot better. Turret rotation is now mass based, so smaller missile turrets are better in aiming and leading a target. Also the “aim at selected” AI option has been fixed.
- T255 can't load old templates
- T253 Old docking system makes astronauts stop moving
- T213 Numpad Enter causes newline in dialog, instead of "submitting" the value
- T196 Blocks dropped on death do not spawn properly
- T184 Diaply.Hide Help Screen typo
- T160 TAB + F8 nullpointer
- T155 texture faces are rotated
- T139 Damage Pulse modules listed as "beam unit" in Weapons menu
- T132 Hotbar indicators are missing
- T131 Selected waypoint sometimes wrong color after closing Navigation menu
- T130 Cannot access ship storage after removing named chest
- T127 "Killing" the ship core kicks pilot out
- T125 removing blocks as astronaut doesn't update ship or armor HP
- T123 Destroyed entity will cause you to go back to where you got in.
- T114 blocks discarded on deletion as astronaut when not enough inventory space
- T112 HP System - tiny ships and cores cannot be killed
- T110 shooting factioned planet with missiles crashes all players not in that sector
- T88 Area triggers are invisible
- T77 escape key does not close options menu
- T60 Inner Ship Remote labels don't work until weapons menu is opened
- T58 Joining a faction when not being in one causes all factionless players to recieve a "<playername> has left your faction" notice
- T49 Crash when holding weapon menu items in your cursor and opening inventory
- T48 rail basic acts like turret axis block
- T38 Faction systems do not work for all 12 planet segments
- T35 Scan history nullpointer
- T31 Oculus Rift DK2 Error
- T30 Anti-missile turrets ineffective
- T23 Station not saving
- T21 /explode_planet_sector explodes planets in all loaded sectors
- T15 Serverlist ping-check only trying TCP
- T13 Ship HP damaged systems does not change anything
- T12 Rail turret blueprint and nullpointer issue
- T10 Rail entities are not properly synced across clients
- T7 Ship always inherits faction after reloading sector
- T5 local rail blueprint errors with multiple chains
- T3 Require auth + not uplinked does not show a clear enough error-message on connecting
Music
We're currently looking to create SFX and a soundtrack for the game, if you're interested and have the skills, please send an email to duke@star-made.org with some samples and info about yourself. We're aiming for orchestral, classical and ambient elements, however any sample you think will impress us is fine.
Coming up
There is a completely new launcher nearly done. It will be built to make the installation of java for the game absolutely obsolete. It will also eliminate any java version problems, as well as add a lot of other features. It will also be the starting point for finally having an ingame menu, as well as ingame server switching (which are easy to do but held off for solving other problems around the game). Also, work on the creature system will now switch into full focus.
Thanks for playing StarMade,- schema and the Schine Team