StarMade v0.19590 - Fleets and Carriers
Greetings, citizens!
#HOTFIX 0.19592: Fixed astronauts in gravity of a ship falling out on sector change. Fixed Nullpointer at the end of tutorial. Fixed ClassCastException crash on server.
We apologize that things have taken a bit longer this release cycle. These features are quite large in scale. Also, there will still be a lot of things added and improved in coming updates, but with some core features already complete, we didn’t want to hold them back any longer.
Fleets
This is an entirely new system within the game’s backend. It is basically a cached virtual layer that can quickly operate on the main database of a server without the need to actually load in ships. We had to make some major modifications to the database’s tables to allow for this, so it took some effort to set up just right.
But enough of the technical details. Here’s an overview of how fleets work in-game: A player can create a fleet in the new fleet panel (default key ‘k’) and add multiple ships to it. There are several other management options for fleets in that panel as well. The first ship in the list is always the flagship (the ordering is easy to change later), and a ship can only belong to one fleet at a time. The flagship of every owned fleet will also always appear in the galaxy map. Ships don’t require Bobby-AI blocks to be part of a fleet.
Fleets can currently perform the following actions:
-
Idle: This is the default state. Ships in this fleet will neither move on their own nor attack. In the event of a server restart, fleets will automatically revert to this order. (In the future, the last fleet order will be saved.)
-
Move: The Move command sends the fleet to a sector, whether or not that sector is loaded. Currently the fleet’s movement speed while in an unloaded state is fixed, and the fleet is also unable to use jump drives as of yet. These will be added in the future.
-
Attack: A fleet will go to a specific sector and attack. Currently, attacks will only commence on loaded sectors; if a sector is unloaded, the fleet will wait on the sector’s edge until it is loaded.
-
Defend: Similar to Attack, the fleet will go to a sector and attack any (loaded) enemies. However, the fleet will not pursue any enemies beyond 2 sectors of the target sector.
-
Sentry: The fleet will attack any enemy in proximity.
-
Formation Idle: the fleet will assemble into a formation, but will not attack anything. The flagship can be manually controlled.
-
Formation sentry: the fleet will assemble into formation. Additionally, ships will break off and attack any enemy in proximity.
-
Carrier Callback: This order is explained further below.
Important: Formation orders are currently experimental and may lead to strange AI behavior or fleet pile-ups.
Carriers
Carriers are now supported in-game thanks to the new fleet system. For this purpose, we’ve added three additional blocks: the Pickup Rail, the Pickup Point block, and the Shootout Rail. All of these blocks are non-physical and only visible while in build mode. This means that, while the two new rail blocks still function as rails and allow you to change them using existing logic systems, you can not collide with them even if you’re on the rail itself. They also do not provide any armor or hp to the ship.
New Blocks
-
Pickup Rail: you can use it to lead your ship inside your carrier safely. It works exactly like a normal rail.
-
Pickup Point: these go on the entry points of your ship. They are kind of an expansion to contact docking. Each block you place has a 3 meter radius. If any ship flies in that radius with its rail docker, it will automatically dock that ship to any rail block adjacent to the pickup area block. You can use the pickup area and the pickup point to make pickup points outside of your ship. Then, as the ship gets reeled in, you can use normal logic to open doors and store the ship inside your carrier. Keep in mind that the last pickup point used will be saved in the ship that used it. That will enable the carrier to call ships to the last pickup point they used. In the future you will also be able to control whether a pickup area is active or not via logic. Flying a ship manually into a pickup area will also result in it docking and it can be used to allow touch docking of flat surface which wasn’t possible before.
If you have your rail docker selected in flight mode, you’ll be able to see all pickup areas on your display.
-
Shootout Rail: the shootout rail is a way for docked ships to leave your carriers in a safe and not obstructed way. Any ship reaching this rail will accelerate and shoot out the rails direction with some speed. To prevent misuse, ships will always undock on the end of a shootout rail even if you place a normal rail at the end of it.
Carrier Configuration
To make a carrier, all you have to do is use the pickup areas on your flagship with your drones once. Your drones have to be fleet members. Then you can use the “Recall to Carrier” order on your fleet to order all drones back to their pickup points from anywhere in the universe. Keep in mind that currently only one carrier (the flagship) per fleet is possible, but as long as a ship has no pickup point, it won’t try to dock, so you can mix drones and other fleet ships. You can also wipe a pickup point in the fleet menu if you click on a member.
Fleet server options
Option to only allow factioned ships (of your own faction) to be added to your fleet, servers probably want to put this on true to prevent ship theft.
-
ONLY_ALLOW_FACTION_SHIPS_ADDED_TO_FLEET = false
Option to allow fleet formations or not, it’s an experimental feature that could cause collisions and performance drops.
-
ALLOW_FLEET_FORMATION = true
Art Assets
There is now a unique model for the healing beam, and minor adjustments have been made to the UI and other art assets as well. Furthermore some sprites (missile/shield effects) have been updated.
Bug Fixes
-
T1197 Placing a block on an asteroid, removes said asteroid
-
T1107 GameConfig.xml on new install is broken
-
T1055 Nullpointer when sitting on blocks, crash
-
T939 unload/load will drop blocks if volume used is bigger than default chest capacity
-
T926 Cargo mass does not update correctly after over capacity bleeding
-
T903 tooltip doesn't always display or shows wrong data
-
T743 Linux version fails to start
-
T737 Shield Supply and Drain textures are swapped
-
T546 Using "create docking" on station and planets causes nullpointer
-
T510 undocking ship from shipyard will usually redock it immediately
-
T361 Missiles do no shield damage
-
T37 abandoned stations don't have decaying turrets
-
Performance ‘Bug’ has been fixed for servers where general performance would go down due to another fix for beams being able to hit objects in other sectors.
-
Possibly fixed problem where ships would lose block connections
-
Asteroids no longer vanish when placing blocks on them
-
Fixed some inconsistencies on sector borders
-
Pressing enter on any input dialogs now counts as clicking “Ok”
We hope these features will be a fun addition to gameplay. We plan to do a lot more with it as stated in the previous dev-blogs!
Thanks for playing StarMade,
~ The Schine Team